Thursday, October 26, 2017

Basic Form Personalization steps in oracla apps

Basic Form Personalization steps in oracla apps

Oracle has provided a simple and easy feature to implement the customer specific requirements without modifying the underlying forms code or CUSTOM library. Although CUSTOM library still can be used for forms customization to implement the complex business logic, the personalization feature provided in the latest release is easy, faster and requires minimum development effort.
If user needs to personalize any details in a form like changing field names, adding some validations, etc, then Form Personalization can provide the way out in few simple steps.
Please follow here to go through Steps with example

Steps:

Step – 1:

Go to the specific form where you need the changes

Then we need to note down the block and field name which is needed in next steps.
So keep the cursor on the required field and then Go to Help --> Diagnostics -->Examine


Note down the Block and Field value.

Step -2:

Now the step to do the personalization
Follow this navigation
Help à Diagnostics à Custom Code à Personalize

This will show the Form Personalization window

Here you need to do the customization as per the requirement.
As you can see in this form, there are mainly 4 sections
1.       Rule
2.       Condition
3.       Actions
4.       Context

Step – 3:

Rule:

This is the section where you need to create the rules how your requirement is going to be executed. This section contains 4 segments, Seq, description, Level and Enabled flag.
Seq : Need to give the Sequence how the rule will execute (a number)
Description: Write a sort description of the rule which you are going to create
Level: Select the level where you want the rule to execute
Enabled: This is the flag which will enable or disable the rule.
Example:

Step – 4:

Condition:

Now need to set the condition.
This is the section where you will define when the rule will be executed.
This section contains 4 segments, Trigger Event, Trigger Object, Condition and Processing mode.
Trigger Event: This specifies where the rule will be executed. There are mainly 5 types of event which decided the trigger of the rule.

Trigger Object:  This is the Object in the form which decides at what level the rule will be executed.
The values can be “<Form Name>”, ‘<Block Name>” or “<Item Name>”
Condition: Here mention any SQL statement to control the execution of the rule when the mentioned criterion is met.
Processing Mode: This is the mode where you want the rules to be executed.
Example:

Step – 5:

Actions:

This decides what will happen when the rule will execute.
This contains 2 sections.
Left sections contains Seq, Type, Description, Language, Enabled
Seq: Mention the Action sequence which this rule will execute
Type: This is of 4 types, Property, Message, Builtin, Menu.
This decides which type of action, the rule will perform.
According to this the right section will come and need to fill the detailed actions.
Description: Write a description on the action which this will perform.
Language: Select the language
Enabled: You can enable or disable the actions here.
Right Section is a dynamic section; it appears depending on the Type field value in Left section.

Action Types:

Property
The action type “Property” is used to set the properties of the objects. The various objects include
“Item, Window, and Block etc.”.  Actual object name defined in the form should be entered after selecting the object type.
Property Name is the property to be changed
Value is the new desired value for the property.
The current value of the property will be displayed when clicked on the “Get Value” button.
Example:
Object Type = “Item”
Target Object = “:ORDER.ORDER_NUMBER”
Property Name = “PROMPT_TEXT”
Value = “Claim Number”
The value is interpreted at runtime, so you can use SQL functions and operators. Any value started with “=” operator will be interpreted at runtime; otherwise the value is treated as is entered in the value field

Message:
The action type “Message” is used to display custom messages during runtime. Message Type and Description should be entered after selecting the action type as “Message”. The available message types are “Error, Warning, Hint, Question and Debug”. Depending on the response expected from the user, the appropriate message type should be selected.
Example:
Message Type = “Hint”
Message Text = “Please Follow the Date format DD-MON-YYYY”

Builtin:
The action type “Builtin” is used to execute the form and AOL API’s. Depending on the API type selected, the parameters should be entered.
Example:
Builtin Type = FND_UTILITIES.OPEN_URL
Argument = http://www.oracle.com

Menu:
The action type “Menu” is used to activate the available special menus on the Tools menu.
Oracle Applications provide 45 special menus under Tools menu which can be used by customers based on their requirements.
Select the SPECIAL menu which is not used by the form. Menu label is the prompt which appears to the users when Tools menu is invoked, block specifies the blocks for which the special menu should be activated and Icon name is the .ico file name.
A separator can be created above the activated special menu by selecting the “Render line before menu” checkbox.
Example:
Menu Entry = SPECIAL4
Menu Label = Additional Order Header Information
Enabled in Blocks(s) = ORDER
Icon Name = Flower.ico

Step – 6:

Context:

