X

An Oracle blog about Oracle Integration Cloud(OIC)

Recent Posts

Oracle Integration Cloud (OIC) - File-based Integration Best Practices

Introduction   Oracle Integration Cloud Service (OIC) provides several design and modeling options to receive and process files to support wide variety of use cases and scenarios. The file can be received in OIC from Secure Shell (SSH) File Transfer Protocol (sFTP) server or through REST/SOAP/HTTP interfaces. The goal of this blog is to highlight key design options based on your file size, content format and delivery (outbound). It also highlights common Fusion Applications file-based integration patterns including key orchestration steps in OIC.   There are several integration patterns in Oracle Fusion Applications that are file-based. For example: ERP Cloud supports importing bulk data through File Based Data Integration (FBDI) interface HCM Cloud supports importing bulk data through HCM Data Loader (HDL) interface CRM Cloud supports similar patterns ERP Cloud Bulk Extracts (BI Publisher or BI Cloud Connector) where files are delivered to UCM or sFTP server HCM Cloud Extracts where files are delivered to UCM server Uploading attachments into ERP or HCM such as invoices, purchase orders and other supporting documents.   For more information, refer ERP FBDI process, HCM HDL process​ and CRM File-based Data import process.   All ( ERP FBDI, HCM HDL and CRM) file-based integration mandates to generate a data file based on respective object template in comma separated value (CSV) format. The file could be generated by on-premise system or other cloud applications and uploaded it to sFTP server for OIC consumption. Optionally, file could also be uploaded to Fusion Applications Content Server (UCM).   An integration flow in OIC will consume the file and optionally process it with actions such as enrichment and transformation to generate a data file of respective Fusion Applications object. If data file is generated in on-premise system as per respective object template, OIC can pass-through this file to ERP or HCM Cloud to start the import process.   Similarly, files could be extracted from Fusion Applications and deliver it to OIC through UCM server. The UCM server resides in Fusion Applications where extracted files are delivered and stored for downstream processing.   The following table provides high-level decision model to architect file-based integration flows based on decompressed file size: Table 1 - File Sizes Supported by Interfaces (based on decompressed file) Decompressed  File Size Inbound Interfaces Runtime Considerations Outbound Interfaces <= 1MB Any Adapters No limitations Any Adapters (provided outbound file size is <= 10MB) Supports both BASE64 encoding and file attachment 1MB to 10MB Any Adapters No limitations for file pass-through File Processing Limitations: Only XML or CSV format supported Use StageFile-Read File in Segments (Read Entire File not supported) Any Adapters Supports both BASE64 encoding and file attachment >10MB to 500MB FTP, REST and SOAP Adapters No limitations for file pass-through File Processing Limitations: Only XML or CSV format supported Use StageFile-Read File in Segments (Read Entire File not supported) Attachments Only - Any adapters that supports file attachment (FTP, REST, SOAP) > 500MB Note: The maximum file size limit depends on concurrency, resources available and I/O timeout considerations (default 300 second) FTP, REST and SOAP Adapters No limitations for file pass-through File Processing Limitations: Only XML or CSV format supported Use StageFile-Read File in Segments (Read Entire File not supported) Attachments Only - Any adapters that supports file attachment (FTP, REST, SOAP)    Note: For any incoming or outgoing file, the upload/download automatically times out after 300 seconds     OIC Design/Modeling Consideration   The file size, content format and processing requirements dictates how to model an integration flow in OIC. The following table shows how to design your integration flows based on file size, content and whether it’s pass-through or requires enrichment and transformation actions to generate a file that Fusion Applications supports for the respective object or interface:   Table 2 - Decision Model (File Sizes are based on decompressed file) # Inbound File Interface Inbound Decompressed File Size Key Orchestration Steps Outbound File Size File Delivery Outbound Interfaces 1 FTP - Read File or StageFile - Read Entire File - Decompressed File Only - Content Type: XML or CSV   Note: Should not be used for binary files (irrespective of file size) - recommendation is to use FTP-Download File. <= 1MB FTP - Read File or StageFile - Read Entire File Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only! StageFile - Zip Outbound: FTP/SOAP/REST - Mapper with encodeReferenceToBase64 function or Attachment <= 10MB BASE64 Attachment Any Interface 2 FTP - Compressed or Decompressed - Content Type: XML or CSV NOTE: Binary files cannot be read using StageFile operations. <= 10MB FTP - List File FTP - Download File StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only StageFile - Zip  Outbound: FTP/SOAP/REST - Mapper with encodeReferenceToBase64 function or Attachment <= 10MB BASE64 Attachment Any Interface 3 FTP (Same as #2, but file size is greater than 10MB)   NOTE: Binary files cannot be read using StageFile operations.   Greater than 10MB FTP - List File FTP - Download File StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only! StageFile - Zip Outbound: FTP/SOAP/REST - Mapper - Attachment Only Greater than 10MB Attachment Only FTP/SOAP/REST 4 REST - OIC Interface of integration flow - Base64 - Compressed or Decompressed - XML/CSV Format Only  NOTE: Binary files cannot be read using StageFile operations. <= 10MB File Reference in Mapper (use decodeReferenceFromBase64 or Attachment) StageFile - Unzip StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only StageFile - Zip Outbound: FTP/SOAP/REST - Mapper with encodeReferenceToBase64 function or Attachment <= 10MB BASE64 Attachment Any Interface 5 REST - OIC Interface of integration flow - Attachment - Compressed or Decompressed - XML/CSV Format Only  NOTE: Binary files cannot be read using StageFile operations. Greater than10MB FileReference in Mapper StageFile - Unzip StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only! StageFile - Zip Outbound: FTP/SOAP/REST -Mapper - Attachment Only Greater than 10MB Attachment Only FTP/SOAP/REST 6 File in intermediate SOAP/REST Response Payload - Compressed or Decompressed - XML/CSV Format Only  NOTE: Binary files cannot be read using StageFile operations. <= 10MB File Reference in Mapper (use decodeReferenceFromBase64 or Attachment) StageFile - Unzip StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only! StageFile - Zip Outbound: FTP/SOAP/REST -Mapper with encodeReferenceToBase64 function or Attachment <= 10MB BASE64 Attachment Any Interface 7 Same as #6, but file size is greater than 10MB   NOTE: Binary files cannot be read using StageFile operations. Greater than 10MB FileReference in Mapper StageFile - Unzip StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only StageFile - Zip Outbound: FTP/SOAP/REST -Mapper - Attachment Only Greater than 10MB Attachment Only FTP/SOAP/REST   Fusion Applications - SaaS Common Use Cases with file-based integrations Table 3 - Fusion Application Use Cases #  Use Cases OIC Key Orchestration Steps 1 Get data file from sFTP server and send compressed data file to ERP/HCM/UCM SOAP Integration Interface as Pass-through Compressed File Size: <= 10MB Content Type: XML or CSV (Binary only for pass-through)   Example: FBDI or HDL bulk imports where data file is generated accordingly with respective template and do not need any changes or processing prior to sending it to ERP or HCM Cloud to start import process. Consider using model #2 or #3 from Table 2 without enrichment and transformation steps as data file is pass-through  FTP - List File FTP - Download File Mapper -  encodeReferenceToBase64 or Attachment Outbound - BASE64 or Attachment 2 Same as #1, but file size is greater than 10MB Example: FBDI or HDL bulk imports where data file is generated accordingly with respective template and do not need any changes or processing prior to sending it to ERP or HCM Cloud to start import process. Consider using model #3  from Table 2 without enrichment and transformation steps as data file is pass-through FTP - List File FTP - Download File Mapper - Attachment Only Outbound - Attachment Only 3 Get data file from sFTP server - process/enhance data file and send revised file to ERP/HCM SOAP Integration Interface Decompressed File Size  <= 10MB Content Type: XML/CSV   Example: FBDI or HDL bulk imports where FBDI or HDL files need to be generated based on source file and enrichment/transformation to respective target file Consider using model #2 or #3  from Table 2 FTP - List File FTP - Download File Mapper -  encodeReferenceToBase64 or Attachment StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only StageFile - Zip Outbound: FTP/SOAP/REST - Mapper with encodeReferenceToBase64 function or Attachment 4 Same as #3, but decompressed file size greater than 10MB   Example: FBDI or HDL bulk imports where FBDI or HDL files need to be generated based on source file and enrichment/transformation to respective target file Consider using model #3  from Table 2 FTP - List File FTP - Download File Mapper -  encodeReferenceToBase64 or Attachment StageFile - Read File in Segments Enrichment and Transformation StageFile - Write (create Target File) Note: Write operations used within a parallel "for each" supports CSV format only StageFile - Zip Outbound: Mapper with Attachment Only 5 Get file from Fusion Application UCM Server Decompressed File size <= 10MB Content Type: XML or CSV   Example: Download file from FA UCM generated by ERP/BIP or HCM Extracts or source file uploaded to UCM instead of sFTP server Consider using model #6 or #7 from Table 2 Invoke UCM SOAP Service Select Attachment Option in SOAP Adapter Mapper -  encodeReferenceToBase64 or Attachment StageFile - Unzip StageFile - Read File in Segments 6 Same as #5, but file size is greater than 10MB   Example: Download file from FA UCM generated by ERP/BIP or HCM Extracts or source file uploaded to UCM instead of sFTP server Consider using model #7 from Table 2 Invoke UCM SOAP Service Select Attachment Option in SOAP Adapter Mapper - Attachment Only StageFile - Unzip StageFile - Read File in Segments 7 Receive (Response) File from any SOAP/REST/HTTP interfaces with media type: application/octet-stream   Example: Download file attached in SOAP/REST/HTTP responses Consider using model #7 from Table 2 Invoke SOAP/REST interface to get a file in response payload Select Attachment option (SOAP/REST - API must support attachments) Mapper - Attachment Only StageFile - Read File in Segments 8 OIC/ICS REST Interface - Receive (Request) file when OIC integration flow is invoked through REST interface - Multipart File size: > 10MB Content Type: XML or CSV   Example: Invoke OIC integration flow from on-premise or other cloud systems Receive file in OIC (invoked from on-premise or non-OIC system) Mapper - Attachment Only StageFile - Read File in Segments     Conclusion This blog assists in modeling the integration flow in OIC based on above best practices and common file-based integration use cases in Fusion Applications or any other applications. It provides detailed information on how to handle and process files in OIC based on file size, content format and delivery. p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 15.0px; font: 13.0px Helvetica; color: #333333} span.s1 {font-kerning: none} p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; line-height: 15.0px; font: 13.0px Helvetica; color: #333333} span.s1 {font-kerning: none}

