要求の発行
5218 ワード
1、まず関数fnd_を呼び出すrequest.add_レポートを印刷するrtfテンプレートを設定します.
説明:戻り値:
booleanタイプの変数;template_appl_name:要求テンプレートに対応するアプリケーションジェーン;template_code:要求テンプレートの略称で、一般的に要求の略称と同じである.template_Language:要求時テンプレートを実行する言語を指し、中国語はZH、英語はUSであり、このパラメータはテンプレートを掛けるときに選択した言語範囲内でなければならない.template_territory:言語対応の地域を指し、中国はCNである.output_format:PDF、EXCELなど、レポート出力時のフォーマットタイプを指します.nls_Language:空にすればいいです.
2、result戻り値がtrueの場合に再び関数FND_を呼び出すREQUEST.SUBMIT_REQUESTは正式に要求を提出します:
説明:戻り値:数値タイプの変数.アプリケーション:要求に対応するアプリケーションの略称を指す.プログラム:要求の略称を指す.description:呼び出し時に空にすればよい説明を指す. start_time:要求が実行を開始した時間を指し、呼び出し時に空にすれば、即時実行を表す. sub_request:現在のリクエストがサブリクエストであるかどうかを指し、一般的に呼び出し時にfalseを付与する. argument1..100:リクエストを呼び出すときのパラメータを指し、最大100個で、formで呼び出すときに最後のパラメータの後にchr(0)で最後のパラメータとして表すことができ、100個のパラメータを書く必要はありません.pl/sqlで呼び出す場合は100個のパラメータを書く必要があります.3、実行後ln_request_id>0はコミットに成功したことを示し、最終的にコミットに成功するにはcommitを明示的に実行する必要がある.期間中にcommitが明示的に実行されないと、リクエストがコミットされた後にすぐに実行されず、リクエストが成功しません.4、関数も使えます
説明:コンカレント・リクエストの完了を待機し、リクエストのフェーズ、ステータス、および完了メッセージを返します.待っている間に一定時間おきにチェックします.ここでrequest_idは同時要求のidを指し、intervalは2回の検査で待機している秒数を指し、2回の検査の間にプログラムが休憩し、max_waitとは、同時要求の完了を待つ最長時間を秒単位で指す.補足:Oracleの要求操作時に同時処理されるため、この関数の実行は長い間待つ可能性があります.そのため、一般的にはこの関数の使用は推奨されません.実際にはfnd_request.submit_request関数の戻り値がゼロでないことは、リクエストのコミットに成功したことを示します.5、プロシージャeditor_を使用可能pkg.Report(REQUEST_ID,'Y')は、要求が正常に実行された後に生成されたレポートを表示します.ただし、Oracleの同時処理メカニズムのため、この関数を実行すると、生成されたレポートが表示されるまで時間がかかる可能性があります.このプロセスを実行するには、要求が完了する必要があるためです.例:
RESULT:= FND_REQUEST.ADD_LAYOUT(TEMPLATE_APPL_NAME => :TEMPLATE_APPL_NAME,
TEMPLATE_CODE => :TEMPLATE_CODE,
TEMPLATE_LANGUAGE => :TEMPLATE_LANGUAGE,
TEMPLATE_TERRITORY => :TEMPLATE_TERRITORY,
OUTPUT_FORMAT => UTPUT_FORMAT,
NLS_LANGUAGE => :NLS_LANGUAGE);
説明:戻り値:
booleanタイプの変数;template_appl_name:要求テンプレートに対応するアプリケーションジェーン;template_code:要求テンプレートの略称で、一般的に要求の略称と同じである.template_Language:要求時テンプレートを実行する言語を指し、中国語はZH、英語はUSであり、このパラメータはテンプレートを掛けるときに選択した言語範囲内でなければならない.template_territory:言語対応の地域を指し、中国はCNである.output_format:PDF、EXCELなど、レポート出力時のフォーマットタイプを指します.nls_Language:空にすればいいです.
2、result戻り値がtrueの場合に再び関数FND_を呼び出すREQUEST.SUBMIT_REQUESTは正式に要求を提出します:
ln_request_id := FND_REQUEST.SUBMIT_REQUEST(APPLICATION => :APPLICATION,
PROGRAM => :PROGRAM,
DESCRIPTION => :DESCRIPTION,
START_TIME => :START_TIME,
SUB_REQUEST => :SUB_REQUEST,
ARGUMENT1 .. 100 => :ARGUMENT1 .. 100);
説明:戻り値:数値タイプの変数.アプリケーション:要求に対応するアプリケーションの略称を指す.プログラム:要求の略称を指す.description:呼び出し時に空にすればよい説明を指す. start_time:要求が実行を開始した時間を指し、呼び出し時に空にすれば、即時実行を表す. sub_request:現在のリクエストがサブリクエストであるかどうかを指し、一般的に呼び出し時にfalseを付与する. argument1..100:リクエストを呼び出すときのパラメータを指し、最大100個で、formで呼び出すときに最後のパラメータの後にchr(0)で最後のパラメータとして表すことができ、100個のパラメータを書く必要はありません.pl/sqlで呼び出す場合は100個のパラメータを書く必要があります.3、実行後ln_request_id>0はコミットに成功したことを示し、最終的にコミットに成功するにはcommitを明示的に実行する必要がある.期間中にcommitが明示的に実行されないと、リクエストがコミットされた後にすぐに実行されず、リクエストが成功しません.4、関数も使えます
FND_CONCURRENT.WAIT_FOR_REQUEST(REQUEST_ID IN NUMBER DEFAULT NULL,
INTERVAL IN NUMBER DEFAULT 60,
MAX_WAIT IN NUMBER DEFAULT 0,
PHASE OUT VARCHAR2,
STATUS OUT VARCHAR2,
DEV_PHASE OUT VARCHAR2,
DEV_STATUS OUT VARCHAR2,
MESSAGE OUT VARCHAR2) RETURN BOOLEAN;
説明:コンカレント・リクエストの完了を待機し、リクエストのフェーズ、ステータス、および完了メッセージを返します.待っている間に一定時間おきにチェックします.ここでrequest_idは同時要求のidを指し、intervalは2回の検査で待機している秒数を指し、2回の検査の間にプログラムが休憩し、max_waitとは、同時要求の完了を待つ最長時間を秒単位で指す.補足:Oracleの要求操作時に同時処理されるため、この関数の実行は長い間待つ可能性があります.そのため、一般的にはこの関数の使用は推奨されません.実際にはfnd_request.submit_request関数の戻り値がゼロでないことは、リクエストのコミットに成功したことを示します.5、プロシージャeditor_を使用可能pkg.Report(REQUEST_ID,'Y')は、要求が正常に実行された後に生成されたレポートを表示します.ただし、Oracleの同時処理メカニズムのため、この関数を実行すると、生成されたレポートが表示されるまで時間がかかる可能性があります.このプロセスを実行するには、要求が完了する必要があるためです.例:
PROCEDURE PRINT IS
L_DEFAULT_LANGUAGE VARCHAR2(20);
L_DEFAULT_TERRITORY VARCHAR2(20);
L_TEMPLATE_CODE VARCHAR2(200);
REQUEST_ID NUMBER;
V_LAYOUT BOOLEAN;
BEGIN
BEGIN
SELECT XTV.DEFAULT_LANGUAGE,
XTV.DEFAULT_TERRITORY,
XTV.TEMPLATE_CODE
INTO L_DEFAULT_LANGUAGE,
L_DEFAULT_TERRITORY,
L_TEMPLATE_CODE
FROM XDO_TEMPLATES_VL XTV
WHERE XTV.APPLICATION_SHORT_NAME = 'CUX'
AND XTV.TEMPLATE_CODE = :PRINT_BANK_APY.TEMPLATE_CODE;
EXCEPTION
WHEN OTHERS THEN
FND_MESSAGE.SET_NAME('CUX',
'RTF !');
FND_MESSAGE.ERROR;
RAISE FORM_TRIGGER_FAILURE;
END;
V_LAYOUT := FND_REQUEST.ADD_LAYOUT('CUX',
L_TEMPLATE_CODE,
L_DEFAULT_LANGUAGE,
L_DEFAULT_TERRITORY,
'PDF');
REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST(APPLICATION => 'CUX',
PROGRAM => 'CUXAPYPNT',
DESCRIPTION => NULL,
START_TIME => NULL,
SUB_REQUEST => FALSE,
ARGUMENT1 => :CUX_EXP_CREDIT_HEADERS.CREDIT_HEADER_ID);
COMMIT;
IF REQUEST_ID IS NULL OR REQUEST_ID <= 0 THEN
FND_MESSAGE.SET_NAME('CUX',
' ');
FND_MESSAGE.ERROR;
RAISE FORM_TRIGGER_FAILURE;
ELSE
FND_MESSAGE.SET_NAME('CUX',
' , :' || REQUEST_ID);
FND_MESSAGE.SHOW;
CANCLE;
END IF;
END;