Context manages to whom the personalization should apply. This is similar to the concept of using profile options in Oracle Applications. The various levels are Site, Responsibility, Industry and User. During runtime, the values provided in the context are evaluated and personalization rules will be applied. Usage of context is very vital in implementing the personalization to prevent the inappropriate users accessing these customizations of the form.
Example:
Context = Responsibility
Value = Order Management Super User

STEP BY STEP ANALYSIS

Requirement: Don’t allow the user to use more than 1 qty in Order line Qty field during creation of a sales order.

Solution:

Step -1:
Go to the specific form where you need the changes
Here in this case this will be the Sales Orders form and then Line Items tab.

Then we need to note down the block and field name which is needed in next steps.
So keep the cursor on the required field and then Go to Help à Diagnostics à Examine


Note down the Block and Field value.
Step -2:
Help --> Diagnostics --> Custom Code --> Personalize

Step – 3:
Fill the Rule section

Step – 4:
Fill the Condition section

Step – 5:
Fill the Actions section

Step – 6:
Fill the context As you need.
Save this.
Log out of the application and login again, then in Sales Order line item tab enter Qty field value as 1 and try to save, you can see the message.

Wednesday, October 25, 2017

Important Oracle Apps Tables

Trading Partners Tables
=======================
select * from ece_tp_headers;
select * from ece_tp_details;

db objects Tales
====================
select * from dba_objects;
select * from user_objects;
select * from all_source;

Server Directories Tables
===========================
select * from v$parameter where name like '%utl_file%';

URL table
===============
select * from icx_parameters;

Instance Name Table
===================
 select INSTANCE_NAME  from V$INSTANCE;

Interface Tables/Programs in Oracle Apps R12

Interface Tables/Programs in Oracle Apps R12

=======================================================================
PO Requisition Creation
=======================================================================
## Interface Tables:

PO_REQUISITIONS_INTERFACE_ALL

## Error Table
PO_INTERRFACE_ERRORS

## Base Tables:

PO_REQUISITIONS_HEADERS_ALL                      
PO_REQUISITION_LINES_ALL      
PO_REQ_DISTRIBUTIONS_ALL

## Oracle Seeded Concurrent Program

   Requisition Import
 
=======================================================================
Purchase Orders Creation
=======================================================================
## Interface Tables:

PO_HEADERS_INTERFACE
PO_LINES_INTERFACE
PO_DISTRIBUTIONS_INTERFACE

## Error Table
PO_INTERRFACE_ERRORS

## Base Tables:

PO_HEADERS_ALL
PO_LINES_ALL
PO_DISTRIBUTIONS_ALL

## Oracle Seeded Concurrent Program

Import Standard Purchase Orders

=======================================================================
Sales Orders Creation
=======================================================================
## Interface Tables:

OE_HEADERS_IFACE_ALL
OE_LINES_IFACE_ALL

## Base Tables:

OE_ORDER_HEADERS_ALL
OE_ORDER_LINES_ALL

## Oracle Seeded Concurrent Program

 Order Import

=======================================================================
Price List Creation
=======================================================================
## Interface Tables:

QP_INTERFACE_LIST_HEADERS
QP_INTERFACE_LIST_LINES
QP_INTERFACE_PRICING_ATTRIBS

QP_INTERFACE_ERRORS

## Base Tables:

QP_LIST_HEADERS
QP_LIST_LINES
QP_PRICING_ATTRIBUTES

## Oracle Seeded Concurrent Program

QP: Bulk Import of Price List

=======================================================================
Customers Creation
=======================================================================
## Interface Tables:

RA_CUSTOMERS_INTERFACE_ALL
RA_CUSTOMER_PROFILES_INT_ALL
RA_CONTACT_PHONES_INT_ALL


## Base Tables:

HZ_PARTIES
HZ_PARTY_SITES
HZ_LOCATIONS
HZ_CUST_ACCOUNTS_ALL
HZ_CUST_ACCT_SITES_ALL
HZ_CUST_SITE_USES_ALL
HZ_CUSTOMER_PROFILES
HZ_CUST_PROFILE_CLASSES
HZ_PARTY_RELATIONSHIPS
HZ_CONTACT_POINTS
HZ_ORG_CONTACTS

## Oracle Seeded Concurrent Program

Customer Interface

=======================================================================
Items Creation
=======================================================================
## Interface Tables:

MTL_SYSTEM_ITEMS_INTERFACE
MTL_ITEM_REVISIONS_INTERFACE
MTL_ITEM_CATEGORIES_INTERFACE
MTL_INTERFACE_ERRORS

