Usecase: Here, we will see outbound integration which will process ERP outbound files using BI bursting FTP delivery channel and ESS job.
Steps involved:
- Create an Integration (app driven or schedule based on requirement) and feed following inputs:
- essJobName : containes ess job package, jobdefinitionName and appended name value parameters with a ";".
- fileName
- reportPath: BI report absolute path
- Fetch name and value parameters into a stage csv file which will be used while submitting ess job request. Follow below blog to know how to get the name and value parameters. (https://soalicious.blogspot.com/2021/05/oic-params.html)
- Submit ESS job with this fetched value parameters> call BI Bursting with FTP Delivery channel (https://soalicious.blogspot.com/2024/01/oic-erp-submit-ess-job-sending-multiple.html)
- Check getESSjobStatus(https://soalicious.blogspot.com/2021/07/oic-get-ess-job-status.html)
- If ESSJobStatus not Succeeded then
- Call BI report: in a loop and retry: (https://soalicious.blogspot.com/2022/03/oic-how-to-call-and-read-bi-publisher.html)
- While condition: $p_decodeFileRef ='NULL' and $retryCounter <5.0
- Call BI report with ExternalReportWSSServive.
- Update file ref:
- p_decodeFileRef: decodeBase64ToReference(reportBytes)
- UPdate retry count retryCounter = $retryCounter + 1.0
- Read File : take a stage and read entire file where specify file ref : $p_decodeFileRef and provide a sample csv file (C1 field)
- Take row counts : take a for each loop and count rows using repeating elements and rowCounter.
- Check row counts
- If rowcount >=2.0 then throw new fault as ess job failure
- Else, call another child integration to have the blank file and process. https://soalicious.blogspot.com/2024/02/oic-erp-create-reusable-outbound.html
- Monitor the child integration process status. Follow my below blog to call and monitor scheduled integration.(https://soalicious.blogspot.com/2024/01/oic-run-schedule-integration-now-from.html)
We are calling ess job to invoke to BI report to do ftp bursting for a reason. We are doing it to fetch delta data(daily data).
No comments:
Post a Comment