Pages

Recently Viewed

Saturday, June 21, 2014

How to show message dynamically in Oracle Forms

Using form personalization we can show custom message on defined actions.
To show the different message content based on the form data, we can use form personalization.
Create a PL/SQL function
>> Return different message based on predefined rules (conditions)
Function –
xxx_pkg.getmessage(param1 VARCHAR2) return VARCHAR2
IS
BEGIN
If param1 = 1 THEN return ‘Sandeep’ end if;
If param1 =2 THEN return ‘OAL’ END IF;
EXCEPTION
Return ‘Exception in custom program’
END ;
>>> Create a form personalization to display message

= select xxx_pkg.getmessage(Paramaer) from dual
 
 
 

Inventory organization Check using Form Personalization

This is for Inventory related core forms. Oracle inventory pops us change organization form to pick an organization before launching any form.
Based on the selection only forms are appearing and are applicable only for selected organization.
 
Change organization set the organization value in
Block – PARAMETER
Field – ORG_CODE
 
Using form personalization, we can check if we are in expected organization or not.
 
While opening the form below message will pop up -
 
Org check condition will not work for WHEN-NEW-FORM-INSTANCE trigger.
We should use this at WHEN-NEW-BLOCK-INSTANCE.

 

 

Create custom Menu in forms

As OAF provides adding new items and flexibility to change the code on any button press, Oracle form is not flexible enough to accommodate such requirement.
But instead of extending the action logic of existing forms, oracle form offers to disable the existing button (removed option to perform standard action) and execute custom logic from menu.
 
For any to- do action from core forms, using form personalization we can add custom menus (Menu >> Tools>>) and instruct any action as per requirement.
 
Steps to add new menu –
Form >> Menu >> Help >> Diagnostics >>Custom Code >> Personalize>> Create a new personalization at form/function level
 
Event – WHEN NEW FORM INSTANCE
Action – Menu >> Select Special options from LOV (SPECIAL1) >> Give user defined name >> Save and Exit
 
 
Go To form >> Menu >> Tools >> This will show you new menu
 
We can add any action for custom menu –
Create a new personalization
 
Event – SPECIAL1
Action – Message
                 “This is custom menu helpful to execute custom actions”           
 
 
 
 
  

 

 

Procedure Call using Form Personalization

How to Launch a procedure using form personalization ?
 
Form >> Menu >> Help >> Diagnostics >>Custom Code >> Personalize
 
Create a personalization
Event–        Any trigger
Action –               Built in >> Execute procedure >>
 
 
Syntex –
 
='begin
xxxxx_pkg.call_program('''||${item.<BLOCK_NAME>.<FILED_NAME>.value}||''', '''||${item.<BLOCK_NAME>.<FILED_NAME>.value}||''',1,’Test’);
end'
 
 
Description –
Procedure declaration
XXXX_PKG.call_program(pramaetr1 VARCHAR2,
   parameter2 VARCHAR2,
  parameter3 NUMBER,
  parameter4 VARCHAR2);
 
Parameter1 & 2 , value will be passed form form field.
Parameter3, constant value 1 is being passed.
Parameter4, constant value ‘Test’ is being passed.
                                 
 

Saturday, February 15, 2014

LOV in WebADI - Component

Interface property can be used to set the value set. This will provide list option in excel sheet and will have limitation on values.
Usages of component will provide standard EBS LOV option. Steps are as below -
 
 
1)      Desktop Integration Manager (R) >> Manage Component >> Create Component
Provide display name, internal name and application.
Component Type:
LOV-Table -  
Ø  SQL details will be provided into interface column properties
Ø  Component name should be provided in interface column properties
 
LOV-JAVA (Please click here)

Complete component details and apply.
Table_column-alias – Interface column name
Table_column – Value set column name (Meaning)
Table-select-column - Interface column name
 
 
Go to interface >> properties window and provide the component created.
 
 

Saturday, December 28, 2013

Make Dependent VS Enterable Without Passing Parent VS