## Base Tables:

MTL_SYSTEM_ITEMS_B
MTL_ITEM_REVISIONS_B
MTL_CATEGORIES_B
MTL_CATEGORY_SETS_B
MTL_ITEM_STATUS
MTL_ITEM_TEMPLATES
   
## Oracle Seeded Concurrent Program

   Item Import
=======================================================================
Suppliers Creation
=======================================================================
## Interface Tables:

AP_SUPPILERS_INT
AP_SUPPLIER_SITES_INT
AP_SUP_SITE_CONTACTS_INT
AP_SUPPLIER_INT_REJECTIONS

## Base Tables:

AP_SUPPLIERS
AP_SUPPLIER_SITES_ALL
AP_SUPPLIER_CONTACTS

## Oracle Seeded Concurrent Program

Supplier Open Interface Import
Supplier Sites Open Interface Import
Supplier Site Contacts Open Interface Import

This Post will give you the insert script for inserting data into Price list import interface tables.

INSERT INTO QP_INTERFACE_LIST_HEADERS (
ORIG_SYS_HEADER_REF,
LIST_TYPE_CODE,
NAME,
DESCRIPTION,
CURRENCY_CODE,
ACTIVE_FLAG,
CURRENCY_HEADER_ID,
START_DATE_ACTIVE,
END_DATE_ACTIVE,
ROUNDING_FACTOR,
SOURCE_LANG,
LANGUAGE,
INTERFACE_ACTION_CODE,
PROCESS_FLAG,
PROCESS_STATUS_FLAG
) VALUES
(
'SAMPLE_HEADER',
'PRL',
'SAMPLE_BLK_PL',
'SAMPLE BULK LOADED PRICE LIST',
'USD',
'Y',
3,
SYSDATE,
NULL,
-1,
'US',
'US',
'INSERT',
'Y',
'P'
)
/

/* Insert Price list line details into QP_INTERFACE_LIST_LINES table. */
INSERT INTO QP_INTERFACE_LIST_LINES (
ORIG_SYS_LINE_REF,
ORIG_SYS_HEADER_REF,
LIST_LINE_TYPE_CODE,
START_DATE_ACTIVE,
END_DATE_ACTIVE,
ARITHMETIC_OPERATOR,
OPERAND,
PRIMARY_UOM_FLAG,
PRODUCT_PRECEDENCE,
INTERFACE_ACTION_CODE,
PROCESS_FLAG,
PROCESS_STATUS_FLAG
) VALUES
(
'SAMPLE_LINE',
'SAMPLE_HEADER',
'PLL',
SYSDATE,
NULL,
'UNIT_PRICE',
100,
'Y',
230,
'INSERT',
'Y',
'P'
)
/


/* Insert Product attribute details into QP_INTERFACE_PRICING_ATTRIBS table. */
INSERT INTO QP_INTERFACE_PRICING_ATTRIBS (
ORIG_SYS_PRICING_ATTR_REF,
ORIG_SYS_LINE_REF,
ORIG_SYS_HEADER_REF,
PRODUCT_ATTRIBUTE_CONTEXT,
PRODUCT_ATTR_CODE,
PRODUCT_ATTR_VAL_DISP,
PRODUCT_UOM_CODE,
INTERFACE_ACTION_CODE,
PROCESS_FLAG,
PROCESS_STATUS_FLAG
) VALUES
(
'SAMPLE_PATTR',
'SAMPLE_LINE',
'SAMPLE_HEADER',
'ITEM',
'INVENTORY_ITEM_ID',
'123',
'KG',
'INSERT',
'Y',
'P'
)
/

COMMIT;
/


Tuesday, October 24, 2017

Move concurrent program from One Instance to Another Instance with same name

