Tuesday 18 October 2022

Fusion - BICC Configuration

Oracle ERP provides an another offering called BICC - Business Intelligence  Cloud Connector to extract the data from Fusion table and publish the data to UCM or OCI Object Storage.  

It also provides an option to publish the data to OAC - Oracle Analytics Cloud. BICC contains list of Public View Objects (PVO) which are custom SQL views written to extract the data from Fusion database. 

Oracle will keep updating this PVO list and the View Objects as part of each patch updates. We can get the PVO list and corresponding table and column details from an excel sheet published by Oracle.  Oracle Link 

In this blog I will let you know what all configurations we need to perform to extract and process the data using BICC. 

Before we start , we need to have BIACM_ADMIN and BICC_UCM_CONTENT_ADMIN role assigned to our user-id. 

  • We can access the BICC console using following URL  - https://hostinstance.fa.ocs.oraclecloud.com/biacm/



  • On the right side , select the settings menu and select "Manage Offerings and Data Stores" to find the predefined offerings (Grouped Entities - SCM, Order Management , HCM etc.). 
  • Each offering will contain the PVO's related to a particular entity - SCM, HCM etc.
Create Custom Offering
  • We can create a custom offering to select specific PVO and group it. 
    • Select Actions and then select create offering option
    • Select the required PVO and create a custom offering. 


  • We can select and deselect the columns from PVO to restrict the data access. 
  • We can select the PVO and select "Select Columns" option to select or deselect the column. 
  • These customizations which we are applying for each PVO can be extracted and imported into other instances. 

Configure External Storage: 
  • Select Configure External Storage option to configure UCM , OCI Object Storage and OAC configurations. 
  • We can specify which storage to use while executing the PVO using BICC webservice. 

Schedule BICC Extract: 
  • We can execute PVO to extract the data using SOAP Service or by scheduling it manually. 
  • We can use the scheduling option to Schedule the PVO or Submit the Extract manually. 
  • Use "Manage Extract Schedules" to submit it manually or check the status of the previous runs. 
  • Select Add action
    • Provide a name
    • Select the schedule time
    • Select Next
    • Select the offering
    • Select the PVO
    • Select the External Storage
    • Save the schedule




Extract Files: 

  • Every time when we execute the PVO , it will generate 3 files. 
    • JSON File  :  This will hold the execution and output file details. 
    • Manifest File : This will have the data file details. 
    • Data File  : Actual Data File

Jobs and Jobs Schedule:
  • We can execute multiple PVO's together by using Jobs
  • We can create Job by giving name and description
    • Select the offerings
    • Select the PVO's to be executed in parallel
    • Save the Job
  • Schedule Jobs by using Job Schedule option. 



Monday 17 October 2022

Fusion - BICC - SOAP Service Details

 Use the following SOAP service to execute the BICC PVO and publish the data to Object Storage. 

https://servername.fa.us2.oraclecloud.com/bi/ess/esswebservice?wsdl


SubmitRequest Operation

<submitRequest xmlns:nstrgmpr="http://xmlns.oracle.com/types/submitbiacm/1654097574293/OutboundSOAPRequestDocument" xmlns:nsmpr0="http://www.w3.org/2005/08/addressing" xmlns:tns="http://xmlns.oracle.com/scheduler" xmlns:ns33="http://xmlns.oracle.com/scheduler/types" >   <nstrgmpr:Headers>

   <nstrgmpr:SOAPHeaders>
            <nsmpr0:MessageID>112233</nsmpr0:MessageID>
            <nsmpr0:Action>submitrequest</nsmpr0:Action>
        </nstrgmpr:SOAPHeaders>
    </nstrgmpr:Headers>
    <nstrgmpr:Body>
        <tns:submitRequest> 
<!-- Can be Any Value-->
            <tns:description>VIJAYA_BICC_EXTRACT</tns:description>
            <tns:jobDefinitionId>
<!-- Required : Constant Value-->
                <ns33:name>BICloudConnectorJobDefinition</ns33:name>
<!-- Constant Value-->
                <ns33:packageName>oracle.apps.ess.biccc</ns33:packageName>
<!-- Required : Constant Value-->
                <ns33:type>JOB_DEFINITION</ns33:type>
            </tns:jobDefinitionId>
<!-- Required : Constant Value-->
            <tns:application>oracle.biacm</tns:application>
            <tns:requestedStartTime/>
            <tns:requestParameters>
                <ns33:parameter>
                    <ns33:dataType>STRING</ns33:dataType>
<!-- Required : Constant Value-->
                    <ns33:name>SYS_className</ns33:name>
<!-- Required : Constant Value-->
                    <ns33:value>oracle.esshost.impl.CloudAdaptorJobImpl</ns33:value>
                </ns33:parameter>
                <ns33:parameter>
                    <ns33:dataType>STRING</ns33:dataType>
<!-- Required : Constant Value-->
                    <ns33:name>SYS_application</ns33:name>
<!-- Required : Constant Value-->
                    <ns33:value>BI Cloud Adaptor</ns33:value>
                </ns33:parameter>
                <ns33:parameter>
                    <ns33:dataType>STRING</ns33:dataType>
<!-- Required : Constant Value-->
                    <ns33:name>EXTRACT_JOB_TYPE</ns33:name>
<!-- Required : Constant Value-->
                    <ns33:value>VO_EXTRACT</ns33:value>
                </ns33:parameter>
                <ns33:parameter>
                    <ns33:dataType>STRING</ns33:dataType>
<!-- Required : Constant Value-->
                    <ns33:name>DATA_STORE_LIST</ns33:name>
<!-- Required : PVO Name -->
                    <ns33:value>FscmTopModelAM.PrcPozPublicViewAM.SupplierPVO</ns33:value>
                </ns33:parameter>
                <ns33:parameter>
                    <ns33:dataType>STRING</ns33:dataType>
<!-- Required : Constant Value-->
                    <ns33:name>EXTERNAL_STORAGE_LIST</ns33:name>
<!-- Required : Variable Value :  Configured Object Storage Name -->
                    <ns33:value>VIJAYA_BICC</ns33:value>
                </ns33:parameter>
            </tns:requestParameters>
        </tns:submitRequest>
    </nstrgmpr:Body>
</submitRequest>


Get Completion Status Async:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sch="http://xmlns.oracle.com/scheduler">
    <nstrgmpr:Headers>
   <nstrgmpr:SOAPHeaders>
            <nsmpr0:MessageID>112233</nsmpr0:MessageID>
            <nsmpr0:Action>getCompletionStatus</nsmpr0:Action>
            <nsmpr0:ReplyTo>
                            <nsmpr0:Address>Callback_URL</nsmpr0:Address>
            </nsmpr0:ReplyTo>
        </nstrgmpr:SOAPHeaders>
    </nstrgmpr:Headers>
   <soapenv:Body>
      <sch:getCompletionStatus>
         <sch:requestId>12345</sch:requestId>
      </sch:getCompletionStatus>
   </soapenv:Body>
</soapenv:Envelope>


Reference :  https://docs.oracle.com/en/cloud/saas/applications-common/22d/biacc/soap-api.html#u00180699


Friday 14 October 2022

Angular - Validate Required Element Value

Use the following code to check the value of the required element.  


<div *ngIf="fname.touched && fname.invalid" class="alert">
            <p *ngIf="fname.errors?.['required']">FirstName is mandatory</p>
            <p *ngIf="fname.invalid">Invalid First Name</p>
        </div>




IDCS - Identity Federation with Azure and Google (SAML IDP & Social IDP)

The setup involves Identity Cloud Service (IDCS) acting as the central identity provider, facilitating seamless authentication and authoriza...