某情况下,会用到在EBS Form界面内打开请求提交界面,实现方式如下:


fnd_function.execute(

    function_name => 'FND_FNDRSRUN',

    other_params => 'PROGRAM_APPL_SHORT_NAME="CUX" CONCURRENT_PROGRAM_NAME="XXXXX" CHAR1="' || XXXX || '" SUBMIT_ONCE="Y"'

);

上述操作可以直接带参数打开某个并发请求的提交界面。


如果当前职责的菜单没有挂载“FND_FNDRSRUN”这个功能,那就只能通过 open_form 或者 call_form 的方式来打开了。

这两个都是form内置函数,可以查询帮助手册查看详细介绍。


如下代码适用于根据请求ID打开请求查询界面:

PROCEDURE View_Request_Id(Vn_Request_Id IN NUMBER) IS

    Param             Paramlist;
    Vv_Conc_Prog_Name VARCHAR2(30) := 'CUXXXXXX';
BEGIN

    IF Vn_Request_Id IS NULL THEN
        RETURN;
    END IF;

    Param := Get_Parameter_List(Vv_Conc_Prog_Name);

    IF NOT Id_Null(Param) THEN
        Destroy_Parameter_List(Param);
    END IF;

    Param := Create_Parameter_List(Vv_Conc_Prog_Name);
    Add_Parameter(Param, 'mode', Text_Parameter, 'VIEW');
    Add_Parameter(Param, 'use_org', Text_Parameter, 'N');
    Add_Parameter(Param,
                  'DODT_REQ_ID',
                  Text_Parameter,
                  To_Char(Vn_Request_Id));

    Open_Form(Fnd_Navigate.Formpath('FND', 'FNDRSRUN'),
              Activate,
              Session,
              Param);

END View_Request;