Utilities:Diagnostics to enable Access to custom code under HELP > Diagnostics
Pages
Recently Viewed
Saturday, December 31, 2022
Wednesday, February 10, 2021
JAR Files
Create JAR File
jar cvf <jar file name> <class name>....
Example
jar cvf TEST.jar A.class B.class
Execute Jar file
java -cp ./<jar file name> <class name> <properties file>
Example
java -cp ./SKPDebugREST.jar DebugREST DebugREST.properties
CURL
Thursday, June 25, 2020
Oracle Fusion URLs Tips
Oracle Fusion Login URL
https://<POD_NAME>.login.<DOMAIN>.oraclecloud.com
https://san-test.login.ap1.oraclecloud.com/
Oracle Fusion Application URL
https://<POD_NAME>.<APPLICATION_NAME>.<DOMAIN>.oraclecloud.com
https://san-test.fa.ap1.oraclecloud.com/
Oracle Fusion UCM URL
https://<POD_NAME>.<APPLICATION_NAME>.<DOMAIN>.oraclecloud.com/cs
https://san-test.fa.ap1.oraclecloud.com/cs
Oracle Transnational BI Publisher URL
https://<POD_NAME>.<APPLICATION_NAME>.<DOMAIN>.oraclecloud.com/analytics
https://san-test.fa.ap1.oraclecloud.com/analytics
Oracle Fusion BI Publisher Enterprise URL
https://<POD_NAME>.<APPLICATION_NAME>.<DOMAIN>.oraclecloud.com/xmlpserver
https://san-test.fa.ap1.oraclecloud.com/xmlpserver
Oracle Business Intelligence Cloud Connector Console
https://<POD_NAME>.<APPLICATION_NAME>.<DOMAIN>.oraclecloud.com/biacm
https://san-test.fa.ap1.oraclecloud.com/xmlpserver
How to backup and migrate OTBI objects in Fusion Cloud
Following approaches one can use to promote OTBI objects from one instance to another.
1) Manual : Old school method. Manually follow same instruction as development. This is beneficial if change is simple only in layout or in one data set and you are unsure about other changes in development instance.
2) Archieve/Unarchieve :
On catalog screen we can see Archive and Unarchive options.
Select the object and click archive for export OR
Click on More and select archive option.
*.Catalog file will be created.
Login to target instance and use unarchive option and select catalog file.
3) Upload/Download :
On catalog screen another option available is upload/download.
if download option is not available, open XMLPSERVER
<POD_URL>/xmlpserver
Example : https://san-test.fa.ap1.oraclecloud.com/xmlpserver
This will open BI Publisher Enterprise ( Old BI Publisher feature - Only BIP Data Model and Report are available).
*.xdoz (Report) & *.xdmz (Data Model) file will be downloaded.
Friday, April 24, 2020
Oracle WFR scans comma as decimal in LineItem fields
This can not be resolved by using field properties ( Exclude Char) feature since Line Item is of Table type and there is no such properties.
Custom Sub Routine would be way forward, following is a sample -
Private Sub LineItems_ValidateTable(pTable As SCBCdrPROJLib.ISCBCdrTable, pWorkdoc As SCBCdrPROJLib.ISCBCdrWorkdoc, pValid As Boolean)
'======================================
'By Sandeep
'======================================
Dim i As Integer
For i = 0 To pWorkdoc.Fields("LineItems").Table(0).RowCount -1
'Replacing some known characters identified during debug
pWorkdoc.Fields("LineItems").Table(0).CellText("Unit Price", i)=Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Unit Price", i)),".",""))
pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)= Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)),".",""))
pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)= Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)),".",""))
Next
End Sub
Above is a sample code to replace any char and assign the replaced value back to line Items.
Based on business required we can change the values and assign the calculated values agaain.
If Total field has comma replaced by decimal, form a logic to check length of post decimal string and decide if decimal is actual decimal or comma. Accordingly replace comma with "" and assign back.
Custom Sub Routine would be way forward, following is a sample -
Private Sub LineItems_ValidateTable(pTable As SCBCdrPROJLib.ISCBCdrTable, pWorkdoc As SCBCdrPROJLib.ISCBCdrWorkdoc, pValid As Boolean)
'======================================
'By Sandeep
'======================================
Dim i As Integer
For i = 0 To pWorkdoc.Fields("LineItems").Table(0).RowCount -1
'Replacing some known characters identified during debug
pWorkdoc.Fields("LineItems").Table(0).CellText("Unit Price", i)=Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Unit Price", i)),".",""))
pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)= Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)),".",""))
pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)= Trim(Replace(CStr(pWorkdoc.Fields("LineItems").Table(0).CellText("Total", i)),".",""))
Next
End Sub
Above is a sample code to replace any char and assign the replaced value back to line Items.
Based on business required we can change the values and assign the calculated values agaain.
If Total field has comma replaced by decimal, form a logic to check length of post decimal string and decide if decimal is actual decimal or comma. Accordingly replace comma with "" and assign back.
Labels:
Middleware
Location:
Sydney NSW, Australia
Oracle WFR : Basics
WFR - Oracle Web Center Form Recognition
Open Project file (.sdp) in Form Recognition.
Definition Mode
Open Project file (.sdp) in Form Recognition.
Definition Mode
- This will be used to define attributes properties
- Select user exit and press F12 ( right click >> Show Scripts) to show available userExits
- Select invoice Oracle F12 ( right click >> Show Scripts) to show sub routines. Select Objects and available related procedure
- Make the required changes and Save project
- After successful extraction ( from Run mode) user can switch to Definition mode > invoice > fields to see each attribute extracted values
Run Mode
- Select a File
- Select Run mode
- Click Extract next record
- Extraction will be completed
- Extraction results are displayed
- Successfully extracted and passed validation will be ticked
- Crossed attributes are failed some validations
Verifier Mode ( Text)
- This will be used to show extraction results for each attributes
- Move over the mouse on red colored fields and it will show the failed validation
Verifier Mode ( Design) can be used to design the layout.
** UserExits and SubRoutines are written in VB language
Labels:
Middleware
Location:
Sydney NSW, Australia
Script to Change FND User Password from DB
DECLARE
lv_user_name VARCHAR2(100):= 'SANDEEP';
lv_owner VARCHAR2(10) := 'CUST';
lv_password VARCHAR2(20) := 'Oracle123';
ln_user_id NUMBER;
BEGIN
/*Create FND User*/
BEGIN
SELECT user_id
INTO ln_user_id
FROM fnd_user
WHERE user_name=lv_user_name;
EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('Did not create user('||lv_user_name||') : '||sqlerrm);
END;
fnd_user_pkg.updateuser
( x_user_name =>lv_user_name,
x_owner =>lv_owner,
x_unencrypted_password =>lv_password
);
IF ln_user_id IS NOT NULL THEN
dbms_output.put_line('Successfully Updated user password : '||lv_user_name);
dbms_output.put_line('user id = '||ln_user_id);
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error in Create user :'||lv_user_name||'>>'||SQLERRM);
END;
lv_user_name VARCHAR2(100):= 'SANDEEP';
lv_owner VARCHAR2(10) := 'CUST';
lv_password VARCHAR2(20) := 'Oracle123';
ln_user_id NUMBER;
BEGIN
/*Create FND User*/
BEGIN
SELECT user_id
INTO ln_user_id
FROM fnd_user
WHERE user_name=lv_user_name;
EXCEPTION
WHEN no_data_found THEN
dbms_output.put_line('Did not create user('||lv_user_name||') : '||sqlerrm);
END;
fnd_user_pkg.updateuser
( x_user_name =>lv_user_name,
x_owner =>lv_owner,
x_unencrypted_password =>lv_password
);
IF ln_user_id IS NOT NULL THEN
dbms_output.put_line('Successfully Updated user password : '||lv_user_name);
dbms_output.put_line('user id = '||ln_user_id);
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error in Create user :'||lv_user_name||'>>'||SQLERRM);
END;
Labels:
EBS - SQL
Location:
Sydney NSW, Australia
Manage OAF Personalization from DB
Utility Name JDR_UTILS
Method Names
Method Names
- listcustomizations : Parameter is Document Path ( Full path of Page, CO or VO)
- printdocument : Parameter , Output of List Customization
- deletedocument : Parameter (P_document => Output of List Customization )
Begin
jdr_utils.listcustomizations('/oracle/apps/per/selfservice/termination/webui/TerminationPG');
END;
Begin
jdr_utils.printdocument('/oracle/apps/per/selfservice/termination/webui/customizations/function/FUNCTIONNAME/TerminationPG');
END;
Begin
jdr_utils.deletedocument(p_document => '/oracle/apps/per/selfservice/termination/webui/customizations/function/FUNCTIONNAME/TerminationPG');
END;
Tuesday, April 7, 2020
Unix Command to send Email
uuencode <ATTACHMENT_FILE> <ATTACHMENT_FILE> | mailx -s "Subject" <TO_EMAIL> -c <CC_EMAIL>
mutt -s "SUBJECT" <TO_EMAIL> -b <CC_EMAIL> < <ATTACHMENT_FILE>
Sample Code
-------------------------------------------------------------------------------------
CONTENT="$XXX_TOP/bin/sample.txt"
SUBJECT="Email TEST"
EMAIL_ADDRESS="Sandeep19rm@gmail.com"
CC_ADDRESS="Sandeep19rm@gmail.com"
ATTACHMENT="-a $FILE_HEADER -a $FILE_DETAIL"
mutt -s "$SUBJECT" $EMAIL_ADDRESS -b $CC_EMAIL < $CONTENT $ATTACHMENT
mutt -s "SUBJECT" <TO_EMAIL> -b <CC_EMAIL> < <ATTACHMENT_FILE>
Sample Code
-------------------------------------------------------------------------------------
CONTENT="$XXX_TOP/bin/sample.txt"
SUBJECT="Email TEST"
EMAIL_ADDRESS="Sandeep19rm@gmail.com"
CC_ADDRESS="Sandeep19rm@gmail.com"
ATTACHMENT="-a $FILE_HEADER -a $FILE_DETAIL"
mutt -s "$SUBJECT" $EMAIL_ADDRESS -b $CC_EMAIL < $CONTENT $ATTACHMENT
-------------------------------------------------------------------------------------
(echo "Hi,
Please find the attached log file for review.
Thanks & Regards
OA-Learning";
uuencode test.zip test.zip) | mailx -s "TEST Result" 'Sandeep19rm@gmail.com'
-------------------------------------------------------------------------------------
HCM Extract Migration
HCM Extract provides export and import options. For any new development work, migration approach should be export/import.
Export Extract Definition
My Workforce >> Data Exchange >> Manage Extract/ Extract Definition >> Search Extract and Click export icon ( 3rd one having up arrow key symbol)
Export Extract Definition
My Workforce >> Data Exchange >> Manage Extract/ Extract Definition >> Search Extract and Click export icon ( 3rd one having up arrow key symbol)
This will download the XML version of Extract definition.
Import Extract Definition
My Workforce >> Data Exchange >> Manage Extract/ Extract Definition >> Click on Import Icon ( opposite of export and available at top left corner , beside +)
It will prompt to Give Extract Name and file Import.
Limitation - Extract Name must be unique during Import. This is why this method doesn't really helpful if change is in existing extract.
It also doesn't allow to delete extract if it did ran in past. So you can't delete and reuse same name.
For Operational Support, all changes to existing extract need to be done manually.
Execution of HCM Extract
Extract Submission
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Submit Extracts
Option 2
My Workforce >> Data Exchange >> Submit Extract >> Search Extract >> Submit
Option 3
My Workforce >> Data Exchange >> Manage Extract/ Extract Definition >> Search Extract and Click on Submit Extract Icon ( Last in list, a box with arrow key)
Option 4
My Workforce >> Data Exchange >> Submit a Process or Report >> Search for Recently Completed Runs >> Open Action List >> Submit Similar
Extract Scheduling
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Schedule
Extract Rollback
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Search for Recently Completed Runs >> Open Action List >> Roll Back >. This will submit roll back request and results will disappear from original run
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Submit Extracts
Option 2
My Workforce >> Data Exchange >> Submit Extract >> Search Extract >> Submit
Option 3
My Workforce >> Data Exchange >> Manage Extract/ Extract Definition >> Search Extract and Click on Submit Extract Icon ( Last in list, a box with arrow key)
Option 4
My Workforce >> Data Exchange >> Submit a Process or Report >> Search for Recently Completed Runs >> Open Action List >> Submit Similar
Extract Scheduling
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Schedule
Extract Rollback
Option 1
My Workforce >> Data Exchange >> Submit a Process or Report >> Search for Recently Completed Runs >> Open Action List >> Roll Back >. This will submit roll back request and results will disappear from original run
Context in Fast Formula
Fast Formula in Cloud can use context setting to derive values at different context.
For example if there is a requirement to display Current Salary and First Salary for given assignment. An Extract can be setup by creating 3 attributes with Assignment user entity.
Attribute1 - CurrentSal - Type (Database Item Group) - ASSIGNMENT SALARY
Attribute2 - DATE_FROM Type (Database Item Group) - ASSIGNMENT START DATE
Attribute3 - FirstSal - Type (Rule)
Fast Formula To derive Salary on different date.
/**************************************************************/
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
INPUTS ARE DATA_ELEMENTS (TEXT_TEXT)
l_effective_date = TO_DATE(SUBSTR(TRANSLATE(DATA_ELEMENTS['DATE_FROM'],'01234567890:.-TZ', '01234567890:.- '), 1, 19), 'YYYY-MM-DD HH24:MI:SS')
CHANGE_CONTEXTS(EFFECTIVE_DATE= l_effective_date)
RULE_VALUE = TO_CHAR(CMP_ASSIGNMENT_SALARY_AMOUNT)
RULE_VALUE = TRIM(RULE_VALUE)
RETURN RULE_VALUE
/**************************************************************/
. Read the Extract Attribute - DATE FROM
. Set The Context for Effective Date
. Get the Database Item Value ( as on set date)
. Return this value
For example if there is a requirement to display Current Salary and First Salary for given assignment. An Extract can be setup by creating 3 attributes with Assignment user entity.
Attribute1 - CurrentSal - Type (Database Item Group) - ASSIGNMENT SALARY
Attribute2 - DATE_FROM Type (Database Item Group) - ASSIGNMENT START DATE
Attribute3 - FirstSal - Type (Rule)
Fast Formula To derive Salary on different date.
/**************************************************************/
DEFAULT FOR CMP_ASSIGNMENT_SALARY_AMOUNT IS 0
INPUTS ARE DATA_ELEMENTS (TEXT_TEXT)
l_effective_date = TO_DATE(SUBSTR(TRANSLATE(DATA_ELEMENTS['DATE_FROM'],'01234567890:.-TZ', '01234567890:.- '), 1, 19), 'YYYY-MM-DD HH24:MI:SS')
CHANGE_CONTEXTS(EFFECTIVE_DATE= l_effective_date)
RULE_VALUE = TO_CHAR(CMP_ASSIGNMENT_SALARY_AMOUNT)
RULE_VALUE = TRIM(RULE_VALUE)
RETURN RULE_VALUE
/**************************************************************/
. Read the Extract Attribute - DATE FROM
. Set The Context for Effective Date
. Get the Database Item Value ( as on set date)
. Return this value
Use SELECT Query In Fast Formula
SQL can be used in fast formula with help of TABLE type value set
Steps:
1) Go to Setup and Maintenance >> Search Manage Value Sets for Global Human Resource task >> Create a new value Set
>> Validation Type = TABLE
Module - Module Name ( Extract etc)
From Clause - TABLE Name ( cmp_salary)
Value Column Name - ColumnName ( Salary_amount )
WHERE Clause - Conditions
2) Use Parameter in WHERE Clause if required. ( Parameter will be passed from fast Formula only).
Example
Assignment_id = :{PARAMETER.ASSIGNMENT_ID}
ASSIGNMENT_ID is parameter Name, which need to be passed from Fast Formula.
3) Create Fast Formula and fetch value set value using following method GET_VALUE_SET('ValueSetName','BindVariable')
ValueSetName - Mandatory - Pass ValueSet Name
BindVariable - Optional - Value for Parameters
Syntex for Bind variable -
'|=PARAMNAME1='''''||Value1||'|PARAMNAME2=''''||Value2||''''
** This method might work only for payroll flow. I could not get return while using from Extract
Steps:
1) Go to Setup and Maintenance >> Search Manage Value Sets for Global Human Resource task >> Create a new value Set
>> Validation Type = TABLE
Module - Module Name ( Extract etc)
From Clause - TABLE Name ( cmp_salary)
Value Column Name - ColumnName ( Salary_amount )
WHERE Clause - Conditions
2) Use Parameter in WHERE Clause if required. ( Parameter will be passed from fast Formula only).
Example
Assignment_id = :{PARAMETER.ASSIGNMENT_ID}
ASSIGNMENT_ID is parameter Name, which need to be passed from Fast Formula.
3) Create Fast Formula and fetch value set value using following method GET_VALUE_SET('ValueSetName','BindVariable')
ValueSetName - Mandatory - Pass ValueSet Name
BindVariable - Optional - Value for Parameters
Syntex for Bind variable -
'|=PARAMNAME1='''''||Value1||'|PARAMNAME2=''''||Value2||''''
** This method might work only for payroll flow. I could not get return while using from Extract
Subscribe to:
Posts (Atom)