Sunday, August 24, 2014

XDOException: No corresponding LOB data found

Hello There.. while I was working yesterday on XML template, I came across below error and would like to share with all of you. After the template is uploaded and report is ran the request completed in WARNING. When you check the log you will get message that OPP is failed for the request. When you check the OPP log and you will see following error for the request as below :-

[8/22/14 11:47:42 PM] [OPPServiceThread0] Post-processing request 62447806.
[8/22/14 11:47:42 PM] [1246813:RT62447806] Executing post-processing actions for request 62447806.
[8/22/14 11:47:42 PM] [1246813:RT62447806] Starting XML Publisher post-processing action.
[8/22/14 11:47:42 PM] [1246813:RT62447806]
Template code: C_CSD_PACKLIST
Template app:  C_APPS
Language:      en
Territory:     US
Output type:   PDF
[8/22/14 11:47:43 PM] [1246813:RT62447806] Output file was found but is zero sized - Deleted
[8/22/14 11:47:43 PM] [UNEXPECTED] [1246813:RT62447806] java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at oracle.apps.xdo.common.xml.XSLT10gR1.invokeNewXSLStylesheet(XSLT10gR1.java:611)
        at oracle.apps.xdo.common.xml.XSLT10gR1.transform(XSLT10gR1.java:239)
        at oracle.apps.xdo.common.xml.XSLTWrapper.transform(XSLTWrapper.java:182)
        at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:1044)
        at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:997)
        at oracle.apps.xdo.template.fo.util.FOUtility.generateFO(FOUtility.java:212)
        at oracle.apps.xdo.template.FOProcessor.createFO(FOProcessor.java:1665)
        at oracle.apps.xdo.template.FOProcessor.generate(FOProcessor.java:975)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.runProcessTemplate(TemplateHelper.java:5936)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3459)
        at oracle.apps.xdo.oa.schema.server.TemplateHelper.processTemplate(TemplateHelper.java:3548)
        at oracle.apps.fnd.cp.opp.XMLPublisherProcessor.process(XMLPublisherProcessor.java:302)
        at oracle.apps.fnd.cp.opp.OPPRequestThread.run(OPPRequestThread.java:176)
Caused by: java.io.IOException: Root problem: oracle.apps.xdo.XDOException:No corresponding LOB data found :SELECT L.FILE_DATA
FILE_DATA,DBMS_LOB.GETLENGTH(L.FILE_DATA) FILE_LENGTH, L.LANGUAGE LANGUAGE, L.TERRITORY TERRITORY, B.DEFAULT_LANGUAGE DEFAULT_LANGUAGE, B.DEFAULT_TERRITORY DEFAULT_TERRITORY,B.TEMPLATE_TYPE_CODE TEMPLATE_TYPE_CODE, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.START_DATE START_DATE, B.END_DATE END_DATE, B.TEMPLATE_STATUS TEMPLATE_STATUS, B.USE_ALIAS_TABLE USE_ALIAS_TABLE, B.DS_APP_SHORT_NAME DS_APP_SHORT_NAME, B.DATA_SOURCE_CODE DATA_SOURCE_CODE, L.LOB_TYPE LOB_TYPE FROM XDO_LOBS L, XDO_TEMPLATES_B B WHERE L.APPLICATION_SHORT_NAME= :1 AND L.LOB_CODE = :2 AND L.APPLICATION_SHORT_NAME = B.APPLICATION_SHORT_NAME AND L.LOB_CODE = B.TEMPLATE_CODE AND (L.LOB_TYPE = 'TEMPLATE' OR L.LOB_TYPE = 'MLS_TEMPLATE') AND  ( (L.LANGUAGE = :3 AND L.TERRITORY = :4) OR  (L.LANGUAGE = :5 AND L.TERRITORY = :6) OR  (L.LANGUAGE= B.DEFAULT_LANGUAGE AND L.TERRITORY= B.DEFAULT_TERRITORY ))
        at oracle.xdo.parser.v2.XSLProcessor.reportException(XSLProcessor.java:806)
        at oracle.xdo.parser.v2.XSLProcessor.newXSLStylesheet(XSLProcessor.java:571)
        ... 16 more

[8/22/14 11:47:43 PM] [1246813:RT62447806] Completed post-processing actions for request 62447806.
Look at the ‘Caused By’ section of the log and you will get the issue, in this case its :-
“Caused by: java.io.IOException: Root problem: oracle.apps.xdo.XDOException:No corresponding LOB data found :”
It gives following query and if you run it returns data :--
SELECT L.FILE_DATA FILE_DATA,
  DBMS_LOB.GETLENGTH(L.FILE_DATA) FILE_LENGTH,
  L.LANGUAGE LANGUAGE,
  L.TERRITORY TERRITORY,
  B.DEFAULT_LANGUAGE DEFAULT_LANGUAGE,
  B.DEFAULT_TERRITORY DEFAULT_TERRITORY,
  B.TEMPLATE_TYPE_CODE TEMPLATE_TYPE_CODE,
  B.USE_ALIAS_TABLE USE_ALIAS_TABLE,
  B.START_DATE START_DATE,
  B.END_DATE END_DATE,
  B.TEMPLATE_STATUS TEMPLATE_STATUS,
  B.USE_ALIAS_TABLE USE_ALIAS_TABLE,
  B.DS_APP_SHORT_NAME DS_APP_SHORT_NAME,
  B.DATA_SOURCE_CODE DATA_SOURCE_CODE,
  L.LOB_TYPE LOB_TYPE
FROM XDO_LOBS L,
  XDO_TEMPLATES_B B
WHERE L.APPLICATION_SHORT_NAME= :1
AND L.LOB_CODE                = :2
AND L.APPLICATION_SHORT_NAME  = B.APPLICATION_SHORT_NAME
AND L.LOB_CODE                = B.TEMPLATE_CODE
AND (L.LOB_TYPE               = 'TEMPLATE'
OR L.LOB_TYPE                 = 'MLS_TEMPLATE')
AND ( (L.LANGUAGE             = :3
AND L.TERRITORY               = :4)
OR (L.LANGUAGE                = :5
AND L.TERRITORY               = :6)
OR (L.LANGUAGE                = B.DEFAULT_LANGUAGE
AND L.TERRITORY               = B.DEFAULT_TERRITORY ))
Sub Template Import Call :--
<?if:TEMPLATE_NAME='CCSDEXCHLETSUB'?>
<?import:xdo://C_APPS.CCSDEXCHLETSUB.en.US?>
<? call-template: CCSDEXCHLETSUB?> <?end call?> 
<?end if?>

The problem here is not with the main template, In my template I had imported sub 
template and the import statement is not passing the correct template name. This 
lead to two issues :-
  • The template name that is passed in the import call is not correct. 
  • The template name used in the import call is not yet defined.
Just corrected the import call and it works like charm!!!

No comments :

Post a Comment

SeachBox