SSO Validation from OAF custom page.

Hi All,
We have 11.5.10Cu2 configured with Single Sign On.
Both are running in different servers.
I have a custom OAF Page(Approval Page) from that page I want to validate
a Single Sign on user id.
ie, I don't want to set any session value or cookies just want to validate a SSO username from my OAF Controller or from my AMImpl.
Like giving a request to SSO Server with username/password and get true or false according to the validation and return to my custom page.
Thanks.
With Regards,
Kali.
OSSI.

Yes Tapash,
Here is the sample code,
Spec:
CREATE OR REPLACE PACKAGE APPS.xxpo_oa_pdt_ordering_pkg AS
PROCEDURE authenticate_user
(p_username IN VARCHAR2
,p_password IN VARCHAR2
,p_validation_type IN VARCHAR2 DEFAULT 'SSO'-- FND or SSO
,p_check_approver IN VARCHAR2 DEFAULT 'Y'
,x_return_status IN OUT NOCOPY VARCHAR2
,x_msg_data IN OUT NOCOPY VARCHAR2
,x_msg_count IN OUT NOCOPY NUMBER
Body:
PROCEDURE authenticate_user
(p_username IN VARCHAR2
,p_password IN VARCHAR2
,p_validation_type IN VARCHAR2 DEFAULT 'SSO' -- FND or SSO
,p_check_approver IN VARCHAR2 DEFAULT 'Y'
,x_return_status IN OUT NOCOPY VARCHAR2
,x_msg_data IN OUT NOCOPY VARCHAR2
,x_msg_count IN OUT NOCOPY NUMBER
AS
l_return PLS_INTEGER;
ldap_host VARCHAR2(256);
ldap_port PLS_INTEGER;
ldap_user VARCHAR2(256);
ldap_passwd VARCHAR2(256);
ldap_base VARCHAR2(256);
retval PLS_INTEGER;
my_session DBMS_LDAP.SESSION;
subscriber_handle DBMS_LDAP_UTL.HANDLE;
sub_type PLS_INTEGER;
subscriber_id VARCHAR2(2000);
my_pset_coll DBMS_LDAP_UTL.PROPERTY_SET_COLLECTION;
my_property_names DBMS_LDAP.STRING_COLLECTION;
my_property_values DBMS_LDAP.STRING_COLLECTION;
user_handle DBMS_LDAP_UTL.HANDLE;
user_id VARCHAR2(2000);
user_type PLS_INTEGER;
user_password VARCHAR2(2000);
my_mod_pset DBMS_LDAP_UTL.MOD_PROPERTY_SET;
my_attrs DBMS_LDAP.STRING_COLLECTION;
user_dn VARCHAR2(256);
BEGIN
write_to_log(FND_LOG.LEVEL_PROCEDURE,'Start of authenticate_user');
write_to_log(FND_LOG.LEVEL_STATEMENT,'Parameters: p_username='||p_username||' p_validation_type='||p_validation_type||' p_check_approver= '||p_check_approver);
x_return_status := FND_API.G_RET_STS_SUCCESS;
x_msg_data := NULL;
x_msg_count:= NULL;
IF p_check_approver = 'Y' THEN
IF xxpo_oa_pdt_util_pkg.is_valid_approver(xxpo_oa_pdt_util_pkg.get_fnd_user_id(p_username)) <> 'Y' THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: User is not a valid approver.');
x_return_status := FND_API.G_RET_STS_ERROR;
x_msg_data := 'XXPO_OA_PDT_INVALID_APPR';
x_msg_count:= 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
END IF;
IF p_validation_type = 'FND' THEN
l_return := FND_SSO.authenticate_user
(p_user => p_username
,p_password => p_password
IF l_return <> 0 THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: Invalid FND user name and password.');
x_return_status := FND_API.G_RET_STS_ERROR;
x_msg_data := 'XXPO_OA_PDT_INVALID_USER';
x_msg_count:= 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
ELSE
--verify that the XXPO%LDAP% profiles are set
IF FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_HOST') IS NULL OR
FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_PORT') IS NULL OR
FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_ADMIN_USER') IS NULL OR
FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_ADMIN_PWD') IS NULL OR
FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_BASE') IS NULL OR
FND_PROFILE.VALUE('XXPO_OA_PDT_LDAP_USER_TYPE') IS NULL THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: One or more of XXPO%LDAP% Profiles are not set.');
x_msg_data := 'XXPO_OA_PDT_LDAP_PROF_MISSING';
x_msg_count := 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
-- Please customize the following variables as needed
ldap_user := gc_ldap_user;
ldap_passwd := gc_ldap_passwd;
sub_type := DBMS_LDAP_UTL.TYPE_DEFAULT;
subscriber_id := NULL;
user_type := gc_ldap_user_type;
user_id := p_username;
user_password := p_password;
-- Choosing exceptions to be raised by DBMS_LDAP library.
DBMS_LDAP.USE_EXCEPTION := TRUE;
write_to_log(FND_LOG.LEVEL_STATEMENT,'Input Parameters: ');
write_to_log(FND_LOG.LEVEL_STATEMENT,'LDAP HOST: ' || gc_ldap_host );
write_to_log(FND_LOG.LEVEL_STATEMENT,'LDAP PORT: ' || gc_ldap_port);
write_to_log(FND_LOG.LEVEL_STATEMENT,'LDAP BIND USER: ' || ldap_user);
write_to_log(FND_LOG.LEVEL_STATEMENT,'USER ID : ' || user_id);
write_to_log(FND_LOG.LEVEL_STATEMENT,'----------------------------------');
-- Connect to the LDAP server
-- and obtain and ld session.
write_to_log(FND_LOG.LEVEL_STATEMENT,'Connecting to ' || gc_ldap_host || ' ...');
my_session := DBMS_LDAP.init(gc_ldap_host, gc_ldap_port);
write_to_log(FND_LOG.LEVEL_STATEMENT,': Connected.');
-- Bind to the directory
write_to_log(FND_LOG.LEVEL_STATEMENT,'Binding to directory as ' || ldap_user || ' ... ');
retval := DBMS_LDAP.simple_bind_s(my_session, ldap_user, ldap_passwd);
write_to_log(FND_LOG.LEVEL_STATEMENT,': Successful.');
-- Create Subscriber Handle
write_to_log(FND_LOG.LEVEL_STATEMENT,'Creating Subscriber Handle ... ');
retval := DBMS_LDAP_UTL.create_subscriber_handle(subscriber_handle,
sub_type,
subscriber_id);
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: create_subscriber_handle returns : ' || TO_CHAR(retval));
x_msg_data := 'XXPO_OA_PDT_SUBS_HANDLE_ERROR';
x_msg_count:= 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
write_to_log(FND_LOG.LEVEL_STATEMENT,': Successful.');
-- Create User Handle
write_to_log(FND_LOG.LEVEL_STATEMENT,'Creating user handle for ' || user_id || ' ... ');
retval := DBMS_LDAP_UTL.create_user_handle(user_handle,user_type,user_id);
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: create_user_handle returns : ' || TO_CHAR(retval));
x_msg_data := 'XXPO_OA_PDT_USER_HANDLE_ERROR';
x_msg_count:= 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
write_to_log(FND_LOG.LEVEL_STATEMENT,': Successful.');
-- Set user handle properties
-- (link subscriber to user )
retval := DBMS_LDAP_UTL.set_user_handle_properties(user_handle,
DBMS_LDAP_UTL.SUBSCRIBER_HANDLE,
subscriber_handle);
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error: set_user_handle_properties returns : ' || TO_CHAR(retval));
x_msg_data := 'XXPO_OA_PDT_USER_SUBS_ERROR';
x_msg_count:= 1;
RAISE FND_API.G_EXC_ERROR;
END IF;
-- Authenticate User
write_to_log(FND_LOG.LEVEL_STATEMENT,'Authenticating user ' || user_id || ' ... ');
retval := DBMS_LDAP_UTL.authenticate_user(my_session,
user_handle,
DBMS_LDAP_UTL.AUTH_SIMPLE,
user_password,
NULL);
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
-- Handle Errors
write_to_log(FND_LOG.LEVEL_ERROR,'Authentification error : ' || TO_CHAR(retval));
x_msg_data := 'XXPO_OA_PDT_INVALID_USER';
x_msg_count:= 1;
-- below only for debugging purpose
IF retval = -5 THEN
write_to_log(FND_LOG.LEVEL_ERROR,'User unknown');
ELSIF retval = -16 THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Incorrect password');
ELSIF retval = DBMS_LDAP_UTL.PARAM_ERROR THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Invalid input parameters.');
ELSIF retval = DBMS_LDAP_UTL.GENERAL_ERROR THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Authentication failed.');
ELSIF retval = DBMS_LDAP_UTL.NO_SUCH_USER THEN
write_to_log(FND_LOG.LEVEL_ERROR,'USER doesn''t exist.');
ELSIF retval = DBMS_LDAP_UTL.MULTIPLE_USER_ENTRIES THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Multiple NUMBER OF USER DN entries exist IN the DIRECTORY FOR the given USER.');
ELSIF retval = DBMS_LDAP_UTL.INVALID_SUBSCRIBER_ORCL_CTX THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Invalid Subscriber Oracle Context.');
ELSIF retval = DBMS_LDAP_UTL.NO_SUCH_SUBSCRIBER THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Subscriber doesn''t exist.');
ELSIF retval = DBMS_LDAP_UTL.MULTIPLE_SUBSCRIBER_ENTRIES THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Multiple NUMBER OF subscriber DN entries exist IN the DIRECTORY FOR the given subscriber.');
ELSIF retval = DBMS_LDAP_UTL.INVALID_ROOT_ORCL_CTX THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Invalid Root Oracle Context.');
ELSIF retval = DBMS_LDAP_UTL.AUTH_PASSWD_CHANGE_WARN THEN
write_to_log(FND_LOG.LEVEL_ERROR,'PASSWORD should be changed.');
ELSIF retval = DBMS_LDAP_UTL.ACCT_TOTALLY_LOCKED_EXCEPTION THEN
write_to_log(FND_LOG.LEVEL_ERROR,'USER account IS locked.');
ELSIF retval = DBMS_LDAP_UTL.PWD_EXPIRED_EXCEPTION THEN
write_to_log(FND_LOG.LEVEL_ERROR,'USER PASSWORD has expired.');
ELSIF retval = DBMS_LDAP_UTL.PWD_GRACELOGIN_WARN THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Grace login FOR USER.');
ELSE
write_to_log(FND_LOG.LEVEL_ERROR,'Authentification error : ' || TO_CHAR(retval));
END IF ;
RAISE FND_API.G_EXC_ERROR;
ELSE
write_to_log(FND_LOG.LEVEL_STATEMENT,'Authentication: Successful.');
END IF;
-- Free Mod Propertyset
DBMS_LDAP_UTL.free_mod_propertyset(my_mod_pset);
-- Free handles
DBMS_LDAP_UTL.free_handle(subscriber_handle);
DBMS_LDAP_UTL.free_handle(user_handle);
-- unbind from the directory
write_to_log(FND_LOG.LEVEL_STATEMENT,'Unbinding from directory ... ');
retval := DBMS_LDAP.unbind_s(my_session);
IF retval != DBMS_LDAP_UTL.SUCCESS THEN
write_to_log(FND_LOG.LEVEL_ERROR,'unbind_s returns : ' || TO_CHAR(retval));
x_msg_data := 'XXPO_OA_PDT_UNBIND_ERROR';
x_msg_count:= 1;
ELSE
write_to_log(FND_LOG.LEVEL_STATEMENT,': Successful.');
END IF;
write_to_log(FND_LOG.LEVEL_STATEMENT,'OK' ) ;
END IF;
write_to_log(FND_LOG.LEVEL_PROCEDURE,'End of authenticate_user');
EXCEPTION
WHEN FND_API.G_EXC_ERROR THEN
x_return_status := FND_API.G_RET_STS_ERROR;
--message already set
WHEN OTHERS THEN
write_to_log(FND_LOG.LEVEL_ERROR,'Error code : ' || TO_CHAR(SQLCODE));
write_to_log(FND_LOG.LEVEL_ERROR,'Error Message : ' || SQLERRM);
write_to_log(FND_LOG.LEVEL_ERROR,'Exception encountered .. returning');
x_return_status := FND_API.G_RET_STS_ERROR;
x_msg_data := 'XXPO_OA_PDT_INVALID_USER';
x_msg_count:= 1;
END authenticate_user;
Hope this help others.
Thanks.
With Regards,
Kali.
OSSI.

Similar Messages

  • Can't open one custom page from other custom page after import.

    Hi all!
    I've created 2 custom pages "EITPersonPG" and "EITPersonMainPG" and imported them to the mds repository using import.bat. I created a function for "EITPersonPG" and added it into menu. I can open my pages from menu directly but when I try open "EITPersonMainPG" from "EITPersonPG" I get this error:
    oracle.apps.fnd.framework.OAException: No data found for region (ibsborlas/oracle/apps/per/eit/webui/EITPersonMainPG).
    ## Detail 0 ##
    Exception:
    oracle.adf.mds.MetadataDefException: Unable to find component with absolute reference = ibsborlas/oracle/apps/per/eit/webui/EITPersonMainPG, XML Path = null. Please verify that the reference is valid and the definition of the component exists either on the File System or in the MDS Repository.
    I executed "exec jdr_utils.printDocument('/ibsborlas/oracle/apps/per/eit/webui/EITPersonMainPG');" in Sql and it's OK.
    I created a function for "EITPersonMainPG" and added it into menu. I can open it.
    I can open "OA.jsp?page=ibsborlas/oracle/apps/per/eit/webui/EITPersonMainPG" from menu, but can't open it from "OA.jsp?page=ibsborlas/oracle/apps/per/eit/webui/EITPersonPG".
    What must I do so as to open "EITPersonMainPG" from "EITPersonPG"?
    Thanks in advance.
    Pavel.

    I've solved question about bouncing the apache server according to Doc ID: 471763.1 "R12 How To Bounce Apache And Clear HTML Cache In Vision Instance And Have Updated Java Code Class Active"
    Note :At R12 level bouncing apache command is different of the one to bounce oacore oc4j engine andothers. An example of situation is : how to make a modification to a JSPand have > > that modification recognized by the OC4J - JSP engine.
    So to clarify :
    1. In 11i the apache start and stop command , also
    bounce the JVM running on JSERV and clear caches by doings as below :To clear the jsp & modplsql caches run this commandrm -Rf $OA_HTML/_pages/*rm -Rf $COMMON_TOP/_pages/*rm -> Rf $IAS_ORACLE_HOME/Apache/modplsql/cache/*
    2. In R12 the command to stop and start apache only takes action on
    Apache web server and not on the OC4J container that executes the JVM.
    To bounce the OC4J container there is an specific script:
    *$INST_TOP/admin/scripts/adoacorectl.sh*
    Therefore when making a modification to a JAVA class in R12 for the
    web application, in order to have that change recognized, it is needed to bounce
    OC4J using adoacorectl.sh script.
    Bouncing oacore OC4J engine may also be needed if you make
    modifications to system properties. Example for JTT based
    applications: jtt system properties.Thank you Anoop!

  • Approvals names before submitting OAF Custom page

    Hi,
    I have posted the below question in Workflow forums but i haven't received any answer so thought of posting it here. please read.
    I have created a new workflow which is fired when a custom OAF page is submitted. This workflow is based on dynamic approvals and i have created this workflow without using AME. Now, how to display the list of approvers in the submit page? Please let me know.
    Thanks
    PK

    How are you generating the approval list?
    If you have sql query then create a view object using that sql query.
    Create a table and associate it with the View object.
    Initialize the query in the processRequest().
    Now the approvers list would be displayed in the page.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to Register OAF Custom Page on oracle application.

    can any one help me out in how to register OAF page in oracle application.

    By using AOL u need to create a Function eg. TestFunc with type as SSWA... and attach the page path as OA.jsp?page=/compName/oracle/apps/per/ijp/webui/TestPG
    After creating the function u need to create a menu and attach this TestFunc with the menu..

  • Approve Workflow from OAF

    All,
    Can we approve / reject/ reassign the workflow notifications from OAF custom page.
    Before approving the notifications users wants to key in some data and save it in staging tables and then approve notification.
    I am planning to create a custom page to key in the required data and add the approve / reject buttons in the custom OA page.... when user clicks on this Approve button can we call workflow notification.... ??? if so , please provide some links for the samples / docs ....

    Well, do you have lot of text fields that you want to show on the notificaiton?
    Can't you just customize workflow and add new custom message attributes (tex/send), that will appear automatically on the notification response section. Based the approver resonse, with in the workflow, capture these attribute values and store them the custom table.
    btw, all the self-service workflow notificaitons happen thru OAF pages. Please check how the Oracle has designed them. The best example is iProcurement Requisition Approval. This may be easier than you think.

  • Stale Data error when invoking seeded OAF from a custom OAF page

    Hi All,
    We have a requirement in OAF where we have to open a Seeded OAF Page (Install Base) from our Custom Page. We are using the javascript function “openWindow()” to open the page in a new window. When we close the seeded page by clicking seeded page window using the Window-close button and then perform any event on the custom page, we get the Stale Data error as given below.
    Error: Stale Data
    The requested page contains stale data. This error could have been caused through the use of the browser's navigation buttons (the browser Back button, for example).
    Cause:
    The number of displayed records, 2, exceeds the actual number of records, 1, in view object OwqAM.IKNCICOWQDetailVO1. Some of the displayed records may have been deleted.
    Here is the part of code we have tried.
    String destination = "/OA_HTML/RF.jsp?function_id="+Func_Id+"&"+"resp_id="+Resp_id+"&"+"resp_appl_id="+Application_id+"&security_group_id=0&lang_code=US";
    String testDest = "javascript:openWindow(top,'"+destination+"',null,{width:750, height:550},false,'document',null);void(0);";
    OABodyBean bodyBean = (OABodyBean)pageContext.getRootWebBean();
    bodyBean.setOnLoad(testDest);
    Also this issue is encountered only when we open an OAF page in a new window. We also have a functionality where a JSP page is opened on similar lines, but above said navigations do not result in the same error.
    If anyone has come across such a issue and have a resolution, please let me know. Any pointers would be of great help.
    Thanks,
    Mrugesh

    Hi,
    We had tried passing RetainAM = Y and then bouncing apache. Still we were getting the same error.
    We are not facing the STALE DATA issue when we invoke JSP page and oracle forms. It is only when we launch a seeded OAF page from our custom OAF page that we are getting this error.
    Regards,
    Mrugesh

  • Error while calling standards OAF page from Custom page

    Hi,
    Using personalization, from a custom page, I am trying to open a standard Iexpense page using the following inthe Destincation URI in messagestyledtext as
    OA.jsp?OAFunc=OIEMAINPAGE&startFrom=ActiveSubmitted&ReportHeaderId=380705855&OIERefreshAM=Y
    The original page has OA.jsp?OAFunc=OIEMAINPAGE&startFrom=ActiveSubmitted&ReportHeaderId={!ReportHeaderId}&OIERefreshAM=Y in the message styled text
    But when click on this from the custom page, the page opens with tabbed regions above and then gives error as below. Please let me know how to resovle this issue.
    Profiles 1) FND_VALIDATION_LEVEL and 2) FND_FUNCTION_VALIDATION_LEVEL are already set to None.
    Error is:
    Page Security cannot be asserted. The page has either expired or has been tampered. Please contact your System Administrator for help.
    Thanks,
    Srikanth

    Hi,
    R u still facing the issue?
    If So can you please tell me:
    Have u added your called function to the current user? That means by navigating to the responsibility you can access the same page directly, with out doing any transaction? If so then create your custom function with your required URL and attach to a menu ; then check if you are able to view that page from the menu navigation?If these thing is not working then I think you need to create a custom page that will extend the std region , that time hopefully it will work.
    Please post your result/thought!!
    Regards
    Apurba K Saha

  • Custom Page Type

    Is there a way of hiding the Category and Keyword base attributes on a custom page as there is when creating a Custom Item Type?
    Is it possible to create a page template from a custom page? I just get "Error while copying page. (WWC-44262)
    (WWC-00000)" when trying this on Portal 9.0.2.3.
    I can create custom pages using wwsbr_api.add_folder but I don't think there is a way to associate a UITemplate with the resultant pages by amending one of the parameters. Can I use the information held in WWTMP_ALL_TEMPLATES to update whatever table associates the UItemplate with the folders/pages - if so which table is it? (I have now attached a template itself linked to a UITemplate to the page group but when you attach a template you lose the right to amend the page areas).

    Kendra,
    Sorry for the late reply but the forums were down yesterday.
    It is not a good practice to update the Portal tables directly. In this case, if the custom page type is identical to a standard page then the manual update should work. That means the custom page type should have no custom attributes or procedures. The custom attributes and procedures can be added to the page type later.
    There are other ways to solve this problem. You can use page parameters to accomplish the same thing - just define the page parameter, set a default value, and make the parameter non-customizable. If you have a group of pages that have the same attributes, you can define the parameters in the page template and all the pages will inherit the values. Using page parameters is no more work than updating attributes in a custom page type, and it is easier for portlets to get access to the parameter values than to look up page attributes.
    You can also use the function WWPRO_API_PARAMETERS.GET_VALUE('_pageid',p_reference_path) in a PL/SQL portlet to get the value of the portal pageid. You can then query a custom table that cross-references the page id's with the display attributes that you would like the page to use. If you are using Java portlets there are other techniques for parsing the page URL (in the PDK or even generic JDK functions) to get the pageid.
    Finally, we will continue to support custom page types. However, for this requirement I would recommend using page parameters instead (you may have other needs for custom page types, however).
    Regards,
    Jerry
    PortalPM

  • ATrouble in passing parameter to PO Form from a Custom OAF Page

    Hi All,
    I have created a custom OAF page from where I am calling the standard purchase order screen, the URL which i am using is as below;
    form:Respapplshortname:Respkey:STANDARD:PO_POXPOEPO:po_header_id={@PoHeaderId}
    I have done the below Form Personalization for the same
    Create a when-new-form-instance personalization and create following actions
    1)
    Type: Builtin
    Builtin Type: DO_KEY
    Argument: ENTER_QUERY
    Create a WHEN NEW ITEM INSTANCE personalisation and create the following actions
    1)
    Type: Builtin
    Builtin Type: GO_ITEM
    Argument: PO_HEADERS.SEGMENT1
    2)
    Type: Property
    Object Type: Item
    Target Object: PO_HEADERS.SEGMENT1
    Property Name: VALUE
    Value :==:'PO_HEADER_ID'
    3)
    Type: Builtin
    Builtin Type: DO_KEY
    Argument: EXECUTE_QUERY
    Here in the below mentioned step
    Type: Property
    Object Type: Item
    Target Object: PO_HEADERS.SEGMENT1
    Property Name: VALUE
    Value =:253253
    If I hard code the value 253253(which is the header_id for PO_NUMBER 10031791) in the field 'value' then the PO_NUMBER form works as expected(PO Form opens up in queried mode and all the data of the PO_NUMBER is pre-populated)
    My query here is how do I pass a parameter from OAF page to PO_NUMBER form so that we are able to pass the value dynamically instead of hard coding the value(253253 as mentioned above).
    Please revert back as soon as possible in case anyone has inputs or better ways of achieving the above problem statement

    Did you ever figure out how to resolve this issue. We are facing the same issue and developer is not able to figure out.
    Thanks.

  • How to call OAF standard page from form by passing parameters?

    Hi,
    I have a requirement where I need to call a standard OAF page from Oracle form, I was able to call the page through personalization, but I also want to pass a parameter to the OAF page and query the OAF page using that parameter, could anyone please help?
    Note: Under the forms personalization I wrote the below code for parameters
    Actions --> Parameters--> ='contractLineId='||:OKS_LINES.ID
    Thanks,
    Bharat

    Hi Niladri,
    My requirement was calling the OAF page from standard form (menu), below are the steps that I followed,
    1) Get the OAF page function name
    2) Personalize the form, by calling the OAF page function
    a) Function Code: Give the OAF function code
    b) Parameter: Here pass the parameters
    example: ='contractLineId='||:OKS_LINES.ID
    Note: If you are calling from a custom form you can also try using fnd_function.execute to call the OAF page
    Thanks,
    Bharat

  • How to call a jsp page from oaf and run in jDeveloper

    Hi all,
    I created sample jsp and then tried.
    String temp = "sample.jsp?";
    pageContext.setForwardURL(temp,
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    null,
    true,
    OAWebBeanConstants.ADD_BREAD_CRUMB_YES,
    OAWebBeanConstants.IGNORE_MESSAGES);
    It worked.
    But when i tried with one of the custom page that i downloaded from server it is giving error.
    But now i need to call that page.
    Its Code is given on below link:
    Re: how to call a jsp page from oaf
    Please help me to do this.
    Thanks in advance.
    Regards,
    Raj

    Raj,
    1. Hope you have placed the custom jsp page (which you have downloaded from server) under "jdevhome\jdev\myhtml\OA_HTML" directory ?
    2. Try to run the custom jsp page from Jdeveloper directly and check whether its working properly or not ?
    (i.e. add jsp page to any project in Jdeveloper then right click on jsp page and select Run xxx.jsp)
    3. If page errors out then custom jsp page seems require few parameters to run it successfully. Pass all requied parameters and test.
    4. There is no problem in the way you are calling jsp page from OAF page.
    regards,
    Anand

  • Custom report instead of standard standard report "EAMWRREP" from OAF

    Hi All,
    I have a requirement to fire a custom report instead of standard standard report "EAMWRREP" from OAF.
    Screen -> EAM Self Service Maintenance -> Work Orders -> Search Work Orders -> Print Work Order
    Standard page ->WorkOrderRepPG 120.2
    Standard Controller -> WorkOrderRepCO
    I have extended the standard controller to override the call
    as shown below :
    Standard WorkOrderRepCO :
    oapagecontext.putParameter("p_DataSourceCode", "EAMWRREP");
    oapagecontext.putParameter("p_DataSourceAppsShortName", "EAM");
    Extended :WorkOrderTestCO
    oapagecontext.putParameter("p_DataSourceCode", "USS_EAM_WO_OAF");
    oapagecontext.putParameter("p_DataSourceAppsShortName", "XP2P");
    The custom report gets fired with header and footer but with NO DATA.
    The custom report is a simple RDF+XML report (RDF data model + XML template)
    with just query SELECT wip_entity_name from wip_entities where wip_entity_id = : WipEntityId
    Can some one please let me know how to pass parameters to a report likne mine??
    Regards,
    Ambika Ramachandran

    Try the OA Framework Forum

  • Call the document Approval Workflow screen from a custom KM Details Page

    Hi,
    We are trying to call the Approval Workflow screen from a custom developed KM Details page (using JSPDynpage). How can this event be triggered. We want to trigger the same event that gets called when a user clicks on the Approval Option under Settings in the Details page for a KM resource. Quick response would be much appreciated.
    Thanks and Regards,
    Shibendra

    Hi,
    Refer below links:
    https://blogs.oracle.com/prajkumar/entry/call_oaf_page_from_d2k
    http://oraclearea51.com/11i-oa-framework/17-technical-articles/technical-articles/325-how-to-call-oaf-page-from-form-personalization.html
    http://oracle.anilpassi.com/call-oa-framework-page-from-oracle-forms-passing-parameters-2.html
    --Sushant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to call a standard page from a custom BSP-iView by URL

    Dear readers,
    I have to implement a scenario as described in the guide "Administration of the Business Package for SAP CRM 4.0", chapter "Object Links in the Portal" scenario 1 and/or 2 (page 404).
    In my case, a custom iView-BSP lists certain business partners in a tree view as hyperlinks. Which URL do I have to use for these hyperlinks to call the "Accounts" page (within role Account Management (com.sap.pct.crm.AccountManager)) with the selected business partner.
    The guide informs that there exists among others a table CRMC_PRT_ROLE_MO where I can find the ID Page/Servie URL for each Role/CRM Object type/CRM Method.
    My question is if I can use this URL fragment within the URL I have to build, and if yes, how must I construct the full URL to call the account page? If now, which URL must I use to call the account page?
    thank you
    Andreas

    Hi Niladri,
    My requirement was calling the OAF page from standard form (menu), below are the steps that I followed,
    1) Get the OAF page function name
    2) Personalize the form, by calling the OAF page function
    a) Function Code: Give the OAF function code
    b) Parameter: Here pass the parameters
    example: ='contractLineId='||:OKS_LINES.ID
    Note: If you are calling from a custom form you can also try using fnd_function.execute to call the OAF page
    Thanks,
    Bharat

  • UTIL-PARAM STRING ERROR when calling a form from OAF Page

    Dear Experts,
    Can you please suggest, as we are getting the below error when we are calling a form from OAF page.
    "UTIL-PARAM STRING ERROR"
    We have created a button to call the same and the syntax used is as below.
    form:PA:OLNG_MOC_PROJECTS_ENGINEER:STANDARD:PA_PAXCARVW:PROJECT_NUMBER={@ProjectNumber}
    Thanks in advance,
    Satish

    Hi all,
    I have a Personalized Button, my button call a customized form (with a parameter named TAINV_PARAM). Function of customized Form is TAINV_FORM
    In OAF page, I have a text, it's values is 'TAINV', it's ID is VALUES_ATTRIBUTE (you can show source code in browser).
    In Destination URL of Personalized Button, fill code to call Customized Form:
    *javascript: var v_get_value=document.GetElementById(VALUES_ATTRIBUTE).innerHTML;openWindow(top, 'OA.jsp?OAFunc=TAINV_FORM&TAINV_PARAM'+v_get_value,null, {width:750, height:550},false, 'dialog', null);void(0);*
    Regards,
    TAINV

Maybe you are looking for