GL-日記帳インターフェースの導入



GL-日記帳インターフェースの導入
1、使用する標準インターフェース表
インターフェース表:gl_インターフェース、制御表:gl_インターフェースcontrol、エラー情報:gl_インターフェース.status
2、総勘定基準表
gl_jebatch:日記帳承認表
gl_jeheaders:日記帳頭表
gl_jeライン:日記帳行表
gl_balancs:科目残高表
gl_code_commbinations:科目組合せ表
gl_jecategories:証憑分類表
gl_jesources:証憑出所表
3、総勘定の導入構成と導入プロセス
日記帳の導入には、以下のいくつかの部分の導入が含まれています。 日記帳情報の導入(2)、 日記帳行情報の導入              2.1、 日記帳の銀行で借りたものを導入します。              2.2、 日記帳銀行における貸付項目の導入(3)、標準日記帳の呼び出し要求
日記帳導入プロセス:第一歩:日記帳の導入元とカテゴリ情報の取得第二ステップ:ouとステップ1で取得した日記帳のソースから、翌日の日記帳に導入されたグループID:group_を取得する。id、日記帳が運営するid:interface_run_IDと対応ouの帳簿カバーの第三段階:データ検証、導入が必要なデータに対して相応の検証を行う。例えば、検証期間中に貨幣が本位貨幣であるかどうかを確認する。第四ステップ:共通フィールドに第五ステップを付与する。借款に値を割り当て、インターフェース表第六ステップを挿入する。貸与額に値を与え、インターフェース表第七ステップを挿入する。日記請求を呼び出す。
4、常用検査ロジック
(1)検査期間
検査期間と同時に対応する元帳の日付を持ってきてくれるパラメータ:o_ledger_id:帳簿カバーID                       同前vestperiod:期間
SELECT COUNT(1)
      INTO l_period_count
      FROM gl_period_statuses gps
     WHERE gps.application_id = 101
       AND gps.ledger_id = o_ledger_id
       AND gps.adjustment_period_flag = 'N'
       AND trunc(start_date) <= trunc(SYSDATE)
       AND trunc(end_date) >= trunc(SYSDATE)
       AND gps.closing_status = 'O'
       AND gps.period_name = p_vest_period;
(2)通貨検査
入ってきた貨幣が現在のouの本位貨幣かどうかを検査します。もし本位貨幣でないなら、為替レートのタイプを提供する必要があります。また、戻ってきたcountの数によって、借りと貸しの為替レートの情報を賦課します。着信パラメータ:o_org_id:ou                       同前currency_code:通貨
SELECT COUNT(1)
      INTO l_currency_count
      FROM hr_operating_units ou, gl_sets_of_books gsob
     WHERE ou.set_of_books_id = gsob.set_of_books_id
       AND ou.organization_id = o_org_id
       AND gsob.currency_code = p_currency_code;
5、呼び出しのInterface
(1)日記帳請求
l_request_id := fnd_request.submit_request
('SQLGL',
 'GLLEZL',
 '',
to_char(SYSDATE,'YYYY/MM/DD HH24:MI:SS'),
 FALSE,
to_char(p_interface_run_id),
to_char(p_set_of_books_id),
 'N',
 NULL,
 NULL,
 'N',
 'O', --         ,     N(   ),W(    WITH VALIDATE),O(   WITHOUT VALIDATE)
  chr(0)); 
(2)要求完了待ち
日本語の日記帳の導入要求を呼び出したら、日本語の記帳要求が完了するのを待つ必要があります。そして、日本語の記帳要求の完了状態によって、対応するデータテーブルの導入状態と書き込みフィールドを更新します。
l_bl_result := fnd_concurrent.wait_for_request(l_request_id, --     
        1, --    
        0, --    
        v_phase,
        v_status,
        v_dev_phase,
        v_dev_status,
        v_message);
      --             
      IF v_dev_phase <> 'COMPLETE' OR v_dev_status <> 'NORMAL' THEN
        o_return_status := fnd_api.g_ret_sts_error;
        o_msg_data      := '       ';
      END IF;