Payable モジュールがクローズできない問題 APP-AR-11332 クローズする前に、この期間内のすべてのトランザクションを転記する必要があります

問題の説明

AR がアカウントを閉鎖したときにこの問題が発生しました。根本的な原因は、ユーザーが別のクレジット請求書を入力し、償却を行い、後で償却をキャンセルしたこと、会計仕訳を作成しなかった、総勘定元帳を転送しなかった、およびこのクレジットは必要ありませんでした。請求書は発行されましたが、フロント デスクが請求書を削除できなかったため、バックグラウンドでバックアップおよび削除され、次のテーブルが削除されました。

--事务头
DELETE FROM ra_customer_trx_all trx
 WHERE trx.customer_trx_id = 871860;
--事务行
DELETE FROM ra_customer_trx_lines_all l
 WHERE l.customer_trx_id = 871860;
--分配表
DELETE FROM ra_cust_trx_line_gl_dist_all d
 WHERE d.customer_trx_id = 871860
       AND d.customer_trx_line_id IN (739451, 739452);
--子分类账事件表
DELETE FROM xla.xla_events xe
 WHERE xe.event_id = 3129795;
--子分类账事务表
DELETE FROM xla.xla_transaction_entities xte
 WHERE xte.entity_id = 2963232;

実際には、次の 2 つのテーブルにデータが残っています:
支払計画テーブル AR_PAYMENT_SCHEDULES_ALL
消込テーブル AR_RECEIVABLE_APPLICATIONS
トランザクション マスター テーブルのデータはクリーンアップされていると思います。クロージング チェック レポートは後で確認する必要はありません。削除後、閉鎖チェック レポートを実行します。案の定、チェックアウトされておらず、アカウントが閉鎖されたときに次のエラーが報告されました。
ここに画像の説明を挿入

問題分析

そこで、Oracle が提供する分析プログラム、EBS Receivables Period Close Analyzer (Doc ID 2019636.1)を実行しました。

2 つの主な効果が見つかりました。

  1. AR_RECEIVABLE_APPLICATIONS_ALL 消込テーブルに未送信の総勘定元帳データがあります
  2. AR_PAYMENT_SCHEDULES_ALL にデータがありません (トランザクション マスター テーブルにはデータがありますが、プラン テーブルにはありません)

ここに画像の説明を挿入
最初の問題はデータがクリーンアップされていないという感覚によって引き起こされますが、確かに Oracle の設計はより厳格で、ミスは許されないようです。

2 番目の問題は、図に示すように、請求書のクレジットを作成するときに、構成 [未決済債権] に対応する選択された [トランザクション タイプ] がチェックされないことです。クレジットが完了した後、AR_PAYMENT_SCHEDULES_ALL テーブルには自動支払いがありません。
ここに画像の説明を挿入
生成されたデータは、下の図に示すように、最終的にクレジットノートが請求書から消されるときにエラーを引き起こしました:FRM40738 パラメータ 1 (ユーザーの内部 NAME_ID を空にすることはできません):
ここに画像の説明を挿入

問題解決

質問1:

バックアップ後、消込テーブル AR_RECEIVABLE_APPLICATIONS_ALL のデータを削除します。

質問2

バックグラウンドで ra_cust_trx_types_all テーブルの対応するフィールドを N から Y に
支払いスケジュール テーブル AR_PAYMENT_SCHEDULES_ALL に更新して、クレジット請求書に対応するデータを補足します。

上記2つの手順を経て再度口座を閉鎖するとスムーズに口座を閉鎖することができ、元のクレジットノートで請求書を償却できない場合でも、請求書を償却することができます。

付録: 関連する SQL

SQLでデータの整合性をチェックする

select distinct ct.customer_trx_id, ct.trx_number, ct.trx_date
    from   ra_customer_trx_all ct ,
           ra_cust_trx_types_all ctt ,
           ra_cust_trx_line_gl_dist_all gld
    where  ct.cust_trx_type_id = ctt.cust_trx_type_id
    and    ctt.type in ('INV', 'DM', 'CM', 'CB')
    AND    ctt.org_id = ct.org_id
    and    ctt.accounting_affect_flag = 'Y'
    and    gld.customer_trx_id = ct.customer_trx_id
    and    ct.complete_flag = 'Y'
    and    gld.customer_trx_id = ct.customer_trx_id
    and    gld.account_class = 'REC'
    and    gld.account_set_flag = 'N'
    and not exists
    (select 'x'
     from ar_payment_schedules_all  ps
     where ps.customer_trx_id = ct.customer_trx_id )
    and    gld.gl_date between to_date('01-APR-2023','DD-MON-YYYY') and
           to_date('30-APR-2023','DD-MON-YYYY')
    and    gld.org_id = 3867
    order by 1

未ポストのロジックをチェックするSQL

SELECT ' ' "Unposted Items in AR"
  FROM dual
 WHERE EXISTS
 (SELECT 'Y'
          FROM AR_ADJUSTMENTS_ALL
         WHERE posting_control_id = -3
               AND gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND NVL(postable, 'Y') = 'Y'
               AND NVL(org_id, -99) = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM AR_RECEIVABLE_APPLICATIONS_ALL RA
         WHERE ra.posting_control_id = -3
               AND ra.application_type = 'CM'
               AND ra.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND NVL(ra.postable, 'Y') = 'Y'
               AND NVL(ra.org_id, -99) = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM AR_CASH_RECEIPT_HISTORY_ALL a
         WHERE a.posting_control_id = -3
               AND a.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND a.postable_flag = 'Y'
               AND NVL(a.org_id, -99) = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM RA_CUST_TRX_LINE_GL_DIST_ALL a, RA_CUSTOMER_TRX_ALL b
         WHERE a.posting_control_id = -3
               AND a.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND b.complete_flag = 'Y'
               AND a.account_set_flag = 'N'
               AND b.customer_trx_id = a.customer_trx_id
               AND NVL(a.org_id, -99) = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM ar_misc_cash_distributions_all mcd
         WHERE mcd.posting_control_id = -3
               AND mcd.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND mcd.org_id = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM AR_RECEIVABLE_APPLICATIONS_ALL RA
         WHERE ra.posting_control_id = -3
               AND ra.application_type = 'CASH'
               AND ra.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND NVL(ra.postable, 'Y') = 'Y'
               AND NVL(ra.org_id, -99) = 3867
               AND rownum < 2
        UNION
        SELECT 'Y'
          FROM AR_TRANSACTION_HISTORY_ALL a, RA_CUSTOMER_TRX_ALL b
         WHERE a.posting_control_id = -3
               AND a.gl_date BETWEEN to_date('01-APR-2023', 'DD-MON-YYYY') AND to_date('30-APR-2023', 'DD-MON-YYYY')
               AND a.postable_flag = 'Y'
               AND b.customer_trx_id = a.customer_trx_id
               AND NVL(a.org_id, -99) = 3867
               AND rownum < 2)
       AND rownum < 2

おすすめ

転載: blog.csdn.net/x6_9x/article/details/130604259