Move concurrent program from One Instance to Another Instance with same name. It should work under the same responsibility and
request
Use FNDLOAD commands.
concurrent program name:
Instance :
Solved:
Step 1. Connect toad to and check the
application_short_name,
concurrent_program_name,
request_group_name and other required information using below query.
SELECT b.application_id, b.concurrent_program_id, b.concurrent_program_name,
b.executable_application_id, b.executable_id, b.iprog_id,
t.user_concurrent_program_name, t.description,
fa.application_short_name, fa.basepath, fa.product_code,
fat.application_name, fat.description application_description,
frgu.application_id request_application_id, frgu.request_group_id,
frgu.request_unit_id, frgu.unit_application_id, frg.request_group_name,
frg.description request_group_description
FROM fnd_concurrent_programs_tl t,
fnd_concurrent_programs b,
fnd_application fa,
fnd_application_tl fat,
fnd_request_group_units frgu,
fnd_request_groups frg
WHERE b.application_id = t.application_id
AND b.concurrent_program_id = t.concurrent_program_id
AND t.LANGUAGE = USERENV ('LANG')
AND fa.application_id = t.application_id
AND fat.application_id = t.application_id
AND frgu.request_unit_id = t.concurrent_program_id
AND frgu.unit_application_id = t.application_id
AND frg.request_group_id = frgu.request_group_id
AND frg.application_id = frgu.application_id
AND t.user_concurrent_program_name LIKE '& Program Name';
Step 2. Now run the below query for application_short_name and other required information.
SELECT fr.responsibility_key, fat.application_name, fa.application_short_name,
fa.basepath, fa.product_code, fr.application_id, fr.request_group_id,
fr.responsibility_id, fr.data_group_application_id, fr.menu_id,
fr.group_application_id
FROM fnd_responsibility fr, fnd_application_tl fat, fnd_application fa
WHERE 1 = 1
AND fa.application_id = fat.application_id
AND fat.application_id = fr.application_id
AND (fr.request_group_id, fr.application_id) IN (
SELECT frgu.request_group_id, frgu.application_id
FROM fnd_concurrent_programs_tl t,
fnd_concurrent_programs b,
fnd_application fa,
fnd_application_tl fat,
fnd_request_group_units frgu,
fnd_request_groups frg
WHERE b.application_id = t.application_id
AND b.concurrent_program_id = t.concurrent_program_id
AND t.LANGUAGE = USERENV ('LANG')
AND fa.application_id = t.application_id
AND fat.application_id = t.application_id
More Next Blog»
10/24/2017 Oracle Applications: Move concurrent program from One Instance to Another Instance with same name. It should work under the same re…
http://oracleapps88.blogspot.com/2011/06/move-concurrent-program-from-to.html 2/3
Newer Post Home Older Po
Subscribe to: Post Comments (Atom)
Best Blogger Gadgets
Posted by Raju Chinthapatla at 7:19:00 PM
Labels: AOL, LDT, REPORTS, SCRIPTS
AND frgu.request_unit_id = t.concurrent_program_id
AND frgu.unit_application_id = t.application_id
AND frg.request_group_id = frgu.request_group_id
AND frg.application_id = frgu.application_id
AND t.user_concurrent_program_name LIKE '&Programe Name')
Step 3. Now login to Putty in . And run the below command to get concurrent program related ldt file. Change the ldt file name, application_short_name and
concurrent_program_name as per your our requirement.
FNDLOAD (Data Base user Name)/(Data Base PassWord) O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_PROG.ldt
PROGRAM APPLICATION_SHORT_NAME="CUSTOM" CONCURRENT_PROGRAM_NAME="CUSTOMAGINGBUCKET"
We will get ldt and log file.
Step 4. Also run the below command for getting Request Group related ldt file. Again change the ldt file name, request_group_name, application_short_name and unit_name a
per your our requirement. Here unit_name is nothing but concurrent_program_name.
FNDLOAD (Data Base user Name)/(Data Base PassWord) O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_MY_REPORT_GROUP_NAME2.ldt
REQUEST_GROUP REQUEST_GROUP_NAME="All Reports" APPLICATION_SHORT_NAME="PO" REQUEST_GROUP_UNIT
UNIT_NAME="CUSTOMAGINGBUCKET"
Now again we will get another ldt and log file.
Step 5. Connect to PSFTP and get the both ldt file and report file (if concurrent program is used for report) into local drive.
Step 6. Now disconnect putty from instance and connect to .
Step 7. Now disconnect PSFTP from instance and connect to . Now put the both downloaded ldt file and report file (if concurrent program is used for report) into unix drive.
Step 8. Now run the below command for register the concurrent program. Change the ldt file name if we had changed in above code.
FNDLOAD (Data Base user Name)/(Data Base PassWord) O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_PROG.ldt
Step 9. Now run the below command for assigning the program to request group. Here also change the ldt file name if we had changed in above code.
FNDLOAD (Data Base user Name)/(Data Base PassWord) O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_MY_REPORT_GROUP_NAME2.ldt

Step 10. Now verify the program from the front end.

Oracle Fusion - Cost Lines and Expenditure Item link in Projects

SELECT   ccd.transaction_id,ex.expenditure_item_id,cacat.serial_number FROM fusion.CST_INV_TRANSACTIONS cit,   fusion.cst_cost_distribution_...