EBS-Print カスタマイズエイジングテーブル エレガントなアイデア

EBS に付属するエージング テーブル構成情報を最大限に活用して、後からエージング構成を変更するときに、ビジネス コードを変更せずに、フロントエンド エージング テーブル構成のみを変更するだけで済みます。

全体的な考え方は、まず現在の日付からビジネス文書の日付 (総勘定元帳の日付または営業日) を引いて値を取得することです。past_days の場合、ここでは負の値を考慮する必要があります。たとえば、期間は 6.30 ですが、ビジネス文書の日付は 7.4 、past_days は -4 です。この負の数は 0 とみなされます。

次に、Payable モジュールのエージング テーブルのサンプル コードなど、エージング テーブルの構成に基づいてサイクルが実行されます。

--AP 账龄表sql提取配置示例
SELECT /*lines.days_start*/
                  decode(lines.days_start, 0, -999999, lines.days_start) days_start, --将0改为-999999 来避免因发票日期晚于gl日期导致负数出现
                  lines.days_to,
                  lines.period_sequence_num,
                  report_heading1,
                  report_heading2
                   FROM ap_aging_period_lines lines,
                        ap_aging_periods      periods
                  WHERE lines.aging_period_id = periods.aging_period_id
                    AND periods.aging_period_id = 10000
                    AND periods.status = 'A'
                  ORDER BY lines.period_sequence_num

表示効果は以下の通りです

--应付模块账龄表流程
begin
  for ap_age in (SELECT /*lines.days_start*/
                  decode(lines.days_start, 0, -999999, lines.days_start) days_start, --将0改为-999999 来避免因发票日期晚于gl日期导致负数出现
                  lines.days_to,
                  lines.period_sequence_num,
                  report_heading1,
                  report_heading2
                   FROM ap_aging_period_lines lines,
                        ap_aging_periods      periods
                  WHERE lines.aging_period_id = periods.aging_period_id
                    AND periods.aging_period_id = 10000
                    AND periods.status = 'A'
                  ORDER BY lines.period_sequence_num)
  
   loop
    SELECT SUM(t.balance)
      INTO v_aging_balance
      FROM cux_ap_pre_aging_temp t --业务单据汇总临时表
     WHERE t.past_days BETWEEN ap_age.days_start AND ap_age.days_to;
  
    print_f('<td class=xl8218914>' || to_char(v_aging_balance) || '</td>');
  
  end loop;

end;

受信可能モジュールも同様で、受信可能モジュールは次のようなエージング テーブル設定 SQL を受け取ります。

select h.bucket_name,
       h.description,
       l.DAYS_START,
       l.DAYS_TO,
       l.REPORT_HEADING1
  from ar_aging_buckets h, ar_aging_bucket_lines l
 where h.aging_bucket_id = l.AGING_BUCKET_ID
   and h.bucket_name = '十四时段帐龄'
 order by l.BUCKET_SEQUENCE_NUM

おすすめ

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