Friday, 4 July 2014

Form Personalization

How to append form personalizations

Generally when migrate the form personalization using FNDLOAD of a form, it first remove all form persoalization on a form and overwrite the form personalizations from ldt. So, this is common to lost or migrated unwanted form personalizations from source instance. So, follow below procedure, to add only form personalization that we want to target instance.  


1. Down load form personalization for a particular form.

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XXX_OEXOEORD.ldt FND_FORM_CUSTOM_RULES FORM_NAME="OEXOEORD"

2. Remove all other unwanted form personalization to be migrated from the ldf file XXX_OEXOEORD.ldt manually.

3. Add RULE_KEY='XX123' for every FND_FORM_CUSTOM_RULES definition like follwing in ldt file XXX_OEXOEORD.ldt., the maximum length of the string should be 30. 

  FIRE_IN_ENTER_QUERY = "N"
  RULE_KEY = "XXX123"
  FORM_NAME = "OEXOEORD"
  RULE_TYPE = "F"
4. When you upload into other instces use the follwing FNDLOAD.

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct IXIA_OEXOEORD.ldt RULE_KEY="XXX123"

5. Make the RULE_KEY column as NULL in target instance.

  UPDATE FND_FORM_CUSTOM_RULES
         SET RULE_KEY = NULL
   WHERE FORM_NAME = 'OEXOEORD'
         AND SEQUENCE IN ('50','51');

Note : Sequence 50 and 51 are new form personalizations to be added.

Callilng a procedure with arguments

1. Go to the form personalize
2. Select action type as "Builtin"
3. Build Type is "Execute Procedure"
4. Write the below code in the text box.

Eg:
=’DECLARE
l_so_num NUMBER;
l_line_num         NUMBER;
l_qty NUMBER;
l_reprint_name VARCHAR2(50);
BEGIN
l_so_num :='''||${item.Q_RES.SALES_ORDER.value}||''';
l_line_num :='''||${item.Q_RES.DISPLAY1.value}||''';
l_qty :='''||${item.Q_RES.DISPLAY4.value}||''';
l_reprint_name := '''||${item.Q_RES.DISPLAY11.value}||''';
apps.XXABC_REPRINT_PROCESS_PKG.reprint_from_quality(FND_GLOBAL.USER_ID,FND_GLOBAL.RESP_ID,FND_GLOBAL.RESP_APPL_ID,l_so_num,l_line_num,l_qty,l_reprint_name );

END’

Note: 1. There is no semicolon after END.
         2. After = symbole there is a '(single quote)
         3. After END there is a '(single quote)

No comments:

Post a Comment