Validation and resolution for BIP generating invoice pdf of zero size

You might come across some issue in BRM-BIP where you will find that BIP is generating blank pdf of zero bytes.

Root Cause : 
  • It can happen due to BIP mount point getting full but still docgen in running and pushing invoice xml from brm to BIP temp . It leads to incorrect behavior of BIP causing formation of zero byte temp file at location :  /opt/shared/bip11g/xdo/tmp in BIP .
  • EDU (electronic document uploader) is another weblogic domain which retrieves invoice pdf from BIP and publish them to WCC ( web content centre) . It picks pdf based on http request recieved from BIP . No validation for file size is there. 
  • Then it stores the document in WCC. Data is stored in below six tables of WCC : 
  • If you check for file size in filestorage table , you will find it as 0 , which confirms that pdf has not data in it.
Resolution : 
  • Firstly increase the mount point size to reduce further occurrence of this issue.
  • Then extract all such invoice pdf using joins of above query.
  • Use WCC archiver tool to purge all those impacted invoice pdf . Also you can write a procedure with delete statement to purge data from for all six tables for incorrect pdfs.
  • WCC archiver tool is comparatively slow , better to go for manual SQL Procedure .
  • Then , you need to regenerate all such invoices.
  • XMLP_INVOICE_JOB is the default table of BIP which is being used to generate duplicate pdf as per OOTB behaviour of BRM-BIP. 
  • OOTB batch republish utility (startEDURepublishUtil.sh) of EDU at path : edu/17158021/files/services/industry/Communications/JavaServices/ebp uses above table to get invoice data and republish the pdf. 
  • The EBP solution provides a republish utility ‘startEDURepublishUtil.sh’ to republish batches processed by BI publisher that failed to upload invoices to WCC or are not there in WCC. The republishing utility requires as input data the different job IDs and Bill Numbers to republish the failed jobs. 

  • For republish multiple invoice in one go ,you need to prepare input file for all the invoices .
  • Input file should contain : BILL_NUMBER ,OUTPUT_ID
  • Below example of query to BIP scheduler tables to retrieve OUTPUT_ID and time of the creation of the entry for Bill Number ‘B1-12345678' ;
select xo.output_name as bill_no,xj.parent_job_id, xj.job_id, xo.output_id,xo.created
from xmlp_sched_job xj, xmlp_sched_output xo
where xj.job_id=xo.job_id and xo.output_name='B1-12345678'  
  • You can also use parent job id from above query for republishing all the invoice of that batch , as displayed in option 3 of above screenshot.

Comments

Popular posts from this blog

cm core dump analysis

NO_RESPONSE file handling during rating in ECE and OCOMC

Script to create snapshot in Oracle ECE