Requirement:
Once the inbound file like policy, sub ledger or FAH processed to Oracle ERP, we get a IMPORT REQUEST ID. Based on the import id, we have to fetch the control file details and save it as text file to s3 bucket.
High level Solution steps:
- Create BI report invoke soap connection and aws S3 rest connection.
- Invoke the BI report for the control file
- Decode the response to base64 reference
- Take an amazone s3 rest connection and configure to store the control response to s3.
Detailed Implementation steps:
Create BI report invoke soap connection:
Here we will configure " ExternalReprtWSSService WSDL URL " which can be used to run a report. The same connection we will use in below steps while developing integration.
- Navigate to connection window and select SOAP adapter, give any meaningful name for connection.
- Enter the ExternalReportWSSService WSDL URL and Select the TLS Version. TLS Version depends on your ERP Cloud Application Instance. Mostly it is TLSv1.1WSDL URL Format : https://<your oracle cloud application instance domain>/xmlpserver/services/ExternalReportWSSService?WSDL
- Choose Security policy as Username Password token and Enter the *Username and *Password of the Oracle Cloud Application Instance. Click SAVE and TEST the Connection.
Create AWS s3 rest invoke connection:
create a rest S3 connection using following details:
Connection type: Rest api base url.
Connection URL: https://hostname
Security: AWS Signature version 4
Provide access key, secret key,
AWS region: like US West(Oregon) Region (us-west-2)
Service Name: Amazon S3.
Step1: Create a schedule orchestrated integration and specify a schedule parameter like importRequestID.
Step2: Next, drag and drop the BI report soap invoke connection and choose operation as runReport.
Step3: Next, open the mapper and map the following:
reportAbsolutePath:
sizeOfDataChunkDownload: -1
ParameterNamesValues:
name : "P_IMPORT_REQUEST_ID"
values item: importRequestID.
Decode BI report response to base64 reference:
decodeBase64ToReference(reportBytes)
Invoke AWS s3 rest connection and configure:
Step1: Drag and drop your created AWS s3 rest connection and configure the following:
provide relative url as /{pathAndFileName},
verb put ,
provide request payload as Binary and choose other media type and mention media type as "text/plain".
Step2: In the map, assign the following:
Template param: pathAndFilename : "/rootnode/inbound/poc/ctrl.txt"
Stream reference : Base64 reference