FORM调用标准APARGLFA界面

EBS FORM客户化界面有时候数据需要追溯打开AP\AR\GL\FA等界面:

一种打开日记账的方式:

PROCEDURE SHOW_JOURNAL IS
  parent_form_id  FormModule;
  child_form_id   FormModule;
BEGIN
  close_jrn;
  parent_form_id := FIND_FORM(:SYSTEM.CURRENT_FORM);
  COPY(TO_CHAR(PARENT_FORM_ID.ID),'GLOBAL.parent'||:GLOBAL.DB_SESSION_ID);
  COPY ('RECOORDINATE_AUTOQUERY', 'GLOBAL.WHEN_FORM_NAVIGATE');
  BEGIN
    FND_FUNCTION.EXECUTE(FUNCTION_NAME =>'GLXIQJRN',
					               OPEN_FLAG     =>'Y',
					               SESSION_FLAG  =>'Y',
											   Other_params  => 'AUTOQUERY_LEVEL="JOURNAL" ' ||
																			 	  'AUTOQUERY_COORDINATION="FULL" '||
																			    'AUTOQUERY_CRITERIA="'||:GLOBAL.DB_SESSION_ID||'" ');
  EXCEPTION
  	WHEN OTHERS THEN
  	  FND_MESSAGE.DEBUG(SQLCODE||SQLERRM);
  END;
END;



PROCEDURE close_jrn IS
 	fm_id FormModule;
BEGIN
  	   fm_id := Find_Form('GLXJEENT'); 
	     if fm_id.id is not null then
        CLOSE_FORM(fm_id);
       end if;
END;

另外打开界面的方式:

以下代码提供这些界面的的调用方式,仅仅做参考。

DECLARE
    v_gl_access_set_id NUMBER;
    v_return_msg       VARCHAR2(4000);
    v_profile_value    NUMBER;
BEGIN
    IF :blk_detail.source = 'GL' THEN
    
        xxma_expense_collect_pkg.update_gl_access_set_id(:blk_detail.ledger_id
                                                        ,v_return_msg
                                                        ,v_profile_value);
        IF v_return_msg IS NOT NULL THEN
            RAISE form_trigger_failure;
        END IF;
        fnd_profile.put('GL_ACCESS_SET_ID'
                       ,v_profile_value); --更新缓存       
    
        /*v_GL_ACCESS_SET_ID:=fnd_profile.VALUE('GL_ACCESS_SET_ID')  ;
        fnd_message.debug('GL_ACCESS_SET_ID:'||v_GL_ACCESS_SET_ID); */
    
        fnd_function.execute(function_name => 'GLXIQJRN'
                            ,open_flag     => 'Y'
                            ,session_flag  => 'Y'
                            ,other_params  => 'AUTOQUERY_LEVEL="JOURNAL" ' || 'AUTOQUERY_COORDINATION="INITIAL" ' || 'autoquery_criteria="' || :blk_detail.source_id || '"');
        xxma_expense_collect_pkg.delete_gl_access_set_id(v_return_msg);
        IF v_return_msg IS NOT NULL THEN
            RAISE form_trigger_failure;
        END IF;
    ELSIF :blk_detail.source = 'AP' THEN
        fnd_function.execute(function_name => 'AP_APXINWKB_SUMMARY_VIEW'
                            ,open_flag     => 'Y'
                            ,
                             --Session_flag  => 'N',
                             other_params => 'INVOICE_ID=" ' || :blk_detail.source_id || '" ');
    ELSIF :blk_detail.source = 'FA' THEN
        fnd_function.execute(function_name => 'XLA_FAXOLFIN'
                            ,open_flag     => 'Y'
                            , --Session_flag  => 'N',
                             other_params  => 'FORM_USAGE_MODE="GL_DRILLDOWN" ' || 'DEPRN_RUN_ID="' || :blk_detail.deprn_run_id || '" ' || 'BOOK_TYPE_CODE="' ||
                                              :blk_detail.book_type_code || '" ' || 'ASSET_ID=" ' || :blk_detail.source_id || '" ');
        --DEPRN_RUN_ID
        --:parameter.form_usage_mode = 'GL_DRILLDOWN'
    ELSIF :blk_detail.source = 'AR' THEN
        fnd_function.execute(function_name => 'AR_ARXTWMAI_HEADER_VIEW'
                            ,open_flag     => 'Y'
                            , --Session_flag  => 'N',
                             other_params  => 'FORM_USAGE_MODE="GL_DRILLDOWN" ' || 'AR_TRANSACTION_ID=" ' || :blk_detail.source_id || '" ');
    END IF;
 
END;

上一篇:反射会打破单例模式吗


下一篇:【蓝桥杯省赛真题42】python独立海域 中小学青少年组蓝桥杯比赛 算法思维python编程省赛真题解析