Saturday, July 30, 2011

Default value for importing flex fields through WebADI

This small example shows how you can make the following as default options for the WebADI uploads :-

Import Flex fields : by default it should be enabled for all the uploads.
Import Flex fields without validation : by default is should be enabled for all the uploads.

Steps :-

1. Goto System Administrator > Application > Function.
2. Search for the following function using CTRL+F11 : "BNE_CREATE_DOCUMENT"
3. Go to the "Form" tab on the form functions window.
4. Put the following value in the parameters text box : bne:page=BneCreateDoc&bne:validation=True&bne:import=True&bne:importFlex=IMPORTNOVALIDATION
5. Save the changes and you are done. Now whenever you upload the WebADI template, you will find the default option is set to Import Flexfields and without validations.



Saturday, July 2, 2011

Key flexfield (KFF) validation in custom webadi template

I executed the following steps to  accomplish the validation of key flexfields :-

Step1 :- In the main procedure for the custom integrator, added a column which is not a table mapped column before registering the integrator. This column will only be present in the layout.Eg:- segment_name.

Step2 :- Updated the following columns of the bne_interface_cols_b for column(segment_name) mentioned in step1 using the update api present in the package BNE_INTERFACE_COLS_PKG.
LOV_TYPE='STANDARD',
OFFLINE_LOV_ENABLED='Y',
VAL_OBJ_NAME='oracle.apps.bne.integrator.validators.BneAccountingFlexValidator',
GROUP_NAME='TEST',
OA_FLEX_CODE='GL#' (code of KFF),
OA_CONCAT_FLEX='N'(to keep values in separate column on upload)
VAL_TYPE='KEYFLEX',
VAL_COMPONENT_CODE='OA_FLEX',
VAL_COMPONENT_APP_ID='231',
OA_FLEX_APPLICATION_ID='101'(application id of KFF),
DATA_TYPE=null,
UPLOAD_PARAM_LIST_ITEM_NUM=null

Step3 :- Updated the bne_interface_cols_b  for the child fields or table mapped fields for which the column created in step1 is parent using the package BNE_INTERFACE_COLS_PKG.Columns which should be updated :
DISPLAY_FLAG='N',
GROUP_NAME='TEST' (one created for parent),
VAL_TYPE='KEYFLEXSEG'.

Step4: Created the layout using Oracle WebADI responsibility and added the parent column in the layout. After  downloading the webadi, the parent column was an LOV(KFF) validated field and the data from the LOV(KFF) will be mapped to the child table mapped columns on upload.


Thursday, June 30, 2011

Clear the WebADI Cache

You can follow the below steps to clear the WebADI Cache:

1. Login as to the Oracle Apps EBiz Suite as "Sysadmin".
2. On the home page. Go the browser url and paste the following :-

Suppose your Oracle EBiz url is :- https://oracleapps.abc.com/ then paste the following on the browser url
https://oracleapps.abc.com/OA_HTML/BneAdminServlet and press enter.

You will see the home page of Bne Admin Servlet and from here you can clear the relevant BNE Cache.

Monday, June 27, 2011

Oracle Form personalization : Personalizing the LOV

This small article will provide you an example to personalize the LOV on a form. I have chosen the GL journal entry for this example. With this example i am going to personalize the LOV for journal category on the journal entry form. This personalization will restrict seeded category to appear in the LOV for journal category. Following are the steps :-

  • Go the enter journal form.
  • Help > Diagnostics > Custom Code > Personalize
  • It will ask you enter the Oracle password. After entering the oracle password you will get the form personalization window.
  • Put a sequence number say 1 in the sequence column. Enter the brief description of the personalization, say "Disabling seeded categories from the category LOV". Choose level as "function".
  • Navigate to the conditions tab. Choose "WHEN-NEW-ITEM-INSTANCE" as trigger event and trigger objects as the field name which in this example will be "HEADER.USER_JE_CATEGORY_NAME". Choose processing mode as "Both" i.e. for both enter and query mode on the form. If you want, you can restrict this personalization on "User","Responsibility" or "Site" level. In this example i am choosing the default option ie. "Site". Save the changes.
  • Navigate to the second tab i.e "Actions".  In the sequence field , put value as "1" and type as "Bulletin". Choose the bulletin type as "Create Record Group from Query". In the argument put the modified query. Please make a note that you need to get the default query for the LOV first by enabling the "Trace with binds". E.g : I got the following querying from the trace
"Select je_category_name,user_je_category_name,description from gl_je_categories order by user_je_category_name"
  • I modified the above query to remove the seeded categories. The default category has created_by value as "1" therefore i simply added a clause to remove those entries which has created_by column value as "1". Remember not to put a ";" after the query.Click validate button to validate the argument.
"Select je_category_name,user_je_category_name,description from gl_je_categories where createdy_by <> '1'  order by user_je_category_name"
  • Enter a default group name E.g. : "TEST_FOR_CATEGORY". Now make another entry in the sequence field say "2", choose type as "Property", Object Type as "LOV", Target Object as "USER_JE_CATEGORY_NAME", Property Name as "Group Name" and Value as "TEST_FOR_CATEGORY" which you used as group name for first sequence. Save the changes and click "Apply Now". You are done and you can validate the output of the Category LOV on the journal entry form.

Monday, January 3, 2011

Assign custom WebADI template to a specific responsibility

I followed the below steps to assign my custom WebADI template to a specific responsibility :-

1. Navigate to Application Developer responsibility > Application > Function.
Enter your custom function name/user function name and description  on the description tab.
2. Navigate to the properties tab on the function form.
Choose type as "SSWA servlet function"  for you function.
3. Go to WebHTML tab on the function form.
Enter HTMLCall as "BneApplicationService".
4. Go to the forms tab on the function form.
Enter parameters as bne:page=BneCreateDoc&bne:integrator= GENERAL_1021_INTG where GENERAL_1021_INTG is your integrator code present in bne_integrators_vl table.
Save all the changes.
5. Navigate to Application Developer responsibility > Application > Menu.
Create a new Menu by providing the menu and user menu name along with description.
Add a prompt and choose the function name which you created in the above mentioned steps
in the funciton column.
6. Associate the menu created above with the required responsibility.