While creating dependent value set in EBS, we found dependent (child) field is greyed (disabled) at beginning until parent field gets some value.
Requirement is to enable child field from beginning even though parent field does not have any value passed.
Supplier site is dependent on supplier and hence is disable initially and get enabled once supplier name will have value.
Above will be achieved by adding below in where condition –
WHERE and ORDER BY
Vendor_id = :$FLEX$.Supplier_test
Solution dependent VS can be enabled since beginning by modifying the above WHERE condition as below –
WHERE and ORDER BY
Vendor_id = :$FLEX$.Supplier_test:NULL
This will enable site value set.


From : Dixidha

More than 2 column values in LOV

To enable LOV on a parameter, a Table value set is associated with parameter field. While running LOV displays Value and Meaning values in LOV window.

Requirement is to add extra additional fields in LOV.
Fox example if we have supplier site LOV along with site code and site name, supplier name will add extra advantage to pick the right site if we have same name sites available.  
Solution is additional columns option available on value set definition form.
Syntax
Column_name1 “Alias” (*),Column_name2 “Alias” (*),….
                                                                                                                                                                                                                       
 
Craeted VS supplier site and added below in additional columns
 segment1 “VendorName”(*),vendor_id ”Vendor_id”(*)
Supplier LOV shows vendor name, vendor number and vendor id.

From : Dixidha

Thursday, December 26, 2013

Initialize Apps Context in Java file while creating dependent VS in WEBADI

Oracle provides standard class which can be used to initialize the apps context (set policy context) in java files if required –
 
Class Name – PaMoInit
Method – MoInit
Location - oracle.apps.pa.webadi.utilities
 
Call –
PaMoInit.MoInit(paramBneWebAppsContext);
 
 
This can be simply import if we are in PA module. Please check if same exist for any other modules otherwise creates below method and register (place) at some places.
 
 
package oracle.apps.pa.webadi.utilities;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import oracle.apps.bne.exception.BneException;
import oracle.apps.bne.framework.BneWebAppsContext;
import oracle.apps.fnd.common.VersionInfo;
 
public class PaMoInit
{
  public static void MoInit(BneWebAppsContext paramBneWebAppsContext) throws SQLException, BneException
  {
    Connection localConnection = paramBneWebAppsContext.getJDBCConnection();
    String str = "";
    CallableStatement localCallableStatement = null;
 
    StringBuffer localStringBuffer = new StringBuffer();
 
    localStringBuffer.append("begin PA_MOAC_UTILS.INITIALIZE; end;");
    localCallableStatement = localConnection.prepareCall(localStringBuffer.toString());
    localCallableStatement.execute();
    localCallableStatement.close();
  }
}

 

 

Friday, December 20, 2013

No Parameter List Definition at Parameter list id

 
Issue Cause – Such issue will occur only when integrator is being created by modifying existing integrator LDT file.
Integrator definition section contains upload (UPL) and import (IMPORT) and import list details. Integrator
 
This error occurs if defined details at integrator level do not have correct definition-  
 
IMP_TRANS_GROUP in XXXXX schema is one of the import list associated to integrator.
 
Import list definition is as below -
 
Seems the definition is also defined in XXXXX schema only still we got above error.
 
Root Cause – There is a difference in STRING_VALUE.
275:IMP_TRANS_GROUP , this is not a simple string this is APPLICATION_ID:IMPORT_List Name
 
Solution –
STRING_VALUE = "2000:IMP_TRANS_GROUP"
Will be the right value since XXXXX, application is 20000.
 
Change the LDT and upload, issue will be resolved.

 

 

Sunday, October 13, 2013

Required upload column was not in upload and has no default value defined

Error -
Getting error “Required upload column was not in upload and has no default value defined” while uploading the WebADI.
 
Cause –
There will be one NOT NULL column in interface and passed no values in upload.
 
Resolution -
Either provide the value or define the default values.
 
Select List of Values option (put the cursor on error message in excel) from Menu ( Oracle Add in).
 
This will help to know the problematic column name.