close

R12.2.9 標準報表: 信用承受風險報 Credit Exposure Report 資料來源

  1. 執行信用承受風險報 Credit Exposure Report (OEXCEXP.rdf)
  2. OEXCEXP.rdf 報表中 Before Report 會呼叫 OE_CREDIT_CHECK_RPT.Credit_exposure_report_utils (註1)
  3. 其中的 OE_CREDIT_ENGINE_GRP.Get_Customer_Exposure 為主要回傳值的地方 (註2)
  4. 資料會寫入 OE_CREDIT_EXPOSURE_TEMP (此為 Global temporary table) (註3)

 

其中第三點 (請參閱註2程式碼)

若 p_need_exposure_details = 'Y' 則可顯示後四個參數值,就可以得知每個模組所占額度是多少;若為 N則僅顯示加總 l_party_total_exposure

l_party_total_exposure
l_order_hold_amount
l_order_amount
l_ar_amount
l_external_amount

 

後續再研究四個參數值是怎麼抓的

 

註1

OE_CREDIT_CHECK_RPT.Credit_exposure_report_utils
(
   p_report_by_option   => :P_REPORT_BY_OPTION,
   p_specific_party_id  => :P_SPECIFIC_PARTY_ID,
   p_spec_party_num_id  => :P_SPEC_PARTY_NUM_ID,
   p_party_name_low     => :P_PARTY_NAME_LOW,
   p_party_name_high    => :P_PARTY_NAME_HIGH,
   p_party_number_low   => :P_PARTY_NUMBER_LOW,
   p_party_number_high  => :P_PARTY_NUMBER_HIGH,
   p_prof_class_low     => :p_prof_class_low,
   p_prof_class_high    => :p_prof_class_high,
   p_customer_name_low  => :P_CUSTOMER_NAME_LOW,
   p_customer_name_high => :P_CUSTOMER_NAME_HIGH,
   p_cust_number_low    => :P_CUST_NUMBER_LOW,
   p_cust_number_high   => :P_CUST_NUMBER_HIGH,
   p_cr_check_rule_id   => :P_CR_CHECK_RULE_ID,
   p_org_id             => :P_ORG_ID,
   x_return_status      => :P_RETURN_STATUS
);

註2

OE_CREDIT_ENGINE_GRP.Get_Customer_Exposure
(
   p_party_id                => party_csr_rec.party_id,
   p_customer_id             => NULL,
   p_site_id                 => NULL,
   p_limit_curr_code         => party_prof_csr_rec.party_currency_code,
   p_credit_check_rule_id    => p_cr_check_rule_id,
   p_need_exposure_details   => 'N',
   x_total_exposure          => l_party_total_exposure,
   x_order_hold_amount       => l_order_hold_amount,
   x_order_amount            => l_order_amount,
   x_ar_amount               => l_ar_amount,
   x_external_amount         => l_external_amount,
   x_return_status           => l_return_status
);

註3

SELECT a.customer_name,
       a.customer_number,
       a.customer_id,
       a.bill_to_site_id,
       a.base_currency,
       a.unchecked_exposure,
       a.credit_limit_currency,
       ROUND(a.cr_cur_overall_limit, c.PRECISION) cr_cur_overall_limit,
       ROUND(a.cr_cur_exposure, c.PRECISION) cr_cur_exposure,
       ROUND(a.cr_cur_available, c.PRECISION) cr_cur_available,
       ROUND(DECODE(a.base_cur_overall_limit,
                    -1, TO_NUMBER(NULL),
                    -2, TO_NUMBER(NULL),
                    a.base_cur_overall_limit), b.PRECISION) base_cur_overall_limit,
       ROUND(DECODE(a.base_cur_exposure,
                    -1, TO_NUMBER(NULL),
                    -2, TO_NUMBER(NULL),
                    a.base_cur_exposure), b.PRECISION) base_cur_exposure,
       ROUND(DECODE(a.base_cur_available,
                    -1, TO_NUMBER(NULL),
                    -2, TO_NUMBER(NULL),
                    a.base_cur_available), b.PRECISION) base_cur_available,
       DECODE(a.global_exposure_flag, 'Y', '*', NULL) global_exposure_flag,
       ROUND(NVL2(a.cr_cur_overall_limit, DECODE(a.base_cur_exposure,
                                                 -1, TO_NUMBER (NULL),
                                                 -2, TO_NUMBER (NULL),
                                                 a.base_cur_exposure), 0), b.PRECISION) base_cur_exposure_temp --Bug15964514
  FROM oe_credit_exposure_temp a, fnd_currencies b, fnd_currencies c
 WHERE a.bill_to_site_id IS NULL
   AND a.base_currency = b.currency_code
   AND NVL (a.credit_limit_currency, a.base_currency) = c.currency_code

 

 

 

 

 

arrow
arrow
    全站熱搜

    Chuck 發表在 痞客邦 留言(1) 人氣()