Introduction   Oracle Integration Cloud Service (OIC) provides several design and modeling options to receive and process files to support wide variety of use cases and scenarios. The file can be...

Oracle Integration Cloud (OIC) - Fusion Applications Security Requirements

Oracle Integration Cloud - Fusion Applications Security Requirements Introduction Starting Fusion Application Release 12, the security model has changed significantly. It has also introduced new Security Console to manage roles and users. The seeded system-to-system integration role “ALL_INTEGRATION_POINTS_ALL_DATA” in Release 11 is not available. Customer must assign appropriate roles to an integration user by reviewing services they want to invoke. Please note that customers upgraded to R12 with integration user created in R11 with “ALL_INTEGRATION_POINTS_ALL_DATA” will continue to work. However, this role is not visible in Security Console and you cannot assign this role to new integration user.   This document will guide you on how to assign integration roles based on your product(s) implementation.   Security Console Overview Use the Security Console to mange application security such roles, users, certificates and administration tasks. The Security Console can be accessed in the following ways: Use the Manage Job Roles or Manage Duties tasks in the Setup and Maintenance work area. Select Navigator - Tools - Security Console Access to the Security Console is provided by the predefined IT Security Manager role. Figure 1: Accessing the Security Console from the Navigator   For more information, refer Security Console. The following diagram shows “Integration Specialist” role privileges:   Figure 2: Review Integration Specialist Role privileges   Oracle ERP and HCM Cloud Implementation Oracle provides seeded integration specialist job roles for ERP and HCM products. The following diagram depicts the “Integration Specialist” role:   Figure 3: Integration Specialist Role Hierarchy   The Integration Specialist role includes ERP and HCM products. This is a job role and does not include data roles. The following are the recommendations:   ERP and HCM Implementation Assign the following roles to integration user: Assign Integration Specialist role that inherits ERP and HCM product specific roles Assign ERP specific data access to integration user as per document: Securing Oracle ERP Cloud > Chapter 6 Provisioning Roles to Application Users > Managing Data Access for Users: Explained Assign HCM specific data access roles on REST services and ATOM feeds, refer Required Role and Privileges. For more information on data roles, refer HCM Data Roles and Security Profiles   HCM Implementation Only Assign the following roles to integration user: Assign Human Capital Management Integration Specialist role only Assign HCM specific data access roles on REST services and ATOM feeds, refer Required Role and Privileges. For more information on data roles, refer HCM Data Roles and Security Profiles   Oracle CRM Cloud Implementation The recommendation is to start with assigning “Customer Relationship Management Application Administrator” role. Refer this for information on this role. Additional roles may be required as per each interface requirements. The following diagram depicts the role search from Security Console:   Figure 4: Review Customer Relationship Management Application Administrator privileges   Additional Roles for all Implementation In addition, the integration user must have the following roles:   AttachmentsUser (Employee role inherits SOA Operator Role (SOAOperator) Manage Webservices Catalog Role (FND_MANAGE_CATALOG_SERVICE_PRIV)   AttachmentsUser and UCM Verification   In Fusion Applications, ESS job and output files are placed in the Attachments Security group under the Oracle Universal Content Management server (UCM - Oracle WebCenter Content server). You must have access to the security group called Attachments to download the log file or the output file with the ERP Integration Service. This access can be granted via the security role called AttachmentsUser.   The role AttachmentsUser is inherited by the predefined Employee and Contingent Worker roles. You can verify this inheritance by querying the role AttachmentsUser from the Security Console, and use the Expand Toward Users and show the Roles option.   Figure 5: Verifying inheritance of AttachmentUser role After reviewing the role inheritance of the AttachmentsUser role, review the users that are currently assigned the AttachmentsUser role.   You can verify role assignments to users by querying the role AttachmentsUser from the Security Console and use the Expand Toward Users and show Users option.   Figure 6: Review user assignments to AttachmentsUser role   In Figure 6 above, the user John.Reese have been assigned the AttachmentsUser role through the predefined Employee role. Lastly, verify that the Attachments security group is listed in the UCM Search page. Figure 7: Search page for UCM to identify whether user has access to Attachments security group

Oracle Integration Cloud - Fusion Applications Security Requirements Introduction Starting Fusion Application Release 12, the security model has changed significantly. It has also introduced new...

ERP Integration Callback Implementation in Oracle Integration Cloud (OIC)

Introduction Bulk import in Oracle ERP Cloud integration service is a long running process that require asynchronous callback pattern to notify user upon job completion. Bulk import is also known as File Based Data Integration (FBDI). ERP Cloud integration services provides infrastructure for user to register their callback service that could be invoked from Oracle ERP Cloud when import job is completed.  The ERP callback returns the status of the bulk process including all the sub-processes executed implicitly. It includes the log and error files (compressed in a ZIP format) of each sub-processes and the original data file. For detailed information on ERP Integrations, refer this. This post describes how to implement and configure callback services leveraging Oracle Integration Cloud (OIC). For more information on OIC, refer to this. Customer may create and host a callback web service either in Oracle PaaS or on-premise application server, but OIC simplifies the implementation. Through ERP adapter, it avoids complexity and quickly creates an integration flow template that can be extended further to act on import status provided through callback.    Implementation Callback Integration Flow The callback web service endpoint URL is registered when invoking importBulkData or exportBulkData operations from ERP Integration services. ERP Cloud will invoke this service upon job competition respectively. These are the following pre-requisites to implement callback in OIC 1. ERP callback implements SAML bearer token policy. In order for OIC to receive callback, the issuer name (username) used in SAML assertion must exist in OIC identity store. The issuer name is the username used when invoking bulk import or export service in ERP through OIC connection.  To add username in OIC, refer this. 2. The cloud certificates must be imported in OIC to authenticate SAML assertion from Oracle ERP cloud. The ERP cloud certificates can be retrieved from Catalog Service WSDL as follows: Acquire ERP Cloud certificates In your browser, enter Service Catalog URL: R12 URL: https://hostname:port/fndAppCoreServices/ServiceCatalogService?WSDL R13 URL: https://hostname:port/fscmService/ServiceCatalogService?WSDL In the WSDL, navigate to X509 certificates section as shown below: Copy each certificate string in a file from above as follows: -----BEGIN CERTIFICATE----- MIIDVzCCAj+gAwIBAgIILzA3WogMk08wDQYJKoZIhvcNAQELBQAwWTETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT8ixkARkWBWNsb3VkMRMwEQYDVQQDEwpDbG91ZDlDQS0yMB4XDTE2MDUwNzA1MzMzNVoXDTI2MDUwNTA1MzMzNVowWzETMBEGCgmSJomT8ixkARkWA2NvbTEWMBQGCgmSJomT8ixkARkWBm9yYWNsZTEVMBMGCgmSJomT8ixkARkWBWNsb3VkMRUwEwYDVQQDEwxGQUVuY3J5cHRpb24wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChJcipQv2NkLOZbrGy6ipcwdW/Z5VMevvOuH3v06brMewL23IpPfkHJRS60404zdGvK84JjM18HcLOPN5GbH+ZtBmMldjVaVL0a0gpGsHDFKPEY7Q62P4zdhI9J7pLh6IdzpcFByIeqcD5fPv8/xddU4WRIbJLLsadMSBWgicaninPfQlDiZzjrnm+zWt3HZadd9prmIGP4MSeBsIIraic6a8T/YYZBpkAINxS5JqpMg0kINgioXmOSn5U5x5Pp71h9F2uhFgJByimyiVsYDJHS64ntWlE/Zf85O0utA+rSMtOJAO0/IN9RwJwRPIL3Sc/ORdLarAf+MkTkEQ1/fopAgMBAAGjITAfMB0GA1UdDgQWBBRph7SlEq4SVOFpFk/li13iHjfswjANBgkqhkiG9w0BAQsFAAOCAQEAcNirKm+HzWF9HbIeA -----END CERTIFICATE-----   Repeat above for second certificate. You will have two certificate files. For example, erp_cert1.cer and erp_cert2.cer.   Import ERP Cloud certificates into OIC   From OIC home, navigate to Integrations Click Settings Click Certificates. Click Upload to import certificates as "Message Protection Certificate". Enter unique alias name and select certificate file. Repeat the upload process for second certificate.   Create ERP Callback Callback Integration Flow These are the following steps to create a callback integration flow: 1. Create new integration using orchestration pattern. For detailed information, refer creating new integrations. 2. In your integration flow, select ERP adapter and configure as follows: The following shows the design flow: Activate callback and use this callback integration flow in your import integration flow as shown below: Activate flow and enable tracking to view callback response from OIC monitor console. ERP adapter in OIC automatically downloads the callback file. This is a callback payload received from ERP cloud in OIC callback flow with callback file reference that contains logs and errors:   Response received from MESSAGE<onJobCompletion xmlns="http://xmlns.oracle.com/cloud/adapter/erp/CallbackStatus_REQUEST/types"><onJobCompletionRequest xmlns="http://xmlns.oracle.com/cloud/adapter/erp/types"><jobs><jobName>Load Interface File for Import</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><documentName>ABC_JE_101820165.zip</documentName><requestId>104403</requestId><status>SUCCEEDED</status><child><jobName>Transfer File</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104404</requestId><status>SUCCEEDED</status></child><child><jobName>Load File to Interface</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104405</requestId><status>SUCCEEDED</status></child></jobs><jobs><jobName>Import Journals</jobName><jobPath>/oracle/apps/ess/financials/generalLedger/programs/common</jobPath><requestId>104406</requestId><status>SUCCEEDED</status></jobs><jobs><jobName>Upload Interface Error and Job Output File to Universal Content Management</jobName><jobPath>/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader</jobPath><requestId>104407</requestId><status>SUCCEEDED</status></jobs><summaryStatus>SUCCEEDED</summaryStatus><documentId>29395</documentId><ICSFile xmlns="http://xmlns.oracle.com/cloud/ics/file/v1/types"><FileReference>file:/UCMFA00029847@_@FWuOVOF4UhKKvvPWIeKnwpHZg3AqNgjOdJL7GmRMald1FkKH0AU2ieloHd8JJgbKJrNTEQ72KE+UzFoElGGW8Yv4SrmyBE3SM/x0kK/i5ieZq7VPbsu1C5UaC6pGKAzD6YhPdjn1Viry8fx7NUQX3A==</FileReference></ICSFile></onJobCompletionRequest></onJobCompletion>   Conclusion This post illustrates how to implement ERP callback service in OIC with improved user experience. This is a critical integration flow of your end-to-end integration to act on the outcome and determine the next steps for downstream or upstream processing. OIC also downloads the file from ERP cloud that contains logs, errors and original data file.

Introduction Bulk import in Oracle ERP Cloud integration service is a long running process that require asynchronous callback pattern to notify user upon job completion. Bulk import is also known as...

Oracle ERP Cloud Object Attachment Service

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services including for this post Introduction The ERP Object Attachment Service supports the automatic upload of attachments for Oracle ERP Cloud business applications.  An attachment represents a collection of meaningful business information that is commonly captured as a separate file, text, or Internet URL.  Attachments are used to supplement and provide key additional information to enhance daily business operations and better track financials activities or events.  Business enterprises often require the capability to efficiently associate specific attachments with a particular business entity or collection of business entities. For example: Payables invoices may need to be associated with supporting documents such as duplicate invoices, payments, etc. Account receivables transactions may need to be linked to customer-centric documents Purchase orders may need supplementary files attached to indicate additional details related to specific goods or services procured or the nature of the overall purchase. The ERP Object Attachment Service delivers this real-time automated capability starting in Oracle ERP Cloud Release 11 Patch Bundle 13. Security Considerations The ERP Object Attachment Service is secured through Oracle Web Service Manager (OWSM) using the following policy: oracle/wss11_saml_or_username_token_with_message_protection_service_policy. The client must satisfy the message protection policy to ensure that the payload is encrypted or sent over the SSL transport layer. A client policy that can be used to meet this requirement is:  “oracle/wss11_username_token_with_message_protection_client_policy” The user must have the duty role "ORA_FUN_FSCM_LOAD_INTERFACE_ADMIN_DUTY". Design and Implementation Constructing the Oracle ERP Object Attachment Service End Point URL For illustration, to obtain the physical end point of any specific instance as a basis for the end point URL: Launch the ATK home page and sign in as a functional user. Navigate to a dashboard or work area associated with the Payables Service. In the Payables Invoice workbench, you can see a URL in the browser similar to https://<hostname>.<domainname>/payables/faces/InvoiceWorkbench. The “<hostname>.<domainname>” may be “https://<pod-name>.<lba>.***.oraclecloud.com”.In this example “<pod-name>.<lba>” is the hostname and “***.oraclecloud.com” is the domain name. In this URL, capture “https://<hostname>.<domainname>". Append the static context root: "/publicFinancialCommonErpIntegration/ ErpObjectAttachmentService". “https://<hostname>.<domainname>/publicFinancialCommonErpIntegration/ ErpObjectAttachmentService” is the WSDL URL for the Oracle ERP Object Attachment Service. Operation: uploadAttachment The uploadAttachment operation uploads a file to the Oracle WebCenter Content (UCM) server based on the document details specified and submits an ESS job to load and import the uploaded files to an application table. The following table lists the parameters for this operation: Parameter Name Description Parameter (In/Out) Mandatory Type Entity Name Entity Name of the attachment Navigate to “Setup & Maintenance UI > Set up Tasks > Manage Attachment Entities or Manage Attachment Categories” to get valid entity names. For example, AP_INVOICES_ALL, AR_BATCHES_ALL, PO_CONFIG_COMPONENTS, etc. are possible entity names. IN Yes java.lang.String Category Name Category Name of the attachment Navigate to “Setup & Maintenance UI > Set up Tasks > Manage Attachment Entities or Manage Attachment Categories” to get valid category names. For example, AP_SUPPORTING_DOC, PAYMENT_SUPPORTING_DOC, SCANNED_INVOICE_IMAGE, etc. are possible category names. IN Yes java.lang.String Allow Duplicate Option to allow duplicate attachments Values: Yes or No IN Yes java.lang.String Attachment Rows The details of the attachment are: User Keys: UserKeyA, UserKeyB, UserKeyC, UserKeyD, and UserKeyE. Please see below for more information. Attachment Type: URL, File,  or Text Title: Title of the document Content File -  This attachment type represents base64 encoding for file content being uploaded URL - This attachment type represents an Internet URL of your document Text - This attachment type represents actual text such as “Invoice requires further approval” IN Yes java.lang.String Response Code The response code in JSON format OUT java.lang.String User Keys The ERP Object Attachment Service supports up to five user keys as UserKeyA, UserKeyB, UserKeyC, UserKeyD, and UserKeyE. These keys could provide different qualifying business contexts for a chosen entity such as business units, legal entities, ledgers, etc. Sample Payload The following example illustrates the sample payload to upload an attachment to a payables invoice: <soap:Body>                 <ns1:uploadAttachment xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">                         <ns1:entityName>AP_INVOICES_ALL</ns1:entityName>                         <ns1:categoryName>AP_SUPPORTING_DOC</ns1:categoryName>                         <ns1:allowDuplicate>yes</ns1:allowDuplicate>                         <ns1:attachmentRows xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">                                 <ns2:UserKeyA>Vision Operations</ns2:UserKeyA>                                 <ns2:UserKeyB>SBP26</ns2:UserKeyB>                                 <ns2:UserKeyC>1377245736</ns2:UserKeyC>                                 <ns2:UserKeyD>#NULL</ns2:UserKeyD>                                 <ns2:UserKeyE>#NULL</ns2:UserKeyE>                                 <ns2:AttachmentType>TEXT</ns2:AttachmentType>                                 <ns2:Title>Sample</ns2:Title>                                 <ns2:Content>Testing Text</ns2:Content>             </ns1:attachmentRows>                         <ns1:attachmentRows xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">                                 <ns2:UserKeyA>Vision Operations</ns2:UserKeyA>                                 <ns2:UserKeyB>SBP26</ns2:UserKeyB>                                 <ns2:UserKeyC>1377245736</ns2:UserKeyC>                                 <ns2:UserKeyD>#NULL</ns2:UserKeyD>                                 <ns2:UserKeyE>#NULL</ns2:UserKeyE>                                 <ns2:AttachmentType>FILE</ns2:AttachmentType>                                 <ns2:Title>SampleFILE.txt</ns2:Title>                                 <ns2:Content>VGhpcyBpcyBhIHNhbXBsZSBmaWxlIHRvIHRlbWVudCBvcGVyJTEUuDQo=</ns2:Content>             </ns1:attachmentRows>         </ns1:uploadAttachment>     </soap:Body> Figure 1:  Sample request payload for the Payables Invoices attachment Sample Response <env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Body-7Us3sWti6wcgpuLGJ1ixLw22">         <ns0:uploadAttachmentResponse xmlns:ns0="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">             <result xmlns="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">"Attachment1":"SUCCEEDED","Attachment2":"SUCCEEDED"</result>         </ns0:uploadAttachmentResponse> </env:Body> Figure 2:  Sample response payload for the Payables Invoices attachment Conclusion This summary highlights how to implement the ERP Object Attachment Service. It illustrates the programmatic approach of uploading documents into the ERP Cloud from external systems. It can be invoked through any integration platform.

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services including for this post Introduction The ERP Object Attachment Service...

Oracle ERP Cloud Integration Services - Callback Notification Design and Implementation

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services  Introduction Bulk import and export operation in ERPintegration services are long running processes that require asynchronouscallback pattern to notify consumer upon job completion. ERP Cloud integrationservices provides infrastructure for customer to register their callbackservice that could be invoked when import or export job is completed. Customer may create and host a callback web service either inOracle PaaS or on-premise application server to receive notification from ERPcloud upon job completion. This post describes how to design, configure andautomate callback services leveraging Oracle Service Oriented Architecture CloudService (SOACS) deployed on Oracle’s cloud Platform As a Service (PaaS)infrastructure.  For more information on SOA Cloud Service, pleaserefer to this. However, you couldimplement similar solution with various Oracle PaaS services. Design and Implementation The callback web service must be SOAP based and implements mandatory“onJobCompletion” operation. The callback web service endpoint URL is registeredwhen invoking importBulkData or exportBulkData operations from ERP Integrationservices. ERP Cloud will invoke this service upon job competition respectively. You can leverage any Oracle PaaS solution to host thisservice. This post uses SOACS to demonstrate the concept. This is a typical SOACS composite: This is a simple BPEL component to receive the callback andit can be further designed to get artifacts from UCM depending on your case. Sample Callback Service WSDL <?xml version= '1.0' encoding= 'UTF-8' ?><wsdl:definitions name="ERPCallback" targetNamespace="http://xmlns.oracle.com/ERPIntegrationR11/ERPCallback/ERPCallback" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:client="http://xmlns.oracle.com/ERPIntegrationR11/ERPCallback/ERPCallback" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:ns1="http://TargetNamespace.com/fileService" xmlns:ns2="http://TargetNamespace.com/nxsdschema" > <plnk:partnerLinkType name="ERPCallback"> <plnk:role name="ERPCallbackProvider" portType="client:ERPCallback"/> </plnk:partnerLinkType> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://xmlns.oracle.com/ERPIntegrationR11/ERPCallback/ERPCallback" schemaLocation="../Schemas/ERPCallback.xsd"/> </schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://TargetNamespace.com/fileService" schemaLocation="../Schemas/CallbackResponse.xsd"/> </xsd:schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://TargetNamespace.com/nxsdschema" schemaLocation="../Schemas/Response.xsd"/> </xsd:schema> </wsdl:types> <wsdl:message name="ERPCallbackRequestMessage"> <wsdl:part name="payload" element="client:process"/> </wsdl:message> <wsdl:portType name="ERPCallback"> <wsdl:operation name="onJobCompletion"> <wsdl:input message="client:ERPCallbackRequestMessage"/> </wsdl:operation> </wsdl:portType></wsdl:definitions> Web Service Security ERP Cloud Configuration If you prefer to use HTTPS protocol, then you must importyour SSL certificate in ERP Cloud keystore. Please follow Oracle SR process toinitiate the request in your pod. This is a one-time configuration. PaaS or On-premise Configuration ERP cloud implements Oracle Web Service Manager (OWSM) tosecure web services. The security policy for callback is: oracle/wss_saml_token_bearer_client_polic.This mandates that callback web service in your PaaS or on-premise must besecured through compatible OWSM server policy: oracle/wss_saml_bearer_or_username_token_service_policy. The following diagram illustrates the OWSM policy applied toyour SOA Composite reference: This is a sample SAML assertion from ERP Cloud when invokingcallback service: <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" env:mustUnderstand="1"> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" MajorVersion="1" MinorVersion="1" AssertionID="SAML-fCdgV0BqwQDU97xq6frjRw22" IssueInstant="2016-05-24T01:06:22Z" Issuer="www.oracle.com"> <saml:Conditions NotBefore="2016-05-24T01:06:22Z" NotOnOrAfter="2016-05-24T01:11:22Z"/> <saml:AuthenticationStatement AuthenticationInstant="2016-05-24T01:06:22Z" AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password"> <saml:Subject> <saml:NameIdentifier Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">FINUSER1</saml:NameIdentifier> <saml:SubjectConfirmation> <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod> </saml:SubjectConfirmation> </saml:Subject> </saml:AuthenticationStatement> <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> <dsig:SignedInfo> <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> <dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <dsig:Reference URI="#SAML-fCdgV0BqwQDU97xq6frjRw22"> <dsig:Transforms> <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <dsig:DigestValue>IqAsJkAm490B8xQLk3+ztDPLggw=</dsig:DigestValue> </dsig:Reference> </dsig:SignedInfo> <dsig:SignatureValue>DqM35PHNh4RKvWiZ/QOBYieWl0a9sKk0eFYSISL2NRqK7gLNdH8mTUT3HlBl282b3FsJrEgK25cuV1f2suquyEzOeGUQTd71hueW4xbXg5bjUNAQ+RXjdP3TUr8wy9+Ftv1s2tobZSXyfpxmHDDcsgOEP2MltkItjLKRyCDlHTrqUxBJDW+g5KvwgNhjadA/1ShlBeyA4uv2X3uxa/IyDGr5h82P6v+jUIXtnDjZW0lDphdjZOXx+y943tYPx8SYDaIaf20lb19lHI10nwm76nzo7gU/MAxS2d5uf1YsbH15NN2tD7amwpSznRTt8OgTwgru27XcFVQ+0FGjA4O26Q==</dsig:SignatureValue> <dsig:KeyInfo> <dsig:X509Data> <dsig:X509Certificate>MIIDbDCCAlSgAwIBAgIGAVL8VT1fMA0GCSqGSIb3DQEBCwUAMHgxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdNeVN0YXRlMQ8wDQYDVQQHEwZNeVRvd24xFzAVBgNVBAoTDk15T3JnYW5pemF0aW9uMRkwFwYDVQQLExBGT1IgVEVTVElORyBPTkxZMRIwEAYDVQQDEwlDZXJ0R2VuQ0EwHhcNMTYwMjIwMDEzOTUwWhcNMjEwMjE4MDEzOTUwWjBTMRMwEQYKCZImiZPyLGQBGRYDY29tMRYwFAYKCZImiZPyLGQBGRYGb3JhY2xlMRIwEAYKCK8tzPmS9ielPXDmLnIlaF+NvYf2YsQzurFxkzJ37PPeOpImr5bj83gyTKzsnRLETN6j1cQUtCARa+QPuBYw9c2Y4gkoFSyKBS3nRG5ulJmFafoB3SBBfX93126V7rZBjZ8QrzsZhATTZQijs2a7s/X2hNTuGheIWqyerlUrek5PErkPY7eYFijmwn5pcSokUV10Py6dxw+A==</dsig:X509Certificate> <dsig:X509IssuerSerial> <dsig:X509IssuerName>CN=CertGenCA, OU=FOR TESTING ONLY, O=MyOrganization, L=MyTown, ST=MyState, C=US</dsig:X509IssuerName> <dsig:X509SerialNumber>1455932390751</dsig:X509SerialNumber> </dsig:X509IssuerSerial> <dsig:X509SubjectName>CN=service, DC=us, DC=oracle, DC=com</dsig:X509SubjectName> <dsig:X509SKI>kFgAwGeiKu8lIiJe62UKOE2V0X8=</dsig:X509SKI> </dsig:X509Data> </dsig:KeyInfo> </dsig:Signature> </saml:Assertion> You must configure your SOACS instance as follows: 1. The SOACS instance must support issuer www.oracle.com and LDAPdirectory must have saml:NameIdentifier username. In this sample it isFINUSER1. 2. The SAML assertion also contains digitalsignature that must be imported in SOACS’s OWSM keystore. Please refer thisdiagram: Runtime Please refer “AutomateERP Inbound Bulk Import Integration – Part I” post on how to invokeERP integration services for import. This is a sample payload for importBulkData operation:  <soap:Body> <ns1:importBulkData xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/"> <ns1:document xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">   <ns2:Content>UEsDBBQAAAAIAHSsJUWkOHOwEwEAAHgDAAAXAAAAQXBJbnZvaWNlc0ludGVyZmFjZS5jc3bV0LFOwzAQBuAdiXewOjBdU5/ts+ 6EffAAtSBmEVFhjJKyqHN4AqoeszLP7HID0HEmmljRk5RMU67V7aergIGa8IHE/x1NxPhwngsBjBBdG8jlCAn+XizI/OvPX3wLjuvQJQSwECFAAUAAAACAB0rCVFpDhzsBMBAAB4AwAAFwAAAAAAAAAAACAAAAAAAAAAQXBJbnZvaWNlc0ludGVyZmFjZS5jc3ZQSwECFAAUAAAACAAze2pIXdvnRHQAAACpAAAAEQAAAAAAAAAAACAAAABIAQAAQVBURVNULlBST1BFUlRJRVNQSwUGAAAAAAIAAgCEAAAA6wEAAAAA</ns2:Content>   <ns2:FileName>GL_1234.678.ABC_12345678</ns2:FileName>   </ns1:document>   <ns1:jobDetails></ns1:jobDetails>   <ns1:notificationCode>30</ns1:notificationCode>   <ns1:callbackURL>https://hostname:port/soainfra/services/default/ERPCallback/ERPCallbackResponse</ns1:callbackURL>   <ns1:jobOptions></ns1:jobOptions>   </ns1:importBulkData> </soap:Body> Note: In callbackURL, you must provide your callback webservice endpoint URL that ERP Cloud will invoke upon job completion. The following screen illustrates SOACS runtime instance anddetails: This is a sample message that ERP Cloud returns to yourcallback web service: <?xml version="1.0" encoding="UTF-8"?><inputVariable> <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"> <ns0:onJobCompletion xmlns:ns0="http://xmlns.oracle.com/scheduler" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <requestId>17960</requestId> <state>SUCCEEDED</state> <resultMessage>{"JOBS":[{"JOBNAME":"Load Interface File for Import","JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader","DOCUMENTNAME":"CCLFGL.CONCUR.CCLJEES.1031.zip","REQUESTID":"17957","STATUS":"SUCCEEDED","CHILD":[{"JOBNAME":"Transfer File","JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader","REQUESTID":"17958","STATUS":"SUCCEEDED"},{"JOBNAME":"Load File to Interface","JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader","REQUESTID":"17959","STATUS":"SUCCEEDED"}]},{"JOBNAME":"Import Journals","JOBPATH":"/oracle/apps/ess/financials/generalLedger/programs/common","REQUESTID":"17960","STATUS":"SUCCEEDED"}],"SUMMARYSTATUS":"SUCCEEDED"}</resultMessage> </ns0:onJobCompletion> </part> </inputVariable> Conclusion This post illustrates how to implement callback service to receivean notification from ERP Cloud upon job completion. This is a critical componentof your end-to-end integration flow to act on the outcome and determine thenext steps for downstream or upstream processing. The callback message providescomplete details of all the related jobs including data points to get outputdata from UCM. 

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services  Introduction Bulk import and export operation in ERPintegration services...

Oracle ERP Cloud Integration Services - Import Data

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services  Introduction Oracle Enterprise Resource Planning (ERP) Cloud provides a comprehensive set of modern cloud tools, templates, and pre-packaged integration to cover various scenarios using modern and efficient technologies. One of the patterns is the bulk integration to load and extract data to/from the cloud. Inbound bulk import is a powerful tool for loading data from any source in to Oracle ERP Cloud.  It supports one-time data migration and incremental load for replacing legacy ERP or hybrid solution with external applications. ERP Cloud implements Oracle WebCenter Content (UCM), a component of Fusion Middleware, to store and secure data files for both inbound and outbound bulk integration patterns. This post focuses on how to automate ERP Cloud bulk import integration. ERP Inbound Flow There are several scenarios where data must be imported to ERP cloud from external applications (On-premise and PaaS) such as: On-premise / PaaS based applications require to import recurring billing transactions into ERP Cloud On-premise insurance claim processing applications creates Payables Invoices for handling payments The approach is to automate end-to-end orchestration using ERP integration services and avoid high touch integration scenarios for handling individual transactions. This is a typical bulk import pattern: Fusion Applications Security The content in WebCenter Content (UCM) is secured through users, roles, privileges and accounts. The user could be any valid user with a role such as “Integration Specialist.” The role may have privileges such as read, write and delete. The accounts are predefined by each application. For example, ERP uses fin/payables/import for invoices, fin/generalLedger/import for journals , etc. The ERP integration web service is secured through Oracle Web Service Manager (OWSM) using the following policy: oracle/wss11_saml_or_username_token_with_message_protection_service_policy. The client must satisfy the message protection policy to ensure that the payload is encrypted or sent over the SSL transport layer. A client policy that can be used to meet this requirement is: “oracle/wss11_username_token_with_message_protection_client_policy” To use this policy, the message must be encrypted using a public key provided by the server. When the message reaches the server it can be decrypted by the server’s private key. A Keystore is used to import the certificate and it is referenced in the subsequent client code. The public key can be obtained from the certificate provided in the service WSDL file (the certificate is Base64 encoded). Design and Implementation These are the following design considerations: Generate data file of the respective object being imported Generate respective Import Parameter File Invoke ERP Integration Service to load and import data into ERP Cloud Generate Data File The ERP File Based Data Import guides in the Oracle Help Center (http://docs.oracle.com) include integration templates to help you prepare external data for loading and importing. Each template includes table-specific instructions, guidelines, formatted spreadsheets, and best practices for preparing the data file for upload. Use the templates to ensure that your data conforms to the structure and format of the target application tables. In this example we have created “AP Invoices” using respective template from ERP Cloud. Generate Import Job Property  File The Job Details parameter in importBulkData operation includes the job definition and package names as well as the job parameters of the object being imported. To get job package and definition name, please refer to Viewing Details about Predefined Scheduled Processes. The following advanced options may be used to specify the Job Details data associated with the importBulkData operation: Specify the Job Details parameter directly in the request payload  Generate and add the Job Properties File as part of the data ZIP file. For example, your zip file will contain GlInterface.csv and jobDetails.properties. The jobDetails is the sample name – it could be any name, but must have “.properties” extension Generate and upload the Job Properties File to UCM applicable account for reusability. There are two options: The parameter file naming convention is as follows: For example: Zip file name is GL_1234.678.ABC_12345678.zip Job Parameter file name must be GL.1234.678.ABC.properties You can give any name and in <jobOptions> of the request payload add the following: jobParameterFile=<my_parameter_file_name> The job property file is in CSV format as follows: <job package name>,<job definition name>, <ZIP file prefix>,<Param1>,....<ParamN> In this example we have created “AP Invoices” using respective template from ERP Cloud. Invoke ERP Integration Service Once the data file and job parameters are created respectively, you are ready to invoke ERP integration service to load and import data into ERP Cloud. In R11, the consolidated and simplified operation is available to import data in a single call avoiding high touch point integration scenarios for handling individual integration. Constructing ERP Integration Service End Point URL To get the physical end point of any specific instance: Launch ATK home page and sign in as a functional user. Navigate to a dashboard or work area page associated with Payables Service.For example, for the ERP Integration service, navigate to Payables.In the Payables Invoice workbench, you can see a URL in the browser similar to https://<hostname>.<domainname>/payables/faces/InvoiceWorkbench. The “<hostname>.<domainname>” may be “https://<pod-name>.<lba>.xxx.oraclecloud.com”.In this example “<pod-name>.<lba>” is hostname and “xxx.oraclecloud.com” is domainname. In this URL, take the "https://<hostname>.<domainname>". For example, for the Payables Invoice workbench URL, use payables. Append the static context root: "/publicFinancialCommonErpIntegration/ErpIntegrationService". “https://<hostname>.<domainname>/publicFinancialCommonErpIntegration/ErpIntegrationService” is the WSDL URL for ERP Integration Service. Operation: importBulkData The importBulkData operation uploads a file to the UCM server based on the document specified and submits an ESS job to load and import the uploaded files to an application table. The following table lists the parameters for this operation: Parameter Name Description Parameter (In/Out) Mandatory Document Two mandatory document attributes: Content: File content in Base64 encoding.  FileName: Name of the zip file IN Yes Job Details Job details include the job name (Job definition name, job package name) and ParameterList. IN No, if parameter file is provided Notification Code Notification options upon job completion such as bell and/or e-mail. Please refer the table below for the notification code values. IN Yes Callback URL The callback URL of the web service you implemented to receive the job status upon job completion. IN No Job Options Optional parameters as provided by Oracle IN No Response Code The response code returns the Request Id of the load job only (interface table). OUT Note: When a file upload to the UCM server fails, the remaining ESS jobs aren’t executed and a response code of zero (0) appears. The following table provides information on the notification codes: Digit Position Digit Value Meaning First digit 1 E-mail notification 2 Bell notification 3 Email & Bell notification Second digit 0 Send in any case (import failed or succeeded) 1 Send on import success 2 Send on import failure Sample Payload of importBulkData Operation The following sample payload illustrates the AP invoice import process request payload: <soap:Body> <ns1:importBulkData xmlns:ns1="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">   <ns1:document xmlns:ns2="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/">   <ns2:Content>UEsDBBQAAAAIAHSsJUWkOHOwEwEAAHgDAAAXAAAAQXBJbnZvaWNlc0ludGVyZmFjZS5jc3bV0LFOwzAQBuAdiXewOjBdU5/ts+ 6EffAAtSBmEVFhjJKyqHN4AqoeszLP7HID0HEmmljRk5RMU67V7aergIGa8IHE/x1NxPhwngsBjBBdG8jlCAn+XizI/OvPX3wLjuvQJQSwECFAAUAAAACAB0rCVFpDhzsBMBAAB4AwAAFwAAAAAAAAAAACAAAAAAAAAAQXBJbnZvaWNlc0ludGVyZmFjZS5jc3ZQSwECFAAUAAAACAAze2pIXdvnRHQAAACpAAAAEQAAAAAAAAAAACAAAABIAQAAQVBURVNULlBST1BFUlRJRVNQSwUGAAAAAAIAAgCEAAAA6wEAAAAA</ns2:Content>   <ns2:FileName>GL_1234.678.ABC_12345678</ns2:FileName>   </ns1:document>   <ns1:jobDetails></ns1:jobDetails>   <ns1:notificationCode>30</ns1:notificationCode>   <ns1:callbackURL>http://hostname:port/myCallbackService</ns1:callbackURL>   <ns1:jobOptions></ns1:jobOptions>   </ns1:importBulkData> </soap:Body> The following is the sample parameter file of the payable invoices generated through template: oracle/apps/ess/financials/payables/invoices/transactions,APXIIMPT,GL_1234.678.ABC,#NULL,Vision Operations,#NULL,#NULL,#NULL,#NULL,#NULL,INVOICE GATEWAY,#NULL,#NULL,#NULL,1,#NULL Sample Response from importBulkData Operation The bulkIMportData response contains the Request Id of the job loading data into the interface table. <env:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="Body-Xm0FCudjyFrfJWAmQDXCvw22">   <ns0:importBulkDataResponse xmlns:ns0="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">         <result xmlns="http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/types/">2529</result>   </ns0:importBulkDataResponse> </env:Body> Callback Web Service In practice, customers will create and host a callback web service to optimally leverage the callback capabilities provided by Oracle ERP Integration Service for notification purposes. The callback web service must implement the onJobCompletion() operation. When a job completes, Oracle ERP Integration Service invokes the customer callback web service as defined in the request payload of supported operations with callback capabilities, such as the bulkImportData operation. This is a sample callback response in JSON string: {     "JOBS":                 [                     {"JOBNAME":"Load Interface File for Import",                      "JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader",                      "DOCUMENTNAME":"apinvoiceimport.zip",                      "REQUESTID":"2529",                      "STATUS":"SUCCEEDED",                      "CHILD":[                                        {"JOBNAME":"Transfer File",                                         "JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader",                                         "REQUESTID":"2530",                                         "STATUS":"SUCCEEDED"},                                        {"JOBNAME":"Load File to Interface",                                         "JOBPATH":"/oracle/apps/ess/financials/commonModules/shared/common/interfaceLoader",                                         "REQUESTID":"2531",                                         "STATUS":"SUCCEEDED"}                                     ]                     },                     {"JOBNAME":"Import Invoices",                      "JOBPATH":"/oracle/apps/ess/financials/payables/invoices/transactions",                      "REQUESTID":"2532",                      "STATUS":"SUCCEEDED",                      "CHILD":[                                        {"JOBNAME":"Import Invoices Report",                                         "JOBPATH":"/oracle/apps/ess/financials/payables/invoices/transactions",                                         "REQUESTID":"2533",                                         "STATUS":"SUCCEEDED"}                                     ]                     }                                       ],     "SUMMARYSTATUS":"SUCCEEDED",     "DOCUMENTID":"23456" } Conclusion This post demonstrates how to implement ERP inbound flow. It illustrates the architecture of loading data into the ERP cloud from external systems avoiding high touch integration scenarios for handling individual transactions. Integration tools can be further leveraged to automate data file generation including enrichment capabilities to transform source data to respective template. 

Important Note: Please visit Oracle's Application Customer Connect for latest and more information on ERP Integration Services  Introduction Oracle Enterprise Resource Planning (ERP) Cloud provides...