EBS FORM客户化界面有时候数据需要追溯打开AP\AR\GL\FA等界面:
一种打开日记账的方式:
sql
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;
另外打开界面的方式:
以下代码提供这些界面的的调用方式,仅仅做参考。
sql
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;