Friday, 31 December 2021

Oracle Fusion ERP - Update Event Subscriber URL

 


/server:port/soa-infra/PublicEvent/subscriptions/{id}

HTTP Method: PUT

Sample Input:

{

"id": 102,

"name": "{http://schemas.oracle.com/events/edl/Bpel20EssJobEvents}EssJobRequest",

"filter": "/ns2:a/ns2:b < 200",

"endpointURL": "http://my.service.com:9000/EssJob",

"state" : true

}



Wednesday, 8 December 2021

Oracle Fusion/ERP - Callback using Event Subscription

When we design a callback integration using ERP Adapter, we can select the Receive Callback Message upon completion of FBDI bulk import job submitted via another integration option on the Request page.

After selecting this option, we must select the specific bulk data import process for which the callback event is received. When this callback integration is activated, event subscription automatically occurs.

Once the import job completes, the event is raised by the Oracle ERP Cloud application. The Oracle ERP Cloud application then invokes the Oracle Integration endpoint that is the callback integration.

Since it follows event subscription mechanism , we need to configure CSF key in ERP to invoke the integration.

In order to generate the CSF key , we need to capture identity domain details. These details will be available in OCI console. 

  • Login into OIC console.
  • Click on the user icon on the right corner. 
  • Click on about
  • Get the Service Instance Name - vijaya-dvp-oic
  • Get the Identity Domain Details - idcs-xxxxxxxx62941exxxxxxxvvvvvv
  • CSF-KEY = idcs-xxxxxxxx62941exxxxxxxvvvvvvvijaya-dvp-oic



  • Login into SaaS page using following soa composer URL.
    •  https://xx-vijaya.fa.ocs.oraclecloud.com/soa/composer
  • Click on the Manage Security from right side of the page and enter value as below and click on the Register button
    • csf-key: Enter the csf-key which we created above
    • Username: Enter OIC username
    • Password: Enter OIC password
    • Confirm Password: Enter OIC password
            





Thursday, 2 December 2021

Oracle API Platform Cloud Service - Groovy Script to Check Payload and SOAP Header

Steps to Get Payload Data: 

def apiRequestBody = context.ApiRequest.getBody().asString()

def soapEnv = new XmlSlurper().parseText(apiRequestBody)

def clientSystem = soapEnv['Header']['XXHeader']['XXSystem'].toString()


if ( clientSystem != 'SNV-Vijaya' )

{

  throw new oracle.apiplatform.policies.sdk.exceptions.PolicyProcessingException('Forbidden', 403, 'Access Denied')

}


def sourceEnv = soapEnv['Header']['XXHeader']['XXEnvironment'].toString()

def corrId = soapEnv['Header']['XXHeader']['XXId'].toString()


Set Custom Header Values: 

context.ServiceRequest.setHeader("x-intg-source-system", clientSystem )

context.ServiceRequest.setHeader("x-intg-source-env", sourceEnv)

context.ServiceRequest.setHeader("x-intg-corrid", corrId)


Sample Payload : 

<soapenv:Envelope  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xxs="http://xmlns.oracle.com/svn/ics/SampleService">

   <soapenv:Header>
      <xxintegration:XXHeader xmlns:xxintegration="http://xmlns.oracle.com/svn/ics/types/base/XXHeader/v001">
         <xxintegration:XXUserInfo>
            <xxintegration:IdentityId>12345</xxintegration:IdentityId>
            <xxintegration:User>VijayaKumar</xxintegration:User>
         </xxintegration:XXUserInfo>
         <xxintegration:XXEnvironment>development</xxintegration:XXEnvironment>
         <xxintegration:XXSystem>SNV-Vijaya</xxintegration:XXSystem>
         <xxintegration:XXId>Id-0f218d61d48c3a8c8b46afe5</xxintegration:XXId>
      </xxintegration:XXHeader>
   </soapenv:Header>
   <soapenv:Body>
      <xxs:SalesTransactionMessage>
         <xxs:TransactionType>ICSSales</xxs:TransactionType>
         <xxs:TransactionID>123459</xxs:TransactionID>
         <xxs:CustomerOrderMode/>
         <xxs:BusinessDate/>
         <xxs:ReceiptNo/>
         <xxs:SalesId/>
         <xxs:CustomerId/>
         <xxs:Sales>
            <xxs:SalesTrans>
               <xxs:ItemId/>
               <xxs:ItemCategory/>
               <xxs:Quantity/>
               <xxs:Serial/>
               <xxs:NetAmount/>
               <xxs:SalesTaxAmount/>
               <xxs:GrossAmount/>
               <xxs:SalesTaxPercentage/>
               <xxs:DiscountAmount/>
               <xxs:Price/>
               <xxs:LineNumber/>
            </xxs:SalesTrans>
         </xxs:Sales>
         <xxs:Payment>
            <xxs:PaymentTrans>
               <xxs:PaymentType/>
               <xxs:Amount/>
               <xxs:Currency/>
            </xxs:PaymentTrans>
         </xxs:Payment>
      </xxs:SalesTransactionMessage>
   </soapenv:Body>
</soapenv:Envelope>



Unix - Command Execution Status Check

 #!/bin/bash

mvn deploy

STATUS=$?

if [ $STATUS -eq 0 ]; then

echo "Deployment Successful"

else

echo "Deployment Failed"

fi


ERP - GL - Chart Of Accounts

Segments in General Ledger   Segments  are dimensions used to represent an account in a financial system. A company can have anywhere from...