The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE update_taxable
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type);
SELECT ar_distribution_split_s.NEXTVAL
FROM DUAL;
SELECT * FROM ra_customer_trx
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ar_receivable_applications
SET upgrade_method = 'R12_11IMFAR'
WHERE receivable_application_id = p_app_id;
UPDATE ar_receivable_applications
SET upgrade_method = 'R12'
WHERE receivable_application_id = p_app_id;
UPDATE ar_receivable_applications
SET upgrade_method = 'R12_11ICASH'
WHERE receivable_application_id = p_app_id;
UPDATE ar_receivable_applications
SET upgrade_method = 'R12_MERGE'
WHERE receivable_application_id = p_app_id;
UPDATE ar_adjustments
SET upgrade_method = 'R12'
WHERE adjustment_id = p_adj_id;
UPDATE ar_adjustments
SET upgrade_method = 'R12_MERGE'
WHERE adjustment_id = p_adj_id;
| update_line |
+-----------------------------------------------------------------------+
| Read ra_ar_gt for proration info |
| Does the proration plsql_proration |
| update ra_ar_gt with the result |
| for lines of a transaction |
+-----------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_gt_id global id |
+-----------------------------------------------------------------------*/
PROCEDURE update_line
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type);
| It inserts into ra_ar_gt with gp_level = 'GPL' |
+-------------------------------------------------------------------------+
| p_pay_adj APP / ADJ |
| in case of APP ED/UNED will be |
| kicked off. |
| p_adj_rec adjustment record |
| p_app_rec receivable application record |
| p_ae_sys_rec receivable system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE prepare_group_for_proration
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_pay_adj IN VARCHAR2,
p_adj_rec IN ar_adjustments%ROWTYPE,
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type);
| update_ctl_rem_orig |
+-------------------------------------------------------------------------+
| Update ra_customer_trx_lines |
| remaining and original amount |
| base on result in ra_ar_gt |
+-------------------------------------------------------------------------+
| parameter: |
| p_gt_id global id |
| p_customer_trx_id transaction id |
| p_pay_adj Application or Adjustment |
| p_customer_trx_line_id transaction line id |
| p_source_data_key1..5 group identification |
| p_log_inv_line
| p_ae_sys_rec system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE update_ctl_rem_orig
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_pay_adj IN VARCHAR2,
p_customer_trx_line_id IN NUMBER DEFAULT NULL,
-- p_group_id IN VARCHAR2 DEFAULT NULL,
--{HYUBPAGP
p_source_data_key1 IN VARCHAR2 DEFAULT NULL,
p_source_data_key2 IN VARCHAR2 DEFAULT NULL,
p_source_data_key3 IN VARCHAR2 DEFAULT NULL,
p_source_data_key4 IN VARCHAR2 DEFAULT NULL,
p_source_data_key5 IN VARCHAR2 DEFAULT NULL,
--}
p_log_inv_line IN VARCHAR2 DEFAULT 'N',
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type);
| update_group_line |
+-------------------------------------------------------------------------+
| Read ra_ar_gt for proration info |
| Does the proration plsql_proration |
| update ra_ar_gt with the result |
| for group of line of all lines of a invoice |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_gt_id global id |
| p_ae_sys_rec system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE update_group_line
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type);
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_tax_flag <> 'INTERFACE' OR g_line_flag <> 'INTERFACE' THEN
x_run_amt := 0;
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_ed_tax_flag <> 'INTERFACE' OR g_ed_line_flag <> 'INTERFACE' THEN
x_run_ed_amt := 0;
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_uned_tax_flag <> 'INTERFACE' OR g_uned_line_flag <> 'INTERFACE' THEN
x_run_uned_amt := 0;
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_tax_flag <> 'INTERFACE' OR g_line_flag <> 'INTERFACE' THEN
x_run_amt := x_group_tbl.run_amt(i);
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_ed_tax_flag <> 'INTERFACE' OR g_ed_line_flag <> 'INTERFACE' THEN
x_run_ed_amt := x_group_tbl.run_ed_amt(i);
with in the context of update_line.This enables cumulative logic for proration
of acctd amounts and thus avoids rounding issues. Please refer bug 8220511..*/
IF nvl(p_group_level,'NOGROUP') <> 'L' OR g_uned_tax_flag <> 'INTERFACE' OR g_uned_line_flag <> 'INTERFACE' THEN
x_run_uned_amt := x_group_tbl.run_uned_amt(i);
PROCEDURE update_line
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
CURSOR c_read_for_line IS
SELECT /*+ leading(b) INDEX (b ra_ar_n1) INDEX( d RA_AR_AMOUNTS_GT_N1 )
use_nl(D) */
b.group_id||'-'||b.line_type||'-'||
b.ref_customer_trx_id || '-' ||
b.ref_customer_trx_line_id groupe,
-- ADJ AND APP
--Base
d.base_pro_amt,
d.base_pro_acctd_amt,
d.base_frt_pro_amt,
d.base_frt_pro_acctd_amt,
d.base_tax_pro_amt,
d.base_tax_pro_acctd_amt,
d.BASE_CHRG_PRO_AMT,
d.BASE_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_pro_amt,
d.elmt_pro_acctd_amt,
d.ELMT_FRT_PRO_AMT,
d.ELMT_FRT_PRO_ACCTD_AMT,
d.ELMT_tax_PRO_AMT,
d.ELMT_tax_PRO_ACCTD_AMT,
d.ELMT_CHRG_PRO_AMT,
d.ELMT_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_alloc_amt,
d.buc_alloc_acctd_amt,
d.buc_frt_alloc_amt,
d.buc_frt_alloc_acctd_amt,
d.buc_tax_alloc_amt,
d.buc_tax_alloc_acctd_amt,
d.buc_chrg_alloc_amt,
d.buc_chrg_alloc_acctd_amt,
-- ED
--Base
d.base_ed_pro_amt,
d.base_ed_pro_acctd_amt,
d.BASE_ed_frt_PRO_AMT,
d.BASE_ed_frt_PRO_ACCTD_AMT,
d.BASE_ed_tax_PRO_AMT,
d.BASE_ed_tax_PRO_ACCTD_AMT,
d.BASE_ed_CHRG_PRO_AMT,
d.BASE_ed_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_ed_pro_amt,
d.elmt_ed_pro_acctd_amt,
d.ELMT_ed_FRT_PRO_AMT,
d.ELMT_ed_FRT_PRO_ACCTD_AMT,
d.ELMT_ed_tax_PRO_AMT,
d.ELMT_ed_tax_PRO_ACCTD_AMT,
d.ELMT_ed_CHRG_PRO_AMT,
d.ELMT_ed_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_ed_alloc_amt,
d.buc_ed_alloc_acctd_amt,
d.buc_ed_frt_alloc_amt,
d.buc_ed_frt_alloc_acctd_amt,
d.buc_ed_tax_alloc_amt,
d.buc_ed_tax_alloc_acctd_amt,
d.buc_ed_chrg_alloc_amt,
d.buc_ed_chrg_alloc_acctd_amt,
-- UNED
--Base
d.base_uned_pro_amt,
d.base_uned_pro_acctd_amt,
d.BASE_uned_FRT_PRO_AMT,
d.BASE_uned_FRT_PRO_ACCTD_AMT,
d.BASE_uned_tax_PRO_AMT,
d.BASE_uned_tax_PRO_ACCTD_AMT,
d.BASE_uned_CHRG_PRO_AMT,
d.BASE_uned_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_uned_pro_amt,
d.elmt_uned_pro_acctd_amt,
d.ELMT_uned_FRT_PRO_AMT,
d.ELMT_uned_FRT_PRO_ACCTD_AMT,
d.ELMT_uned_tax_PRO_AMT,
d.ELMT_uned_tax_PRO_ACCTD_AMT,
d.ELMT_uned_CHRG_PRO_AMT,
d.ELMT_uned_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_uned_alloc_amt,
d.buc_uned_alloc_acctd_amt,
d.buc_uned_frt_alloc_amt,
d.buc_uned_frt_alloc_acctd_amt,
d.buc_uned_tax_alloc_amt,
d.buc_uned_tax_alloc_acctd_amt,
d.buc_uned_chrg_alloc_amt,
d.buc_uned_chrg_alloc_acctd_amt,
----
--Currencies
b.BASE_CURRENCY ,
b.TO_CURRENCY ,
b.FROM_CURRENCY ,
-- Rowid
b.rowid,
b.line_type
FROM RA_AR_GT b,
RA_AR_AMOUNTS_GT d
WHERE b.gt_id = p_gt_id
AND b.ref_customer_trx_id = p_customer_trx_id
AND b.gp_level = 'L'
AND d.gt_id = b.gt_id
AND d.base_rec_rowid = b.rowid
--Bug#3611016
AND b.SET_OF_BOOKS_ID = p_ae_sys_rec.set_of_books_id
AND (b.SOB_TYPE = p_ae_sys_rec.sob_type OR
(b.SOB_TYPE IS NULL AND p_ae_sys_rec.sob_type IS NULL))
ORDER BY b.group_id||'-'||
b.line_type||'-'||b.ref_customer_trx_id || '-' ||b.ref_customer_trx_line_id;
localdebug('arp_det_dist_pkg.update_line()+');
localdebug(' update ra_ar_gt trx_line_all ');
UPDATE ra_ar_gt
SET
-- ADJ and APP
tl_alloc_amt = l_tab.tl_alloc_amt(i),
tl_alloc_acctd_amt = l_tab.tl_alloc_acctd_amt(i),
tl_chrg_alloc_amt = l_tab.tl_chrg_alloc_amt(i),
tl_chrg_alloc_acctd_amt = l_tab.tl_chrg_alloc_acctd_amt(i),
tl_frt_alloc_amt = l_tab.tl_frt_alloc_amt(i),
tl_frt_alloc_acctd_amt = l_tab.tl_frt_alloc_acctd_amt(i),
tl_tax_alloc_amt = l_tab.tl_tax_alloc_amt(i),
tl_tax_alloc_acctd_amt = l_tab.tl_tax_alloc_acctd_amt(i),
-- ED
tl_ed_alloc_amt = l_tab.tl_ed_alloc_amt(i),
tl_ed_alloc_acctd_amt = l_tab.tl_ed_alloc_acctd_amt(i),
tl_ed_chrg_alloc_amt = l_tab.tl_ed_chrg_alloc_amt(i),
tl_ed_chrg_alloc_acctd_amt = l_tab.tl_ed_chrg_alloc_acctd_amt(i),
tl_ed_frt_alloc_amt = l_tab.tl_ed_frt_alloc_amt(i),
tl_ed_frt_alloc_acctd_amt = l_tab.tl_ed_frt_alloc_acctd_amt(i),
tl_ed_tax_alloc_amt = l_tab.tl_ed_tax_alloc_amt(i),
tl_ed_tax_alloc_acctd_amt = l_tab.tl_ed_tax_alloc_acctd_amt(i),
-- UNED
tl_uned_alloc_amt = l_tab.tl_uned_alloc_amt(i),
tl_uned_alloc_acctd_amt = l_tab.tl_uned_alloc_acctd_amt(i),
tl_uned_chrg_alloc_amt = l_tab.tl_uned_chrg_alloc_amt(i),
tl_uned_chrg_alloc_acctd_amt = l_tab.tl_uned_chrg_alloc_acctd_amt(i),
tl_uned_frt_alloc_amt = l_tab.tl_uned_frt_alloc_amt(i),
tl_uned_frt_alloc_acctd_amt = l_tab.tl_uned_frt_alloc_acctd_amt(i),
tl_uned_tax_alloc_amt = l_tab.tl_uned_tax_alloc_amt(i),
tl_uned_tax_alloc_acctd_amt = l_tab.tl_uned_tax_alloc_acctd_amt(i)
WHERE rowid = l_tab.ROWID_ID(i);
localdebug(' update ra_ar_gt trx_line_all ');
localdebug('arp_det_dist_pkg.update_line()-');
END update_line;
INSERT INTO RA_AR_GT
( GT_ID ,
BASE_CURRENCY ,
TO_CURRENCY ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
--
DUE_ORIG_AMT ,
DUE_ORIG_ACCTD_AMT ,
--{line of type CHRG
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
--}
--
FRT_ORIG_AMT ,
FRT_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_ORIG_ACCTD_AMT ,
--
DUE_REM_AMT ,
DUE_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
CHRG_REM_ACCTD_AMT ,
--
FRT_REM_AMT ,
FRT_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TAX_REM_ACCTD_AMT ,
--
--{line of type CHRG
CHRG_ADJ_REM_AMT ,
CHRG_ADJ_REM_ACCTD_AMT ,
--}
FRT_ADJ_REM_AMT ,
FRT_ADJ_REM_ACCTD_AMT ,
--
LINE_TYPE ,
group_id ,
--{HYUBPAGP
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
--}
--
SUM_LINE_ORIG_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
--{line of type CHRG
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
--}
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_LINE_REM_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT,
--
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
--
gp_level,
--3611016
set_of_books_id,
sob_type,
-- se_gt_id,
tax_link_id,
tax_inc_flag
--{BUG#4415037
,INT_LINE_AMOUNT
,INT_TAX_AMOUNT
,INT_ED_LINE_AMOUNT
,INT_ED_TAX_AMOUNT
,INT_UNED_LINE_AMOUNT
,INT_UNED_TAX_AMOUNT
,SUM_INT_LINE_AMOUNT
,SUM_INT_TAX_AMOUNT
,SUM_INT_ED_LINE_AMOUNT
,SUM_INT_ED_TAX_AMOUNT
,SUM_INT_UNED_LINE_AMOUNT
,SUM_INT_UNED_TAX_AMOUNT
--}
)
SELECT /*+INDEX (ctl ra_customer_trx_lines_gt_n1)*/
p_gt_id , --GT_ID
p_ae_sys_rec.base_currency , --BASE_CURRENCY
trx.invoice_currency_code , --TO_CURRENCY
trx.customer_trx_id , --REF_CUSTOMER_TRX_ID
ctl.customer_trx_line_id , --REF_CUSTOMER_TRX_LINE_ID
-- Orig
DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original, 0), --DUE_ORIG_AMT
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0), --DUE_ORIG_ACCTD_AMT
--{line of type CHRG
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0), --CHRG_ORIG_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0), --CHRG_ORIG_ACCTD_AMT
--}
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0), --FRT_ORIG_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0), --FRT_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.amount_due_original, 0), --TAX_ORIG_AMT
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0), --TAX_ORIG_ACCTD_AMT
-- Remaining
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),
'CB' ,abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'LINE',1,
'CB' ,1,0)
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0)
ELSE
DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining, 0) END
END, --DUE_REM_AMT
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original),
'CB' ,abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'LINE',1,
'CB' ,1,0)
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0)
ELSE
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0) END
END, --DUE_REM_ACCTD_AMT
--{line of type CHRG
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CHARGES',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN DECODE(ctl.line_type,'CHARGES',1,0)
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0)
ELSE
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_remaining,0) END
END, --CHRG_REM_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CHARGES',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN DECODE(ctl.line_type,'CHARGES',1,0)
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0)
ELSE
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_remaining,0) END
END, --CHRG_REM_ACCTD_AMT
--
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_remaining,0)),
'FREIGHT',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN DECODE(ctl.line_type,'FREIGHT',1,0)
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0)
ELSE
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_remaining,0) END
END, --FRT_REM_AMT
/*Frt Rem on freight is the
rem amount of the freight calculated
from orig frt - cash application
frt adjustment variations are excluded
they are kept in frt_adj_rem_amt on rev line */
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'FREIGHT',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN DECODE(ctl.line_type,'FREIGHT',1,0)
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0)
ELSE
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_remaining,0) END
END, --FRT_REM_ACCTD_AMT
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'TAX',1,0)
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0)
ELSE
DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0) END
END, --TAX_REM_AMT
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'TAX',1,0)
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0)
ELSE
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0) END
END, --TAX_REM_ACCTD_AMT
--{line of type CHRG
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CHARGES',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
NVL(ctl.chrg_amount_remaining,0) END
END, --CHRG_ADJ_REM_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CHARGES',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
NVL(ctl.chrg_acctd_amount_remaining,0) END
END, --CHRG_ADJ_REM_ACCTD_AMT
--}
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_remaining,0)),
'FREIGHT',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
NVL(ctl.frt_adj_remaining,0) END
END, --FRT_ADJ_REM_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'FREIGHT',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN 0
ELSE
NVL(ctl.frt_adj_acctd_remaining,0) END
END, --FRT_ADJ_REM_ACCTD_AMT
--
ctl.line_type , --LINE_TYPE
'00-00-00-00-00', --GROUP_ID
'00' ,
'00' ,
'00' ,
'00' ,
'00' ,
--
SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_ORIG_AMT
SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_ORIG_ACCTD_AMT
--
--{HYUCHRG
SUM(DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_ORIG_AMT
SUM(DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_ORIG_ACCTD_AMT
--}
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_ORIG_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_ORIG_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_ACCTD_AMT
--
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),
'CB' ,abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
SUM(DECODE(ctl.line_type,'LINE',1,
'CB' ,1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) END
END, --SUM_LINE_REM_AMT
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original),
'CB' ,abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
SUM(DECODE(ctl.line_type,'LINE',1,
'CB' ,1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) END
END, --SUM_LINE_REM_ACCTD_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_amount_remaining,0)),
'CHARGES',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'CHARGES',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) END
END,--SUM_LINE_CHRG_REM_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CB' ,abs(NVL(ctl.chrg_acctd_amount_remaining,0)),
'CHARGES',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'CHARGES',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) END
END,--SUM_LINE_CHRG_REM_ACCTD_AMT
--}
--
/*This is the sum of freight amount adjusted on the revenue line
+ sum of freight amount due remaining on the original freight line
Those 2 amounts combined form the basis for cash receipt apps */
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_remaining,0)),
'FREIGHT',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'FREIGHT',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) END
END,--SUM_LINE_FRT_REM_AMT
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'CB' ,abs(NVL(ctl.frt_adj_acctd_remaining,0)),
'FREIGHT',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original), /*HYU*/
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'FREIGHT',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) = 0
THEN SUM(DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id ) END
END,--SUM_LINE_FRT_REM_ACCTD_AMT
--
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',abs(ctl.amount_due_remaining)+abs(ctl.amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
SUM(DECODE(ctl.line_type,'TAX',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) END
END, --SUM_LINE_TAX_REM_AMT
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',abs(ctl.acctd_amount_due_remaining)+abs(ctl.acctd_amount_due_original),0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN
SUM(DECODE(ctl.line_type,'TAX',1,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE
CASE WHEN SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) = 0
THEN SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type )
ELSE SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ) END
END, --SUM_LINE_TAX_REM_ACCTD_AMT
--
'L',
--Bug#3611016
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
-- g_se_gt_id,
--{Taxable_amount
DECODE(ctl.line_type, 'TAX' ,ctl.link_to_cust_trx_line_id,
'LINE',ctl.customer_trx_line_id,
'CB' ,ctl.customer_trx_line_id,
NULL),
DECODE(ctl.line_type,'LINE','Y',
'CB' ,'Y',
'TAX','Y','N')
--{BUG#4415037
,CASE WHEN g_line_flag = 'INTERFACE' THEN it.line_amount ELSE NULL END -- INT_LINE_AMOUNT
,CASE WHEN g_tax_flag = 'INTERFACE' THEN it.tax_amount ELSE NULL END -- INT_TAX_AMOUNT
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN it.ed_line_amount ELSE NULL END -- INT_ED_LINE_AMOUNT
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN it.ed_tax_amount ELSE NULL END -- INT_ED_TAX_AMOUNT
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN it.uned_line_amount ELSE NULL END -- INT_UNED_LINE_AMOUNT
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN it.uned_tax_amount ELSE NULL END -- INT_UNED_TAX_AMOUNT >> BUG 5736570
,CASE WHEN g_line_flag = 'INTERFACE' THEN it.sum_line_amount ELSE NULL END -- SUM_INT_LINE_AMOUNT
,CASE WHEN g_tax_flag = 'INTERFACE' THEN it.sum_tax_amount ELSE NULL END -- SUM_INT_TAX_AMOUNT
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN it.sum_ed_line_amount ELSE NULL END -- SUM_INT_ED_LINE_AMOUNT
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN it.sum_ed_tax_amount ELSE NULL END -- SUM_INT_ED_TAX_AMOUNT
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN it.sum_uned_line_amount ELSE NULL END -- SUM_INT_UNED_LINE_AMOUNT
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN it.sum_uned_tax_amount ELSE NULL END -- SUM_INT_UNED_TAX_AMOUNT
--}
FROM ra_customer_trx trx,
ra_customer_trx_lines_gt ctl,
(SELECT
gt_id gt_id
,customer_trx_id customer_trx_id
,customer_trx_line_id customer_trx_line_id
,line_type line_type
,NVL(line_amount,0) line_amount
,NVL(tax_amount,0) tax_amount
,NVL(ed_line_amount,0) ed_line_amount
,NVL(ed_tax_amount,0) ed_tax_amount
,NVL(uned_line_amount,0) uned_line_amount
,NVL(uned_tax_amount,0) uned_tax_amount
,SUM(NVL(line_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_line_amount
,SUM(NVL(tax_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_tax_amount
,SUM(NVL(ed_line_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_ed_line_amount
,SUM(NVL(ed_tax_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_ed_tax_amount
,SUM(NVL(uned_line_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_uned_line_amount
,SUM(NVL(uned_tax_amount,0)) OVER (PARTITION BY gt_id, customer_trx_id, line_type) sum_uned_tax_amount
FROM
(SELECT /*+INDEX (ar_line_dist_interface_gt ar_line_dist_interface_gt_n1)*/
gt_id gt_id
,customer_trx_id customer_trx_id
,customer_trx_line_id customer_trx_line_id
,line_type line_type
,MAX(NVL(line_amount,0)) line_amount
,MAX(NVL(tax_amount,0)) tax_amount
,SUM(NVL(ed_line_amount,0)) ed_line_amount
,SUM(NVL(ed_tax_amount,0)) ed_tax_amount
,SUM(NVL(uned_line_amount,0)) uned_line_amount
,SUM(NVL(uned_tax_amount,0)) uned_tax_amount
FROM ar_line_dist_interface_gt
WHERE gt_id = p_gt_id
AND customer_trx_id = p_customer_trx_id
GROUP BY gt_id, customer_trx_id, customer_trx_line_id, line_type)) it
WHERE trx.customer_trx_id = p_customer_trx_id
AND trx.customer_trx_id = ctl.customer_trx_id
AND ctl.customer_trx_line_id = it.customer_trx_line_id (+);
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_GT
( GT_ID ,
BASE_CURRENCY ,
TO_CURRENCY ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
--
DUE_ORIG_AMT ,
DUE_ORIG_ACCTD_AMT ,
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
--
FRT_ORIG_AMT ,
FRT_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_ORIG_ACCTD_AMT ,
--
DUE_REM_AMT ,
DUE_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
CHRG_REM_ACCTD_AMT ,
--
FRT_REM_AMT ,
FRT_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TAX_REM_ACCTD_AMT ,
--
CHRG_ADJ_REM_AMT ,
CHRG_ADJ_REM_ACCTD_AMT ,
FRT_ADJ_REM_AMT ,
FRT_ADJ_REM_ACCTD_AMT ,
--
LINE_TYPE ,
group_id ,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
--
SUM_LINE_ORIG_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_LINE_REM_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT,
--
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
--
gp_level,
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag
)
SELECT /*+INDEX (ctl ra_customer_trx_lines_gt_n1)*/
p_gt_id , --GT_ID
p_ae_sys_rec.base_currency , --BASE_CURRENCY
trx.invoice_currency_code , --TO_CURRENCY
trx.customer_trx_id , --REF_CUSTOMER_TRX_ID
ctl.customer_trx_line_id , --REF_CUSTOMER_TRX_LINE_ID
-- Orig
DECODE(ctl.line_type,'LINE',ctl.cm_amt_due_orig,
'CB' ,ctl.cm_amt_due_orig, 0), --DUE_ORIG_AMT
DECODE(ctl.line_type,'LINE',ctl.cm_acctd_amt_due_orig,
'CB' ,ctl.cm_acctd_amt_due_orig,0), --DUE_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'CHARGES',ctl.cm_amt_due_orig,0), --CHRG_ORIG_AMT
DECODE(ctl.line_type,'CHARGES',ctl.cm_acctd_amt_due_orig,0), --CHRG_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.cm_amt_due_orig,0), --FRT_ORIG_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.cm_acctd_amt_due_orig,0), --FRT_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.cm_amt_due_orig, 0), --TAX_ORIG_AMT
DECODE(ctl.line_type,'TAX',ctl.cm_acctd_amt_due_orig,0), --TAX_ORIG_ACCTD_AMT
-- Remaining
DECODE(ctl.line_type,'LINE',ctl.cm_amt_due_rem,
'CB' ,ctl.cm_amt_due_rem,0), --DUE_REM_AMT
DECODE(ctl.line_type,'LINE',ctl.cm_acctd_amt_due_rem,
'CB' ,ctl.cm_acctd_amt_due_rem,0), --DUE_REM_ACCTD_AMT
DECODE(ctl.line_type,'CHARGES',ctl.cm_amt_due_rem,0), --CHRG_REM_AMT
DECODE(ctl.line_type,'CHARGES',ctl.cm_acctd_amt_due_rem,0), --CHRG_REM_ACCTD_AMT
--
DECODE(ctl.line_type,'FREIGHT',ctl.cm_amt_due_rem,0), --FRT_REM_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.cm_acctd_amt_due_rem,0), --FRT_REM_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.cm_amt_due_rem,0), --TAX_REM_AMT
DECODE(ctl.line_type,'TAX',ctl.cm_acctd_amt_due_rem,0) , --TAX_REM_ACCTD_AMT
0, --CHRG_ADJ_REM_AMT
0, --CHRG_ADJ_REM_ACCTD_AMT
0, --FRT_ADJ_REM_AMT
0, --FRT_ADJ_REM_ACCTD_AMT
--
ctl.line_type , --LINE_TYPE
'00-00-00-00-00', --GROUP_ID
'00' ,
'00' ,
'00' ,
'00' ,
'00' ,
--
SUM(DECODE(ctl.line_type,'LINE',ctl.cm_amt_due_orig,
'CB' ,ctl.cm_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_ORIG_AMT
SUM(DECODE(ctl.line_type,'LINE',ctl.cm_acctd_amt_due_orig,
'CB' ,ctl.cm_acctd_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_ORIG_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'CHARGES',ctl.cm_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_ORIG_AMT
SUM(DECODE(ctl.line_type,'CHARGES',ctl.cm_acctd_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_ORIG_ACCTD_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.cm_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_ORIG_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.cm_acctd_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_ORIG_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'TAX',ctl.cm_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.cm_acctd_amt_due_orig,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'LINE',ctl.cm_amt_due_rem,
'CB' ,ctl.cm_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_REM_AMT
SUM(DECODE(ctl.line_type,'LINE',ctl.cm_acctd_amt_due_rem,
'CB' ,ctl.cm_acctd_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_REM_ACCTD_AMT
SUM(DECODE(ctl.line_type,'CHARGES',ctl.cm_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_REM_AMT
SUM(DECODE(ctl.line_type,'CHARGES',ctl.cm_acctd_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_CHRG_REM_ACCTD_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.cm_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_REM_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.cm_acctd_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_FRT_REM_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'TAX',ctl.cm_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_REM_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.cm_acctd_amt_due_rem,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_REM_ACCTD_AMT
--
'L',
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
--{Taxable_amount
DECODE(ctl.line_type, 'TAX' ,ctl.link_to_cust_trx_line_id,
'LINE',ctl.customer_trx_line_id,
'CB' ,ctl.customer_trx_line_id,
NULL),
DECODE(ctl.line_type,'LINE','Y',
'CB' ,'Y',
'TAX','Y','N')
FROM ra_customer_trx trx,
ra_customer_trx_lines_gt ctl
WHERE trx.customer_trx_id = p_customer_trx_id
AND trx.customer_trx_id = ctl.customer_trx_id
AND ctl.cm_amt_due_orig is not null;
localdebug(' rows inserted = ' || l_rows);
INSERT INTO ra_ar_gt
(gt_id,
gp_level,
group_id,
--{HYUBPAGP
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
--}
ref_customer_trx_id,
from_currency,
to_currency,
base_currency,
line_type,
--
SUM_LINE_ORIG_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
--{HYUCHRG
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
--}
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_LINE_REM_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT ,
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
--
SUM_GP_LINE_ORIG_AMT ,
SUM_GP_LINE_ORIG_ACCTD_AMT ,
--{HYUCHRG
SUM_GP_LINE_CHRG_ORIG_AMT,
SUM_GP_LINE_CHRG_ORIG_ACCTD_AM,
--}
SUM_GP_LINE_FRT_ORIG_AMT ,
SUM_GP_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_GP_LINE_TAX_ORIG_AMT ,
SUM_GP_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_GP_LINE_REM_AMT ,
SUM_GP_LINE_REM_ACCTD_AMT ,
SUM_GP_LINE_CHRG_REM_AMT ,
SUM_GP_LINE_CHRG_REM_ACCTD_AMT,
SUM_GP_LINE_FRT_REM_AMT ,
SUM_GP_LINE_FRT_REM_ACCTD_AMT,
SUM_GP_LINE_TAX_REM_AMT ,
SUM_GP_LINE_TAX_REM_ACCTD_AMT,
--BUG#3611016
set_of_books_id ,
sob_type,
--{HYUIssue
ref_customer_trx_line_id
--}
-- se_gt_id
--{Taxable amount
-- ,tax_link_id,
-- tax_inc_flag
--}
)
SELECT /*+INDEX (rar ra_ar_n1)*/
p_gt_id --GT_ID
,'GPL' --GP_LEVEL
,rar.group_id --GROUP_ID
--{HYUBPAGP
,rar.source_data_key1
,rar.source_data_key2
,rar.source_data_key3
,rar.source_data_key4
,rar.source_data_key5
--}
,rar.ref_customer_trx_id --REF_CUSTOMER_TRX_ID
,rar.from_currency --FROM_CURRENCY
,rar.to_currency --TO_CURRENCY
,rar.base_currency --BASE_CURRENCY
,rar.line_type --LINE_TYPE
--
,rar.SUM_LINE_ORIG_AMT --SUM_LINE_ORIG_AMT
,rar.SUM_LINE_ORIG_ACCTD_AMT --SUM_LINE_ORIG_ACCTD_AMT
--
--{HYUCHRG
,rar.SUM_LINE_CHRG_ORIG_AMT --SUM_LINE_CHRG_ORIG_AMT
,rar.SUM_LINE_CHRG_ORIG_ACCTD_AMT --SUM_LINE_CHRG_ORIG_ACCTD_AMT
--}
,rar.SUM_LINE_FRT_ORIG_AMT --SUM_LINE_FRT_ORIG_AMT
,rar.SUM_LINE_FRT_ORIG_ACCTD_AMT --SUM_LINE_FRT_ORIG_ACCTD_AMT
--
,rar.SUM_LINE_TAX_ORIG_AMT --SUM_LINE_TAX_ORIG_AMT
,rar.SUM_LINE_TAX_ORIG_ACCTD_AMT --SUM_LINE_TAX_ORIG_ACCTD_AMT
--
,rar.SUM_LINE_REM_AMT
,rar.SUM_LINE_REM_ACCTD_AMT
--
,rar.SUM_LINE_CHRG_REM_AMT
,rar.SUM_LINE_CHRG_REM_ACCTD_AMT
--
,rar.SUM_LINE_FRT_REM_AMT --SUM_LINE_FRT_REM_AMT
,rar.SUM_LINE_FRT_REM_ACCTD_AMT --SUM_LINE_FRT_REM_ACCTD_AMT
--
,rar.SUM_LINE_TAX_REM_AMT
,rar.SUM_LINE_TAX_REM_ACCTD_AMT
--
,SUM(rar.DUE_ORIG_AMT) -- SUM_GP_LINE_ORIG_AMT
,SUM(rar.DUE_ORIG_ACCTD_AMT) -- SUM_GP_LINE_ORIG_ACCTD_AMT
--{HYUCHRG
,SUM(rar.CHRG_ORIG_AMT) -- SUM_GP_LINE_CHRG_ORIG_AMT
,SUM(rar.CHRG_ORIG_ACCTD_AMT) -- SUM_GP_LINE_CHRG_ORIG_ACCTD_AM
--}
,SUM(rar.FRT_ORIG_AMT) -- SUM_GP_LINE_FRT_ORIG_AMT
,SUM(rar.FRT_ORIG_ACCTD_AMT) -- SUM_GP_LINE_FRT_ORIG_ACCTD_AMT
,SUM(rar.TAX_ORIG_AMT) -- SUM_GP_LINE_TAX_ORIG_AMT
,SUM(rar.TAX_ORIG_ACCTD_AMT) -- SUM_GP_LINE_TAX_ORIG_ACCTD_AMT
--
,SUM(rar.DUE_REM_AMT) -- SUM_GP_LINE_REM_AMT
,SUM(rar.DUE_REM_ACCTD_AMT) -- SUM_GP_LINE_REM_ACCTD_AMT
--{HYUCHRG
,sgch.sum_gp_chrg_rem_amt --SUM_GP_LINE_CHRG_REM_AMT HYUCHRG
,sgch.sum_gp_chrg_rem_acctd_amt --SUM_GP_LINE_CHRG_REM_ACCTD_AMT HYUCHRG
-- ,SUM(rar.CHRG_REM_AMT) -- SUM_GP_LINE_CHRG_REM_AMT
-- ,SUM(rar.CHRG_REM_ACCTD_AMT) -- SUM_GP_LINE_CHRG_REM_ACCTD_AMT
--}
,sgfr.sum_gp_frt_rem_amt --SUM_GP_LINE_FRT_REM_AMT HYUFR
,sgfr.sum_gp_frt_rem_acctd_amt --SUM_GP_LINE_FRT_REM_ACCTD_AMT HYUFR
,SUM(rar.TAX_REM_AMT) -- SUM_GP_LINE_TAX_REM_AMT
,SUM(rar.TAX_REM_ACCTD_AMT) -- SUM_GP_LINE_TAX_REM_ACCTD_AMT
--Bug#3611016
,p_ae_sys_rec.set_of_books_id
,p_ae_sys_rec.sob_type
--{HYUIssue
,rar.ref_customer_trx_line_id
--}
-- ,g_se_gt_id
--{Taxable Amount
-- ,rar.tax_link_id
-- ,rar.tax_inc_flag
--}
FROM ra_ar_gt rar,
(SELECT /*+INDEX (b ra_ar_n1)*/
SUM(DECODE(b.line_type,'LINE' ,b.FRT_ADJ_REM_AMT,
'CB' ,b.FRT_ADJ_REM_AMT,
'FREIGHT',b.FRT_REM_AMT,
0)) sum_gp_frt_rem_amt
,SUM(DECODE(b.line_type,'LINE' ,b.FRT_ADJ_REM_ACCTD_AMT,
'CB' ,b.FRT_ADJ_REM_ACCTD_AMT,
'FREIGHT',b.frt_rem_acctd_amt,
0)) sum_gp_frt_rem_acctd_amt
,b.group_id
--{HYUBPAGP
,b.source_data_key1
,b.source_data_key2
,b.source_data_key3
,b.source_data_key4
,b.source_data_key5
--{HYUIssue
,b.ref_customer_trx_line_id
--}
FROM ra_ar_gt b
WHERE b.ref_customer_trx_id = p_customer_trx_id
AND b.gt_id = p_gt_id
AND b.gp_level = 'L'
AND b.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (b.sob_type = p_ae_sys_rec.sob_type OR
(b.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
group by b.group_id
--{HYUBPAGP
,b.source_data_key1
,b.source_data_key2
,b.source_data_key3
,b.source_data_key4
,b.source_data_key5
--{HYUIssue
,b.ref_customer_trx_line_id
--}
--}
) sgfr,
--{HYUCHRG
(SELECT /*+INDEX (b ra_ar_n1)*/
SUM(DECODE(b.line_type,'LINE' ,b.CHRG_ADJ_REM_AMT,
'CB' ,b.CHRG_ADJ_REM_AMT,
'CHARGES',b.CHRG_REM_AMT,
0)) sum_gp_chrg_rem_amt
,SUM(DECODE(b.line_type,'LINE' ,b.CHRG_ADJ_REM_ACCTD_AMT,
'CB' ,b.CHRG_ADJ_REM_ACCTD_AMT,
'CHARGES',b.chrg_rem_acctd_amt,
0)) sum_gp_chrg_rem_acctd_amt
,b.group_id
--{HYUBPAGP
,b.source_data_key1
,b.source_data_key2
,b.source_data_key3
,b.source_data_key4
,b.source_data_key5
--{HYUIssue
,b.ref_customer_trx_line_id
--}
--}
FROM ra_ar_gt b
WHERE b.ref_customer_trx_id = p_customer_trx_id
AND b.gt_id = p_gt_id
AND b.gp_level = 'L'
AND b.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (b.sob_type = p_ae_sys_rec.sob_type OR
(b.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
group by b.group_id
--{HYUBPAGP
,b.source_data_key1
,b.source_data_key2
,b.source_data_key3
,b.source_data_key4
,b.source_data_key5
--{HYUIssue
,b.ref_customer_trx_line_id
--}
--}
) sgch
--}
WHERE rar.ref_customer_trx_id = p_customer_trx_id
AND rar.gt_id = p_gt_id
AND rar.gp_level = 'L'
AND rar.group_id = sgfr.group_id
--{HYUBPAGP
AND rar.source_data_key1 = sgfr.source_data_key1
AND rar.source_data_key2 = sgfr.source_data_key2
AND rar.source_data_key3 = sgfr.source_data_key3
AND rar.source_data_key4 = sgfr.source_data_key4
AND rar.source_data_key5 = sgfr.source_data_key5
--{HYUIssue
AND rar.ref_customer_trx_line_id = sgfr.ref_customer_trx_line_id
--}
--}
--{HYUCHRG
AND rar.group_id = sgch.group_id
AND rar.source_data_key1 = sgch.source_data_key1
AND rar.source_data_key2 = sgch.source_data_key2
AND rar.source_data_key3 = sgch.source_data_key3
AND rar.source_data_key4 = sgch.source_data_key4
AND rar.source_data_key5 = sgch.source_data_key5
--{HYUIssue
AND rar.ref_customer_trx_line_id = sgch.ref_customer_trx_line_id
--}
--}
--BUG#3611016
AND rar.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (rar.sob_type = p_ae_sys_rec.sob_type OR
(rar.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
GROUP BY p_gt_id
,'GPL'
,rar.group_id
--{HYUBPAGP
,rar.source_data_key1
,rar.source_data_key2
,rar.source_data_key3
,rar.source_data_key4
,rar.source_data_key5
--}
,rar.ref_customer_trx_id
--{HYUIssue
,rar.ref_customer_trx_line_id
--}
,rar.from_currency
,rar.to_currency
,rar.base_currency
,rar.line_type
--
,rar.SUM_LINE_ORIG_AMT
,rar.SUM_LINE_ORIG_ACCTD_AMT
,rar.SUM_LINE_CHRG_ORIG_AMT
,rar.SUM_LINE_CHRG_ORIG_ACCTD_AMT
,rar.SUM_LINE_FRT_ORIG_AMT
,rar.SUM_LINE_FRT_ORIG_ACCTD_AMT
,rar.SUM_LINE_TAX_ORIG_AMT
,rar.SUM_LINE_TAX_ORIG_ACCTD_AMT
--
,rar.SUM_LINE_REM_AMT
,rar.SUM_LINE_REM_ACCTD_AMT
,rar.SUM_LINE_CHRG_REM_AMT
,rar.SUM_LINE_CHRG_REM_ACCTD_AMT
,rar.SUM_LINE_FRT_REM_AMT
,rar.SUM_LINE_FRT_REM_ACCTD_AMT
,rar.SUM_LINE_TAX_REM_AMT
,rar.SUM_LINE_TAX_REM_ACCTD_AMT
--{HYUCHRG
,sgch.sum_gp_chrg_rem_amt
,sgch.sum_gp_chrg_rem_acctd_amt
--}
,sgfr.sum_gp_frt_rem_amt
,sgfr.sum_gp_frt_rem_acctd_amt
,p_ae_sys_rec.set_of_books_id
,p_ae_sys_rec.sob_type;
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_AMOUNTS_GT (
gt_id
,gp_level
,base_rec_rowid
,ref_customer_trx_id
,ref_customer_trx_line_id
,base_pro_amt
,base_pro_acctd_amt
,base_frt_pro_amt
,base_frt_pro_acctd_amt
,base_tax_pro_amt
,base_tax_pro_acctd_amt
,BASE_CHRG_PRO_AMT
,BASE_CHRG_PRO_ACCTD_AMT
,elmt_pro_amt
,elmt_pro_acctd_amt
,ELMT_FRT_PRO_AMT
,ELMT_FRT_PRO_ACCTD_AMT
,ELMT_TAX_PRO_AMT
,ELMT_TAX_PRO_ACCTD_AMT
,ELMT_CHRG_PRO_AMT
,ELMT_CHRG_PRO_ACCTD_AMT
,buc_alloc_amt
,buc_alloc_acctd_amt
,buc_frt_alloc_amt
,buc_frt_alloc_acctd_amt
,buc_tax_alloc_amt
,buc_tax_alloc_acctd_amt
,buc_chrg_alloc_amt
,buc_chrg_alloc_acctd_amt
,base_ed_pro_amt
,base_ed_pro_acctd_amt
,BASE_ed_FRT_PRO_AMT
,BASE_ed_FRT_PRO_ACCTD_AMT
,BASE_ed_TAX_PRO_AMT
,BASE_ed_TAX_PRO_ACCTD_AMT
,BASE_ed_CHRG_PRO_AMT
,BASE_ed_CHRG_PRO_ACCTD_AMT
,elmt_ed_pro_amt
,elmt_ed_pro_acctd_amt
,ELMT_ed_FRT_PRO_AMT
,ELMT_ed_FRT_PRO_ACCTD_AMT
,ELMT_ed_TAX_PRO_AMT
,ELMT_ed_TAX_PRO_ACCTD_AMT
,ELMT_ed_CHRG_PRO_AMT
,ELMT_ed_CHRG_PRO_ACCTD_AMT
,buc_ed_alloc_amt
,buc_ed_alloc_acctd_amt
,buc_ed_frt_alloc_amt
,buc_ed_frt_alloc_acctd_amt
,buc_ed_tax_alloc_amt
,buc_ed_tax_alloc_acctd_amt
,buc_ed_chrg_alloc_amt
,buc_ed_chrg_alloc_acctd_amt
,base_uned_pro_amt
,base_uned_pro_acctd_amt
,BASE_uned_FRT_PRO_AMT
,BASE_uned_FRT_PRO_ACCTD_AMT
,BASE_uned_TAX_PRO_AMT
,BASE_uned_TAX_PRO_ACCTD_AMT
,BASE_uned_CHRG_PRO_AMT
,BASE_uned_CHRG_PRO_ACCTD_AMT
,elmt_uned_pro_amt
,elmt_uned_pro_acctd_amt
,ELMT_uned_FRT_PRO_AMT
,ELMT_uned_FRT_PRO_ACCTD_AMT
,ELMT_uned_TAX_PRO_AMT
,ELMT_uned_TAX_PRO_ACCTD_AMT
,ELMT_uned_CHRG_PRO_AMT
,ELMT_uned_CHRG_PRO_ACCTD_AMT
,buc_uned_alloc_amt
,buc_uned_alloc_acctd_amt
,buc_uned_frt_alloc_amt
,buc_uned_frt_alloc_acctd_amt
,buc_uned_tax_alloc_amt
,buc_uned_tax_alloc_acctd_amt
,buc_uned_chrg_alloc_amt
,buc_uned_chrg_alloc_acctd_amt
)
SELECT /*+INDEX(a ra_ar_n1)*/
a.gt_id,
a.gp_level,
a.rowid,
a.ref_customer_trx_id,
a.ref_customer_trx_line_id,
/**************************
-- ADJ and APP
**************************/
-------
-- BASE
-------
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_LINE_ORIG_AMT ,
a.SUM_LINE_REM_AMT),
a.SUM_LINE_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_LINE_ORIG_ACCTD_AMT,
a.SUM_LINE_REM_ACCTD_AMT),
a.SUM_LINE_REM_ACCTD_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_LINE_ORIG_AMT ,
a.SUM_LINE_REM_AMT),
a.SUM_LINE_FRT_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_LINE_ORIG_ACCTD_AMT,
a.SUM_LINE_REM_ACCTD_AMT),
a.SUM_LINE_FRT_REM_ACCTD_AMT),
-- Base Tax
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_TAX_REM_AMT, 0 ,
a.SUM_LINE_TAX_ORIG_AMT ,
a.SUM_LINE_TAX_REM_AMT),
a.SUM_LINE_TAX_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_TAX_REM_ACCTD_AMT, 0 ,
a.SUM_LINE_TAX_ORIG_ACCTD_AMT,
a.SUM_LINE_TAX_REM_ACCTD_AMT),
a.SUM_LINE_TAX_REM_ACCTD_AMT),
-- Base Chrg
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_LINE_ORIG_AMT ,
a.SUM_LINE_REM_AMT),
a.SUM_LINE_CHRG_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_LINE_ORIG_ACCTD_AMT ,
a.SUM_LINE_REM_ACCTD_AMT),
a.SUM_LINE_CHRG_REM_ACCTD_AMT),
----------
-- Element
----------
-- Elmt Rev
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_GP_LINE_ORIG_AMT ,
a.SUM_GP_LINE_REM_AMT),
a.SUM_GP_LINE_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_GP_LINE_ORIG_ACCTD_AMT ,
a.SUM_GP_LINE_REM_ACCTD_AMT),
a.SUM_GP_LINE_REM_ACCTD_AMT),
-- Elt Frt
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_GP_LINE_ORIG_AMT ,
a.SUM_GP_LINE_REM_AMT),
a.SUM_GP_LINE_FRT_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_GP_LINE_ORIG_ACCTD_AMT ,
a.SUM_GP_LINE_REM_ACCTD_AMT),
a.SUM_GP_LINE_FRT_REM_ACCTD_AMT),
-- Elt Tax
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_TAX_REM_AMT, 0 ,
a.SUM_GP_LINE_TAX_ORIG_AMT ,
a.SUM_GP_LINE_TAX_REM_AMT),
a.SUM_GP_LINE_TAX_REM_AMT),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_TAX_REM_ACCTD_AMT, 0 ,
a.SUM_GP_LINE_TAX_ORIG_ACCTD_AMT ,
a.SUM_GP_LINE_TAX_REM_ACCTD_AMT),
a.SUM_GP_LINE_TAX_REM_ACCTD_AMT),
-- Elt Chrg
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_AMT, 0 ,
a.SUM_GP_LINE_ORIG_AMT ,
a.SUM_GP_LINE_REM_AMT),
a.sum_gp_line_chrg_rem_amt),
DECODE(p_pay_adj,
'ADJ',DECODE(a.SUM_LINE_REM_ACCTD_AMT, 0 ,
a.SUM_GP_LINE_ORIG_ACCTD_AMT ,
a.SUM_GP_LINE_REM_ACCTD_AMT),
a.sum_gp_line_chrg_rem_acctd_amt),
---------
-- Bucket
---------
-- Buc Rev
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'N',
'N',
'N'),
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'Y',
'N',
'N'),
--Buc Freight
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'N',
'N',
'Y'),
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'Y',
'N',
'Y'),
-- Buc Tax
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'N',
'N',
'N'),
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'Y',
'N',
'N'),
-- Buc Chrg
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'N',
'Y',
'N'),
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
a.line_type,
'Y',
'Y',
'N'),
/**************************
-- ED
**************************/
a.SUM_LINE_REM_AMT, -- Base ED Rev over Rev line
a.SUM_LINE_REM_ACCTD_AMT,
a.SUM_LINE_FRT_REM_AMT, -- a.SUM_LINE_REM_AMT
a.SUM_LINE_FRT_REM_ACCTD_AMT, -- a.SUM_LINE_REM_ACCTD_AMT
a.SUM_LINE_TAX_REM_AMT,
a.SUM_LINE_TAX_REM_ACCTD_AMT,
a.SUM_LINE_CHRG_REM_AMT,
a.SUM_LINE_CHRG_REM_ACCTD_AMT,
--
a.SUM_GP_LINE_REM_AMT, -- Elmt ED Rev
a.SUM_GP_LINE_REM_ACCTD_AMT,
a.SUM_GP_LINE_FRT_REM_AMT, -- a.SUM_GP_LINE_REM_AMT
a.SUM_GP_LINE_FRT_REM_ACCTD_AMT,
a.SUM_GP_LINE_TAX_REM_AMT,
a.SUM_GP_LINE_TAX_REM_ACCTD_AMT,
a.SUM_GP_LINE_CHRG_REM_AMT,
a.SUM_GP_LINE_CHRG_REM_ACCTD_AMT,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'N',
'N',
'N')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'Y',
'N',
'N')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'N',
'N',
'Y')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'Y',
'N',
'Y')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'N',
'N',
'N')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'Y',
'N',
'N')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'N',
'Y',
'N')
else 0 end,
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
a.line_type,
'Y',
'Y',
'N')
else 0 end,
/**************************
-- UNED
**************************/
a.SUM_LINE_REM_AMT,
a.SUM_LINE_REM_ACCTD_AMT,
a.SUM_LINE_FRT_REM_AMT,
a.SUM_LINE_FRT_REM_ACCTD_AMT,
a.SUM_LINE_TAX_REM_AMT,
a.SUM_LINE_TAX_REM_ACCTD_AMT,
a.SUM_LINE_CHRG_REM_AMT,
a.SUM_LINE_CHRG_REM_ACCTD_AMT,
--
a.SUM_GP_LINE_REM_AMT,
a.SUM_GP_LINE_REM_ACCTD_AMT,
a.SUM_GP_LINE_FRT_REM_AMT,
a.SUM_GP_LINE_FRT_REM_ACCTD_AMT,
a.SUM_GP_LINE_TAX_REM_AMT,
a.SUM_GP_LINE_TAX_REM_ACCTD_AMT,
a.SUM_GP_LINE_CHRG_REM_AMT,
a.SUM_GP_LINE_CHRG_REM_ACCTD_AMT,
--
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'N',
'N',
'N')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'Y',
'N',
'N')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'N',
'N',
'Y')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'Y',
'N',
'Y')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'N',
'N',
'N')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'Y',
'N',
'N')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'N',
'Y',
'N')
else 0 end,
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
a.line_type,
'Y',
'Y',
'N')
else 0 end
FROM RA_AR_GT a
WHERE a.gt_id = p_gt_id
AND a.ref_customer_trx_id = p_customer_trx_id
AND a.gp_level = 'GPL'
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (a.sob_type = p_ae_sys_rec.sob_type OR
(a.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL));
INSERT INTO RA_AR_AMOUNTS_GT (
gt_id ,
gp_level,
base_rec_rowid,
ref_customer_trx_id ,
ref_customer_trx_line_id,
-- ADJ and APP
base_pro_amt ,
base_pro_acctd_amt ,
BASE_FRT_PRO_AMT ,
BASE_FRT_PRO_ACCTD_AMT ,
BASE_TAX_PRO_AMT ,
BASE_TAX_PRO_ACCTD_AMT ,
BASE_CHRG_PRO_AMT ,
BASE_CHRG_PRO_ACCTD_AMT ,
elmt_pro_amt ,
elmt_pro_acctd_amt ,
ELMT_FRT_PRO_AMT ,
ELMT_FRT_PRO_ACCTD_AMT ,
ELMT_TAX_PRO_AMT ,
ELMT_TAX_PRO_ACCTD_AMT ,
ELMT_CHRG_PRO_AMT ,
ELMT_CHRG_PRO_ACCTD_AMT ,
buc_alloc_amt ,
buc_alloc_acctd_amt,
buc_frt_alloc_amt ,
buc_frt_alloc_acctd_amt,
buc_tax_alloc_amt ,
buc_tax_alloc_acctd_amt,
buc_chrg_alloc_amt ,
buc_chrg_alloc_acctd_amt,
--D
base_ed_pro_amt ,
base_ed_pro_acctd_amt ,
BASE_ed_FRT_PRO_AMT ,
BASE_ed_FRT_PRO_ACCTD_AMT ,
BASE_ed_TAX_PRO_AMT ,
BASE_ed_TAX_PRO_ACCTD_AMT ,
BASE_ed_CHRG_PRO_AMT ,
BASE_ed_CHRG_PRO_ACCTD_AMT ,
elmt_ed_pro_amt ,
elmt_ed_pro_acctd_amt ,
ELMT_ed_FRT_PRO_AMT ,
ELMT_ed_FRT_PRO_ACCTD_AMT ,
ELMT_ed_TAX_PRO_AMT ,
ELMT_ed_TAX_PRO_ACCTD_AMT ,
ELMT_ed_CHRG_PRO_AMT ,
ELMT_ed_CHRG_PRO_ACCTD_AMT ,
buc_ed_alloc_amt ,
buc_ed_alloc_acctd_amt,
buc_ed_frt_alloc_amt ,
buc_ed_frt_alloc_acctd_amt,
buc_ed_tax_alloc_amt ,
buc_ed_tax_alloc_acctd_amt,
buc_ed_chrg_alloc_amt ,
buc_ed_chrg_alloc_acctd_amt,
--NED
base_uned_pro_amt ,
base_uned_pro_acctd_amt ,
BASE_uned_FRT_PRO_AMT ,
BASE_uned_FRT_PRO_ACCTD_AMT ,
BASE_uned_TAX_PRO_AMT ,
BASE_uned_TAX_PRO_ACCTD_AMT ,
BASE_uned_CHRG_PRO_AMT ,
BASE_uned_CHRG_PRO_ACCTD_AMT ,
elmt_uned_pro_amt ,
elmt_uned_pro_acctd_amt ,
ELMT_uned_FRT_PRO_AMT ,
ELMT_uned_FRT_PRO_ACCTD_AMT ,
ELMT_uned_TAX_PRO_AMT ,
ELMT_uned_TAX_PRO_ACCTD_AMT ,
ELMT_uned_CHRG_PRO_AMT ,
ELMT_uned_CHRG_PRO_ACCTD_AMT ,
buc_uned_alloc_amt ,
buc_uned_alloc_acctd_amt,
buc_uned_frt_alloc_amt ,
buc_uned_frt_alloc_acctd_amt,
buc_uned_tax_alloc_amt ,
buc_uned_tax_alloc_acctd_amt,
buc_uned_chrg_alloc_amt ,
buc_uned_chrg_alloc_acctd_amt
)
SELECT /*+INDEX(c ra_ar_n1) INDEX(b ra_ar_n1) INDEX(d RA_AR_AMOUNTS_GT_N1)*/
c.gt_id
,b.gp_level
,b.rowid
,c.ref_customer_trx_id
,c.ref_customer_trx_line_id
/**************************
-- ADJ and APP
**************************/
--Base
,CASE WHEN g_line_flag = 'INTERFACE' THEN b.sum_int_line_amount ELSE d.elmt_pro_amt END
,CASE WHEN g_line_flag = 'INTERFACE' THEN b.sum_int_line_amount ELSE d.elmt_pro_acctd_amt END
,d.ELMT_FRT_PRO_AMT
,d.ELMT_FRT_PRO_ACCTD_AMT
,CASE WHEN g_tax_flag = 'INTERFACE' THEN b.sum_int_tax_amount ELSE d.ELMT_TAX_PRO_AMT END
,CASE WHEN g_tax_flag = 'INTERFACE' THEN b.sum_int_tax_amount ELSE d.ELMT_TAX_PRO_ACCTD_AMT END
,d.ELMT_CHRG_PRO_AMT
,d.ELMT_CHRG_PRO_ACCTD_AMT
--Elmt
-- For line
,CASE WHEN g_line_flag = 'INTERFACE' THEN b.int_line_amount
ELSE
DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_AMT, 0 ,
b.DUE_ORIG_AMT ,
b.DUE_REM_AMT),
b.DUE_REM_AMT)
END
,CASE WHEN g_line_flag = 'INTERFACE' THEN b.int_line_amount
ELSE
DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_ACCTD_AMT, 0 ,
b.DUE_ORIG_ACCTD_AMT ,
b.DUE_REM_ACCTD_AMT),
b.DUE_REM_ACCTD_AMT)
END
-- For freight
,DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_AMT, 0 ,
b.DUE_ORIG_AMT ,
b.DUE_REM_AMT),
DECODE(b.line_type,'FREIGHT', b.FRT_REM_AMT,
'LINE' , b.frt_adj_rem_amt,
'CB' , b.frt_adj_rem_amt, 0))
,DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_ACCTD_AMT, 0 ,
b.DUE_ORIG_ACCTD_AMT ,
b.DUE_REM_ACCTD_AMT),
DECODE(b.line_type,'FREIGHT', b.FRT_REM_ACCTD_AMT,
'LINE' , b.frt_adj_rem_acctd_amt,
'CB' , b.frt_adj_rem_acctd_amt,0))
-- For tax
,CASE WHEN g_tax_flag = 'INTERFACE' THEN b.int_tax_amount
ELSE
DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_TAX_REM_AMT, 0 ,
b.TAX_ORIG_AMT ,
b.TAX_REM_AMT),
b.TAX_REM_AMT)
END
,CASE WHEN g_tax_flag = 'INTERFACE' THEN b.int_tax_amount
ELSE
DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_TAX_REM_ACCTD_AMT, 0 ,
b.TAX_ORIG_ACCTD_AMT ,
b.TAX_REM_ACCTD_AMT),
b.TAX_REM_ACCTD_AMT)
END
-- For Chrg
,DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_AMT, 0 ,
b.DUE_ORIG_AMT ,
b.DUE_REM_AMT),
DECODE(b.line_type,'CHARGES', b.CHRG_REM_AMT,
'LINE' , b.chrg_adj_rem_amt,
'CB' , b.chrg_adj_rem_amt, 0))
,DECODE(p_pay_adj,
'ADJ',DECODE(b.SUM_LINE_REM_ACCTD_AMT, 0 ,
b.DUE_ORIG_ACCTD_AMT ,
b.DUE_REM_ACCTD_AMT),
DECODE(b.line_type,'CHARGES', b.CHRG_REM_ACCTD_AMT,
'LINE' , b.chrg_adj_rem_acctd_amt,
'CB' , b.chrg_adj_rem_acctd_amt,0))
--Bucket
,CASE WHEN g_line_flag = 'NORMAL' THEN c.TL_ALLOC_AMT ELSE
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
b.line_type,
'N',
'N',
'N') END
,CASE WHEN g_line_flag = 'NORMAL' THEN c.TL_ALLOC_ACCTD_AMT ELSE
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
b.line_type,
'Y',
'N',
'N') END
,c.tl_frt_alloc_amt
,c.tl_frt_alloc_acctd_amt
,CASE WHEN g_tax_flag = 'NORMAL' THEN c.TL_TAX_ALLOC_AMT ELSE
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
b.line_type,
'N',
'N',
'N') END
,CASE WHEN g_tax_flag = 'NORMAL' THEN c.TL_TAX_ALLOC_ACCTD_AMT ELSE
arp_det_dist_pkg.the_concern_bucket(p_pay_adj,
b.line_type,
'Y',
'N',
'N') END
,c.TL_CHRG_ALLOC_AMT
,c.TL_CHRG_ALLOC_ACCTD_AMT
/**************************
-- ED
**************************/
--Base
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN b.sum_int_ed_line_amount ELSE d.elmt_ed_pro_amt END
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN b.sum_int_ed_line_amount ELSE d.elmt_ed_pro_acctd_amt END
,d.elmt_ed_frt_pro_amt
,d.elmt_ed_frt_pro_acctd_amt
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN b.sum_int_ed_tax_amount ELSE d.elmt_ed_tax_pro_amt END
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN b.sum_int_ed_tax_amount ELSE d.elmt_ed_tax_pro_acctd_amt END
,d.ELMT_ed_CHRG_PRO_AMT
,d.ELMT_ed_CHRG_PRO_ACCTD_AMT
--
--Elmt
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN b.int_ed_line_amount
ELSE
DECODE(b.line_type,'LINE' , b.DUE_REM_AMT,
'CB' , b.due_rem_amt, 0)
END
,CASE WHEN g_ed_line_flag = 'INTERFACE' THEN b.int_ed_line_amount
ELSE
DECODE(b.line_type,'LINE' , b.DUE_REM_ACCTD_AMT,
'CB' , b.due_rem_acctd_amt,0)
END
,DECODE(b.line_type,'FREIGHT', b.frt_REM_AMT,
'LINE' , b.frt_adj_rem_amt,
'CB' , b.frt_adj_rem_amt,0)
,DECODE(b.line_type,'FREIGHT', b.frt_REM_ACCTD_AMT,
'LINE' , b.frt_adj_rem_acctd_amt,
'CB' , b.frt_adj_rem_acctd_amt,0)
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN b.int_ed_tax_amount ELSE b.TAX_REM_AMT END
,CASE WHEN g_ed_tax_flag = 'INTERFACE' THEN b.int_ed_tax_amount ELSE b.TAX_REM_ACCTD_AMT END
,DECODE(b.line_type,'CHARGES', b.chrg_REM_AMT,
'LINE' , b.chrg_adj_rem_amt,
'CB' , b.chrg_adj_rem_amt,0)
,DECODE(b.line_type,'CHARGES', b.chrg_REM_ACCTD_AMT,
'LINE' , b.chrg_adj_rem_acctd_amt,
'CB' , b.chrg_adj_rem_acctd_amt,0)
--Bucket
,CASE WHEN g_ed_line_flag = 'NORMAL' THEN c.TL_ED_ALLOC_AMT ELSE
CASE when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
b.line_type,
'N',
'N',
'N')
else 0 end
END
,CASE WHEN g_ed_line_flag = 'NORMAL' THEN c.TL_ED_ALLOC_ACCTD_AMT ELSE
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
b.line_type,
'Y',
'N',
'N')
else 0 end
END
,c.TL_ED_FRT_ALLOC_AMT
,c.TL_ED_FRT_ALLOC_ACCTD_AMT
,CASE WHEN g_ed_tax_flag = 'NORMAL' THEN c.TL_ED_TAX_ALLOC_AMT ELSE
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
b.line_type,
'N',
'N',
'N')
else 0 end
END
,CASE WHEN g_ed_tax_flag = 'NORMAL' THEN c.TL_ED_TAX_ALLOC_ACCTD_AMT ELSE
CASE
when g_ed_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('ED',
b.line_type,
'Y',
'N',
'N')
else 0 end
END
,c.TL_ED_CHRG_ALLOC_AMT
,c.TL_ED_CHRG_ALLOC_ACCTD_AMT
/**************************
-- UNED
**************************/
--Base
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN b.sum_int_uned_line_amount ELSE d.elmt_uned_pro_amt END
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN b.sum_int_uned_line_amount ELSE d.elmt_uned_pro_acctd_amt END
,d.elmt_uned_frt_pro_amt
,d.elmt_uned_frt_pro_acctd_amt
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN b.sum_int_uned_tax_amount ELSE d.elmt_uned_tax_pro_amt END
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN b.sum_int_uned_tax_amount ELSE d.elmt_uned_tax_pro_acctd_amt END
,d.ELMT_uned_CHRG_PRO_AMT
,d.ELMT_uned_CHRG_PRO_ACCTD_AMT
--
-- ,b.DUE_REM_AMT
-- ,b.DUE_REM_ACCTD_AMT
--{BUG#4415037
-- ,DECODE(b.line_type,'LINE' , b.DUE_REM_AMT,
-- 'CB' , b.due_rem_amt,0)
-- ,DECODE(b.line_type,'LINE' , b.DUE_REM_ACCTD_AMT,
-- 'CB' , b.due_rem_acctd_amt,0)
--Elmt
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN b.int_uned_line_amount
ELSE
DECODE(b.line_type,'LINE' , b.DUE_REM_AMT,
'CB' , b.due_rem_amt,0)
END
,CASE WHEN g_uned_line_flag = 'INTERFACE' THEN b.int_uned_line_amount
ELSE
DECODE(b.line_type,'LINE' , b.DUE_REM_ACCTD_AMT,
'CB' , b.due_rem_acctd_amt,0)
END
,DECODE(b.line_type,'FREIGHT', b.frt_REM_AMT,
'LINE' , b.frt_adj_rem_amt,
'CB' , b.frt_adj_rem_amt,0)
,DECODE(b.line_type,'FREIGHT', b.frt_REM_ACCTD_AMT,
'LINE' , b.frt_adj_rem_acctd_amt,
'CB' , b.frt_adj_rem_acctd_amt,0)
-- ,DECODE(b.line_type,'LINE' , b.DUE_REM_AMT,0)
-- ,DECODE(b.line_type,'LINE' , b.DUE_REM_ACCTD_AMT,0)
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN b.int_uned_tax_amount ELSE b.TAX_REM_AMT END
,CASE WHEN g_uned_tax_flag = 'INTERFACE' THEN b.int_uned_tax_amount ELSE b.TAX_REM_ACCTD_AMT END
,DECODE(b.line_type,'CHARGES', b.chrg_REM_AMT,
'LINE' , b.chrg_adj_rem_amt,
'CB' , b.chrg_adj_rem_amt,0)
,DECODE(b.line_type,'CHARGES', b.chrg_REM_ACCTD_AMT,
'LINE' , b.chrg_adj_rem_acctd_amt,
'CB' , b.chrg_adj_rem_acctd_amt,0)
--Bucket
,CASE WHEN g_uned_line_flag = 'NORMAL' THEN c.TL_UNED_ALLOC_AMT ELSE
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
b.line_type,
'N',
'N',
'N')
else 0 end
END
,CASE WHEN g_uned_line_flag = 'NORMAL' THEN c.TL_UNED_ALLOC_ACCTD_AMT ELSE
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
b.line_type,
'Y',
'N',
'N')
else 0 end
END
,c.TL_UNED_FRT_ALLOC_AMT
,c.TL_UNED_FRT_ALLOC_ACCTD_AMT
,CASE WHEN g_uned_tax_flag = 'NORMAL' THEN c.TL_UNED_TAX_ALLOC_AMT ELSE
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
b.line_type,
'N',
'N',
'N')
else 0 end
END
,CASE WHEN g_uned_tax_flag = 'NORMAL' THEN c.TL_UNED_TAX_ALLOC_ACCTD_AMT ELSE
CASE
when g_uned_req = 'Y' then
arp_det_dist_pkg.the_concern_bucket('UNED',
b.line_type,
'Y',
'N',
'N')
else 0 end
END
,c.TL_UNED_CHRG_ALLOC_AMT
,c.TL_UNED_CHRG_ALLOC_ACCTD_AMT
FROM RA_AR_GT b,
RA_AR_GT c,
RA_AR_AMOUNTS_GT d
WHERE b.gt_id = p_gt_id
-- AND b.se_gt_id = g_se_gt_id
AND b.ref_customer_trx_id = p_customer_trx_id
AND b.gp_level = 'L'
--Bug#3611016
AND b.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (b.sob_type = p_ae_sys_rec.sob_type OR
(b.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND c.gt_id = p_gt_id
AND c.gp_level = 'GPL'
AND c.ref_customer_trx_id = p_customer_trx_id
--Bug#3611016
AND c.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (c.sob_type = p_ae_sys_rec.sob_type OR
(c.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND c.gt_id = d.gt_id
AND c.rowid = d.base_rec_rowid
-- AND c.group_id = b.group_id
--{HYUBPAGP
AND c.source_data_key1 = b.source_data_key1
AND c.source_data_key2 = b.source_data_key2
AND c.source_data_key3 = b.source_data_key3
AND c.source_data_key4 = b.source_data_key4
AND c.source_data_key5 = b.source_data_key5
--}
AND c.line_type = b.line_type
--{HYUIssue
AND c.ref_customer_trx_line_id = b.ref_customer_trx_line_id;
PROCEDURE update_ctl_rem_orig
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_pay_adj IN VARCHAR2,
p_customer_trx_line_id IN NUMBER DEFAULT NULL,
--{HYUBPAGP
p_source_data_key1 IN VARCHAR2 DEFAULT NULL,
p_source_data_key2 IN VARCHAR2 DEFAULT NULL,
p_source_data_key3 IN VARCHAR2 DEFAULT NULL,
p_source_data_key4 IN VARCHAR2 DEFAULT NULL,
p_source_data_key5 IN VARCHAR2 DEFAULT NULL,
--}
p_log_inv_line IN VARCHAR2 DEFAULT 'N',
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
BEGIN
IF PG_DEBUG = 'Y' THEN
localdebug('arp_det_dist_pkg.update_ctl_rem_orig()+');
localdebug(' Update rem amount in ra_customer_trx_lines_gt for regular transaction');
UPDATE /*+ index(A RA_CUSTOMER_TRX_LINES_GT_N1)*/ ra_customer_trx_lines_gt a
SET (a.AMOUNT_DUE_REMAINING ,
a.ACCTD_AMOUNT_DUE_REMAINING ,
a.AMOUNT_DUE_ORIGINAL ,
a.ACCTD_AMOUNT_DUE_ORIGINAL ,
a.CHRG_AMOUNT_REMAINING ,
a.CHRG_ACCTD_AMOUNT_REMAINING ,
a.FRT_ADJ_REMAINING ,
a.FRT_ADJ_ACCTD_REMAINING ,
a.frt_ed_amount,
a.frt_ed_acctd_amount,
a.frt_uned_amount,
a.frt_uned_acctd_amount) =
(SELECT /*+INDEX (b ra_ar_n1)*/
DECODE(a.line_type, 'LINE',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'CB',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'TAX',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_amt,0),NVL(b.tl_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_amt,0),NVL(b.tl_ed_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_amt,0),NVL(b.tl_uned_tax_alloc_amt,0)),
'FREIGHT',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_amt,0)),
'CHARGES',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_amt,0)),
0) -- AMOUNT_DUE_REMAINING
,DECODE(a.line_type, 'LINE',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'CB',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'TAX',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_acctd_amt,0),NVL(b.tl_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_acctd_amt,0),NVL(b.tl_ed_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_acctd_amt,0),NVL(b.tl_uned_tax_alloc_acctd_amt,0)),
'FREIGHT',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_acctd_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)),
--{HYUCHRG
'CHARGES',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_acctd_amt,0)),
0) -- ACCTD_AMOUNT_DUE_REMAINING
--}
,DECODE(a.line_type, 'LINE', NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'CB' , NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'FREIGHT', NVL(a.AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_AMT),
'CHARGES', NVL(a.AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_AMT),
'TAX', NVL(a.AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_AMT),
0) -- AMOUNT_DUE_ORIGINAL
,DECODE(a.line_type, 'LINE', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'CB' , NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'FREIGHT', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_ACCTD_AMT),
'CHARGES', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_ACCTD_AMT),
'TAX', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_ACCTD_AMT),
0) -- ACCTD_AMOUNT_DUE_ORIGINAL
--{HYUCHRG
-- ,NVL(a.CHRG_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),NVL(b.tl_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_amt,0),NVL(b.tl_ed_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_amt,0),NVL(b.tl_uned_chrg_alloc_amt,0))
-- -- CHRG_AMOUNT_REMAINING
-- ,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),NVL(b.tl_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_acctd_amt,0),NVL(b.tl_ed_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_acctd_amt,0),NVL(b.tl_uned_chrg_alloc_acctd_amt,0))
-- -- CHRG_ACCTD_AMOUNT_REMAINING
,NVL(a.CHRG_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_amt,0),0))
-- CHRG_AMOUNT_REMAINING
,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_acctd_amt,0),0))
-- CHRG_ACCTD_AMOUNT_REMAINING
--}
,NVL(a.FRT_ADJ_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_amt,0),
'CB' ,NVL(b.tl_frt_alloc_amt,0),0))
-- FRT_ADJ_REMAINING
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.FRT_ADJ_ACCTD_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_frt_alloc_acctd_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0)))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)))
-- FRT_ADJ_ACCTD_REMAINING
,NVL(a.frt_ed_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_amt,0), 0))
,NVL(a.frt_ed_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_acctd_amt,0),0))
,NVL(a.frt_uned_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.frt_uned_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_acctd_amt,0),0))
FROM RA_AR_GT b
WHERE b.gt_id = p_gt_id
-- AND b.se_gt_id = g_se_gt_id
AND a.customer_trx_id = b.ref_customer_trx_id
AND a.customer_trx_line_id = b.ref_customer_trx_line_id
-- AND a.group_id = b.group_id
--{HYUBPAGP
AND NVL(a.source_data_key1,'00') = b.source_data_key1
AND NVL(a.source_data_key2,'00') = b.source_data_key2
AND NVL(a.source_data_key3,'00') = b.source_data_key3
AND NVL(a.source_data_key4,'00') = b.source_data_key4
AND NVL(a.source_data_key5,'00') = b.source_data_key5
--}
--Bug#3611016
AND (b.sob_type = 'P' OR b.sob_type IS NULL)
AND b.set_of_books_id = a.set_of_books_id
AND b.gp_level = 'L')
WHERE a.customer_trx_id = p_customer_trx_id
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND p_customer_trx_line_id = a.customer_trx_line_id
-- AND DECODE( p_group_id, NULL, '-99', p_group_id)
-- = DECODE(p_group_id, NULL, '-99', a.group_id)
--{HYUBPAGP
AND DECODE( p_source_data_key1, NULL, '-99', p_source_data_key1)
= DECODE(p_source_data_key1, NULL, '-99', a.source_data_key1)
AND DECODE( p_source_data_key2, NULL, '-99', p_source_data_key2)
= DECODE(p_source_data_key2, NULL, '-99', a.source_data_key2)
AND DECODE( p_source_data_key3, NULL, '-99', p_source_data_key3)
= DECODE(p_source_data_key3, NULL, '-99', a.source_data_key3)
AND DECODE( p_source_data_key4, NULL, '-99', p_source_data_key4)
= DECODE(p_source_data_key4, NULL, '-99', a.source_data_key4)
AND DECODE( p_source_data_key5, NULL, '-99', p_source_data_key5)
= DECODE(p_source_data_key5, NULL, '-99', a.source_data_key5)
--}
AND a.line_type IN ('LINE','FREIGHT','TAX','CB','CHARGES');
UPDATE /*+ index(A RA_CUSTOMER_TRX_LINES_GT_N1)*/ ra_customer_trx_lines_gt a
SET (a.AMOUNT_DUE_REMAINING ,
a.ACCTD_AMOUNT_DUE_REMAINING ,
a.AMOUNT_DUE_ORIGINAL ,
a.ACCTD_AMOUNT_DUE_ORIGINAL ,
a.CHRG_AMOUNT_REMAINING ,
a.CHRG_ACCTD_AMOUNT_REMAINING ,
a.FRT_ADJ_REMAINING ,
a.FRT_ADJ_ACCTD_REMAINING ,
a.frt_ed_amount,
a.frt_ed_acctd_amount,
a.frt_uned_amount,
a.frt_uned_acctd_amount) =
(SELECT /*+INDEX (b ra_ar_n1)*/
DECODE(a.line_type, 'LINE',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'CB',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'TAX',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_amt,0),NVL(b.tl_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_amt,0),NVL(b.tl_ed_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_amt,0),NVL(b.tl_uned_tax_alloc_amt,0)),
'FREIGHT',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_amt,0)),
'CHARGES',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_amt,0)),
0) -- AMOUNT_DUE_REMAINING
,DECODE(a.line_type, 'LINE',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'CB',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'TAX',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_acctd_amt,0),NVL(b.tl_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_acctd_amt,0),NVL(b.tl_ed_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_acctd_amt,0),NVL(b.tl_uned_tax_alloc_acctd_amt,0)),
'FREIGHT',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_acctd_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)),
--{HYUCHRG
'CHARGES',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_acctd_amt,0)),
0) -- ACCTD_AMOUNT_DUE_REMAINING
--}
,DECODE(a.line_type, 'LINE', NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'CB' , NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'FREIGHT', NVL(a.AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_AMT),
'CHARGES', NVL(a.AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_AMT),
'TAX', NVL(a.AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_AMT),
0) -- AMOUNT_DUE_ORIGINAL
,DECODE(a.line_type, 'LINE', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'CB' , NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'FREIGHT', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_ACCTD_AMT),
'CHARGES', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_ACCTD_AMT),
'TAX', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_ACCTD_AMT),
0) -- ACCTD_AMOUNT_DUE_ORIGINAL
--{HYUCHRG
-- ,NVL(a.CHRG_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),NVL(b.tl_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_amt,0),NVL(b.tl_ed_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_amt,0),NVL(b.tl_uned_chrg_alloc_amt,0))
-- -- CHRG_AMOUNT_REMAINING
-- ,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),NVL(b.tl_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_acctd_amt,0),NVL(b.tl_ed_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_acctd_amt,0),NVL(b.tl_uned_chrg_alloc_acctd_amt,0))
-- -- CHRG_ACCTD_AMOUNT_REMAINING
,NVL(a.CHRG_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_amt,0),0))
-- CHRG_AMOUNT_REMAINING
,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_acctd_amt,0),0))
-- CHRG_ACCTD_AMOUNT_REMAINING
--}
,NVL(a.FRT_ADJ_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_amt,0),
'CB' ,NVL(b.tl_frt_alloc_amt,0),0))
-- FRT_ADJ_REMAINING
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.FRT_ADJ_ACCTD_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_frt_alloc_acctd_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0)))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)))
-- FRT_ADJ_ACCTD_REMAINING
,NVL(a.frt_ed_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_amt,0), 0))
,NVL(a.frt_ed_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_acctd_amt,0),0))
,NVL(a.frt_uned_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.frt_uned_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_acctd_amt,0),0))
FROM RA_AR_GT b
WHERE b.gt_id = p_gt_id
-- AND b.se_gt_id = g_se_gt_id
AND a.customer_trx_id = b.ref_customer_trx_id
AND a.customer_trx_line_id = b.ref_customer_trx_line_id
-- AND a.group_id = b.group_id
--{HYUBPAGP
AND NVL(a.source_data_key1,'00') = b.source_data_key1
AND NVL(a.source_data_key2,'00') = b.source_data_key2
AND NVL(a.source_data_key3,'00') = b.source_data_key3
AND NVL(a.source_data_key4,'00') = b.source_data_key4
AND NVL(a.source_data_key5,'00') = b.source_data_key5
--}
--Bug#3611016
AND (b.sob_type = 'P' OR b.sob_type IS NULL)
AND b.set_of_books_id = a.set_of_books_id
AND b.gp_level = 'L')
WHERE a.customer_trx_id = p_customer_trx_id
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND p_customer_trx_line_id = a.customer_trx_line_id
-- AND DECODE( p_group_id, NULL, '-99', p_group_id)
-- = DECODE(p_group_id, NULL, '-99', a.group_id)
--{HYUBPAGP
AND DECODE( p_source_data_key1, NULL, '-99', p_source_data_key1)
= DECODE(p_source_data_key1, NULL, '-99', a.source_data_key1)
AND DECODE( p_source_data_key2, NULL, '-99', p_source_data_key2)
= DECODE(p_source_data_key2, NULL, '-99', a.source_data_key2)
AND DECODE( p_source_data_key3, NULL, '-99', p_source_data_key3)
= DECODE(p_source_data_key3, NULL, '-99', a.source_data_key3)
AND DECODE( p_source_data_key4, NULL, '-99', p_source_data_key4)
= DECODE(p_source_data_key4, NULL, '-99', a.source_data_key4)
AND DECODE( p_source_data_key5, NULL, '-99', p_source_data_key5)
= DECODE(p_source_data_key5, NULL, '-99', a.source_data_key5)
--}
AND a.line_type IN ('LINE','CB');
UPDATE /*+ index(A RA_CUSTOMER_TRX_LINES_GT_N2)*/ ra_customer_trx_lines_gt a
SET (a.AMOUNT_DUE_REMAINING ,
a.ACCTD_AMOUNT_DUE_REMAINING ,
a.AMOUNT_DUE_ORIGINAL ,
a.ACCTD_AMOUNT_DUE_ORIGINAL ,
a.CHRG_AMOUNT_REMAINING ,
a.CHRG_ACCTD_AMOUNT_REMAINING ,
a.FRT_ADJ_REMAINING ,
a.FRT_ADJ_ACCTD_REMAINING ,
a.frt_ed_amount,
a.frt_ed_acctd_amount,
a.frt_uned_amount,
a.frt_uned_acctd_amount) =
(SELECT /*+INDEX (b ra_ar_n1)*/
DECODE(a.line_type, 'LINE',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'CB',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'TAX',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_amt,0),NVL(b.tl_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_amt,0),NVL(b.tl_ed_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_amt,0),NVL(b.tl_uned_tax_alloc_amt,0)),
'FREIGHT',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_amt,0)),
'CHARGES',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_amt,0)),
0) -- AMOUNT_DUE_REMAINING
,DECODE(a.line_type, 'LINE',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'CB',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'TAX',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_acctd_amt,0),NVL(b.tl_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_acctd_amt,0),NVL(b.tl_ed_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_acctd_amt,0),NVL(b.tl_uned_tax_alloc_acctd_amt,0)),
'FREIGHT',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_acctd_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)),
--{HYUCHRG
'CHARGES',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_acctd_amt,0)),
0) -- ACCTD_AMOUNT_DUE_REMAINING
--}
,DECODE(a.line_type, 'LINE', NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'CB' , NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'FREIGHT', NVL(a.AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_AMT),
'CHARGES', NVL(a.AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_AMT),
'TAX', NVL(a.AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_AMT),
0) -- AMOUNT_DUE_ORIGINAL
,DECODE(a.line_type, 'LINE', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'CB' , NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'FREIGHT', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_ACCTD_AMT),
'CHARGES', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_ACCTD_AMT),
'TAX', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_ACCTD_AMT),
0) -- ACCTD_AMOUNT_DUE_ORIGINAL
--{HYUCHRG
-- ,NVL(a.CHRG_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),NVL(b.tl_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_amt,0),NVL(b.tl_ed_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_amt,0),NVL(b.tl_uned_chrg_alloc_amt,0))
-- -- CHRG_AMOUNT_REMAINING
-- ,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),NVL(b.tl_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_acctd_amt,0),NVL(b.tl_ed_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_acctd_amt,0),NVL(b.tl_uned_chrg_alloc_acctd_amt,0))
-- -- CHRG_ACCTD_AMOUNT_REMAINING
,NVL(a.CHRG_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_amt,0),0))
-- CHRG_AMOUNT_REMAINING
,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_acctd_amt,0),0))
-- CHRG_ACCTD_AMOUNT_REMAINING
--}
,NVL(a.FRT_ADJ_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_amt,0),
'CB' ,NVL(b.tl_frt_alloc_amt,0),0))
-- FRT_ADJ_REMAINING
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.FRT_ADJ_ACCTD_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_frt_alloc_acctd_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0)))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)))
-- FRT_ADJ_ACCTD_REMAINING
,NVL(a.frt_ed_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_amt,0), 0))
,NVL(a.frt_ed_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_acctd_amt,0),0))
,NVL(a.frt_uned_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.frt_uned_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_acctd_amt,0),0))
FROM RA_AR_GT b
WHERE b.gt_id = p_gt_id
-- AND b.se_gt_id = g_se_gt_id
AND a.customer_trx_id = b.ref_customer_trx_id
AND a.customer_trx_line_id = b.ref_customer_trx_line_id
-- AND a.group_id = b.group_id
--{HYUBPAGP
AND NVL(a.source_data_key1,'00') = b.source_data_key1
AND NVL(a.source_data_key2,'00') = b.source_data_key2
AND NVL(a.source_data_key3,'00') = b.source_data_key3
AND NVL(a.source_data_key4,'00') = b.source_data_key4
AND NVL(a.source_data_key5,'00') = b.source_data_key5
--}
--Bug#3611016
AND (b.sob_type = 'P' OR b.sob_type IS NULL)
AND b.set_of_books_id = a.set_of_books_id
AND b.gp_level = 'L')
WHERE a.customer_trx_id = p_customer_trx_id
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND p_customer_trx_line_id = a.LINK_TO_CUST_TRX_LINE_ID
-- AND DECODE( p_group_id, NULL, '-99', p_group_id)
-- = DECODE(p_group_id, NULL, '-99', a.group_id)
--{HYUBPAGP
AND DECODE( p_source_data_key1, NULL, '-99', p_source_data_key1)
= DECODE(p_source_data_key1, NULL, '-99', a.source_data_key1)
AND DECODE( p_source_data_key2, NULL, '-99', p_source_data_key2)
= DECODE(p_source_data_key2, NULL, '-99', a.source_data_key2)
AND DECODE( p_source_data_key3, NULL, '-99', p_source_data_key3)
= DECODE(p_source_data_key3, NULL, '-99', a.source_data_key3)
AND DECODE( p_source_data_key4, NULL, '-99', p_source_data_key4)
= DECODE(p_source_data_key4, NULL, '-99', a.source_data_key4)
AND DECODE( p_source_data_key5, NULL, '-99', p_source_data_key5)
= DECODE(p_source_data_key5, NULL, '-99', a.source_data_key5)
--}
AND a.line_type IN ('FREIGHT','TAX','CHARGES');
UPDATE /*+ index(A RA_CUSTOMER_TRX_LINES_GT_N1)*/ ra_customer_trx_lines_gt a
SET (a.AMOUNT_DUE_REMAINING ,
a.ACCTD_AMOUNT_DUE_REMAINING ,
a.AMOUNT_DUE_ORIGINAL ,
a.ACCTD_AMOUNT_DUE_ORIGINAL ,
a.CHRG_AMOUNT_REMAINING ,
a.CHRG_ACCTD_AMOUNT_REMAINING ,
a.FRT_ADJ_REMAINING ,
a.FRT_ADJ_ACCTD_REMAINING ,
a.frt_ed_amount,
a.frt_ed_acctd_amount,
a.frt_uned_amount,
a.frt_uned_acctd_amount) =
(SELECT /*+INDEX (b ra_ar_n1)*/
DECODE(a.line_type, 'LINE',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'CB',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_amt,0),NVL(b.tl_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_amt,0),NVL(b.tl_ed_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_amt,0),NVL(b.tl_uned_alloc_amt,0)),
'TAX',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_amt,0),NVL(b.tl_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_amt,0),NVL(b.tl_ed_tax_alloc_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_amt,0),NVL(b.tl_uned_tax_alloc_amt,0)),
'FREIGHT',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_amt,0)),
'CHARGES',
NVL(a.AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_amt,0)),
0) -- AMOUNT_DUE_REMAINING
,DECODE(a.line_type, 'LINE',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'CB',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_alloc_acctd_amt,0),NVL(b.tl_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_alloc_acctd_amt,0),NVL(b.tl_ed_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_alloc_acctd_amt,0),NVL(b.tl_uned_alloc_acctd_amt,0)),
'TAX',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_tax_alloc_acctd_amt,0),NVL(b.tl_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_tax_alloc_acctd_amt,0),NVL(b.tl_ed_tax_alloc_acctd_amt,0))
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_tax_alloc_acctd_amt,0),NVL(b.tl_uned_tax_alloc_acctd_amt,0)),
'FREIGHT',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_frt_alloc_acctd_amt,0)),
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',0,-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)),
--{HYUCHRG
'CHARGES',
NVL(a.ACCTD_AMOUNT_DUE_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',0,NVL(b.tl_chrg_alloc_acctd_amt,0)),
0) -- ACCTD_AMOUNT_DUE_REMAINING
--}
,DECODE(a.line_type, 'LINE', NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'CB' , NVL(a.AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_AMT),
'FREIGHT', NVL(a.AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_AMT),
'CHARGES', NVL(a.AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_AMT),
'TAX', NVL(a.AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_AMT),
0) -- AMOUNT_DUE_ORIGINAL
,DECODE(a.line_type, 'LINE', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'CB' , NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.DUE_ORIG_ACCTD_AMT),
'FREIGHT', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.FRT_ORIG_ACCTD_AMT),
'CHARGES', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.CHRG_ORIG_ACCTD_AMT),
'TAX', NVL(a.ACCTD_AMOUNT_DUE_ORIGINAL,b.TAX_ORIG_ACCTD_AMT),
0) -- ACCTD_AMOUNT_DUE_ORIGINAL
--{HYUCHRG
-- ,NVL(a.CHRG_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),NVL(b.tl_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_amt,0),NVL(b.tl_ed_chrg_alloc_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_amt,0),NVL(b.tl_uned_chrg_alloc_amt,0))
-- -- CHRG_AMOUNT_REMAINING
-- ,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),NVL(b.tl_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_ed_chrg_alloc_acctd_amt,0),NVL(b.tl_ed_chrg_alloc_acctd_amt,0))
-- + DECODE(p_pay_adj,'ADJ',NVL(b.tl_uned_chrg_alloc_acctd_amt,0),NVL(b.tl_uned_chrg_alloc_acctd_amt,0))
-- -- CHRG_ACCTD_AMOUNT_REMAINING
,NVL(a.CHRG_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_amt,0),0))
-- CHRG_AMOUNT_REMAINING
,NVL(a.CHRG_ACCTD_AMOUNT_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_chrg_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_chrg_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_chrg_alloc_acctd_amt,0),0))
-- CHRG_ACCTD_AMOUNT_REMAINING
--}
,NVL(a.FRT_ADJ_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_amt,0),
'CB' ,NVL(b.tl_frt_alloc_amt,0),0))
-- FRT_ADJ_REMAINING
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.FRT_ADJ_ACCTD_REMAINING,0)
+ DECODE(p_pay_adj,'ADJ',NVL(b.tl_frt_alloc_acctd_amt,0),
DECODE(b.line_type,'LINE',NVL(b.tl_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_frt_alloc_acctd_amt,0),0))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_ed_frt_alloc_acctd_amt,0)))
-- + DECODE(p_pay_adj,'ADJ',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0),
-- DECODE(b.line_type,'LINE',-1*NVL(b.tl_uned_frt_alloc_acctd_amt,0)))
-- FRT_ADJ_ACCTD_REMAINING
,NVL(a.frt_ed_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_amt,0), 0))
,NVL(a.frt_ed_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_ed_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_ed_frt_alloc_acctd_amt,0),0))
,NVL(a.frt_uned_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_amt,0),0))
,NVL(a.frt_uned_acctd_amount,0)
+ DECODE(p_pay_adj,'ADJ',0,
DECODE(b.line_type,'LINE',NVL(b.tl_uned_frt_alloc_acctd_amt,0),
'CB' ,NVL(b.tl_uned_frt_alloc_acctd_amt,0),0))
FROM RA_AR_GT b
WHERE b.gt_id = p_gt_id
-- AND b.se_gt_id = g_se_gt_id
AND a.customer_trx_id = b.ref_customer_trx_id
AND a.customer_trx_line_id = b.ref_customer_trx_line_id
-- AND a.group_id = b.group_id
--{HYUBPAGP
AND NVL(a.source_data_key1,'00') = b.source_data_key1
AND NVL(a.source_data_key2,'00') = b.source_data_key2
AND NVL(a.source_data_key3,'00') = b.source_data_key3
AND NVL(a.source_data_key4,'00') = b.source_data_key4
AND NVL(a.source_data_key5,'00') = b.source_data_key5
--}
--Bug#3611016
AND (b.sob_type = 'P' OR b.sob_type IS NULL)
AND b.set_of_books_id = a.set_of_books_id
AND b.gp_level = 'L')
WHERE a.customer_trx_id = p_customer_trx_id
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
-- AND DECODE( p_customer_trx_line_id, NULL, -99, p_customer_trx_line_id)
-- = DECODE(p_customer_trx_line_id, NULL, -99,
-- DECODE(p_log_inv_line, 'N', a.customer_trx_line_id,
-- DECODE(a.line_type,'LINE', a.customer_trx_line_id,
-- 'CB' , a.customer_trx_line_id,
-- a.LINK_TO_CUST_TRX_LINE_ID)))
-- AND DECODE( p_group_id, NULL, '-99', p_group_id)
-- = DECODE(p_group_id, NULL, '-99', a.group_id)
--{HYUBPAGP
AND DECODE( p_source_data_key1, NULL, '-99', p_source_data_key1)
= DECODE(p_source_data_key1, NULL, '-99', a.source_data_key1)
AND DECODE( p_source_data_key2, NULL, '-99', p_source_data_key2)
= DECODE(p_source_data_key2, NULL, '-99', a.source_data_key2)
AND DECODE( p_source_data_key3, NULL, '-99', p_source_data_key3)
= DECODE(p_source_data_key3, NULL, '-99', a.source_data_key3)
AND DECODE( p_source_data_key4, NULL, '-99', p_source_data_key4)
= DECODE(p_source_data_key4, NULL, '-99', a.source_data_key4)
AND DECODE( p_source_data_key5, NULL, '-99', p_source_data_key5)
= DECODE(p_source_data_key5, NULL, '-99', a.source_data_key5)
--}
AND a.line_type IN ('LINE','FREIGHT','TAX','CB','CHARGES')
AND EXISTS (
SELECT 'X' FROM RA_AR_GT R
WHERE R.gt_id = p_gt_id
AND a.customer_trx_id = R.ref_customer_trx_id
AND a.customer_trx_line_id = R.ref_customer_trx_line_id
AND NVL(a.source_data_key1,'00') = R.source_data_key1
AND NVL(a.source_data_key2,'00') = R.source_data_key2
AND NVL(a.source_data_key3,'00') = R.source_data_key3
AND NVL(a.source_data_key4,'00') = R.source_data_key4
AND NVL(a.source_data_key5,'00') = R.source_data_key5
AND (R.sob_type = 'P' OR R.sob_type IS NULL)
AND R.set_of_books_id = a.set_of_books_id
AND R.gp_level = 'L');
localdebug('arp_det_dist_pkg.update_ctl_rem_orig()-');
localdebug('update_ctl_rem_orig EXCEPTION OTHERS :'||SQLERRM);
END update_ctl_rem_orig;
INSERT INTO RA_AR_GT
( GT_ID ,
AMT ,
ACCTD_AMT ,
ACCOUNT_CLASS ,
CCID_SECONDARY ,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUSTOMER_TRX_ID ,
TO_CURRENCY ,
BASE_CURRENCY ,
-- ADJ and APP Elmt
DIST_AMT, --HYUD LINE
DIST_ACCTD_AMT, --HYUD LINE
DIST_CHRG_AMT, --HYUD CHRG
DIST_CHRG_ACCTD_AMT, --HYUD CHRG
DIST_FRT_AMT, --HYUD FRT
DIST_FRT_ACCTD_AMT, --HYUD FRT
DIST_TAX_AMT, --HYUD TAX
DIST_TAX_ACCTD_AMT, --HYUD TAX
-- Buc
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
-- ED Elmt
DIST_ed_AMT,
DIST_ed_ACCTD_AMT,
DIST_ed_chrg_AMT,
DIST_ed_chrg_ACCTD_AMT,
DIST_ed_frt_AMT ,
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT ,
DIST_ed_tax_ACCTD_AMT,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
-- UNED
DIST_uned_AMT ,
DIST_uned_ACCTD_AMT ,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
DIST_uned_frt_AMT ,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT ,
DIST_uned_tax_ACCTD_AMT,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
source_type ,
source_table ,
source_id ,
line_type,
--
group_id,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
gp_level,
--
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag
)
SELECT /*+INDEX (rar ra_ar_n1) LEADING(rar,ctlgd) USE_NL_WITH_INDEX(rar ra_ar_n1) USE_NL_WITH_INDEX(ctlgd RA_CUST_TRX_LINE_GL_DIST_N1)*/
p_gt_id,
ctlgd.amount,
ctlgd.acctd_amount,
ctlgd.account_class,
-- The ccid_secondary is used to populate ar_line_apps_det.ccid
-- which in turn served as ref_dist_ccid for cash basis accounting
-- therefor only used at payment, hence should hit the collected ccid
DECODE(ctlgd.account_class,'TAX',
DECODE(ctlgd.collected_tax_ccid,NULL,
ctlgd.code_combination_id,
ctlgd.collected_tax_ccid),
ctlgd.code_combination_id),
ctlgd.cust_trx_line_gl_dist_id,
ctlgd.customer_trx_line_id,
ctlgd.customer_trx_id,
rar.to_currency,
rar.base_currency,
-- ADJ and APP
DECODE(rar.line_type,'LINE',ctlgd.amount,
'CB' ,ctlgd.amount,0), --For Line DIST_AMT
DECODE(rar.line_type,'LINE',ctlgd.acctd_amount,
'CB' ,ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.amount,0),
DECODE(rar.line_type,'LINE',ctlgd.amount,
'CB' ,ctlgd.amount,0)), --For Chrg DIST_CHRG_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.amount,0),
DECODE(rar.line_type,'LINE',ctlgd.acctd_amount,
'CB' ,ctlgd.acctd_amount,0)),-- DIST_CHRG_ACCTD_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.amount,0),
DECODE(rar.line_type,'LINE',ctlgd.amount,
'CB' ,ctlgd.amount,0)),--For Frt DIST_FRT_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.amount,0),
DECODE(rar.line_type,'LINE',ctlgd.acctd_amount,
'CB' ,ctlgd.acctd_amount,0)),-- DIST_FRT_AMT
DECODE(rar.line_type,'TAX',ctlgd.amount,0), --For Tax DIST_AMT
DECODE(rar.line_type,'TAX',ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
--
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
--
-- ED
DECODE(rar.line_type,'LINE',ctlgd.amount,
'CB' ,ctlgd.amount,0), --For Line DIST_AMT
DECODE(rar.line_type,'LINE',ctlgd.acctd_amount,
'CB' ,ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.amount,0),
0), --For Chrg DIST_CHRG_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.acctd_amount,0),
0), -- DIST_CHRG_ACCTD_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.amount,0),
0), --For Frt DIST_FRT_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.acctd_amount,0),
0), -- DIST_FRT_ACCTD_AMT
DECODE(rar.line_type,'TAX',ctlgd.amount,0), --For Tax DIST_AMT
DECODE(rar.line_type,'TAX',ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
-- UNED
DECODE(rar.line_type,'LINE',ctlgd.amount,
'CB' ,ctlgd.amount,0), --For Line DIST_AMT
DECODE(rar.line_type,'LINE',ctlgd.acctd_amount,
'CB' ,ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.amount,0),
0), --For Charges DIST_CHRG_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'CHARGES',ctlgd.acctd_amount,0),
0), -- DIST_CHRG_ACCTD_AMT
--{ Uned Frt Element
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.amount,0),
0), --For Frt DIST_FRT_AMT
DECODE(p_pay_adj,'APP',
DECODE(rar.line_type,'FREIGHT',ctlgd.acctd_amount,0),
0), -- DIST_FRT_ACCTD_AMT
--}
DECODE(rar.line_type,'TAX',ctlgd.amount,0), --For Tax DIST_AMT
DECODE(rar.line_type,'TAX',ctlgd.acctd_amount,0), -- DIST_ACCTD_AMT
-- Buc
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
DECODE(p_pay_adj,'ADJ',p_adj_rec.TYPE,p_app_rec.APPLICATION_TYPE),
DECODE(p_pay_adj,'ADJ','ADJ','RA'),
DECODE(p_pay_adj,'ADJ',p_adj_rec.adjustment_id, p_app_rec.receivable_application_id),
rar.line_type,
--
rar.group_id,
rar.source_data_key1 ,
rar.source_data_key2 ,
rar.source_data_key3 ,
rar.source_data_key4 ,
rar.source_data_key5 ,
'D',
--BUG#3611016
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
rar.tax_link_id,
rar.tax_inc_flag
FROM ra_ar_gt rar,
ra_cust_trx_line_gl_dist ctlgd
WHERE rar.gt_id = p_gt_id
AND rar.ref_customer_trx_id = p_customer_trx_id
AND rar.gp_level = 'L'
AND rar.ref_customer_trx_id = ctlgd.customer_trx_id
AND rar.ref_customer_trx_line_id = ctlgd.customer_trx_line_id(+)
--{HYU revrec adj api restriction
AND ctlgd.account_set_flag = 'N';
localdebug(' rows inserted = ' || l_rows);
localdebug('Get_inv_dist: Insert Adjustoment distributions');
INSERT INTO RA_AR_GT
( GT_ID ,
AMT ,
ACCTD_AMT ,
ACCOUNT_CLASS ,
CCID_SECONDARY ,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUSTOMER_TRX_ID ,
TO_CURRENCY ,
BASE_CURRENCY ,
-- ADJ and APP Elmt
DIST_AMT, --HYUD LINE
DIST_ACCTD_AMT, --HYUD LINE
DIST_CHRG_AMT, --HYUD CHRG
DIST_CHRG_ACCTD_AMT, --HYUD CHRG
DIST_FRT_AMT, --HYUD FRT
DIST_FRT_ACCTD_AMT, --HYUD FRT
DIST_TAX_AMT, --HYUD TAX
DIST_TAX_ACCTD_AMT, --HYUD TAX
--
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
-- ED Elmt
DIST_ed_AMT,
DIST_ed_ACCTD_AMT,
DIST_ed_chrg_AMT,
DIST_ed_chrg_ACCTD_AMT,
DIST_ed_frt_AMT ,
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT ,
DIST_ed_tax_ACCTD_AMT,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
-- UNED
DIST_uned_AMT ,
DIST_uned_ACCTD_AMT ,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
DIST_uned_frt_AMT ,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT ,
DIST_uned_tax_ACCTD_AMT,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
source_type ,
source_table ,
source_id ,
ref_line_id ,
line_type ,
--
group_id,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
gp_level,
--
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag
)
SELECT /*+INDEX (rar ra_ar_n1)*/
p_gt_id, --gt_id
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0), --amt
--HYU A negative adj distrib increase the inv rec therefore the rem on trx line
-- For ARPDDB and ARALLOCB integration detail distribution from ARPDDB needs
-- to be created in the same sign of the parent adjustment <=>
-- ADJ -100 will create a set of det_dist for the Write-off account with a total
-- of -100 ending decrease the line balance, no need to multply by -1 removing it
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0), --acctd_amt Rem * -1
rrc.ref_account_class, --account_class
rrc.code_combination_id, --ccid_secondary
NVL(rrc.ref_cust_trx_line_gl_dist_id,
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, --Boundary line : -6
'ADJ_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, --Boundary line : -6
'ADJ_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, --Boundary line : -6
'ADJ_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'TAX', -8, -- Boundary tax
'FREIGHT',-9)), -- Boundary freight : This should not happens as not adjustment
-- will be tied to freight line
NVL(rrc.ref_customer_trx_line_id,
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, -- Boundary line:-6
'ADJ_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, -- Boundary line:-6
'ADJ_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_LINE' ,-6, -- Boundary line:-6
'ADJ_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'TAX', -8, -- Boundary tax
'FREIGHT',-9)), -- Boundary freight : This should not happens as not adjustment
-- will be tied to freight line
rar.ref_customer_trx_id,
rar.to_currency,
rar.base_currency,
-- ADJ and APP -- HYU "A reprendre ici"
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
0), -- DIST_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
0), -- DIST_ACCTD_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_CHRG_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_CHRG_ACCTD_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
DECODE(rrc.activity_bucket,'ADJ_FRT',
'UNBILL',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_FRT_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_FRT_ACCTD_AMT
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,0), -- DIST_TAX_AMT
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,0), -- DIST_TAX_ACCTD_AMT
--
rar.tl_alloc_amt ,
rar.tl_alloc_acctd_amt ,
rar.tl_chrg_alloc_amt ,
rar.tl_chrg_alloc_acctd_amt,
rar.tl_frt_alloc_amt ,
rar.tl_frt_alloc_acctd_amt ,
rar.tl_tax_alloc_amt ,
rar.tl_tax_alloc_acctd_amt ,
-- Elemt Rev
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
0) , -- DIST_ED_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT' ,0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
0), -- DIST_ED_ACCTD_AMT Rem * -1
-- Elemt Chrg
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_ED_CHRG_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_ED_CHRG_ACCTD_AMT Rem * -1
-- Elemt Frt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_ED_FRT_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_ED_FRT_ACCTD_AMT Rem * -1
-- Elemt Tax
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,0), -- DIST_ED_TAX_AMT Rem * -1
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,0), -- DIST_ED_TAX_ACCTD_AMT Rem * -1
--Bucket
-- Buc Rev
rar.tl_ed_alloc_amt ,
rar.tl_ed_alloc_acctd_amt ,
--Buc Chrg
rar.tl_ed_chrg_alloc_amt ,
rar.tl_ed_chrg_alloc_acctd_amt,
--Buc Frt
rar.tl_ed_frt_alloc_amt ,
rar.tl_ed_frt_alloc_acctd_amt ,
--Buc Tax
rar.tl_ed_tax_alloc_amt ,
rar.tl_ed_tax_alloc_acctd_amt ,
--
-- UNED
-- Rev Elemt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END),
0), -- DIST_UNED_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',0,
'ADJ_CHRG',0,
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.DUE_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END),
0), -- DIST_UNED_ACCTD_AMT Rem * -1
-- Chrg Elemt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_UNED_CHRG_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_CHRG',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.CHRG_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_UNED_CHRG_ACCTD_AMT Rem * -1
-- Frt Elemt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,
0 ),
0), -- DIST_UNED_FRT_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'ADJ_FRT',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.FRT_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,
0 ),
0), -- DIST_UNED_FRT_ACCTD_AMT Rem * -1
-- Tax Elemt
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0) END,0), -- DIST_UNED_TAX_AMT Rem * -1
DECODE(rrc.ref_account_class,'TAX',
CASE WHEN SUM(NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0))
OVER (PARTITION BY rar.ref_customer_trx_line_id||rrc.activity_bucket)
+ rar.TAX_ORIG_AMT = 0 THEN
0 ELSE NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0) END,0), -- DIST_UNED_TAX_ACCTD_AMT Rem * -1
--Bucket
-- Rev
rar.tl_uned_alloc_amt ,
rar.tl_uned_alloc_acctd_amt ,
--Chrg
rar.tl_uned_chrg_alloc_amt ,
rar.tl_uned_chrg_alloc_acctd_amt,
--Frt
rar.tl_uned_frt_alloc_amt ,
rar.tl_uned_frt_alloc_acctd_amt ,
--Tax
rar.tl_uned_tax_alloc_amt ,
rar.tl_uned_tax_alloc_acctd_amt ,
--
p_app_rec.APPLICATION_TYPE,
'RA',
p_app_rec.receivable_application_id,
rrc.line_id,
rar.line_type,
--
rar.group_id,
rar.source_data_key1 ,
rar.source_data_key2 ,
rar.source_data_key3 ,
rar.source_data_key4 ,
rar.source_data_key5 ,
'D',
--BUG#3611016
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
rrc.tax_link_id, -- tax_link_id
DECODE(rrc.ref_account_class,'TAX','Y',
--'REV',DECODE(NVL(adj.tax_adjusted,0),0, 'N','Y'),
'REV','Y', -- BUG 7597090
'N') -- tax_inc_flag
FROM ra_ar_gt rar,
ar_distributions rrc,
ar_adjustments adj
WHERE rar.gt_id = p_gt_id
AND rar.ref_customer_trx_id = p_customer_trx_id
AND rar.gp_level = 'L'
AND adj.customer_trx_id = p_customer_trx_id
AND rrc.source_table = 'ADJ'
AND rrc.source_id = adj.adjustment_id
AND rar.ref_customer_trx_line_id = rrc.ref_customer_trx_line_id
AND rar.ref_cust_trx_line_gl_dist_id IS NULL
AND (adj.upgrade_method = 'R12' OR adj.upgrade_method IS NULL);
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_GT
( GT_ID ,
AMT ,
ACCTD_AMT ,
ACCOUNT_CLASS ,
CCID_SECONDARY ,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUSTOMER_TRX_ID ,
TO_CURRENCY ,
BASE_CURRENCY ,
-- ADJ and APP Elmt
DIST_AMT, --HYUD LINE
DIST_ACCTD_AMT, --HYUD LINE
DIST_CHRG_AMT, --HYUD CHRG
DIST_CHRG_ACCTD_AMT, --HYUD CHRG
DIST_FRT_AMT, --HYUD FRT
DIST_FRT_ACCTD_AMT, --HYUD FRT
DIST_TAX_AMT, --HYUD TAX
DIST_TAX_ACCTD_AMT, --HYUD TAX
--
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
-- ED Elmt
DIST_ed_AMT,
DIST_ed_ACCTD_AMT,
DIST_ed_chrg_AMT,
DIST_ed_chrg_ACCTD_AMT,
DIST_ed_frt_AMT ,
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT ,
DIST_ed_tax_ACCTD_AMT,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
-- UNED
DIST_uned_AMT ,
DIST_uned_ACCTD_AMT ,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
DIST_uned_frt_AMT ,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT ,
DIST_uned_tax_ACCTD_AMT,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
source_type ,
source_table ,
source_id ,
ref_line_id ,
line_type ,
--
group_id,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
gp_level,
--
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag
)
SELECT /*+INDEX (rar ra_ar_n1)*/
p_gt_id, --gt_id
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0), --amt
--HYU A negative adj distrib increase the inv rec therefore the rem on trx line
-- For ARPDDB and ARALLOCB integration detail distribution from ARPDDB needs
-- to be created in the same sign of the parent adjustment <=>
-- ADJ -100 will create a set of det_dist for the Write-off account with a total
-- of -100 ending decrease the line balance, no need to multply by -1 removing it
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0), --acctd_amt Rem * -1
rrc.ref_account_class, --account_class
rrc.code_combination_id, --ccid_secondary
NVL(rrc.ref_cust_trx_line_gl_dist_id,
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, --Boundary line : -6
'APP_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'UNEARN',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, --Boundary line : -6
'APP_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'UNBILL',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, --Boundary line : -6
'APP_FRT' ,-9, --Boundary frt : -9 frt adjustment over Rev line
-7), --Boundary charge:-7
'TAX', -8, -- Boundary tax
'FREIGHT',-9)), -- Boundary freight : This should not happens as not adjustment
-- will be tied to freight line
NVL(rrc.ref_customer_trx_line_id,
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, -- Boundary line:-6
'APP_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'UNEARN',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, -- Boundary line:-6
'APP_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'UNBILL',
DECODE(rrc.activity_bucket,'APP_LINE' ,-6, -- Boundary line:-6
'APP_FRT' ,-9, -- Boundary freight:-6
-7), -- Boundary charge:-7
'TAX', -8, -- Boundary tax
'FREIGHT',-9)), -- Boundary freight : This should not happens as not adjustment
-- will be tied to freight line
rar.ref_customer_trx_id,
rar.to_currency,
rar.base_currency,
-- ADJ and APP -- HYU "A reprendre ici"
0, -- DIST_AMT
0, -- DIST_ACCTD_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_CHRG_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_CHRG_ACCTD_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
DECODE(rrc.activity_bucket,'APP_FRT',
'UNBILL',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_FRT_AMT
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_FRT_ACCTD_AMT
0, -- DIST_TAX_AMT
0, -- DIST_TAX_ACCTD_AMT
--
rar.tl_alloc_amt ,
rar.tl_alloc_acctd_amt ,
rar.tl_chrg_alloc_amt ,
rar.tl_chrg_alloc_acctd_amt,
rar.tl_frt_alloc_amt ,
rar.tl_frt_alloc_acctd_amt ,
rar.tl_tax_alloc_amt ,
rar.tl_tax_alloc_acctd_amt ,
-- Elemt Rev
0, -- DIST_ED_AMT Rem * -1
0, -- DIST_ED_ACCTD_AMT Rem * -1
-- Elemt Chrg
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_ED_CHRG_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_ED_CHRG_ACCTD_AMT Rem * -1
-- Elemt Frt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_ED_FRT_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_ED_FRT_ACCTD_AMT Rem * -1
-- Elemt Tax
0, -- DIST_ED_TAX_AMT Rem * -1
0, -- DIST_ED_TAX_ACCTD_AMT Rem * -1
--Bucket
-- Buc Rev
rar.tl_ed_alloc_amt ,
rar.tl_ed_alloc_acctd_amt ,
--Buc Chrg
rar.tl_ed_chrg_alloc_amt ,
rar.tl_ed_chrg_alloc_acctd_amt,
--Buc Frt
rar.tl_ed_frt_alloc_amt ,
rar.tl_ed_frt_alloc_acctd_amt ,
--Buc Tax
rar.tl_ed_tax_alloc_amt ,
rar.tl_ed_tax_alloc_acctd_amt ,
--
-- UNED
-- Rev Elemt
0, -- DIST_UNED_AMT Rem * -1
0, -- DIST_UNED_ACCTD_AMT Rem * -1
-- Chrg Elemt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_UNED_CHRG_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_CHRG',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_UNED_CHRG_ACCTD_AMT Rem * -1
-- Frt Elemt
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),
0 ),
0), -- DIST_UNED_FRT_AMT Rem * -1
DECODE(rrc.ref_account_class,'REV',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNEARN',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
'UNBILL',
DECODE(rrc.activity_bucket,'APP_FRT',
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),
0 ),
0), -- DIST_UNED_FRT_ACCTD_AMT Rem * -1
-- Tax Elemt
0, -- DIST_UNED_TAX_AMT Rem * -1
0, -- DIST_UNED_TAX_ACCTD_AMT Rem * -1
--Bucket
-- Rev
rar.tl_uned_alloc_amt ,
rar.tl_uned_alloc_acctd_amt ,
--Chrg
rar.tl_uned_chrg_alloc_amt ,
rar.tl_uned_chrg_alloc_acctd_amt,
--Frt
rar.tl_uned_frt_alloc_amt ,
rar.tl_uned_frt_alloc_acctd_amt ,
--Tax
rar.tl_uned_tax_alloc_amt ,
rar.tl_uned_tax_alloc_acctd_amt ,
--
p_app_rec.APPLICATION_TYPE,
'RA',
p_app_rec.receivable_application_id,
rrc.ref_line_id,
rar.line_type,
--
rar.group_id,
rar.source_data_key1 ,
rar.source_data_key2 ,
rar.source_data_key3 ,
rar.source_data_key4 ,
rar.source_data_key5 ,
'D',
--BUG#3611016
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
rrc.tax_link_id, -- tax_link_id
DECODE(rrc.ref_account_class,'TAX','Y',
--'REV',DECODE(NVL(adj.tax_adjusted,0),0, 'N','Y'),
'REV','Y', -- BUG 7597090
'N') -- tax_inc_flag
FROM ra_ar_gt rar,
ar_distributions rrc,
ar_receivable_applications ra,
ra_customer_trx_lines ctl
WHERE rar.gt_id = p_gt_id
AND rar.ref_customer_trx_id = p_customer_trx_id
AND rar.gp_level = 'L'
AND ra.applied_customer_trx_id = p_customer_trx_id
AND rrc.source_table = 'RA'
AND rrc.source_id = ra.receivable_application_id
AND rar.ref_customer_trx_line_id = rrc.ref_customer_trx_line_id
AND rrc.ref_customer_trx_line_id = ctl.customer_trx_line_id
AND ctl.line_type = 'LINE'
AND rrc.activity_bucket in ('APP_FRT','APP_CHRG')
AND rar.ref_cust_trx_line_gl_dist_id IS NULL
AND (ra.upgrade_method = 'R12' OR ra.upgrade_method IS NULL);
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_GT
( GT_ID ,
AMT ,
ACCTD_AMT ,
ACCOUNT_CLASS ,
CCID_SECONDARY ,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUSTOMER_TRX_ID ,
TO_CURRENCY ,
BASE_CURRENCY ,
-- ADJ and APP Elmt
DIST_AMT, --HYUD LINE
DIST_ACCTD_AMT, --HYUD LINE
DIST_CHRG_AMT, --HYUD CHRG
DIST_CHRG_ACCTD_AMT, --HYUD CHRG
DIST_FRT_AMT, --HYUD FRT
DIST_FRT_ACCTD_AMT, --HYUD FRT
DIST_TAX_AMT, --HYUD TAX
DIST_TAX_ACCTD_AMT, --HYUD TAX
--
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
-- ED Elmt
DIST_ed_AMT,
DIST_ed_ACCTD_AMT,
DIST_ed_chrg_AMT,
DIST_ed_chrg_ACCTD_AMT,
DIST_ed_frt_AMT ,
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT ,
DIST_ed_tax_ACCTD_AMT,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
-- UNED
DIST_uned_AMT ,
DIST_uned_ACCTD_AMT ,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
DIST_uned_frt_AMT ,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT ,
DIST_uned_tax_ACCTD_AMT,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
source_type ,
source_table ,
source_id ,
ref_line_id ,
line_type ,
--
group_id,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
gp_level,
--
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag
)
SELECT p_gt_id, --gt_id
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0), --amt Rem * -1
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0), --acctd_amt Rem * -1
rrc.ref_account_class, --account_class
rrc.code_combination_id, --ccid_secondary
rrc.ref_cust_trx_line_gl_dist_id, -- (-6 line, -7 chrg, -8 tax, -9 frt)
rrc.ref_customer_trx_line_id,
p_customer_trx_id,
trx.invoice_currency_code,
arp_global.functional_currency,
-- APP
-- Elemt Rev
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_ACCTD_AMT Rem * -1
--Elemt Chrg
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_CHRG_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_CHRG_ACCTD_AMT Rem * -1
--Elemt Frt
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_FRT_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_FRT_ACCTD_AMT Rem * -1
--Elemt Tax
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_TAX_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_TAX_ACCTD_AMT Rem * -1
--Bucket
--Rev
decode(rrc.ref_customer_trx_line_id, -6, g_line_applied, 0) ,
decode(rrc.ref_customer_trx_line_id, -6, g_acctd_line_applied, 0) ,
--Chrg
decode(rrc.ref_customer_trx_line_id, -7, g_chrg_applied, 0) ,
decode(rrc.ref_customer_trx_line_id, -7, g_acctd_chrg_applied, 0) ,
--Frt
decode(rrc.ref_customer_trx_line_id, -9, g_frt_applied, 0) ,
decode(rrc.ref_customer_trx_line_id, -9, g_acctd_frt_applied, 0) ,
--Tax
decode(rrc.ref_customer_trx_line_id, -8, g_tax_applied, 0) ,
decode(rrc.ref_customer_trx_line_id, -8, g_acctd_tax_applied, 0) ,
--
-- ED
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_ED_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_ED_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_ED_CHRG_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_ED_CHRG_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_ED_FRT_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_ED_FRT_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_ED_TAX_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_ED_TAX_ACCTD_AMT Rem * -1
--
g_line_ed ,
g_acctd_line_ed ,
g_chrg_ed ,
g_acctd_chrg_ed ,
g_frt_ed ,
g_acctd_frt_ed ,
g_tax_ed ,
g_acctd_tax_ed ,
--
-- UNED
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_UNED_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_UNED_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_UNED_CHRG_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-7,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_UNED_CHRG_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_UNED_FRT_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-9,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_UNED_FRT_ACCTD_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.AMOUNT_CR,0) - NVL(rrc.AMOUNT_DR,0),0), -- DIST_UNED_TAX_AMT Rem * -1
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-8,
NVL(rrc.ACCTD_AMOUNT_CR,0) - NVL(rrc.ACCTD_AMOUNT_DR,0),0), -- DIST_UNED_TAX_ACCTD_AMT Rem * -1
--
g_line_uned ,
g_acctd_line_uned ,
g_chrg_uned ,
g_acctd_chrg_uned ,
g_frt_uned ,
g_acctd_frt_uned ,
g_tax_uned ,
g_acctd_tax_uned ,
--
p_app_rec.APPLICATION_TYPE,
'RA',
p_app_rec.receivable_application_id,
rrc.line_id,
DECODE(rrc.ref_cust_trx_line_gl_dist_id,-6,'LINE',
-7,'LINE',
-9,'LINE',
-8,'TAX' ),
--
g.group_id,
g.source_data_key1 ,
g.source_data_key2 ,
g.source_data_key3 ,
g.source_data_key4 ,
g.source_data_key5 ,
'D',
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
rrc.tax_link_id, -- tax_link_id
'N' -- tax_inc_flag
FROM ar_distributions rrc,
(SELECT /*+INDEX (ra_ar_gt ra_ar_n1)*/
MAX(group_id) group_id,
--{HYUBPAGP
MAX(source_data_key1) source_data_key1,
MAX(source_data_key2) source_data_key2,
MAX(source_data_key3) source_data_key3,
MAX(source_data_key4) source_data_key4,
MAX(source_data_key5) source_data_key5
--}
FROM ra_ar_gt
WHERE gt_id = p_gt_id
AND ref_customer_trx_id = p_customer_trx_id
AND gp_level = 'L') g,
ar_adjustments adj,
ra_customer_trx trx
--{Line Charge and Freight boundary
-- Insert freight dist or the charge dist only in the no CHARGES or FREIGHT line exist
-- As by default the boundary on those 2 lines exist only if there are no REV line on the invoice
-- But in the case the CHARGES or FREIGHT exist and we are not maintaining the balance on lines
-- The issue will be the amount applied in FRT or CHRG will get prorated on the initial
-- Freight line and charge line as there is no remaining on REV line for FRT and CHRG 100% of the amount
-- will be on the FRT and CHRG line, if we insert the boundary line here, the amount will be double accounted
--}
WHERE adj.customer_trx_id = p_customer_trx_id
AND adj.adjustment_id = rrc.source_id
AND rrc.source_table = 'ADJ'
AND ((rrc.ref_customer_trx_line_id = -6) OR --Line
(rrc.ref_customer_trx_line_id = -8) OR --Tax
(rrc.ref_customer_trx_line_id = -7 AND g_trx_line_chrg = 'N') OR --Charges
(rrc.ref_customer_trx_line_id = -9 AND g_trx_line_frt = 'N')) --Freight
AND (adj.upgrade_method = 'R12' OR adj.upgrade_method IS NULL)
AND adj.customer_trx_id = trx.customer_trx_id;
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_GT
( GT_ID ,
AMT ,
ACCTD_AMT ,
ACCOUNT_CLASS ,
CCID_SECONDARY ,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUSTOMER_TRX_ID ,
TO_CURRENCY ,
BASE_CURRENCY ,
-- ADJ and APP Elmt
DIST_AMT, --HYUD LINE
DIST_ACCTD_AMT, --HYUD LINE
DIST_CHRG_AMT, --HYUD CHRG
DIST_CHRG_ACCTD_AMT, --HYUD CHRG
DIST_FRT_AMT, --HYUD FRT
DIST_FRT_ACCTD_AMT, --HYUD FRT
DIST_TAX_AMT, --HYUD TAX
DIST_TAX_ACCTD_AMT, --HYUD TAX
--
tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
-- ED Elmt
DIST_ed_AMT,
DIST_ed_ACCTD_AMT,
DIST_ed_chrg_AMT,
DIST_ed_chrg_ACCTD_AMT,
DIST_ed_frt_AMT ,
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT ,
DIST_ed_tax_ACCTD_AMT,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
-- UNED
DIST_uned_AMT ,
DIST_uned_ACCTD_AMT ,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
DIST_uned_frt_AMT ,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT ,
DIST_uned_tax_ACCTD_AMT,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
source_type ,
source_table ,
source_id ,
ref_line_id ,
line_type ,
--
group_id,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
gp_level,
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag,
ref_mf_dist_flag
)
SELECT /*+INDEX (rar ra_ar_n1)*/
p_gt_id, --gt_id
NVL(rrc.AMOUNT,0), --amt in the sign of cor adj dist
NVL(rrc.AMOUNT,0), --acctd_amt is iden amt because in mfar world base and trx currency are the same
ctlgd.account_class, --account_class
rrc.mf_adjustment_ccid, --ccid_secondary
rrc.cust_trx_line_gl_dist_id, --ref_cust_trx_line_gl_dist_id no boundary can exist
ctlgd.customer_trx_line_id, -- ref_customer_trx_line_id no boundary can exist
rar.ref_customer_trx_id,
rar.to_currency,
rar.base_currency,
-- ADJ and APP
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_AMT
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_ACCTD_AMT
0, -- DIST_CHRG_AMT charges in psa are prorate on other lines
-- need revisit at charge line introduced in AR
0, -- DIST_CHRG_ACCTD_AMT
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_FRT_AMT
-- frt adjusted in psa are over frt line
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_FRT_ACCTD_AMT
-- frt adjusted in psa are over frt line
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_TAX_AMT
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_TAX_ACCTD_AMT
--
rar.tl_alloc_amt ,
rar.tl_alloc_acctd_amt ,
rar.tl_chrg_alloc_amt ,
rar.tl_chrg_alloc_acctd_amt,
rar.tl_frt_alloc_amt ,
rar.tl_frt_alloc_acctd_amt ,
rar.tl_tax_alloc_amt ,
rar.tl_tax_alloc_acctd_amt ,
-- ED
-- Elemt Rev
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_ED_AMT
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_ED_ACCTD_AMT
-- Elemt Chrg
0, -- DIST_ED_CHRG_AMT
0, -- DIST_ED_CHRG_ACCTD_AMT
-- Elemt Frt
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_ED_FRT_AMT
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_ED_FRT_ACCTD_AMT
-- Elemt Tax
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_ED_TAX_AMT
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_ED_TAX_ACCTD_AMT
--Bucket
-- Buc Rev
rar.tl_ed_alloc_amt ,
rar.tl_ed_alloc_acctd_amt ,
--Buc Chrg
rar.tl_ed_chrg_alloc_amt ,
rar.tl_ed_chrg_alloc_acctd_amt,
--Buc Frt
rar.tl_ed_frt_alloc_amt ,
rar.tl_ed_frt_alloc_acctd_amt ,
--Buc Tax
rar.tl_ed_tax_alloc_amt ,
rar.tl_ed_tax_alloc_acctd_amt ,
--
-- UNED
-- Rev Elemt
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_AMT
DECODE(ctlgd.account_class,'REV',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_ACCTD_AMT
-- Chrg Elemt
0, -- DIST_UNED_CHRG_AMT
0, -- DIST_UNED_CHRG_ACCTD_AMT
-- Frt Elemt
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_FRT_AMT
DECODE(ctlgd.account_class,'FREIGHT',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_FRT_ACCTD_AMT
-- Tax Elemt
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_TAX_AMT
DECODE(ctlgd.account_class,'TAX',NVL(rrc.AMOUNT,0),0), -- DIST_UNED_TAX_ACCTD_AMT
--Bucket
-- Rev
rar.tl_uned_alloc_amt ,
rar.tl_uned_alloc_acctd_amt ,
--Chrg
rar.tl_uned_chrg_alloc_amt ,
rar.tl_uned_chrg_alloc_acctd_amt,
--Frt
rar.tl_uned_frt_alloc_amt ,
rar.tl_uned_frt_alloc_acctd_amt ,
--Tax
rar.tl_uned_tax_alloc_amt ,
rar.tl_uned_tax_alloc_acctd_amt ,
--
p_app_rec.APPLICATION_TYPE,
'RA',
p_app_rec.receivable_application_id,
-12345, --ref_line_id -12345 at the insertion time need to interpret the ref_psa_dist_flag
rar.line_type,
--
rar.group_id,
rar.source_data_key1 ,
rar.source_data_key2 ,
rar.source_data_key3 ,
rar.source_data_key4 ,
rar.source_data_key5 ,
'D',
--BUG#3611016
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
-- g_se_gt_id,
DECODE(ctl.line_type,'TAX',ctl.link_to_cust_trx_line_id,
'LINE',ctl.customer_trx_line_id,
NULL), -- tax_link_id
DECODE(ctl.line_type,'TAX','Y',
'REV',DECODE(NVL(adj.tax_adjusted,0),0, 'N','Y'),
'N'), -- tax_inc_flag
'Y' -- ref_mf_dist_flag
FROM ra_ar_gt rar,
psa_mf_adj_dist_all rrc,
ra_cust_trx_line_gl_dist ctlgd,
ra_customer_trx_lines ctl,
ar_adjustments adj
WHERE rar.gt_id = p_gt_id
AND rar.ref_customer_trx_id = p_customer_trx_id
AND rar.gp_level = 'L'
AND rar.ref_customer_trx_line_id = ctl.customer_trx_line_id
AND rar.ref_customer_trx_line_id = ctlgd.customer_trx_line_id
AND rar.ref_cust_trx_line_gl_dist_id IS NULL
AND ctlgd.cust_trx_line_gl_dist_id = rrc.cust_trx_line_gl_dist_id
AND rrc.adjustment_id = adj.adjustment_id
AND adj.upgrade_method = '11IMFAR'; -- For adjustment the marks are R12 - 11I (cash) - 11IMFAR (Mfar)
localdebug(' rows inserted = ' || l_rows);
INSERT INTO AR_BASE_DIST_AMTS_GT
( gt_id
,gp_level
,ref_customer_trx_id
,ref_customer_trx_line_id
,base_dist_amt
,base_dist_acctd_amt
,base_dist_chrg_amt
,base_dist_chrg_acctd_amt
,base_dist_frt_amt
,base_dist_frt_acctd_amt
,base_dist_tax_amt
,base_dist_tax_acctd_amt
,base_ed_dist_amt
,base_ed_dist_acctd_amt
,base_ed_dist_chrg_amt
,base_ed_dist_chrg_acctd_amt
,base_ed_dist_frt_amt
,base_ed_dist_frt_acctd_amt
,base_ed_dist_tax_amt
,base_ed_dist_tax_acctd_amt
,base_uned_dist_amt
,base_uned_dist_acctd_amt
,base_uned_dist_chrg_amt
,base_uned_dist_chrg_acctd_amt
,base_uned_dist_frt_amt
,base_uned_dist_frt_acctd_amt
,base_uned_dist_tax_amt
,base_uned_dist_tax_acctd_amt
,set_of_books_id
,sob_type)
SELECT /*+INDEX (b ra_ar_n1)*/
p_gt_id
,b.gp_level
,b.ref_customer_trx_id
,b.ref_customer_trx_line_id
-- ADJ and APP
,SUM(b.dist_amt) base_dist_amt
,SUM(b.dist_acctd_amt) base_dist_acctd_amt
,SUM(b.dist_chrg_amt) base_dist_chrg_amt
,SUM(b.dist_chrg_acctd_amt) base_dist_chrg_acctd_amt
,SUM(b.dist_frt_amt) base_dist_frt_amt
,SUM(b.dist_frt_acctd_amt) base_dist_frt_acctd_amt
,SUM(b.dist_tax_amt) base_dist_tax_amt
,SUM(b.dist_tax_acctd_amt) base_dist_tax_acctd_amt
-- ED
,SUM(b.dist_ed_amt) base_ed_dist_amt
,SUM(b.dist_ed_acctd_amt) base_ed_dist_acctd_amt
,SUM(b.dist_ed_chrg_amt) base_ed_dist_chrg_amt
,SUM(b.dist_ed_chrg_acctd_amt) base_ed_dist_chrg_acctd_amt
,SUM(b.dist_ed_frt_amt) base_ed_dist_frt_amt
,SUM(b.dist_ed_frt_acctd_amt) base_ed_dist_frt_acctd_amt
,SUM(b.dist_ed_tax_amt) base_ed_dist_tax_amt
,SUM(b.dist_ed_tax_acctd_amt) base_ed_dist_tax_acctd_amt
-- UNED
,SUM(b.dist_uned_amt) base_uned_dist_amt
,SUM(b.dist_uned_acctd_amt) base_uned_dist_acctd_amt
,SUM(b.dist_uned_chrg_amt) base_uned_dist_chrg_amt
,SUM(b.dist_uned_chrg_acctd_amt) base_uned_dist_chrg_acctd_amt
,SUM(b.dist_uned_frt_amt) base_uned_dist_frt_amt
,SUM(b.dist_uned_frt_acctd_amt) base_uned_dist_frt_acctd_amt
,SUM(b.dist_uned_tax_amt) base_uned_dist_tax_amt
,SUM(b.dist_uned_tax_acctd_amt) base_uned_dist_tax_acctd_amt
,set_of_books_id
,sob_type
FROM ra_ar_gt b
WHERE b.gt_id = p_gt_id
AND b.gp_level = 'D'
AND b.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (b.sob_type = p_ae_sys_rec.sob_type OR
(b.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND b.ref_cust_trx_line_gl_dist_id IS NOT NULL
GROUP BY b.ref_customer_trx_id,
b.ref_customer_trx_line_id,
b.gp_level,
b.sob_type,b.set_of_books_id;
localdebug(' rows inserted(ar_base_dist_amts_gt) = ' || l_rows);
PROCEDURE update_dist
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
l_rows NUMBER;
SELECT /*+ leading (A) index(A ra_ar_n1) INDEX(B ar_base_dist_amts_gt_n1)*/
line_type||'-'||a.ref_customer_trx_id||'-'||a.ref_customer_trx_line_id groupe,
-- ADJ and APP
--Base
b.BASE_dist_AMT, --Base for Revenue distributions
b.BASE_dist_ACCTD_AMT,
b.BASE_dist_frt_AMT, --Base for freight distributions HYUFR
b.BASE_dist_frt_ACCTD_AMT,
b.BASE_dist_tax_AMT, --Base for tax distributions HYUFRTAX
b.BASE_dist_tax_ACCTD_AMT,
b.BASE_dist_chrg_AMT, --Base for charge distributions
b.BASE_dist_chrg_ACCTD_AMT,
--Element
DIST_AMT, --Element for Revenue distributions
DIST_ACCTD_AMT,
DIST_frt_AMT, --Element for freight distributions
DIST_frt_ACCTD_AMT,
DIST_tax_AMT, --Element for tax distributions
DIST_tax_ACCTD_AMT,
DIST_chrg_AMT, --Element for charge distributions
DIST_chrg_ACCTD_AMT,
--Amount to be allocated
tl_alloc_amt, --Allocation for Revenue distributions
tl_alloc_acctd_amt,
tl_frt_alloc_amt, --Allocation for freight distributions
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt, --Allocation for tax ditsributions
tl_tax_alloc_acctd_amt,
tl_chrg_alloc_amt, --Allocation for charge distributions
tl_chrg_alloc_acctd_amt,
-- ED
--Base
b.BASE_ed_dist_AMT, --Base ED on Rev
b.BASE_ed_dist_ACCTD_AMT,
b.BASE_ed_dist_frt_AMT, --Base ED on Freight HYUFR
b.BASE_ed_dist_frt_ACCTD_AMT,
b.BASE_ed_dist_tax_AMT, --Base ED on Tax HYUFRTAX
b.BASE_ed_dist_tax_ACCTD_AMT,
b.BASE_ed_dist_chrg_AMT, --Base ED on Charge
b.BASE_ed_dist_chrg_ACCTD_AMT,
--Element
DIST_ed_AMT, --Element ED on Rev
DIST_ed_ACCTD_AMT,
DIST_ed_frt_AMT, --Element ED on Freight HYUFR
DIST_ed_frt_ACCTD_AMT,
DIST_ed_tax_AMT, --Element ED on Tax HYUFRTAX
DIST_ed_tax_ACCTD_AMT,
DIST_ed_chrg_AMT, --Element ED on Charge
DIST_ed_chrg_ACCTD_AMT,
--Amount to be allocated
tl_ed_alloc_amt, --Allocation ED on Rev
tl_ed_alloc_acctd_amt,
tl_ed_frt_alloc_amt, --Allocation ED on Freight HYUFR
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt, --Allocation ED on Tax HYUFRTAX
tl_ed_tax_alloc_acctd_amt,
tl_ed_chrg_alloc_amt,
tl_ed_chrg_alloc_acctd_amt,
-- UNED
--Base
b.BASE_uned_dist_AMT,
b.BASE_uned_dist_ACCTD_AMT,
b.BASE_uned_dist_frt_AMT,
b.BASE_uned_dist_frt_ACCTD_AMT,
b.BASE_uned_dist_tax_AMT,
b.BASE_uned_dist_tax_ACCTD_AMT,
b.BASE_uned_dist_chrg_AMT,
b.BASE_uned_dist_chrg_ACCTD_AMT,
--Element
DIST_uned_AMT,
DIST_uned_ACCTD_AMT,
DIST_uned_frt_AMT,
DIST_uned_frt_ACCTD_AMT,
DIST_uned_tax_AMT,
DIST_uned_tax_ACCTD_AMT,
DIST_uned_chrg_AMT,
DIST_uned_chrg_ACCTD_AMT,
--Amount to be allocated
tl_uned_alloc_amt,
tl_uned_alloc_acctd_amt,
tl_uned_frt_alloc_amt,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt,
tl_uned_tax_alloc_acctd_amt,
tl_uned_chrg_alloc_amt,
tl_uned_chrg_alloc_acctd_amt,
--Currencies
NVL(BASE_CURRENCY, p_ae_sys_rec.base_currency) ,
TO_CURRENCY ,
FROM_CURRENCY ,
-- Rowid
a.rowid,
a.line_type
FROM RA_AR_GT a,AR_BASE_DIST_AMTS_GT b--[bug 6454022]
WHERE a.gt_id = p_gt_id
-- AND se_gt_id = g_se_gt_id
AND a.ref_customer_trx_id = p_customer_trx_id
AND a.ref_cust_trx_line_gl_dist_id IS NOT NULL
AND a.gp_level = 'D'
--BUG#3611016
AND a.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (a.sob_type = p_ae_sys_rec.sob_type OR (
a.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND b.gt_id = a.gt_id
AND b.gp_level = 'D'
AND a.ref_customer_trx_id = b.ref_customer_trx_id
AND a.ref_customer_trx_line_id = b.ref_customer_trx_line_id
AND b.set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (b.sob_type = p_ae_sys_rec.sob_type OR (
b.sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
--source_table is populated in AR_BASE_DIST_AMTS_GT only for online_lazy_apply flow,the condition
--is modified to restrict duplicate matching pairs [bug 8359020]
AND nvl( a.source_type,'#$%') =
DECODE( b.source_table,'CTLGD',nvl(b.source_type,'#$%'),
DECODE(b.source_type,null,nvl(a.source_type,'#$%'),b.source_type))
ORDER BY a.line_type||'-'||a.ref_customer_trx_id||'-'||a.ref_customer_trx_line_id||'-'||a.account_class;
localdebug('arp_det_dist_pkg.update_dist()+');
UPDATE ra_ar_gt
SET
-- ADJ and APP
tl_alloc_amt = l_tab.tl_alloc_amt(i),
tl_alloc_acctd_amt = l_tab.tl_alloc_acctd_amt(i),
tl_chrg_alloc_amt = l_tab.tl_chrg_alloc_amt(i),
tl_chrg_alloc_acctd_amt = l_tab.tl_chrg_alloc_acctd_amt(i),
tl_frt_alloc_amt = l_tab.tl_frt_alloc_amt(i),
tl_frt_alloc_acctd_amt = l_tab.tl_frt_alloc_acctd_amt(i),
tl_tax_alloc_amt = l_tab.tl_tax_alloc_amt(i),
tl_tax_alloc_acctd_amt = l_tab.tl_tax_alloc_acctd_amt(i),
-- ED
tl_ed_alloc_amt = l_tab.tl_ed_alloc_amt(i),
tl_ed_alloc_acctd_amt = l_tab.tl_ed_alloc_acctd_amt(i),
tl_ed_chrg_alloc_amt = l_tab.tl_ed_chrg_alloc_amt(i),
tl_ed_chrg_alloc_acctd_amt = l_tab.tl_ed_chrg_alloc_acctd_amt(i),
tl_ed_frt_alloc_amt = l_tab.tl_ed_frt_alloc_amt(i),
tl_ed_frt_alloc_acctd_amt = l_tab.tl_ed_frt_alloc_acctd_amt(i),
tl_ed_tax_alloc_amt = l_tab.tl_ed_tax_alloc_amt(i),
tl_ed_tax_alloc_acctd_amt = l_tab.tl_ed_tax_alloc_acctd_amt(i),
-- UNED
tl_uned_alloc_amt = l_tab.tl_uned_alloc_amt(i),
tl_uned_alloc_acctd_amt = l_tab.tl_uned_alloc_acctd_amt(i),
tl_uned_chrg_alloc_amt = l_tab.tl_uned_chrg_alloc_amt(i),
tl_uned_chrg_alloc_acctd_amt = l_tab.tl_uned_chrg_alloc_acctd_amt(i),
tl_uned_frt_alloc_amt = l_tab.tl_uned_frt_alloc_amt(i),
tl_uned_frt_alloc_acctd_amt = l_tab.tl_uned_frt_alloc_acctd_amt(i),
tl_uned_tax_alloc_amt = l_tab.tl_uned_tax_alloc_amt(i),
tl_uned_tax_alloc_acctd_amt = l_tab.tl_uned_tax_alloc_acctd_amt(i)
WHERE rowid = l_tab.ROWID_ID(i);
localdebug(' rows updated = ' || l_rows);
localdebug('arp_det_dist_pkg.update_dist()-');
localdebug(' EXCEPTION OTHERS update_dist :'||SQLERRM);
END update_dist;
INSERT INTO AR_LINE_APP_DETAIL_GT
( DET_ID
,APP_LEVEL
,GROUP_ID
,source_data_key1
,source_data_key2
,source_data_key3
,source_data_key4
,source_data_key5
,REF_CUSTOMER_TRX_ID
,REF_CUSTOMER_TRX_LINE_ID
,REF_CUST_TRX_LINE_GL_DIST_ID
,REF_LINE_ID
,REF_DET_ID
,SOURCE_TYPE
,SOURCE_TABLE
,SOURCE_ID
,AMOUNT
,ACCTD_AMOUNT
,CCID
,BASE_CURRENCY
,FROM_CURRENCY
,TO_CURRENCY
,ref_account_class
,activity_bucket
,CREATION_DATE
,CREATED_BY
,LAST_UPDATED_BY
,LAST_UPDATE_DATE
,LAST_UPDATE_LOGIN
,gt_id
,tax_link_id
,tax_inc_flag
, ledger_id
, ref_mf_dist_flag
, org_id
, tax_code_id
, location_segment_id
)
SELECT /*+INDEX (A ra_ar_n1)*/
NULL --ra_ar_s.NEXTVAL,
,p_app_level
,group_id
,source_data_key1
,source_data_key2
,source_data_key3
,source_data_key4
,source_data_key5
,REF_CUSTOMER_TRX_ID
,DECODE(b.act,'RAADJLINE' , DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-6,REF_CUSTOMER_TRX_LINE_ID),
'RAADJFREIGHT', DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-9,REF_CUSTOMER_TRX_LINE_ID),
'RAADJTAX' , DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-8,REF_CUSTOMER_TRX_LINE_ID),
'RAADJCHARGES', DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-7,REF_CUSTOMER_TRX_LINE_ID),
REF_CUSTOMER_TRX_LINE_ID)
,REF_CUST_TRX_LINE_GL_DIST_ID
,REF_LINE_ID
,REF_DET_ID
,source_type
,source_table
,source_id
,DECODE(b.act,'RAADJLINE' , tl_alloc_amt,
'RAADJFREIGHT', tl_frt_alloc_amt,
'RAADJTAX' , tl_tax_alloc_amt,
'RAADJCHARGES', tl_chrg_alloc_amt,
'EDLINE' , tl_ed_alloc_amt,
'EDFREIGHT' , tl_ed_frt_alloc_amt,
'EDTAX' , tl_ed_tax_alloc_amt,
'EDCHARGES' , tl_ed_chrg_alloc_amt,
'UNEDLINE' , tl_uned_alloc_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_amt,
'UNEDTAX' , tl_uned_tax_alloc_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_amt)
--acctd_alloc
,DECODE(b.act,'RAADJLINE' , tl_alloc_acctd_amt,
'RAADJFREIGHT', tl_frt_alloc_acctd_amt,
'RAADJTAX' , tl_tax_alloc_acctd_amt,
'RAADJCHARGES', tl_chrg_alloc_acctd_amt,
'EDLINE' , tl_ed_alloc_acctd_amt,
'EDFREIGHT' , tl_ed_frt_alloc_acctd_amt,
'EDTAX' , tl_ed_tax_alloc_acctd_amt,
'EDCHARGES' , tl_ed_chrg_alloc_acctd_amt,
'UNEDLINE' , tl_uned_alloc_acctd_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_acctd_amt,
'UNEDTAX' , tl_uned_tax_alloc_acctd_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_acctd_amt)
,CCID_SECONDARY
,BASE_CURRENCY
,FROM_CURRENCY
,TO_CURRENCY
--Account_class
,DECODE(b.act,
'RAADJLINE' , DECODE(ACCOUNT_CLASS, 'INVOICE','REV',ACCOUNT_CLASS),
'RAADJFREIGHT', DECODE(ACCOUNT_CLASS, 'INVOICE','FREIGHT',ACCOUNT_CLASS),
'RAADJTAX' , DECODE(ACCOUNT_CLASS, 'INVOICE','TAX',ACCOUNT_CLASS),
'RAADJCHARGES', DECODE(ACCOUNT_CLASS, 'INVOICE','CHARGES',ACCOUNT_CLASS),
ACCOUNT_CLASS)
--Activity Bucket
,DECODE(b.act,
'RAADJLINE' , DECODE(p_pay_adj,'APP','APP_LINE','ADJ','ADJ_LINE',''),
'RAADJFREIGHT', DECODE(p_pay_adj,'APP','APP_FRT','ADJ','ADJ_FRT',''),
'RAADJTAX' , DECODE(p_pay_adj,'APP','APP_TAX','ADJ','ADJ_TAX',''),
'RAADJCHARGES', DECODE(p_pay_adj,'APP','APP_CHRG','ADJ','ADJ_CHRG',''),
'EDLINE' , 'ED_LINE',
'EDFREIGHT' , 'ED_FRT',
'EDTAX' , 'ED_TAX',
'EDCHARGES' , 'ED_CHRG',
'UNEDLINE' , 'UNED_LINE',
'UNEDFREIGHT' , 'UNED_FRT',
'UNEDTAX' , 'UNED_TAX',
'UNEDCHARGES' , 'UNED_CHRG')
,SYSDATE
,1
,1
,SYSDATE
,1
,gt_id
,tax_link_id
,tax_inc_flag
, p_ae_sys_rec.set_of_books_id
, ref_mf_dist_flag
, g_org_id
, tax_code_id
, location_segment_id
FROM RA_AR_GT a,
(SELECT DECODE(ROWNUM,1, 'RAADJLINE',
2,'RAADJFREIGHT',
3,'RAADJTAX',
4,'RAADJCHARGES',
5,'EDLINE',
6,'EDFREIGHT',
7,'EDTAX',
8,'EDCHARGES',
9,'UNEDLINE',
10,'UNEDFREIGHT',
11,'UNEDTAX',
12,'UNEDCHARGES',NULL) act
FROM DUAL CONNECT BY ROWNUM < 13 ) b
WHERE REF_CUSTOMER_TRX_ID = p_customer_trx_id
AND gt_id = p_gt_id
AND REF_CUST_TRX_LINE_GL_DIST_ID IS NOT NULL
AND gp_level = 'D'
AND set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (sob_type = p_ae_sys_rec.sob_type OR
(sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND (( NVL(DECODE(b.act,
'RAADJLINE' , tl_alloc_amt,
'RAADJFREIGHT', tl_frt_alloc_amt,
'RAADJTAX' , tl_tax_alloc_amt,
'RAADJCHARGES', tl_chrg_alloc_amt,
'EDLINE' , tl_ed_alloc_amt,
'EDFREIGHT' , tl_ed_frt_alloc_amt,
'EDTAX' , tl_ed_tax_alloc_amt,
'EDCHARGES' , tl_ed_chrg_alloc_amt,
'UNEDLINE' , tl_uned_alloc_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_amt,
'UNEDTAX' , tl_uned_tax_alloc_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_amt),0)<> 0)
OR
( NVL(DECODE(p_pay_adj||line_type,'ADJTAX', DECODE(b.act,'RAADJTAX',abs(amt)+abs(tl_tax_alloc_amt)),
'APPTAX', DECODE(b.act, 'RAADJTAX',abs(amt)+abs(tl_tax_alloc_amt),
'EDTAX',decode(g_ed_req,'Y',decode(abs(amt)+abs(tl_tax_alloc_amt),0,tl_ed_tax_alloc_amt,1),1),
'UNEDTAX',decode(g_uned_req,'Y',decode(abs(amt)+abs(tl_tax_alloc_amt),0,tl_uned_tax_alloc_amt,1),1))),1)=0)
OR
( NVL(DECODE(b.act,
'RAADJLINE' , tl_alloc_acctd_amt,
'RAADJFREIGHT', tl_frt_alloc_acctd_amt,
'RAADJTAX' , tl_tax_alloc_acctd_amt,
'RAADJCHARGES', tl_chrg_alloc_acctd_amt,
'EDLINE' , tl_ed_alloc_acctd_amt,
'EDFREIGHT' , tl_ed_frt_alloc_acctd_amt,
'EDTAX' , tl_ed_tax_alloc_acctd_amt,
'EDCHARGES' , tl_ed_chrg_alloc_acctd_amt,
'UNEDLINE' , tl_uned_alloc_acctd_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_acctd_amt,
'UNEDTAX' , tl_uned_tax_alloc_acctd_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_acctd_amt),0)<>0)
OR
( NVL(DECODE(p_pay_adj||line_type,'ADJTAX', DECODE(b.act,'RAADJTAX',abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt)),
'APPTAX', DECODE(b.act,'RAADJTAX',abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),
'EDTAX',decode(g_ed_req,'Y',decode(abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),0,tl_ed_tax_alloc_acctd_amt,1),1),
'UNEDTAX',decode(g_uned_req,'Y',decode(abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),0,tl_uned_tax_alloc_acctd_amt,1),1))),1)=0));
INSERT INTO AR_LINE_APP_DETAIL_GT
( DET_ID ,
APP_LEVEL ,
GROUP_ID ,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUST_TRX_LINE_GL_DIST_ID ,
REF_LINE_ID ,
REF_DET_ID ,
SOURCE_TYPE ,
SOURCE_TABLE ,
SOURCE_ID ,
AMOUNT ,
ACCTD_AMOUNT ,
CCID ,
BASE_CURRENCY ,
FROM_CURRENCY ,
TO_CURRENCY ,
ref_account_class ,
activity_bucket ,
CREATION_DATE ,
CREATED_BY ,
LAST_UPDATED_BY ,
LAST_UPDATE_DATE ,
LAST_UPDATE_LOGIN ,
gt_id ,
tax_link_id,
tax_inc_flag,
ledger_id,
ref_mf_dist_flag,
org_id,
tax_code_id,
location_segment_id
)
SELECT /*+INDEX (A RA_ar_n1)*/
NULL, --ra_ar_s.NEXTVAL,
p_app_level ,
group_id ,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
REF_CUSTOMER_TRX_ID ,
DECODE(b.act,'RAADJLINE' , DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-6,REF_CUSTOMER_TRX_LINE_ID),
'RAADJFREIGHT', DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-9,REF_CUSTOMER_TRX_LINE_ID),
'RAADJTAX' , DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-8,REF_CUSTOMER_TRX_LINE_ID),
'RAADJCHARGES', DECODE(REF_CUSTOMER_TRX_LINE_ID,-10,-7,REF_CUSTOMER_TRX_LINE_ID),
REF_CUSTOMER_TRX_LINE_ID),
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_LINE_ID ,
REF_DET_ID ,
source_type ,
source_table ,
source_id ,
DECODE(b.act,'RAADJLINE' , tl_alloc_amt,
'RAADJFREIGHT', tl_frt_alloc_amt,
'RAADJTAX' , tl_tax_alloc_amt,
'RAADJCHARGES', tl_chrg_alloc_amt,
'EDLINE' , tl_ed_alloc_amt,
'EDFREIGHT' , tl_ed_frt_alloc_amt,
'EDTAX' , tl_ed_tax_alloc_amt,
'EDCHARGES' , tl_ed_chrg_alloc_amt,
'UNEDLINE' , tl_uned_alloc_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_amt,
'UNEDTAX' , tl_uned_tax_alloc_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_amt),
--acctd_alloc
DECODE(b.act,'RAADJLINE' , tl_alloc_acctd_amt,
'RAADJFREIGHT', tl_frt_alloc_acctd_amt,
'RAADJTAX' , tl_tax_alloc_acctd_amt,
'RAADJCHARGES', tl_chrg_alloc_acctd_amt,
'EDLINE' , tl_ed_alloc_acctd_amt,
'EDFREIGHT' , tl_ed_frt_alloc_acctd_amt,
'EDTAX' , tl_ed_tax_alloc_acctd_amt,
'EDCHARGES' , tl_ed_chrg_alloc_acctd_amt,
'UNEDLINE' , tl_uned_alloc_acctd_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_acctd_amt,
'UNEDTAX' , tl_uned_tax_alloc_acctd_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_acctd_amt),
CCID_SECONDARY,
BASE_CURRENCY,
FROM_CURRENCY,
TO_CURRENCY,
--Account_class
DECODE(b.act,
'RAADJLINE' , DECODE(ACCOUNT_CLASS, 'INVOICE','REV',ACCOUNT_CLASS),
'RAADJFREIGHT', DECODE(ACCOUNT_CLASS, 'INVOICE','FREIGHT',ACCOUNT_CLASS),
'RAADJTAX' , DECODE(ACCOUNT_CLASS, 'INVOICE','TAX',ACCOUNT_CLASS),
'RAADJCHARGES', DECODE(ACCOUNT_CLASS, 'INVOICE','CHARGES',ACCOUNT_CLASS),
ACCOUNT_CLASS),
--Activity Bucket
DECODE(b.act,
'RAADJLINE' , DECODE(p_pay_adj,'APP','APP_LINE','ADJ','ADJ_LINE',''),
'RAADJFREIGHT', DECODE(p_pay_adj,'APP','APP_FRT','ADJ','ADJ_FRT',''),
'RAADJTAX' , DECODE(p_pay_adj,'APP','APP_TAX','ADJ','ADJ_TAX',''),
'RAADJCHARGES', DECODE(p_pay_adj,'APP','APP_CHRG','ADJ','ADJ_CHRG',''),
'EDLINE' , 'ED_LINE',
'EDFREIGHT' , 'ED_FRT',
'EDTAX' , 'ED_TAX',
'EDCHARGES' , 'ED_CHRG',
'UNEDLINE' , 'UNED_LINE',
'UNEDFREIGHT' , 'UNED_FRT',
'UNEDTAX' , 'UNED_TAX',
'UNEDCHARGES' , 'UNED_CHRG'),
SYSDATE,
arp_standard.profile.user_id,
arp_standard.profile.user_id,
SYSDATE,
arp_standard.profile.last_update_login,
gt_id,
tax_link_id,
tax_inc_flag,
p_ae_sys_rec.set_of_books_id,
ref_mf_dist_flag,
arp_standard.sysparm.org_id,
tax_code_id,
location_segment_id
FROM RA_AR_GT a,
(SELECT DECODE(ROWNUM,1, 'RAADJLINE',
2,'RAADJFREIGHT',
3,'RAADJTAX',
4,'RAADJCHARGES',
5,'EDLINE',
6,'EDFREIGHT',
7,'EDTAX',
8,'EDCHARGES',
9,'UNEDLINE',
10,'UNEDFREIGHT',
11,'UNEDTAX',
12,'UNEDCHARGES',NULL) act
FROM DUAL CONNECT BY ROWNUM < 13 ) b
WHERE REF_CUSTOMER_TRX_ID = p_customer_trx_id
AND gt_id = p_gt_id
AND REF_CUST_TRX_LINE_GL_DIST_ID IS NOT NULL
AND gp_level = 'D'
AND set_of_books_id = p_ae_sys_rec.set_of_books_id
AND (sob_type = p_ae_sys_rec.sob_type OR
(sob_type IS NULL AND p_ae_sys_rec.sob_type IS NULL))
AND (( NVL(DECODE(b.act,
'RAADJLINE' , tl_alloc_amt,
'RAADJFREIGHT', tl_frt_alloc_amt,
'RAADJTAX' , tl_tax_alloc_amt,
'RAADJCHARGES', tl_chrg_alloc_amt,
'EDLINE' , tl_ed_alloc_amt,
'EDFREIGHT' , tl_ed_frt_alloc_amt,
'EDTAX' , tl_ed_tax_alloc_amt,
'EDCHARGES' , tl_ed_chrg_alloc_amt,
'UNEDLINE' , tl_uned_alloc_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_amt,
'UNEDTAX' , tl_uned_tax_alloc_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_amt),0)<> 0)
OR
( NVL(DECODE(p_pay_adj||line_type,'ADJTAX', DECODE(b.act,'RAADJTAX',abs(amt)+abs(tl_tax_alloc_amt)),
'APPTAX', DECODE(b.act, 'RAADJTAX',abs(amt)+abs(tl_tax_alloc_amt),
'EDTAX',decode(g_ed_req,'Y',decode(abs(amt)+abs(tl_tax_alloc_amt),0,tl_ed_tax_alloc_amt,1),1),
'UNEDTAX',decode(g_uned_req,'Y',decode(abs(amt)+abs(tl_tax_alloc_amt),0,tl_uned_tax_alloc_amt,1),1))),1)=0)
OR
( NVL(DECODE(b.act,
'RAADJLINE' , tl_alloc_acctd_amt,
'RAADJFREIGHT', tl_frt_alloc_acctd_amt,
'RAADJTAX' , tl_tax_alloc_acctd_amt,
'RAADJCHARGES', tl_chrg_alloc_acctd_amt,
'EDLINE' , tl_ed_alloc_acctd_amt,
'EDFREIGHT' , tl_ed_frt_alloc_acctd_amt,
'EDTAX' , tl_ed_tax_alloc_acctd_amt,
'EDCHARGES' , tl_ed_chrg_alloc_acctd_amt,
'UNEDLINE' , tl_uned_alloc_acctd_amt,
'UNEDFREIGHT' , tl_uned_frt_alloc_acctd_amt,
'UNEDTAX' , tl_uned_tax_alloc_acctd_amt,
'UNEDCHARGES' , tl_uned_chrg_alloc_acctd_amt),0)<>0)
OR
( NVL(DECODE(p_pay_adj||line_type,'ADJTAX', DECODE(b.act,'RAADJTAX',abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt)),
'APPTAX', DECODE(b.act, 'RAADJTAX',abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),
'EDTAX',decode(g_ed_req,'Y',decode(abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),0,tl_ed_tax_alloc_acctd_amt,1),1),
'UNEDTAX',decode(g_uned_req,'Y',decode(abs(acctd_amt)+abs(tl_tax_alloc_acctd_amt),0,tl_uned_tax_alloc_acctd_amt,1),1))),1)=0));
localdebug(' rows inserted = ' || l_rows);
/*update_taxable
(p_gt_id => p_gt_id,
p_customer_trx_id => p_customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);*/
UPDATE /*+INDEX (APP_OUT AR_LINE_APP_DETAIL_GT_N1) */
AR_LINE_APP_DETAIL_GT app_out
SET (taxable_amount, taxable_acctd_amount)
=
(SELECT /*+INDEX (APP_IN AR_LINE_APP_DETAIL_GT_N1) */
DECODE(app_out.activity_bucket, 'APP_TAX',
SUM(DECODE(activity_bucket,'APP_LINE',amount,
'ADJ_LINE',amount,
'APP_CHRG',amount,
'ADJ_CHRG',amount,
'APP_FRT' ,amount,
'ADJ_FRT' ,amount, 0)),
'ADJ_TAX',
SUM(DECODE(activity_bucket,'APP_LINE',amount,
'ADJ_LINE',amount,
'APP_CHRG',amount,
'ADJ_CHRG',amount,
'APP_FRT' ,amount,
'ADJ_FRT' ,amount, 0)),
'ED_TAX',
SUM(DECODE(activity_bucket,'ED_LINE',amount,
'ED_CHRG',amount,
'ED_FRT' ,amount, 0)),
'UNED_TAX',
SUM(DECODE(activity_bucket,'UNED_LINE',amount,
'UNED_CHRG',amount,
'UNED_FRT' ,amount, 0)),0) taxable_amount,
DECODE(app_out.activity_bucket, 'APP_TAX',
SUM(DECODE(activity_bucket,'APP_LINE',acctd_amount,
'ADJ_LINE',acctd_amount,
'APP_CHRG',acctd_amount,
'ADJ_CHRG',acctd_amount,
'APP_FRT' ,acctd_amount,
'ADJ_FRT' ,acctd_amount, 0)),
'ADJ_TAX',
SUM(DECODE(activity_bucket,'APP_LINE',acctd_amount,
'ADJ_LINE',acctd_amount,
'APP_CHRG',acctd_amount,
'ADJ_CHRG',acctd_amount,
'APP_FRT' ,acctd_amount,
'ADJ_FRT' ,acctd_amount, 0)),
'ED_TAX',
SUM(DECODE(activity_bucket,'ED_LINE',acctd_amount,
'ED_CHRG',acctd_amount,
'ED_FRT' ,acctd_amount, 0)),
'UNED_TAX',
SUM(DECODE(activity_bucket,'UNED_LINE',acctd_amount,
'UNED_CHRG',acctd_amount,
'UNED_FRT' ,acctd_amount, 0)),0) taxable_acctd_amount
FROM AR_LINE_APP_DETAIL_GT app_in
WHERE gt_id = p_gt_id
AND ref_customer_trx_id = p_customer_trx_id
AND tax_link_id IS NOT NULL
AND tax_link_id = app_out.tax_link_id)
WHERE gt_id = p_gt_id
AND ref_customer_trx_id = p_customer_trx_id
AND tax_link_id IS NOT NULL
AND DECODE(ref_account_class,'REV',tax_inc_flag,
'FREIGHT',tax_inc_flag,
'TAX','Y','N') = 'Y';
SELECT SUM(AMOUNT),
SUM(ACCTD_AMOUNT),
customer_trx_line_id
FROM ra_cust_trx_line_gl_dist
WHERE customer_trx_id = p_customer_trx_id
GROUP BY customer_trx_line_id;
UPDATE ra_customer_trx_lines
SET AMOUNT_DUE_REMAINING = l_amt_tab(i),
ACCTD_AMOUNT_DUE_REMAINING = l_acctd_amt_tab(i),
AMOUNT_DUE_ORIGINAL = l_amt_tab(i),
ACCTD_AMOUNT_DUE_ORIGINAL = l_acctd_amt_tab(i),
CHRG_AMOUNT_REMAINING = 0,
CHRG_ACCTD_AMOUNT_REMAINING = 0,
FRT_ADJ_REMAINING = 0,
FRT_ADJ_ACCTD_REMAINING = 0,
FRT_ED_AMOUNT = 0,
FRT_ED_ACCTD_AMOUNT = 0,
FRT_UNED_AMOUNT = 0,
FRT_UNED_ACCTD_AMOUNT = 0
WHERE customer_trx_line_id = l_ctl_tab(i);
UPDATE ra_customer_trx SET upgrade_method = 'R12'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
SELECT SUM(NVL(amount_due_remaining,0)) sum_due_rem,
SUM(NVL(amount_due_original,0)) sum_due_orig,
customer_trx_line_id customer_trx_line_id
FROM psa_mf_balances_view
WHERE customer_trx_id = p_customer_trx_id
GROUP BY customer_trx_line_id;
UPDATE ra_customer_trx_lines
SET AMOUNT_DUE_REMAINING = l_rem_amt_tab(i), -- Rem
ACCTD_AMOUNT_DUE_REMAINING = l_rem_amt_tab(i), -- Rem transaction currency = functional
AMOUNT_DUE_ORIGINAL = l_orig_amt_tab(i), -- original
ACCTD_AMOUNT_DUE_ORIGINAL = l_orig_amt_tab(i), -- original
CHRG_AMOUNT_REMAINING = 0,
CHRG_ACCTD_AMOUNT_REMAINING = 0,
FRT_ADJ_REMAINING = 0,
FRT_ADJ_ACCTD_REMAINING = 0,
FRT_ED_AMOUNT = 0,
FRT_ED_ACCTD_AMOUNT = 0,
FRT_UNED_AMOUNT = 0,
FRT_UNED_ACCTD_AMOUNT = 0
WHERE customer_trx_line_id = l_ctl_tab(i);
SELECT b.sum_orig sum_orig
,b.sum_acctd_orig sum_acctd_orig
,SUM((DECODE(a.activity_bucket,'ADJ_CHRG',amt
,'APP_CHRG',DECODE(a.line_type,'LINE',amt,0) * -1,0))) CHRG_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_CHRG',acctd_amt
,'APP_CHRG',DECODE(a.line_type,'LINE',acctd_amt,0) * -1,0))) ACCTD_CHRG_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_FRT',amt
,'APP_FRT',DECODE(a.line_type,'LINE',amt,0) * -1,0))) FRT_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_FRT',amt
,'APP_FRT',DECODE(a.line_type,'LINE',acctd_amt,0) * -1,0))) ACCTD_FRT_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ED_FRT',amt,0))) ED_FRT_REV_LINE
,SUM((DECODE(a.activity_bucket,'ED_FRT',acctd_amt,0))) ACCTD_ED_FRT_REV_LINE
,SUM((DECODE(a.activity_bucket,'UNED_FRT',amt,0))) UNED_FRT_REV_LINE
,SUM((DECODE(a.activity_bucket,'UNED_FRT',acctd_amt,0))) ACCTD_UNED_FRT_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_LINE',amt
,'APP_LINE',(amt * -1)
,'ED_LINE' ,amt
,'UNED_LINE',amt -- line
,'ADJ_TAX' ,amt
,'APP_TAX' ,(amt * -1)
,'ED_TAX' ,amt
,'UNED_TAX',amt --tax
,'APP_FRT' ,(DECODE(a.line_type,'FREIGHT',amt,0) * -1)
,'APP_CHRG',(DECODE(a.line_type,'CHARGES',amt,0) * -1)
,0))) REM_TYPE_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_LINE',acctd_amt
,'APP_LINE',(acctd_amt * -1)
,'ED_LINE' ,acctd_amt
,'UNED_LINE',acctd_amt -- line
,'ADJ_TAX' ,acctd_amt
,'APP_TAX' ,(acctd_amt * -1)
,'ED_TAX' ,acctd_amt
,'UNED_TAX',acctd_amt --tax
,'APP_FRT' ,(DECODE(a.line_type,'FREIGHT',acctd_amt,0) * -1)
,'APP_CHRG',(DECODE(a.line_type,'CHARGES',acctd_amt,0) * -1)
,0))) ACCTD_REM_TYPE_LINE
,b.customer_trx_line_id CUSTOMER_TRX_LINE_ID
FROM
(SELECT SUM( NVL(ard.amount_cr,0) - NVL(ard.amount_dr,0) ) amt,
SUM( NVL(ard.acctd_amount_cr,0) - NVL(ard.acctd_amount_dr,0)) acctd_amt,
ard.ref_customer_trx_line_id,
ard.ref_account_class,
ard.activity_bucket,
ctl.line_type
FROM ar_distributions ard,
ra_customer_trx_lines ctl
WHERE ctl.customer_trx_id = p_customer_trx_id
AND ctl.customer_trx_line_id = ard.ref_customer_trx_line_id
GROUP BY
ard.ref_customer_trx_line_id,
ard.ref_account_class,
ard.activity_bucket,
ctl.line_type) a,
(SELECT SUM(AMOUNT) sum_orig,
SUM(ACCTD_AMOUNT) sum_acctd_orig,
customer_trx_line_id
FROM ra_cust_trx_line_gl_dist
WHERE customer_trx_id = p_customer_trx_id
GROUP BY customer_trx_line_id) b
WHERE a.ref_customer_trx_line_id (+) = b.customer_trx_line_id
GROUP BY b.customer_trx_line_id,
b.sum_orig,
b.sum_acctd_orig;
UPDATE ra_customer_trx_lines
SET amount_due_original = l_sum_orig(i),
acctd_amount_due_original = l_sum_acctd_orig(i),
AMOUNT_DUE_REMAINING = l_sum_orig(i) + l_REM_TYPE_LINE(i),
ACCTD_AMOUNT_DUE_REMAINING = l_sum_acctd_orig(i) + l_ACCTD_REM_TYPE_LINE(i),
CHRG_AMOUNT_REMAINING = l_chrg_on_rev_line(i),
CHRG_ACCTD_AMOUNT_REMAINING = l_ACCTD_chrg_on_rev_line(i),
FRT_ADJ_REMAINING = l_FRT_ON_REV_LINE(i),
FRT_ADJ_ACCTD_REMAINING = l_ACCTD_FRT_ON_REV_LINE(i),
frt_ed_amount = l_ED_FRT_REV_LINE(i),
frt_ed_acctd_amount = l_ACCTD_ED_FRT_REV_LINE(i),
frt_uned_amount = l_UNED_FRT_REV_LINE(i),
frt_uned_acctd_amount = l_ACCTD_UNED_FRT_REV_LINE(i)
WHERE customer_trx_line_id = l_CUSTOMER_TRX_LINE_ID(i)
AND customer_trx_id = p_customer_trx.customer_trx_id;
SELECT
SUM(gld.AMOUNT),
SUM(gld.ACCTD_AMOUNT),
gld.customer_trx_line_id,
inv.customer_trx_id
FROM
ra_customer_trx inv,
ra_cust_trx_line_gl_dist gld,
ra_cust_trx_types ctt
WHERE inv.customer_trx_id = gld.customer_trx_id
AND ctt.CUST_TRX_TYPE_ID = inv.CUST_TRX_TYPE_ID
AND inv.request_id = p_request_id
AND ctt.TYPE in ('INV','DM')
GROUP BY gld.customer_trx_line_id,inv.customer_trx_id;
SELECT
customer_trx_id
FROM
ra_customer_trx inv,
ra_cust_trx_types ctt
WHERE request_id = P_request_id
AND ctt.CUST_TRX_TYPE_ID = inv.CUST_TRX_TYPE_ID
AND ctt.TYPE in ('INV','DM')
AND EXISTS
(SELECT 1
FROM ar_receivable_applications ar
WHERE ar.applied_customer_trx_id = inv.customer_trx_id
UNION
SELECT 1
FROM ar_adjustments ad
WHERE ad.customer_trx_id = inv.customer_trx_id
);
UPDATE ra_customer_trx_lines
SET AMOUNT_DUE_REMAINING = l_amt_tab(i),
ACCTD_AMOUNT_DUE_REMAINING = l_acctd_amt_tab(i),
AMOUNT_DUE_ORIGINAL = l_amt_tab(i),
ACCTD_AMOUNT_DUE_ORIGINAL = l_acctd_amt_tab(i),
CHRG_AMOUNT_REMAINING = 0,
CHRG_ACCTD_AMOUNT_REMAINING = 0,
FRT_ADJ_REMAINING = 0,
FRT_ADJ_ACCTD_REMAINING = 0,
FRT_ED_AMOUNT = 0,
FRT_ED_ACCTD_AMOUNT = 0,
FRT_UNED_AMOUNT = 0,
FRT_UNED_ACCTD_AMOUNT = 0
WHERE customer_trx_line_id = l_ctl_tab(i);
arp_standard.debug('Inserting into errors...');
INSERT INTO ra_interface_errors
(
--org_id,
interface_line_id,
message_text
)
SELECT
--org_id,
customer_trx_line_id,
l_msg
FROM
ra_customer_trx_lines lines
WHERE
lines.customer_trx_id = l_ctl_hd_tab(i);
UPDATE ra_customer_trx inv SET upgrade_method = 'R12'
WHERE request_id = p_request_id
AND EXISTS
( SELECT 1
FROM ra_cust_trx_types ctt
WHERE ctt.CUST_TRX_TYPE_ID = inv.CUST_TRX_TYPE_ID
AND ctt.TYPE in ('INV','DM'))
AND NOT EXISTS (
SELECT 1
FROM ra_customer_trx_lines l, ra_interface_errors e
WHERE l.customer_trx_id = inv.customer_trx_id
AND l.customer_trx_line_id = e.interface_line_id);
arp_standard.debug('Inserting into errors...');
INSERT INTO ra_interface_errors
(
--org_id,
interface_line_id,
message_text
)
SELECT
--org_id,
customer_trx_line_id,
l_msg
FROM
ra_customer_trx_lines lines
WHERE
lines.customer_trx_id = l_ctl_app_tab(i);
SELECT trx.upgrade_method,
ctl.amount_due_original,
ctl.amount_due_remaining
FROM ra_customer_trx trx,
ra_customer_trx_lines ctl
WHERE trx.customer_trx_id = p_customer_trx_id
AND ctl.customer_trx_id = trx.customer_trx_id;
localdebug('balance on the transaction should have been updated ');
localdebug(' Need to update it and the transaction will have balance maintained as the user is doing LLCA');
UPDATE ra_customer_trx
SET upgrade_method = 'R12'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx SET upgrade_method = 'R12'
WHERE customer_trx_id = p_customer_trx.customer_trx_id; */
UPDATE ra_customer_trx SET upgrade_method = 'R12_NLB'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx SET upgrade_method = 'R12_11IMFAR'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx SET upgrade_method = 'R12_11ICASH'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx SET upgrade_method = 'R12_11ICASH'
WHERE customer_trx_id = p_customer_trx.customer_trx_id;
PROCEDURE insert_ra_ar_gt
( p_ra_ar_gt IN ra_ar_gt%ROWTYPE,
p_ar_base_dist_amts_gt IN ar_base_dist_amts_gt%ROWTYPE,
p_ra_ar_amounts_gt IN ra_ar_amounts_gt%ROWTYPE
)
IS
l_rows NUMBER;
INSERT INTO ra_ar_gt
(
GT_ID
,BASE_CURRENCY
,TO_CURRENCY
,FROM_CURRENCY
,DET_ID
,LINE_ID
,REF_CUSTOMER_TRX_ID
,REF_CUSTOMER_TRX_LINE_ID
,REF_CUST_TRX_LINE_GL_DIST_ID
,REF_LINE_ID
,REF_DET_ID
,ACCOUNT_CLASS
,SOURCE_TYPE
,SOURCE_TABLE
,SOURCE_ID
,AMT
,ACCTD_AMT
,AMT_DR
,AMT_CR
,ACCTD_AMT_DR
,ACCTD_AMT_CR
,FROM_ACCTD_AMT_DR
,FROM_ACCTD_AMT_CR
,CCID
,CCID_SECONDARY
,DIST_AMT
,DIST_ACCTD_AMT
,ALLOC_AMT
,ALLOC_ACCTD_AMT
,FROM_ALLOC_AMT
,FROM_ALLOC_ACCTD_AMT
,tl_alloc_amt
,tl_alloc_acctd_amt
,tl_chrg_alloc_amt
,tl_chrg_alloc_acctd_amt
--
,tl_frt_alloc_amt
,tl_frt_alloc_acctd_amt
,tl_tax_alloc_amt
,tl_tax_alloc_acctd_amt
--
,DUE_REM_AMT
,DUE_REM_ACCTD_AMT
--
,FRT_REM_AMT
,FRT_REM_ACCTD_AMT
,TAX_REM_AMT
,TAX_REM_ACCTD_AMT
--
,DUE_ORIG_AMT
,DUE_ORIG_ACCTD_AMT
--
,FRT_ORIG_AMT
,FRT_ORIG_ACCTD_AMT
,TAX_ORIG_AMT
,TAX_ORIG_ACCTD_AMT
--
,CHRG_REM_AMT
,CHRG_REM_ACCTD_AMT
--
,FRT_ADJ_REM_AMT
,FRT_ADJ_REM_ACCTD_AMT
--
,LINE_TYPE
,SUM_LINE_REM_AMT
,SUM_LINE_REM_ACCTD_AMT
--
,SUM_LINE_FRT_REM_AMT
,SUM_LINE_FRT_REM_ACCTD_AMT
,SUM_LINE_TAX_REM_AMT
,SUM_LINE_TAX_REM_ACCTD_AMT
--
,SUM_LINE_ORIG_AMT
,SUM_LINE_ORIG_ACCTD_AMT
--
,SUM_LINE_FRT_ORIG_AMT
,SUM_LINE_FRT_ORIG_ACCTD_AMT
,SUM_LINE_TAX_ORIG_AMT
,SUM_LINE_TAX_ORIG_ACCTD_AMT
--
,SUM_LINE_CHRG_REM_AMT
,SUM_LINE_CHRG_REM_ACCTD_AMT
--
,TL_ED_ALLOC_AMT
,TL_ED_ALLOC_ACCTD_AMT
,TL_ED_CHRG_ALLOC_AMT
,TL_ED_CHRG_ALLOC_ACCTD_AMT
--
,TL_ED_FRT_ALLOC_AMT
,TL_ED_FRT_ALLOC_ACCTD_AMT
,TL_ED_TAX_ALLOC_AMT
,TL_ED_TAX_ALLOC_ACCTD_AMT
--
,TL_UNED_ALLOC_AMT
,TL_UNED_ALLOC_ACCTD_AMT
,TL_UNED_CHRG_ALLOC_AMT
,TL_UNED_CHRG_ALLOC_ACCTD_AMT
--
,TL_UNED_FRT_ALLOC_AMT
,TL_UNED_FRT_ALLOC_ACCTD_AMT
,TL_UNED_TAX_ALLOC_AMT
,TL_UNED_TAX_ALLOC_ACCTD_AMT
--
,DIST_ED_AMT
,DIST_ED_ACCTD_AMT
,DIST_UNED_AMT
,DIST_UNED_ACCTD_AMT
,gp_level
,group_id
,source_data_key1
,source_data_key2
,source_data_key3
,source_data_key4
,source_data_key5
, SET_OF_BOOKS_ID
, SOB_TYPE
, activity_bucket
)
VALUES
(
p_ra_ar_gt.GT_ID --GT_ID
,p_ra_ar_gt.BASE_CURRENCY --BASE_CURRENCY
,p_ra_ar_gt.TO_CURRENCY --TO_CURRENCY
,p_ra_ar_gt.FROM_CURRENCY --FROM_CURRENCY
,p_ra_ar_gt.DET_ID --DET_ID
,p_ra_ar_gt.LINE_ID --LINE_ID
,p_ra_ar_gt.REF_CUSTOMER_TRX_ID --REF_CUSTOMER_TRX_ID
,p_ra_ar_gt.REF_CUSTOMER_TRX_LINE_ID --REF_CUSTOMER_TRX_LINE_ID
,p_ra_ar_gt.REF_CUST_TRX_LINE_GL_DIST_ID --REF_CUST_TRX_LINE_GL_DIST_ID
,p_ra_ar_gt.REF_LINE_ID --REF_LINE_ID
,p_ra_ar_gt.REF_DET_ID --REF_DET_ID
,p_ra_ar_gt.ACCOUNT_CLASS --ACCOUNT_CLASS
,p_ra_ar_gt.SOURCE_TYPE --SOURCE_TYPE
,p_ra_ar_gt.SOURCE_TABLE --SOURCE_TABLE
,p_ra_ar_gt.SOURCE_ID --SOURCE_ID
,p_ra_ar_gt.AMT --AMT
,p_ra_ar_gt.ACCTD_AMT --ACCTD_AMT
,p_ra_ar_gt.AMT_DR --AMT_DR
,p_ra_ar_gt.AMT_CR --AMT_CR
,p_ra_ar_gt.ACCTD_AMT_DR --ACCTD_AMT_DR
,p_ra_ar_gt.ACCTD_AMT_CR --ACCTD_AMT_CR
,p_ra_ar_gt.FROM_ACCTD_AMT_DR --FROM_ACCTD_AMT_DR
,p_ra_ar_gt.FROM_ACCTD_AMT_CR --FROM_ACCTD_AMT_CR
,p_ra_ar_gt.CCID --CCID
,p_ra_ar_gt.CCID_SECONDARY --CCID_SECONDARY
,p_ra_ar_gt.DIST_AMT --DIST_AMT
,p_ra_ar_gt.DIST_ACCTD_AMT --DIST_ACCTD_AMT
,p_ra_ar_gt.ALLOC_AMT --ALLOC_AMT
,p_ra_ar_gt.ALLOC_ACCTD_AMT --ALLOC_ACCTD_AMT
,p_ra_ar_gt.FROM_ALLOC_AMT --FROM_ALLOC_AMT
,p_ra_ar_gt.FROM_ALLOC_ACCTD_AMT --FROM_ALLOC_ACCTD_AMT
,p_ra_ar_gt.tl_alloc_amt --TL_ALLOC_AMT
,p_ra_ar_gt.tl_alloc_acctd_amt --TL_ALLOC_ACCTD_AMT
,p_ra_ar_gt.tl_chrg_alloc_amt
,p_ra_ar_gt.tl_chrg_alloc_acctd_amt
--
,p_ra_ar_gt.tl_frt_alloc_amt --TL_FRT_ALLOC_AMT
,p_ra_ar_gt.tl_frt_alloc_acctd_amt --TL_FRT_ALLOC_ACCTD_AMT
,p_ra_ar_gt.tl_tax_alloc_amt
,p_ra_ar_gt.tl_tax_alloc_acctd_amt
--
,p_ra_ar_gt.DUE_REM_AMT
,p_ra_ar_gt.DUE_REM_ACCTD_AMT
--
,p_ra_ar_gt.FRT_REM_AMT
,p_ra_ar_gt.FRT_REM_ACCTD_AMT
,p_ra_ar_gt.TAX_REM_AMT
,p_ra_ar_gt.TAX_REM_ACCTD_AMT
--
,p_ra_ar_gt.DUE_ORIG_AMT
,p_ra_ar_gt.DUE_ORIG_ACCTD_AMT
--
,p_ra_ar_gt.FRT_ORIG_AMT
,p_ra_ar_gt.FRT_ORIG_ACCTD_AMT
,p_ra_ar_gt.TAX_ORIG_AMT
,p_ra_ar_gt.TAX_ORIG_ACCTD_AMT
--
,p_ra_ar_gt.CHRG_REM_AMT
,p_ra_ar_gt.CHRG_REM_ACCTD_AMT
--
,p_ra_ar_gt.FRT_ADJ_REM_AMT
,p_ra_ar_gt.FRT_ADJ_REM_ACCTD_AMT
--
,p_ra_ar_gt.LINE_TYPE
,p_ra_ar_gt.SUM_LINE_REM_AMT
,p_ra_ar_gt.SUM_LINE_REM_ACCTD_AMT
--
,p_ra_ar_gt.SUM_LINE_FRT_REM_AMT
,p_ra_ar_gt.SUM_LINE_FRT_REM_ACCTD_AMT
,p_ra_ar_gt.SUM_LINE_TAX_REM_AMT
,p_ra_ar_gt.SUM_LINE_TAX_REM_ACCTD_AMT
--
,p_ra_ar_gt.SUM_LINE_ORIG_AMT
,p_ra_ar_gt.SUM_LINE_ORIG_ACCTD_AMT
--
,p_ra_ar_gt.SUM_LINE_FRT_ORIG_AMT
,p_ra_ar_gt.SUM_LINE_FRT_ORIG_ACCTD_AMT
,p_ra_ar_gt.SUM_LINE_TAX_ORIG_AMT
,p_ra_ar_gt.SUM_LINE_TAX_ORIG_ACCTD_AMT
--
,p_ra_ar_gt.SUM_LINE_CHRG_REM_AMT
,p_ra_ar_gt.SUM_LINE_CHRG_REM_ACCTD_AMT
--
,p_ra_ar_gt.TL_ED_ALLOC_AMT
,p_ra_ar_gt.TL_ED_ALLOC_ACCTD_AMT
,p_ra_ar_gt.TL_ED_CHRG_ALLOC_AMT
,p_ra_ar_gt.TL_ED_CHRG_ALLOC_ACCTD_AMT
--
,p_ra_ar_gt.TL_ED_FRT_ALLOC_AMT
,p_ra_ar_gt.TL_ED_FRT_ALLOC_ACCTD_AMT
,p_ra_ar_gt.TL_ED_TAX_ALLOC_AMT
,p_ra_ar_gt.TL_ED_TAX_ALLOC_ACCTD_AMT
--
,p_ra_ar_gt.TL_UNED_ALLOC_AMT
,p_ra_ar_gt.TL_UNED_ALLOC_ACCTD_AMT
,p_ra_ar_gt.TL_UNED_CHRG_ALLOC_AMT
,p_ra_ar_gt.TL_UNED_CHRG_ALLOC_ACCTD_AMT
--
,p_ra_ar_gt.TL_UNED_FRT_ALLOC_AMT
,p_ra_ar_gt.TL_UNED_FRT_ALLOC_ACCTD_AMT
,p_ra_ar_gt.TL_UNED_TAX_ALLOC_AMT
,p_ra_ar_gt.TL_UNED_TAX_ALLOC_ACCTD_AMT
--
,p_ra_ar_gt.DIST_ED_AMT
,p_ra_ar_gt.DIST_ED_ACCTD_AMT
,p_ra_ar_gt.DIST_UNED_AMT
,p_ra_ar_gt.DIST_UNED_ACCTD_AMT
,p_ra_ar_gt.gp_level
,p_ra_ar_gt.group_id
,p_ra_ar_gt.source_data_key1
,p_ra_ar_gt.source_data_key2
,p_ra_ar_gt.source_data_key3
,p_ra_ar_gt.source_data_key4
,p_ra_ar_gt.source_data_key5
,p_ra_ar_gt.SET_OF_BOOKS_ID
,p_ra_ar_gt.SOB_TYPE
,p_ra_ar_gt.activity_bucket
) RETURNING ROWID INTO l_base_rowid;
localdebug(' rows inserted = ' || l_rows);
INSERT INTO AR_BASE_DIST_AMTS_GT
(
gt_id
,gp_level
,ref_customer_trx_id
,ref_customer_trx_line_id
,base_dist_amt
,base_dist_acctd_amt
,base_ed_dist_amt
,base_ed_dist_acctd_amt
,base_uned_dist_amt
,base_uned_dist_acctd_amt
,set_of_books_id
,sob_type
,source_table
)
VALUES
(
p_ra_ar_gt.gt_id
,p_ra_ar_gt.gp_level
,p_ra_ar_gt.ref_customer_trx_id
,p_ra_ar_gt.ref_customer_trx_line_id
,p_ar_base_dist_amts_gt.base_dist_amt
,p_ar_base_dist_amts_gt.base_dist_acctd_amt
,p_ar_base_dist_amts_gt.base_ed_dist_amt
,p_ar_base_dist_amts_gt.base_ed_dist_acctd_amt
,p_ar_base_dist_amts_gt.base_uned_dist_amt
,p_ar_base_dist_amts_gt.base_uned_dist_acctd_amt
,p_ra_ar_gt.SET_OF_BOOKS_ID
,p_ra_ar_gt.SOB_TYPE
,p_ra_ar_gt.SOURCE_TABLE
);
INSERT INTO RA_AR_AMOUNTS_GT
(
gt_id
,gp_level
,base_rec_rowid
,ref_customer_trx_id
,ref_customer_trx_line_id
,base_pro_amt
,base_pro_acctd_amt
,BASE_CHRG_PRO_AMT
,BASE_CHRG_PRO_ACCTD_AMT
--
,BASE_FRT_PRO_AMT
,BASE_FRT_PRO_ACCTD_AMT
,BASE_TAX_PRO_AMT
,BASE_TAX_PRO_ACCTD_AMT
--
,elmt_pro_amt
,elmt_pro_acctd_amt
,ELMT_CHRG_PRO_AMT
,ELMT_CHRG_PRO_ACCTD_AMT
--
,ELMT_FRT_PRO_AMT
,ELMT_FRT_PRO_ACCTD_AMT
,ELMT_TAX_PRO_AMT
,ELMT_TAX_PRO_ACCTD_AMT
--
,buc_alloc_amt
,buc_alloc_acctd_amt
,buc_chrg_alloc_amt
,buc_chrg_alloc_acctd_amt
--
,buc_frt_alloc_amt
,buc_frt_alloc_acctd_amt
,buc_tax_alloc_amt
,buc_tax_alloc_acctd_amt
,BUC_ED_ALLOC_AMT
,BUC_ED_ALLOC_ACCTD_AMT
,BUC_ED_CHRG_ALLOC_AMT
,BUC_ED_CHRG_ALLOC_ACCTD_AMT
--
,BUC_ED_FRT_ALLOC_AMT
,BUC_ED_FRT_ALLOC_ACCTD_AMT
,BUC_ED_TAX_ALLOC_AMT
,BUC_ED_TAX_ALLOC_ACCTD_AMT
--
,ELMT_ED_PRO_AMT
,ELMT_ED_PRO_ACCTD_AMT
,ELMT_ED_CHRG_PRO_AMT
,ELMT_ED_CHRG_PRO_ACCTD_AMT
--
,ELMT_ED_FRT_PRO_AMT
,ELMT_ED_FRT_PRO_ACCTD_AMT
,ELMT_ED_TAX_PRO_AMT
,ELMT_ED_TAX_PRO_ACCTD_AMT
--
,BASE_ED_PRO_AMT
,BASE_ED_PRO_ACCTD_AMT
,BASE_ED_CHRG_PRO_AMT
,BASE_ED_CHRG_PRO_ACCTD_AMT
--
,BASE_ED_FRT_PRO_AMT
,BASE_ED_FRT_PRO_ACCTD_AMT
,BASE_ED_TAX_PRO_AMT
,BASE_ED_TAX_PRO_ACCTD_AMT
,BUC_UNED_ALLOC_AMT
,BUC_UNED_ALLOC_ACCTD_AMT
,BUC_UNED_CHRG_ALLOC_AMT
,BUC_UNED_CHRG_ALLOC_ACCTD_AMT
--
,BUC_UNED_FRT_ALLOC_AMT
,BUC_UNED_FRT_ALLOC_ACCTD_AMT
,BUC_UNED_TAX_ALLOC_AMT
,BUC_UNED_TAX_ALLOC_ACCTD_AMT
--
,ELMT_UNED_PRO_AMT
,ELMT_UNED_PRO_ACCTD_AMT
,ELMT_UNED_CHRG_PRO_AMT
,ELMT_UNED_CHRG_PRO_ACCTD_AMT
--
,ELMT_UNED_FRT_PRO_AMT
,ELMT_UNED_FRT_PRO_ACCTD_AMT
,ELMT_UNED_TAX_PRO_AMT
,ELMT_UNED_TAX_PRO_ACCTD_AMT
--
,BASE_UNED_PRO_AMT
,BASE_UNED_PRO_ACCTD_AMT
,BASE_UNED_CHRG_PRO_AMT
,BASE_UNED_CHRG_PRO_ACCTD_AMT
--
,BASE_UNED_FRT_PRO_AMT
,BASE_UNED_FRT_PRO_ACCTD_AMT
,BASE_UNED_TAX_PRO_AMT
,BASE_UNED_TAX_PRO_ACCTD_AMT
)
VALUES
(
p_ra_ar_gt.gt_id
,p_ra_ar_gt.gp_level
,l_base_rowid
,p_ra_ar_gt.ref_customer_trx_id
,p_ra_ar_gt.ref_customer_trx_line_id
,p_ra_ar_amounts_gt.base_pro_amt
,p_ra_ar_amounts_gt.base_pro_acctd_amt
,p_ra_ar_amounts_gt.BASE_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.BASE_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BASE_FRT_PRO_AMT
,p_ra_ar_amounts_gt.BASE_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BASE_TAX_PRO_AMT
,p_ra_ar_amounts_gt.BASE_TAX_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.elmt_pro_amt
,p_ra_ar_amounts_gt.elmt_pro_acctd_amt
,p_ra_ar_amounts_gt.ELMT_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.ELMT_FRT_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.ELMT_TAX_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_TAX_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.buc_alloc_amt
,p_ra_ar_amounts_gt.buc_alloc_acctd_amt
,p_ra_ar_amounts_gt.buc_chrg_alloc_amt
,p_ra_ar_amounts_gt.buc_chrg_alloc_acctd_amt
--
,p_ra_ar_amounts_gt.buc_frt_alloc_amt
,p_ra_ar_amounts_gt.buc_frt_alloc_acctd_amt
,p_ra_ar_amounts_gt.buc_tax_alloc_amt
,p_ra_ar_amounts_gt.buc_tax_alloc_acctd_amt
,p_ra_ar_amounts_gt.BUC_ED_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_ED_ALLOC_ACCTD_AMT
,p_ra_ar_amounts_gt.BUC_ED_CHRG_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_ED_CHRG_ALLOC_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BUC_ED_FRT_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_ED_FRT_ALLOC_ACCTD_AMT
,p_ra_ar_amounts_gt.BUC_ED_TAX_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_ED_TAX_ALLOC_ACCTD_AMT
--
,p_ra_ar_amounts_gt.ELMT_ED_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_ED_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.ELMT_ED_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_ED_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.ELMT_ED_FRT_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_ED_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.ELMT_ED_TAX_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_ED_TAX_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BASE_ED_PRO_AMT
,p_ra_ar_amounts_gt.BASE_ED_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BASE_ED_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.BASE_ED_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BASE_ED_FRT_PRO_AMT
,p_ra_ar_amounts_gt.BASE_ED_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BASE_ED_TAX_PRO_AMT
,p_ra_ar_amounts_gt.BASE_ED_TAX_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BUC_UNED_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_UNED_ALLOC_ACCTD_AMT
,p_ra_ar_amounts_gt.BUC_UNED_CHRG_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_UNED_CHRG_ALLOC_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BUC_UNED_FRT_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_UNED_FRT_ALLOC_ACCTD_AMT
,p_ra_ar_amounts_gt.BUC_UNED_TAX_ALLOC_AMT
,p_ra_ar_amounts_gt.BUC_UNED_TAX_ALLOC_ACCTD_AMT
--
,p_ra_ar_amounts_gt.ELMT_UNED_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.ELMT_UNED_FRT_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_TAX_PRO_AMT
,p_ra_ar_amounts_gt.ELMT_UNED_TAX_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BASE_UNED_PRO_AMT
,p_ra_ar_amounts_gt.BASE_UNED_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BASE_UNED_CHRG_PRO_AMT
,p_ra_ar_amounts_gt.BASE_UNED_CHRG_PRO_ACCTD_AMT
--
,p_ra_ar_amounts_gt.BASE_UNED_FRT_PRO_AMT
,p_ra_ar_amounts_gt.BASE_UNED_FRT_PRO_ACCTD_AMT
,p_ra_ar_amounts_gt.BASE_UNED_TAX_PRO_AMT
,p_ra_ar_amounts_gt.BASE_UNED_TAX_PRO_ACCTD_AMT
);
localdebug(' rows inserted into AR_BASE_DIST_AMTS_GT = ' || l_rows);
END insert_ra_ar_gt;
SELECT /*+INDEX (RA_AR_GT ra_ar_n1)*/
MAX(sum_line_rem_amt),
MAX(sum_line_rem_acctd_amt),
MAX(sum_line_orig_amt),
MAX(sum_line_orig_acctd_amt),
MAX(sum_line_chrg_rem_amt),
MAX(sum_line_chrg_rem_acctd_amt),
--
MAX(sum_line_frt_rem_amt),
MAX(sum_line_frt_rem_acctd_amt),
MAX(sum_line_frt_orig_amt),
MAX(sum_line_frt_orig_acctd_amt),
--
MAX(sum_line_tax_rem_amt),
MAX(sum_line_tax_rem_acctd_amt),
MAX(sum_line_tax_orig_amt),
MAX(sum_line_tax_orig_acctd_amt),
--
line_type
FROM ra_ar_gt
WHERE gt_id = p_gt_id
-- AND se_gt_id = g_se_gt_id
AND ref_customer_trx_id = p_customer_trx_id
AND gp_level = 'L' --'D'
GROUP BY line_type;
SELECT invoice_currency_code,exchange_rate
FROM ra_customer_trx
WHERE customer_trx_id = p_customer_trx_id;
insert_ra_ar_gt(p_ra_ar_gt => l_ra_ar_gt,
p_ar_base_dist_amts_gt => l_ar_base_dist_amts_gt,
p_ra_ar_amounts_gt => l_ra_ar_amounts_gt
);
insert_ra_ar_gt(p_ra_ar_gt => l_ra_ar_gt,
p_ar_base_dist_amts_gt => l_ar_base_dist_amts_gt,
p_ra_ar_amounts_gt => l_ra_ar_amounts_gt
);
insert_ra_ar_gt(p_ra_ar_gt => l_ra_ar_gt,
p_ar_base_dist_amts_gt => l_ar_base_dist_amts_gt,
p_ra_ar_amounts_gt => l_ra_ar_amounts_gt
);
insert_ra_ar_gt(p_ra_ar_gt => l_ra_ar_gt,
p_ar_base_dist_amts_gt => l_ar_base_dist_amts_gt,
p_ra_ar_amounts_gt => l_ra_ar_amounts_gt
);
insert_ra_ar_gt(p_ra_ar_gt => l_ra_ar_gt);
PROCEDURE update_group_line
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
CURSOR c_read_for_gline IS
SELECT /*+ leading(B) INDEX(B ra_ar_n1) INDEX(D RA_AR_AMOUNTS_GT_N1)*/
b.group_id groupe,
-- ADJ AND APP
--Base
d.base_pro_amt,
d.base_pro_acctd_amt,
d.base_frt_pro_amt,
d.base_frt_pro_acctd_amt,
d.base_tax_pro_amt,
d.base_tax_pro_acctd_amt,
d.BASE_CHRG_PRO_AMT,
d.BASE_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_pro_amt,
d.elmt_pro_acctd_amt,
d.elmt_frt_pro_amt,
d.elmt_frt_pro_acctd_amt,
d.elmt_tax_pro_amt,
d.elmt_tax_pro_acctd_amt,
d.ELMT_CHRG_PRO_AMT,
d.ELMT_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_alloc_amt,
d.buc_alloc_acctd_amt,
d.buc_frt_alloc_amt,
d.buc_frt_alloc_acctd_amt,
d.buc_tax_alloc_amt,
d.buc_tax_alloc_acctd_amt,
d.buc_chrg_alloc_amt,
d.buc_chrg_alloc_acctd_amt,
-- ED
--Base
d.base_ed_pro_amt,
d.base_ed_pro_acctd_amt,
d.base_ed_frt_pro_amt,
d.base_ed_frt_pro_acctd_amt,
d.base_ed_tax_pro_amt,
d.base_ed_tax_pro_acctd_amt,
d.BASE_ed_CHRG_PRO_AMT,
d.BASE_ed_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_ed_pro_amt,
d.elmt_ed_pro_acctd_amt,
d.elmt_ed_frt_pro_amt,
d.elmt_ed_frt_pro_acctd_amt,
d.elmt_ed_tax_pro_amt,
d.elmt_ed_tax_pro_acctd_amt,
d.ELMT_ed_CHRG_PRO_AMT,
d.ELMT_ed_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_ed_alloc_amt,
d.buc_ed_alloc_acctd_amt,
d.buc_ed_frt_alloc_amt,
d.buc_ed_frt_alloc_acctd_amt,
d.buc_ed_tax_alloc_amt,
d.buc_ed_tax_alloc_acctd_amt,
d.buc_ed_chrg_alloc_amt,
d.buc_ed_chrg_alloc_acctd_amt,
-- UNED
--Base
d.base_uned_pro_amt,
d.base_uned_pro_acctd_amt,
d.base_uned_frt_pro_amt,
d.base_uned_frt_pro_acctd_amt,
d.base_uned_tax_pro_amt,
d.base_uned_tax_pro_acctd_amt,
d.BASE_uned_CHRG_PRO_AMT,
d.BASE_uned_CHRG_PRO_ACCTD_AMT,
--Element
d.elmt_uned_pro_amt,
d.elmt_uned_pro_acctd_amt,
d.elmt_uned_frt_pro_amt,
d.elmt_uned_frt_pro_acctd_amt,
d.elmt_uned_tax_pro_amt,
d.elmt_uned_tax_pro_acctd_amt,
d.ELMT_uned_CHRG_PRO_AMT,
d.ELMT_uned_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
d.buc_uned_alloc_amt,
d.buc_uned_alloc_acctd_amt,
d.buc_uned_frt_alloc_amt,
d.buc_uned_frt_alloc_acctd_amt,
d.buc_uned_tax_alloc_amt,
d.buc_uned_tax_alloc_acctd_amt,
d.buc_uned_chrg_alloc_amt,
d.buc_uned_chrg_alloc_acctd_amt,
----
--Currencies
b.BASE_CURRENCY ,
b.TO_CURRENCY ,
b.FROM_CURRENCY ,
-- Rowid
b.rowid,
b.line_type
FROM RA_AR_GT b,
RA_AR_AMOUNTS_GT d
WHERE b.gt_id = p_gt_id
AND b.ref_customer_trx_id = p_customer_trx_id
AND b.gp_level = 'GPL'
AND d.gt_id = b.gt_id
AND d.base_rec_rowid = b.rowid
AND b.SET_OF_BOOKS_ID = p_ae_sys_rec.set_of_books_id
AND (b.SOB_TYPE = p_ae_sys_rec.sob_type OR
(b.SOB_TYPE IS NULL AND p_ae_sys_rec.sob_type IS NULL))
ORDER BY b.group_id||'-'||
b.line_type||'-'||
b.ref_customer_trx_line_id;
localdebug('arp_det_dist_pkg.update_group_line()+');
localdebug('update ra_ar_gt trx_line_all ');
UPDATE ra_ar_gt
SET
-- ADJ and APP
tl_alloc_amt = l_tab.tl_alloc_amt(i),
tl_alloc_acctd_amt = l_tab.tl_alloc_acctd_amt(i),
tl_frt_alloc_amt = l_tab.tl_frt_alloc_amt(i),
tl_frt_alloc_acctd_amt = l_tab.tl_frt_alloc_acctd_amt(i),
tl_tax_alloc_amt = l_tab.tl_tax_alloc_amt(i),
tl_tax_alloc_acctd_amt = l_tab.tl_tax_alloc_acctd_amt(i),
tl_chrg_alloc_amt = l_tab.tl_chrg_alloc_amt(i),
tl_chrg_alloc_acctd_amt = l_tab.tl_chrg_alloc_acctd_amt(i),
-- ED
tl_ed_alloc_amt = l_tab.tl_ed_alloc_amt(i),
tl_ed_alloc_acctd_amt = l_tab.tl_ed_alloc_acctd_amt(i),
tl_ed_frt_alloc_amt = l_tab.tl_ed_frt_alloc_amt(i),
tl_ed_frt_alloc_acctd_amt = l_tab.tl_ed_frt_alloc_acctd_amt(i),
tl_ed_tax_alloc_amt = l_tab.tl_ed_tax_alloc_amt(i),
tl_ed_tax_alloc_acctd_amt = l_tab.tl_ed_tax_alloc_acctd_amt(i),
tl_ed_chrg_alloc_amt = l_tab.tl_ed_chrg_alloc_amt(i),
tl_ed_chrg_alloc_acctd_amt = l_tab.tl_ed_chrg_alloc_acctd_amt(i),
-- UNED
tl_uned_alloc_amt = l_tab.tl_uned_alloc_amt(i),
tl_uned_alloc_acctd_amt = l_tab.tl_uned_alloc_acctd_amt(i),
tl_uned_frt_alloc_amt = l_tab.tl_uned_frt_alloc_amt(i),
tl_uned_frt_alloc_acctd_amt = l_tab.tl_uned_frt_alloc_acctd_amt(i),
tl_uned_tax_alloc_amt = l_tab.tl_uned_tax_alloc_amt(i),
tl_uned_tax_alloc_acctd_amt = l_tab.tl_uned_tax_alloc_acctd_amt(i),
tl_uned_chrg_alloc_amt = l_tab.tl_uned_chrg_alloc_amt(i),
tl_uned_chrg_alloc_acctd_amt = l_tab.tl_uned_chrg_alloc_acctd_amt(i)
WHERE rowid = l_tab.ROWID_ID(i);
localdebug('arp_det_dist_pkg.update_group_line()-');
END update_group_line;
INSERT INTO RA_AR_GT
( GT_ID ,
BASE_CURRENCY ,
TO_CURRENCY ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
--
DUE_ORIG_AMT ,
DUE_ORIG_ACCTD_AMT ,
--{line of type CHRG
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
--}
--
FRT_ORIG_AMT ,
FRT_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_ORIG_ACCTD_AMT ,
--
DUE_REM_AMT ,
DUE_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
CHRG_REM_ACCTD_AMT ,
--
FRT_REM_AMT ,
FRT_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TAX_REM_ACCTD_AMT ,
--
--{line of type CHRG
CHRG_ADJ_REM_AMT ,
CHRG_ADJ_REM_ACCTD_AMT ,
--}
FRT_ADJ_REM_AMT ,
FRT_ADJ_REM_ACCTD_AMT ,
--
LINE_TYPE ,
group_id ,
--{For Group identification
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
--}
--
SUM_LINE_ORIG_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
--{line of type CHRG
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
--}
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_LINE_REM_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT,
--
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
--
gp_level,
--
set_of_books_id,
sob_type
-- se_gt_id
)
SELECT /*+INDEX (ctl ra_customer_trx_lines_gt_n1)*/
p_gt_id , --GT_ID
p_ae_sys_rec.base_currency , --BASE_CURRENCY
trx.invoice_currency_code , --TO_CURRENCY
trx.customer_trx_id , --REF_CUSTOMER_TRX_ID
ctl.customer_trx_line_id , --REF_CUSTOMER_TRX_LINE_ID
-- Orig
DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0), --DUE_ORIG_AMT
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0), --DUE_ORIG_ACCTD_AMT
--{line of type CHRG
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0), --CHRG_ORIG_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0), --CHRG_ORIG_ACCTD_AMT
--}
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0), --FRT_ORIG_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0), --FRT_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0), --TAX_ORIG_AMT
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0), --TAX_ORIG_ACCTD_AMT
-- Remaining
DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0) , --DUE_REM_AMT
DECODE(ctl.line_type,'LINE',acctd_amount_due_remaining,
'CB' ,acctd_amount_due_remaining,0), --DUE_REM_ACCTD_AMT
--{line of type CHRG
-- ctl.chrg_amount_remaining ,
-- ctl.chrg_acctd_amount_remaining,
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_remaining,0) , --CHRG_REM_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_remaining,0),--CHRG_REM_ACCTD_AMT
--}
--
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_remaining,0) , --FRT_REM_AMT
/*Frt Rem on freight is the
rem amount of the freight calculated
from orig frt - cash application
frt adjustment variations are excluded
they are kept in frt_adj_rem_amt on rev line */
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_remaining,0), --FRT_REM_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0) , --TAX_REM_AMT
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0), --TAX_REM_ACCTD_AMT
--
--{line of type CHRG
ctl.chrg_amount_remaining , --chrg_amount_remaining
ctl.chrg_acctd_amount_remaining , --chrg_acctd_amount_remaining
--}
ctl.frt_adj_remaining , --FRT_ADJ_REM_AMT
ctl.frt_adj_acctd_remaining , --FRT_ADJ_REM_ACCTD_AMT
--
ctl.line_type , --LINE_TYPE
-- NVL(ctl.SOURCE_DATA_KEY1,'00'), --GROUP_ID
DECODE(ctl.SOURCE_DATA_KEY1 ||
ctl.SOURCE_DATA_KEY2 ||
ctl.SOURCE_DATA_KEY3 ||
ctl.SOURCE_DATA_KEY4 ||
ctl.SOURCE_DATA_KEY5, NULL, '00',
ctl.SOURCE_DATA_KEY1 ||'-'||
ctl.SOURCE_DATA_KEY2 ||'-'||
ctl.SOURCE_DATA_KEY3 ||'-'||
ctl.SOURCE_DATA_KEY4 ||'-'||
ctl.SOURCE_DATA_KEY5), --GROUP_ID
--{Group identification
NVL(ctl.source_data_key1,'00'),
NVL(ctl.source_data_key2,'00'),
NVL(ctl.source_data_key3,'00'),
NVL(ctl.source_data_key4,'00'),
NVL(ctl.source_data_key5,'00'),
--}
--
SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_ORIG_AMT
SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_ORIG_ACCTD_AMT
--{line of type CHRG
SUM(DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_CHRG_ORIG_AMT
SUM(DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_CHRG_ORIG_ACCTD_AMT
--}
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_FRT_ORIG_AMT
SUM(DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_FRT_ORIG_ACCTD_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_TAX_ORIG_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_TAX_ORIG_ACCTD_AMT
--
SUM(DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_REM_AMT
SUM(DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00'),
ctl.line_type ), --SUM_LINE_REM_ACCTD_AMT
--{line of type CHRG
SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00') ),--SUM_LINE_CHRG_REM_AMT
SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00') ),--SUM_LINE_CHRG_REM_ACCTD_AMT
-- SUM(ctl.chrg_amount_remaining)
-- OVER (PARTITION BY trx.customer_trx_id,
-- NVL(ctl.SOURCE_DATA_KEY1,'00'),
-- NVL(ctl.SOURCE_DATA_KEY2,'00'),
-- NVL(ctl.SOURCE_DATA_KEY3,'00'),
-- NVL(ctl.SOURCE_DATA_KEY4,'00'),
-- NVL(ctl.SOURCE_DATA_KEY5,'00'),
-- ctl.line_type ), --SUM_LINE_CHRG_REM_AMT
-- SUM(ctl.chrg_acctd_amount_remaining)
-- OVER (PARTITION BY trx.customer_trx_id,
-- NVL(ctl.SOURCE_DATA_KEY1,'00'),
-- NVL(ctl.SOURCE_DATA_KEY2,'00'),
-- NVL(ctl.SOURCE_DATA_KEY3,'00'),
-- NVL(ctl.SOURCE_DATA_KEY4,'00'),
-- NVL(ctl.SOURCE_DATA_KEY5,'00'),
-- ctl.line_type ), --SUM_LINE_CHRG_REM_ACCTD_AMT
--}
--
/* This is the sum of freight amount adjusted on the revenue line
+ sum of freight amount due remaining on the original freight line
Those 2 amounts combined form the basis for cash receipt apps */
SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00') ),--SUM_LINE_FRT_REM_AMT
SUM(DECODE
(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0)) OVER (PARTITION BY trx.customer_trx_id,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00') ),--SUM_LINE_FRT_REM_ACCTD_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00')), --SUM_LINE_TAX_REM_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type,
NVL(ctl.SOURCE_DATA_KEY1,'00'),
NVL(ctl.SOURCE_DATA_KEY2,'00'),
NVL(ctl.SOURCE_DATA_KEY3,'00'),
NVL(ctl.SOURCE_DATA_KEY4,'00'),
NVL(ctl.SOURCE_DATA_KEY5,'00')), --SUM_LINE_TAX_REM_ACCTD_AMT
--
'L',
--
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type
-- g_se_gt_id
FROM ra_customer_trx trx,
ra_customer_trx_lines_gt ctl
WHERE trx.customer_trx_id = p_customer_trx_id
AND trx.customer_trx_id = ctl.customer_trx_id
-- AND NVL(ctl.group_id,'00') = p_group_id
--{HYUBPAGP
AND NVL(ctl.source_data_key1,'00') = NVL(p_source_data_key1,'00')
AND NVL(ctl.source_data_key2,'00') = NVL(p_source_data_key2,'00')
AND NVL(ctl.source_data_key3,'00') = NVL(p_source_data_key3,'00')
AND NVL(ctl.source_data_key4,'00') = NVL(p_source_data_key4,'00')
AND NVL(ctl.source_data_key5,'00') = NVL(p_source_data_key5,'00');
localdebug(' rows inserted = ' || l_rows);
INSERT INTO RA_AR_GT
( GT_ID ,
BASE_CURRENCY ,
TO_CURRENCY ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
--
DUE_ORIG_AMT ,
DUE_ORIG_ACCTD_AMT ,
--
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
FRT_ORIG_AMT ,
FRT_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_ORIG_ACCTD_AMT ,
--
DUE_REM_AMT ,
DUE_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
CHRG_REM_ACCTD_AMT ,
--
FRT_REM_AMT ,
FRT_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TAX_REM_ACCTD_AMT ,
--
FRT_ADJ_REM_AMT ,
FRT_ADJ_REM_ACCTD_AMT ,
--
LINE_TYPE ,
group_id ,
--{HYUBPAGP
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
--}
--
SUM_LINE_ORIG_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
--{HYUCHRG
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
--}
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
--
SUM_LINE_REM_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT,
--
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
--
gp_level,
--
set_of_books_id,
sob_type,
tax_link_id,
tax_inc_flag)
-- se_gt_id)
SELECT /*+INDEX (ctl ra_customer_trx_lines_gt_n1)*/
p_gt_id , --GT_ID
p_ae_sys_rec.base_currency , --BASE_CURRENCY
trx.invoice_currency_code , --TO_CURRENCY
trx.customer_trx_id , --REF_CUSTOMER_TRX_ID
ctl.customer_trx_line_id , --REF_CUSTOMER_TRX_LINE_ID
-- Orig
DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0), --DUE_ORIG_AMT
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0), --DUE_ORIG_ACCTD_AMT
--{HYUCHRG
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0), --CHRG_ORIG_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0), --CHRG_ORIG_ACCTD_AMT
--}
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0), --FRT_ORIG_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0), --FRT_ORIG_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0), --TAX_ORIG_AMT
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0), --TAX_ORIG_ACCTD_AMT
-- Remaining
DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0) , --DUE_REM_AMT
/*DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0), --DUE_REM_ACCTD_AMT*/
DECODE(ctl.line_type,'LINE',
DECODE(ctl.amount_due_remaining,0,
ctl.acctd_amount_due_remaining,
DECODE(ctl.acctd_amount_due_remaining,0,
arpcurr.CurrRound( ctl.amount_due_remaining *
nvl(trx.exchange_rate,1)
,trx.invoice_currency_code),
ctl.acctd_amount_due_remaining)),
'CB' ,ctl.acctd_amount_due_remaining,0), --DUE_REM_ACCTD_AMT
--{HYUCHRG
-- DECODE(ctl.line_type,'LINE',ctl.chrg_amount_remaining,
-- 'CB' ,ctl.chrg_amount_remaining,0),
-- DECODE(ctl.line_type,'LINE',ctl.chrg_acctd_amount_remaining,
-- 'CB' ,ctl.chrg_acctd_amount_remaining,0),
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_remaining,0) , --CHRG_REM_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_remaining,0), --CHRG_REM_ACCTD_AMT
--}
--
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_remaining,0) , --FRT_REM_AMT
/*Frt Rem on freight is the
rem amount of the freight calculated
from orig frt - cash application
frt adjustment variations are excluded
they are kept in frt_adj_rem_amt on rev line */
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_remaining,0), --FRT_REM_ACCTD_AMT
DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0) , --TAX_REM_AMT
DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0), --TAX_REM_ACCTD_AMT
ctl.frt_adj_remaining , --FRT_ADJ_REM_AMT
ctl.frt_adj_acctd_remaining , --FRT_ADJ_REM_ACCTD_AMT
--
ctl.line_type , --LINE_TYPE
DECODE(ctl.SOURCE_DATA_KEY1 ||
ctl.SOURCE_DATA_KEY2 ||
ctl.SOURCE_DATA_KEY3 ||
ctl.SOURCE_DATA_KEY4 ||
ctl.SOURCE_DATA_KEY5, NULL, '00',
ctl.SOURCE_DATA_KEY1 ||'-'||
ctl.SOURCE_DATA_KEY2 ||'-'||
ctl.SOURCE_DATA_KEY3 ||'-'||
ctl.SOURCE_DATA_KEY4 ||'-'||
ctl.SOURCE_DATA_KEY5), --GROUP_ID
-- NVL(ctl.SOURCE_DATA_KEY1,'00'), --GROUP_ID
--{HYUBPAGP
NVL(ctl.source_data_key1,'00'),
NVL(ctl.source_data_key2,'00'),
NVL(ctl.source_data_key3,'00'),
NVL(ctl.source_data_key4,'00'),
NVL(ctl.source_data_key5,'00'),
--}
--
DECODE(ctl.line_type,'LINE',ctl.amount_due_original,
'CB' ,ctl.amount_due_original,0), --SUM_LINE_ORIG_AMT
DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_original,
'CB' ,ctl.acctd_amount_due_original,0), --SUM_LINE_ORIG_ACCTD_AMT
--{HYUCHRG
DECODE(ctl.line_type,'CHARGES',ctl.amount_due_original,0), --SUM_LINE_CHRG_ORIG_AMT
DECODE(ctl.line_type,'CHARGES',ctl.acctd_amount_due_original,0), --SUM_LINE_CHRG_ORIG_ACCTD_AMT
--}
DECODE(ctl.line_type,'FREIGHT',ctl.amount_due_original,0), --SUM_LINE_FRT_ORIG_AMT
DECODE(ctl.line_type,'FREIGHT',ctl.acctd_amount_due_original,0), --SUM_LINE_FRT_ORIG_ACCTD_AMT
--HYUIssue
-- DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0), --SUM_LINE_TAX_ORIG_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_AMT
-- DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_original,0), --SUM_LINE_TAX_ORIG_ACCTD_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.ACCTD_amount_due_original,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_ORIG_ACCTD_AMT
--}
--
DECODE(ctl.line_type,'LINE',ctl.amount_due_remaining,
'CB' ,ctl.amount_due_remaining,0), --SUM_LINE_REM_AMT
DECODE(ctl.line_type,'LINE',
DECODE(ctl.amount_due_remaining,0,
ctl.acctd_amount_due_remaining,
DECODE(ctl.acctd_amount_due_remaining,0,
arpcurr.CurrRound( ctl.amount_due_remaining *
nvl(trx.exchange_rate,1)
,trx.invoice_currency_code),
ctl.acctd_amount_due_remaining)),
'CB' ,ctl.acctd_amount_due_remaining,0), --SUM_LINE_REM_ACCTD_AMT
/*DECODE(ctl.line_type,'LINE',ctl.acctd_amount_due_remaining,
'CB' ,ctl.acctd_amount_due_remaining,0), --SUM_LINE_REM_ACCTD_AMT*/
--{HYUCHRG
-- ctl.chrg_amount_remaining,
-- ctl.chrg_acctd_amount_remaining,
DECODE(ctl.line_type,'LINE' ,NVL(ctl.chrg_amount_remaining,0),
'CB' ,NVL(ctl.chrg_amount_remaining,0),
'CHARGES',NVL(ctl.amount_due_remaining,0),
0), --SUM_LINE_CHRG_REM_AMT
DECODE(ctl.line_type,'LINE' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CB' ,NVL(ctl.chrg_acctd_amount_remaining,0),
'CHARGES',NVL(ctl.acctd_amount_due_remaining,0),
0), --SUM_LINE_CHRG_REM_ACCTD_AMT
--}
--
DECODE(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_remaining,0),
'CB' ,NVL(ctl.frt_adj_remaining,0),
'FREIGHT',NVL(ctl.amount_due_remaining,0),
0), --SUM_LINE_FRT_REM_AMT
DECODE(ctl.line_type,'LINE' ,NVL(ctl.frt_adj_acctd_remaining,0),
'CB' ,NVL(ctl.frt_adj_acctd_remaining,0),
'FREIGHT',NVL(ctl.acctd_amount_due_remaining,0),
0), --SUM_LINE_FRT_REM_ACCTD_AMT
--HYUIssue
-- DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0), --SUM_LINE_TAX_REM_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_REM_AMT
-- DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0), --SUM_LINE_TAX_REM_ACCTD_AMT
SUM(DECODE(ctl.line_type,'TAX',ctl.acctd_amount_due_remaining,0))
OVER (PARTITION BY trx.customer_trx_id,ctl.line_type ), --SUM_LINE_TAX_REM_ACCTD_AMT
--}
--
'L',
--
p_ae_sys_rec.set_of_books_id,
p_ae_sys_rec.sob_type,
--{Taxable_amount
DECODE(ctl.line_type, 'TAX' ,ctl.link_to_cust_trx_line_id,
'LINE',ctl.customer_trx_line_id,
'CB' ,ctl.customer_trx_line_id,
NULL),
DECODE(ctl.line_type,'LINE','Y',
'CB' ,'Y',
'TAX','Y','N')
-- g_se_gt_id
FROM ra_customer_trx trx,
( select *
from ra_customer_trx_lines_gt ctl2
where ctl2.customer_trx_id = p_customer_trx_id
and ctl2.customer_trx_line_id = p_customer_trx_line_id
union all
select *
from ra_customer_trx_lines_gt ctl2
where ctl2.customer_trx_id = p_customer_trx_id
and ctl2.LINK_TO_CUST_TRX_LINE_ID = p_customer_trx_line_id
) ctl
WHERE trx.customer_trx_id = p_customer_trx_id;
localdebug(' rows inserted = ' || l_rows);
update_dist(p_customer_trx_id => p_customer_trx_id,
p_gt_id => p_gt_id,
p_ae_sys_rec => p_ae_sys_rec);
update_dist(p_customer_trx_id => p_customer_trx_id,
p_gt_id => p_gt_id,
p_ae_sys_rec => p_ae_sys_rec);
| 3) update_group_line |
| 4) prepare_trx_line_proration |
| 5) update_line |
| 6) update_ctl_rem_orig |
| 7) store_gt_id |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_app_rec ar receivable application record |
| p_ae_sys_rec ar system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE Trx_level_cash_apply
(p_customer_trx IN ra_customer_trx%ROWTYPE,
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_gt_id IN VARCHAR2 DEFAULT NULL)
IS
l_adj_rec ar_adjustments%ROWTYPE;
update_group_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'APP',
p_ae_sys_rec => p_ae_sys_rec);
| 3) update_group_line |
| 4) prepare_trx_line_proration |
| 5) update_line |
| 6) update_ctl_rem_orig |
| 7) store_group_id |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_group_id source_data_key1 |
| p_app_rec ar receivable application record |
| p_ae_sys_rec ar system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE Trx_gp_level_cash_apply
(p_customer_trx IN ra_customer_trx%ROWTYPE,
-- p_group_id IN VARCHAR2,
--{HYUBPAGP
p_source_data_key1 IN VARCHAR2,
p_source_data_key2 IN VARCHAR2,
p_source_data_key3 IN VARCHAR2,
p_source_data_key4 IN VARCHAR2,
p_source_data_key5 IN VARCHAR2,
--}
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_gt_id IN VARCHAR2 DEFAULT NULL)
IS
l_adj_rec ar_adjustments%ROWTYPE;
update_group_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'APP',
p_ae_sys_rec => p_ae_sys_rec,
-- p_group_id => p_group_id,
--{HYUBPAGP
p_source_data_key1 => p_source_data_key1,
p_source_data_key2 => p_source_data_key2,
p_source_data_key3 => p_source_data_key3,
p_source_data_key4 => p_source_data_key4,
p_source_data_key5 => p_source_data_key5);
| 3) update_group_line |
| 4) prepare_trx_line_proration |
| 5) update_line |
| 6) update_ctl_rem_orig |
| 7) store_group_id |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_customer_trx_line_id customer_trx_line_id |
| p_app_rec ar receivable application record |
| p_ae_sys_rec ar system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE Trx_line_level_cash_apply
(p_customer_trx IN ra_customer_trx%ROWTYPE,
p_customer_trx_line_id IN VARCHAR2,
p_log_inv_line IN VARCHAR2 DEFAULT 'N',
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_gt_id IN VARCHAR2 DEFAULT NULL)
IS
l_adj_rec ar_adjustments%ROWTYPE;
update_group_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'APP',
p_ae_sys_rec => p_ae_sys_rec,
p_log_inv_line => p_log_inv_line,
p_customer_trx_line_id => p_customer_trx_line_id);
SELECT 'x'
FROM ra_customer_trx_lines_gt
WHERE customer_trx_id = p_customer_trx_id
AND customer_trx_line_id = NVL(p_customer_trx_line_id, customer_trx_line_id);
SELECT MAX(line_type)
FROM ra_customer_trx_lines_gt
WHERE line_type IN ('CHARGES','FREIGHT')
AND customer_trx_id = p_customer_trx_id
GROUP BY line_type;
INSERT INTO ra_customer_trx_lines_gt
(customer_trx_line_id,
link_to_cust_trx_line_id,
customer_trx_id ,
set_of_books_id ,
line_type ,
source_data_key1 ,
source_data_key2 ,
source_data_key3 ,
source_data_key4 ,
source_data_key5 ,
amount_due_remaining,
acctd_amount_due_remaining,
amount_due_original ,
acctd_amount_due_original ,
chrg_amount_remaining ,
chrg_acctd_amount_remaining,
frt_adj_remaining ,
frt_adj_acctd_remaining,
group_id ,
--{HYUBRe
br_line_orig_amt ,
br_tax_orig_amt ,
br_frt_orig_amt ,
br_chrg_orig_amt ,
br_line_orig_acctd_amt,
br_tax_orig_acctd_amt,
br_frt_orig_acctd_amt,
br_chrg_orig_acctd_amt,
br_ref_customer_trx_id,
br_adjustment_id,
line_origin
--}
)
SELECT
tl.customer_trx_line_id,
tl.link_to_cust_trx_line_id,
tl.customer_trx_id ,
tl.set_of_books_id ,
tl.line_type ,
'00',
'00',
'00',
'00',
'00',
orl.sum_amt, -- amount_due_remaining
orl.sum_acctd_amt, -- acctd_amount_due_remaining
orl.sum_amt, -- amount_due_original
orl.sum_acctd_amt, -- acctd_amount_due_original
fcrl.chrg_on_rev_line, -- chrg_amount_remaining
fcrl.acctd_chrg_on_rev_line, -- chrg_acctd_amount_remaining
fcrl.frt_on_rev_line, -- frt_adj_remaining
fcrl.acctd_frt_on_rev_line, -- frt_Adj_acctd_remaining
DECODE(tl.source_data_key1 ||
tl.source_data_key2 ||
tl.source_data_key3 ||
tl.source_data_key4 ||
tl.source_data_key5, NULL, '00',
tl.source_data_key1 ||'-'||
tl.source_data_key2 ||'-'||
tl.source_data_key3 ||'-'||
tl.source_data_key4 ||'-'||
tl.source_data_key5),
--{HYU BRe
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
'', --tl.br_ref_customer_trx_id,
'', --tl.br_adjustment_id,
'' --DECODE(tl.br_ref_customer_trx_id, NULL, 'CTL', --Regular Trx Line
-- DECODE(typ.type, 'BR','BR_BR_ORIG_ASSIG', --BR assigned to a BR
-- 'BR_TRX_ORIG_ASSIG')--Regular TRX assigned to BR
-- ) -- LINE_ORIGIN
--}
FROM ra_customer_trx_lines tl,
-- ra_customer_trx br,
-- ra_cust_trx_types typ,
-- Amount for original and remaining for all type of lines on reve line
(SELECT SUM(AMOUNT) sum_amt,
SUM(ACCTD_AMOUNT) sum_acctd_amt,
customer_trx_line_id
FROM ra_cust_trx_line_gl_dist
WHERE customer_trx_id = p_customer_trx_id
GROUP BY customer_trx_line_id) orl,
-- Amount for charges and freight on revenue line
(SELECT SUM((DECODE(a.activity_bucket,'ADJ_CHRG',amt,'APP_CHRG',amt,0))) CHRG_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_CHRG',acctd_amt,'APP_CHRG',acctd_amt,0))) ACCTD_CHRG_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_FRT' ,amt,'APP_FRT',amt,0))) FRT_ON_REV_LINE
,SUM((DECODE(a.activity_bucket,'ADJ_FRT' ,acctd_amt,'APP_FRT',acctd_amt,0))) ACCTD_FRT_ON_REV_LINE
,a.ref_customer_trx_line_id
FROM
(SELECT SUM( NVL(ard.amount_cr,0) - NVL(ard.amount_dr,0) ) amt,
SUM( NVL(ard.acctd_amount_cr,0) - NVL(ard.acctd_amount_dr,0)) acctd_amt,
ard.ref_customer_trx_line_id,
ard.activity_bucket
FROM ar_adjustments adj,
ar_distributions ard,
ra_customer_trx_lines ctl
WHERE ctl.customer_trx_id = p_customer_trx_id
AND ctl.line_type = 'LINE'
AND adj.customer_trx_id = p_customer_trx_id
AND adj.adjustment_id = ard.source_id
AND ard.source_table = 'ADJ'
AND ard.ref_customer_trx_line_id = ctl.customer_trx_line_id
AND ard.activity_bucket IN ('ADJ_CHRG','ADJ_FRT')
GROUP BY ard.ref_customer_trx_line_id,
ard.activity_bucket
UNION ALL
SELECT SUM( NVL(ard.amount_cr,0) - NVL(ard.amount_dr,0) ) amt,
SUM( NVL(ard.acctd_amount_cr,0) - NVL(ard.acctd_amount_dr,0)) acctd_amt,
ard.ref_customer_trx_line_id,
ard.activity_bucket
FROM ar_receivable_applications ra,
ar_distributions ard,
ra_customer_trx_lines ctl
WHERE ctl.customer_trx_id = p_customer_trx_id
AND ctl.line_type = 'LINE'
AND ra.applied_customer_trx_id = p_customer_trx_id
AND ra.receivable_application_id = ard.source_id
AND ard.source_table = 'RA'
AND ard.ref_customer_trx_line_id = ctl.customer_trx_line_id
AND ard.activity_bucket IN ('APP_CHRG','APP_FRT')
GROUP BY ard.ref_customer_trx_line_id,
ard.activity_bucket) a
GROUP BY a.ref_customer_trx_line_id) fcrl
WHERE tl.customer_trx_id = p_customer_trx_id
AND tl.customer_trx_line_id = orl.customer_trx_line_id
AND tl.customer_trx_line_id = fcrl.ref_customer_trx_line_id(+)
AND (tl.customer_trx_line_id = NVL(p_customer_trx_line_id, tl.customer_trx_line_id)
OR tl.link_to_cust_trx_line_id = NVL(p_customer_trx_line_id, tl.customer_trx_line_id));
localdebug(' rows inserted = ' || l_rows);
INSERT INTO ra_customer_trx_lines_gt
(CUSTOMER_TRX_LINE_ID,
LINK_TO_CUST_TRX_LINE_ID,
CUSTOMER_TRX_ID ,
SET_OF_BOOKS_ID ,
LINE_TYPE ,
SOURCE_DATA_KEY1 ,
SOURCE_DATA_KEY2 ,
SOURCE_DATA_KEY3 ,
SOURCE_DATA_KEY4 ,
SOURCE_DATA_KEY5 ,
AMOUNT_DUE_REMAINING,
ACCTD_AMOUNT_DUE_REMAINING ,
AMOUNT_DUE_ORIGINAL ,
ACCTD_AMOUNT_DUE_ORIGINAL ,
CHRG_AMOUNT_REMAINING ,
CHRG_ACCTD_AMOUNT_REMAINING,
FRT_ADJ_REMAINING ,
FRT_ADJ_ACCTD_REMAINING ,
group_id ,
--{HYUBRe
BR_LINE_ORIG_AMT ,
BR_TAX_ORIG_AMT ,
BR_FRT_ORIG_AMT ,
BR_CHRG_ORIG_AMT ,
BR_LINE_ORIG_ACCTD_AMT,
BR_TAX_ORIG_ACCTD_AMT ,
BR_FRT_ORIG_ACCTD_AMT ,
BR_CHRG_ORIG_ACCTD_AMT,
BR_REF_CUSTOMER_TRX_ID,
BR_ADJUSTMENT_ID,
LINE_ORIGIN
--}
)
SELECT
tl.CUSTOMER_TRX_LINE_ID,
tl.LINK_TO_CUST_TRX_LINE_ID,
tl.CUSTOMER_TRX_ID ,
tl.SET_OF_BOOKS_ID ,
tl.LINE_TYPE ,
'00',
'00',
'00',
'00',
'00',
tl.AMOUNT_DUE_REMAINING,
tl.ACCTD_AMOUNT_DUE_REMAINING ,
tl.AMOUNT_DUE_ORIGINAL ,
tl.ACCTD_AMOUNT_DUE_ORIGINAL ,
tl.CHRG_AMOUNT_REMAINING,
tl.CHRG_ACCTD_AMOUNT_REMAINING,
tl.FRT_ADJ_REMAINING,
tl.FRT_ADJ_ACCTD_REMAINING,
DECODE(tl.SOURCE_DATA_KEY1 ||
tl.SOURCE_DATA_KEY2 ||
tl.SOURCE_DATA_KEY3 ||
tl.SOURCE_DATA_KEY4 ||
tl.SOURCE_DATA_KEY5, NULL, '00',
tl.SOURCE_DATA_KEY1 ||'-'||
tl.SOURCE_DATA_KEY2 ||'-'||
tl.SOURCE_DATA_KEY3 ||'-'||
tl.SOURCE_DATA_KEY4 ||'-'||
tl.SOURCE_DATA_KEY5),
--{HYU BRe
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
'', --tl.BR_REF_CUSTOMER_TRX_ID,
'', --tl.BR_ADJUSTMENT_ID,
'' --DECODE(tl.BR_REF_CUSTOMER_TRX_ID, NULL, 'CTL', --Regular Trx Line
-- DECODE(typ.type, 'BR','BR_BR_ORIG_ASSIG', --BR assigned to a BR
-- 'BR_TRX_ORIG_ASSIG')--Regular TRX assigned to BR
-- ) -- LINE_ORIGIN
--}
FROM ra_customer_trx_lines tl
-- ra_customer_trx br,
-- ra_cust_trx_types typ
WHERE tl.customer_trx_id = p_customer_trx_id
AND (tl.customer_trx_line_id = NVL(p_customer_trx_line_id, tl.customer_trx_line_id)
OR tl.link_to_cust_trx_line_id = NVL(p_customer_trx_line_id, tl.customer_trx_line_id));
localdebug(' rows inserted = ' || l_rows);
UPDATE ra_customer_trx_lines_gt tl
SET(cm_amt_due_orig, cm_amt_due_rem, cm_acctd_amt_due_orig, cm_acctd_amt_due_rem) =
(SELECT sum(sum_amt),
sum(sum_amt),
sum(sum_acctd_amt),
sum(sum_acctd_amt)
FROM
(SELECT SUM(amount) sum_amt,
SUM(acctd_amount) sum_acctd_amt,
customer_trx_line_id
FROM ra_cust_trx_line_gl_dist
WHERE customer_trx_id = g_cm_trx_id
GROUP BY customer_trx_line_id)
cm_gld,
ra_customer_trx_lines cm_tl
WHERE cm_tl.customer_trx_id = g_cm_trx_id
AND cm_gld.customer_trx_line_id = cm_tl.customer_trx_line_id
AND cm_tl.previous_customer_trx_line_id = tl.customer_trx_line_id)
WHERE customer_trx_id = p_customer_trx_id;
localdebug(' rows updated = ' || l_rows);
UPDATE ra_customer_trx_lines_gt tl
SET(cm_amt_due_orig, cm_amt_due_rem, cm_acctd_amt_due_orig, cm_acctd_amt_due_rem) =
(SELECT sum(amount_due_original),
sum(amount_due_remaining),
sum(acctd_amount_due_original),
sum(acctd_amount_due_remaining)
FROM
ra_customer_trx_lines cm_tl
WHERE cm_tl.customer_trx_id = g_cm_trx_id
AND cm_tl.previous_customer_trx_line_id = tl.customer_trx_line_id)
WHERE customer_trx_id = p_customer_trx_id;
localdebug(' rows updated = ' || l_rows);
PROCEDURE final_update_inv_ctl_rem_orig
(p_customer_trx IN ra_customer_trx%ROWTYPE)
IS
CURSOR c(p_customer_trx_id IN NUMBER) IS
SELECT /*+INDEX (ctl ra_customer_trx_lines_gt_n1)*/
b.AMOUNT_DUE_REMAINING ,
b.ACCTD_AMOUNT_DUE_REMAINING,
b.AMOUNT_DUE_ORIGINAL ,
b.ACCTD_AMOUNT_DUE_ORIGINAL ,
b.CHRG_AMOUNT_REMAINING ,
b.CHRG_ACCTD_AMOUNT_REMAINING,
b.FRT_ADJ_REMAINING ,
b.FRT_ADJ_ACCTD_REMAINING ,
b.frt_ed_amount,
b.frt_ed_acctd_amount,
b.frt_uned_amount,
b.frt_uned_acctd_amount,
b.customer_trx_line_id
FROM ra_customer_trx_lines_gt b
WHERE b.customer_trx_id = p_customer_trx_id;
localdebug('arp_det_dist_pkg.final_update_inv_ctl_rem_orig()+');
select count(*) into l_count from ar_payment_schedules where customer_trx_id=p_customer_trx.customer_trx_id;
select status,amount_due_original,amount_due_remaining into l_status,l_amt_due_orig_ps,l_amt_due_rem_ps
from ar_payment_schedules where customer_trx_id=p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx_lines
SET AMOUNT_DUE_REMAINING = l_amt_rem_tab(i),
ACCTD_AMOUNT_DUE_REMAINING = l_acctd_amt_rem_tab(i),
AMOUNT_DUE_ORIGINAL = l_amt_orig_tab(i),
ACCTD_AMOUNT_DUE_ORIGINAL = l_acctd_amt_orig_tab(i),
CHRG_AMOUNT_REMAINING = l_chrg_amt_rem_tab(i),
CHRG_ACCTD_AMOUNT_REMAINING = l_chrg_acctd_amt_rem_tab(i),
FRT_ADJ_REMAINING = l_frt_adj_amt_rem_tab(i),
FRT_ADJ_ACCTD_REMAINING = l_frt_adj_acctd_amt_rem_tab(i),
frt_ed_amount = l_frt_ed_amt_tab(i),
frt_ed_acctd_amount = l_frt_ed_acctd_amt_tab(i),
frt_uned_amount = l_frt_uned_amt_tab(i),
frt_uned_acctd_amount = l_frt_uned_acctd_amt_tab(i)
WHERE customer_trx_line_id = l_ctl_id_tab(i)
AND customer_trx_id = p_customer_trx.customer_trx_id;
UPDATE ra_customer_trx_lines
SET AMOUNT_DUE_REMAINING = l_amt_rem_tab(i),
ACCTD_AMOUNT_DUE_REMAINING = decode(l_boundary_flag, 'C',0,l_acctd_amt_rem_tab(i)),
AMOUNT_DUE_ORIGINAL = l_amt_orig_tab(i),
ACCTD_AMOUNT_DUE_ORIGINAL = l_acctd_amt_orig_tab(i),
CHRG_AMOUNT_REMAINING = l_chrg_amt_rem_tab(i),
CHRG_ACCTD_AMOUNT_REMAINING = l_chrg_acctd_amt_rem_tab(i),
FRT_ADJ_REMAINING = l_frt_adj_amt_rem_tab(i),
FRT_ADJ_ACCTD_REMAINING = l_frt_adj_acctd_amt_rem_tab(i),
frt_ed_amount = l_frt_ed_amt_tab(i),
frt_ed_acctd_amount = l_frt_ed_acctd_amt_tab(i),
frt_uned_amount = l_frt_uned_amt_tab(i),
frt_uned_acctd_amount = l_frt_uned_acctd_amt_tab(i)
WHERE customer_trx_line_id = l_ctl_id_tab(i)
AND customer_trx_id = p_customer_trx.customer_trx_id;
localdebug('arp_det_dist_pkg.final_update_inv_ctl_rem_orig()-');
END final_update_inv_ctl_rem_orig;
update_from_gt
(p_from_amt => p_app_rec.AMOUNT_APPLIED_FROM,
p_from_acctd_amt => p_app_rec.ACCTD_AMOUNT_APPLIED_FROM,
p_ae_sys_rec => p_ae_sys_rec,
p_app_rec => p_app_rec);
| 3) update_group_line |
| 4) prepare_trx_line_proration |
| 5) update_line |
| 6) update_ctl_rem_orig |
| 7) store_gt_id |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id
| p_adj_rec ar adjustment record
| p_ae_sys_rec ar system parameter
+-------------------------------------------------------------------------*/
PROCEDURE Trx_level_direct_adjust
(p_customer_trx IN ra_customer_trx%ROWTYPE,
p_adj_rec IN ar_adjustments%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_gt_id IN NUMBER DEFAULT NULL)
IS
l_app_rec ar_receivable_applications%ROWTYPE;
update_group_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'ADJ',
p_ae_sys_rec => p_ae_sys_rec);
final_update_inv_ctl_rem_orig(p_customer_trx => p_customer_trx);
UPDATE ar_adjustments
SET upgrade_method = 'R12_MERGE'
WHERE adjustment_id = p_adj_rec.adjustment_id;
UPDATE ar_adjustments
SET upgrade_method = 'R12'
WHERE adjustment_id = p_adj_rec.adjustment_id;
| 3) update_group_line |
| 4) prepare_trx_line_proration |
| 5) update_line |
| 6) update_ctl_rem_orig |
| 7) store_gt_id |
+-------------------------------------------------------------------------+
| parameter: |
| p_customer_trx_id transaction id |
| p_app_rec ar receivable application record |
| p_ae_sys_rec ar system parameter |
+-------------------------------------------------------------------------*/
PROCEDURE Trx_level_direct_cash_apply
(p_customer_trx IN ra_customer_trx%ROWTYPE,
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_gt_id IN NUMBER DEFAULT NULL,
p_inv_cm IN VARCHAR2 DEFAULT 'I')
IS
l_adj_rec ar_adjustments%ROWTYPE;
select 'Y'
into l_adj_exists
from ar_adjustments adj
where customer_trx_id = p_customer_trx.customer_trx_id
and nvl(upgrade_method,'11I') <> 'R12' -- non R12 adjustments
and exists (select 'x' -- non detailed distributions
from ar_distributions
where source_id = adj.adjustment_id
and source_table = 'ADJ'
and source_type <> 'REC'
and nvl(ref_customer_trx_line_id,-1) < 0);
select customer_trx_id, nvl(upgrade_method,'R12_NLB')
into g_cm_trx_id, g_cm_upg_mthd
from ra_customer_trx
where customer_trx_id = p_app_rec.customer_trx_id
and previous_customer_trx_id = p_app_rec.applied_customer_trx_id
and nvl(upgrade_method, 'R12_NLB') in ('R12','R12_NLB','R12_11IMFAR');
update_group_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => l_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'APP',
p_ae_sys_rec => p_ae_sys_rec);
final_update_inv_ctl_rem_orig(p_customer_trx => p_customer_trx);
SELECT * FROM ra_ar_gt
WHERE gt_id = p_gt_id;
SELECT * FROM ra_ar_gt
WHERE gp_level = p_code
AND gt_id = p_gt_id;
SELECT *
FROM ra_customer_trx_lines_gt
WHERE customer_trx_id = p_customer_trx_id;
SELECT SUM(NVL(amount_due_original,extended_amount)),
line_type
FROM ra_customer_trx_lines
WHERE customer_trx_id = p_customer_trx_id
GROUP BY line_type;
SELECT customer_trx_line_id
FROM ra_customer_trx_lines
WHERE customer_trx_id = p_customer_trx_id
AND line_type IN ('LINE','CB')
MINUS
SELECT link_to_cust_trx_line_id
FROM ra_customer_trx_lines
WHERE customer_trx_id = p_customer_trx_id
AND line_type = 'TAX';
SELECT CURRENCY_CODE
FROM ar_cash_receipts_all
WHERE cash_receipt_id = p_cr_id;
| PROCEDURE update_from_gt |
+----------------------------------------------------------------------+
| This procedure |
| does the updation of ar_ae_alloc_rec_gt for distributions in |
| receipt currency and in base currency converted from receipt |
| currency |
| |
| Parameter |
| p_from_amt Amount allocated for line, frt, tax in Receipt |
| currency |
| p_from_acctd_amt Acctd Amount allocated for line, frt, tax in |
| in base currency from the Receipt currency |
| using exchange rate of the receipt |
| History |
| 05-NOV-2004 H. Yu Created |
+----------------------------------------------------------------------*/
PROCEDURE update_from_gt
(p_from_amt IN NUMBER,
p_from_acctd_amt IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type,
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_gt_id IN VARCHAR2 DEFAULT NULL,
p_inv_currency IN VARCHAr2 DEFAULT NULL)
IS
CURSOR cu1(p_gt_id IN NUMBER) IS
SELECT /*+INDEX (AR_LINE_APP_DETAIL_GT AR_LINE_APP_DETAIL_GT_N1)*/
SUM(NVL(amount,0)),
SUM(NVL(acctd_amount,0))
FROM AR_LINE_APP_DETAIL_GT
WHERE gt_id = p_gt_id
AND activity_bucket IN ('APP_LINE','APP_CHRG','APP_TAX','APP_FRT',
'ADJ_LINE','ADJ_TAX','ADJ_CHRG','ADJ_FRT')
AND ( NVL(amount,0) <> 0
OR NVL(acctd_amount,0) <> 0);
localdebug('arp_det_dist_pkg.update_from_gt()+');
/*Bug7391957, Added following SELECT statement within a BEGIN..END block */
BEGIN
select distinct source_id
into l_source_id
from ar_line_app_detail_gt
where gt_id = l_gt_id
AND source_table ='RA';
select count(*)
into l_br_count
from ar_receivable_applications_all ra,
ar_payment_schedules_all pay
where ra.receivable_application_id = l_source_id and
ra.applied_payment_schedule_id = pay.payment_schedule_id and
pay.class ='BR';
localdebug(' EXCEPTION: update_from_gt :'||SQLERRM);
SELECT amount_applied,acctd_amount_applied_to
INTO l_pro_base, l_pro_acctd_base
from ar_receivable_applications_all
where receivable_application_id = l_source_id;
SELECT ps.trx_date, NVL(ps.exchange_rate, 1),
ps1.trx_date, NVL(ps1.exchange_rate, 1)
INTO l_app_date, l_app_exch_rate,
l_trx_date, l_trx_exch_rate
FROM ar_payment_schedules ps,
ar_payment_schedules ps1,
ar_receivable_applications ra
WHERE ra.receivable_application_id = p_app_rec.receivable_application_id
and ps.payment_schedule_id = ra.payment_schedule_id
AND ps1.payment_schedule_id = ra.applied_payment_schedule_id;
UPDATE AR_LINE_APP_DETAIL_GT a
SET(FROM_AMOUNT ,
FROM_ACCTD_AMOUNT ) =
(SELECT DECODE(l_pro_base,0,0,
Accting_Proration_Fct
(AMOUNT,
l_pro_base,
p_from_amt,
p_ae_sys_rec.base_currency,
l_inv_currency,
l_from_curr_code,
'FROM_AMT',
l_curr_rnd_flag)),
DECODE(l_pro_acctd_base,0,0,
Accting_Proration_Fct
(ACCTD_AMOUNT,
l_pro_acctd_base,
p_from_acctd_amt,
p_ae_sys_rec.base_currency,
l_inv_currency,
l_from_curr_code,
'FROM_ACCTD_AMT',
l_curr_rnd_flag))
FROM AR_LINE_APP_DETAIL_GT b
WHERE a.rowid = b.rowid
AND b.gt_id = l_gt_id
AND b.activity_bucket IN
('APP_LINE','APP_CHRG','APP_TAX','APP_FRT',
'ADJ_LINE','ADJ_TAX','ADJ_CHRG','ADJ_FRT',
'ED_LINE','ED_TAX','ED_CHRG','ED_FRT',
'UNED_LINE','UNED_TAX','UNED_CHRG','UNED_FRT'))
WHERE ( NVL(a.amount,0) <> 0 OR NVL(a.acctd_amount,0) <> 0)
AND a.gt_id = l_gt_id;
localdebug('arp_det_dist_pkg.update_from_gt()-');
localdebug(' EXCEPTION: update_from_gt :'||SQLERRM);
SELECT account_class account_class,
SUM(amount) sum_amount,
SUM(acctd_amount) sum_acctd_amount,
COUNT(account_class) count
FROM ra_cust_trx_line_gl_dist
WHERE customer_trx_id = p_cust_inv_rec.customer_trx_id
AND account_class IN ('UNEARN','UNBILL')
GROUP BY account_class;
SELECT ctl.customer_trx_id
FROM ra_customer_trx_lines ctl
WHERE ctl.customer_trx_id = p_customer_trx_id
AND ctl.autorule_complete_flag||'' = 'N'
GROUP BY ctl.customer_trx_id;
SELECT ctl.customer_trx_id
FROM ra_customer_trx_lines ctl
WHERE ctl.customer_trx_id = p_customer_trx_id
AND ctl.autorule_complete_flag||'' = 'N'
GROUP BY ctl.customer_trx_id;
SELECT ct.trx_number
FROM ra_customer_trx ct
WHERE ct.customer_trx_id = p_customer_trx_id;
PROCEDURE update_taxable
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
CURSOR c_read_for_taxable IS
select
GROUPE ,
-- ADJ and APP
-- Base
base_pro_amt ,
base_pro_acctd_amt ,
BASE_FRT_PRO_AMT ,
BASE_FRT_PRO_ACCTD_AMT ,
sum(ELMT_TAX_PRO_AMT) over (partition by groupe) BASE_TAX_PRO_AMT ,
sum(ELMT_TAX_PRO_ACCTD_AMT) over (partition by groupe) BASE_TAX_PRO_ACCTD_AMT ,
BASE_CHRG_PRO_AMT ,
BASE_CHRG_PRO_ACCTD_AMT ,
-- Element numerator
elmt_pro_amt ,
elmt_pro_acctd_amt ,
ELMT_FRT_PRO_AMT ,
ELMT_FRT_PRO_ACCTD_AMT ,
ELMT_TAX_PRO_AMT,
ELMT_TAX_PRO_ACCTD_AMT ,
ELMT_CHRG_PRO_AMT ,
ELMT_CHRG_PRO_ACCTD_AMT ,
-- Amount to be allocated
buc_alloc_amt ,
buc_alloc_acctd_amt,
buc_frt_alloc_amt ,
buc_frt_alloc_acctd_amt,
buc_tax_alloc_amt ,
buc_tax_alloc_acctd_amt,
buc_chrg_alloc_amt ,
buc_chrg_alloc_acctd_amt,
-- ED
-- Base
base_ed_pro_amt ,
base_ed_pro_acctd_amt ,
BASE_ed_FRT_PRO_AMT ,
BASE_ed_FRT_PRO_ACCTD_AMT ,
sum(ELMT_ed_TAX_PRO_AMT) over (partition by groupe) BASE_ed_TAX_PRO_AMT ,
sum(ELMT_ed_TAX_PRO_ACCTD_AMT) over (partition by groupe) BASE_ed_TAX_PRO_ACCTD_AMT ,
BASE_ed_CHRG_PRO_AMT ,
BASE_ed_CHRG_PRO_ACCTD_AMT ,
-- Element numerator
elmt_ed_pro_amt ,
elmt_ed_pro_acctd_amt ,
ELMT_ed_FRT_PRO_AMT ,
ELMT_ed_FRT_PRO_ACCTD_AMT ,
ELMT_ed_TAX_PRO_AMT ,
ELMT_ed_TAX_PRO_ACCTD_AMT ,
ELMT_ed_CHRG_PRO_AMT ,
ELMT_ed_CHRG_PRO_ACCTD_AMT ,
-- Amount to be allocated
buc_ed_alloc_amt ,
buc_ed_alloc_acctd_amt,
buc_ed_frt_alloc_amt ,
buc_ed_frt_alloc_acctd_amt,
buc_ed_tax_alloc_amt ,
buc_ed_tax_alloc_acctd_amt,
buc_ed_chrg_alloc_amt ,
buc_ed_chrg_alloc_acctd_amt,
-- UNED
-- Base
base_uned_pro_amt ,
base_uned_pro_acctd_amt ,
BASE_uned_FRT_PRO_AMT ,
BASE_uned_FRT_PRO_ACCTD_AMT ,
sum(ELMT_uned_TAX_PRO_AMT) over (partition by groupe) BASE_uned_TAX_PRO_AMT ,
sum(ELMT_uned_TAX_PRO_ACCTD_AMT) over (partition by groupe) BASE_uned_TAX_PRO_ACCTD_AMT ,
BASE_uned_CHRG_PRO_AMT ,
BASE_uned_CHRG_PRO_ACCTD_AMT ,
-- Element numerator
elmt_uned_pro_amt ,
elmt_uned_pro_acctd_amt ,
ELMT_uned_FRT_PRO_AMT ,
ELMT_uned_FRT_PRO_ACCTD_AMT ,
ELMT_uned_TAX_PRO_AMT ,
ELMT_uned_TAX_PRO_ACCTD_AMT ,
ELMT_uned_CHRG_PRO_AMT ,
ELMT_uned_CHRG_PRO_ACCTD_AMT ,
-- Amount to be allocated
buc_uned_alloc_amt ,
buc_uned_alloc_acctd_amt,
buc_uned_frt_alloc_amt ,
buc_uned_frt_alloc_acctd_amt,
buc_uned_tax_alloc_amt ,
buc_uned_tax_alloc_acctd_amt,
buc_uned_chrg_alloc_amt ,
buc_uned_chrg_alloc_acctd_amt,
--
BASE_CURRENCY ,
TO_CURRENCY ,
FROM_CURRENCY ,
--
rowid
from (SELECT /*+INDEX (AR_LINE_APP_DETAIL_GT AR_LINE_APP_DETAIL_GT_N1)*/
tax_link_id groupe,
-- ADJ and APP
--Base
0 base_pro_amt, --Base for Revenue distributions
0 base_pro_acctd_amt,
0 BASE_FRT_PRO_AMT, --Base for freight distributions
0 BASE_FRT_PRO_ACCTD_AMT,
0 BASE_CHRG_PRO_AMT, --Base for charge distributions
0 BASE_CHRG_PRO_ACCTD_AMT,
--Element
0 elmt_pro_amt, --Element for Revenue distributions
0 elmt_pro_acctd_amt,
0 ELMT_FRT_PRO_AMT, --Element for freight distributions
0 ELMT_FRT_PRO_ACCTD_AMT,
DECODE(activity_bucket||ref_account_class, 'ADJ_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'APP_TAX', amount, 'ADJ_TAX', amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'APP_TAX', amount, 'ADJ_TAX', amount, 0)),
DECODE(activity_bucket,'APP_TAX', amount, 'ADJ_TAX', amount, 0)
) ELMT_TAX_PRO_AMT, --Element for tax distributions
DECODE(activity_bucket||ref_account_class, 'ADJ_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'APP_TAX', acctd_amount, 'ADJ_TAX', acctd_amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'APP_TAX', acctd_amount, 'ADJ_TAX', acctd_amount, 0)),
DECODE(activity_bucket,'APP_TAX', acctd_amount, 'ADJ_TAX', acctd_amount, 0)
) ELMT_TAX_PRO_ACCTD_AMT,
0 ELMT_CHRG_PRO_AMT, --Element for charge distributions
0 ELMT_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
0 buc_alloc_amt, --Allocation for Revenue distributions
0 buc_alloc_acctd_amt,
0 buc_frt_alloc_amt, --Allocation for freight distributions
0 buc_frt_alloc_acctd_amt,
SUM(DECODE(activity_bucket,'APP_LINE',amount,
'ADJ_LINE',amount,
'APP_CHRG',amount,
'ADJ_CHRG',amount,
'APP_FRT' ,amount,
'ADJ_FRT' ,amount, 0))
OVER (PARTITION BY tax_link_id ) buc_tax_alloc_amt, -- Allocation for app and adj
-- taxable from the revenue distribution
SUM(DECODE(activity_bucket,'APP_LINE',acctd_amount,
'ADJ_LINE',acctd_amount,
'APP_CHRG',acctd_amount,
'ADJ_CHRG',acctd_amount,
'APP_FRT' ,acctd_amount,
'ADJ_FRT' ,acctd_amount, 0))
OVER (PARTITION BY tax_link_id ) buc_tax_alloc_acctd_amt,
0 buc_chrg_alloc_amt, --Allocation for charge distributions
0 buc_chrg_alloc_acctd_amt,
-- ED
--Base
0 base_ed_pro_amt, --Base ED on Rev
0 base_ed_pro_acctd_amt,
0 BASE_ed_FRT_PRO_AMT, --Base ED on Freight HYUFR
0 BASE_ed_FRT_PRO_ACCTD_AMT,
0 BASE_ed_CHRG_PRO_AMT, --Base ED on Charge
0 BASE_ed_CHRG_PRO_ACCTD_AMT,
--Element
0 elmt_ed_pro_amt, --Element ED on Rev
0 elmt_ed_pro_acctd_amt,
0 ELMT_ed_FRT_PRO_AMT, --Element ED on Freight
0 ELMT_ed_FRT_PRO_ACCTD_AMT,
DECODE(activity_bucket||ref_account_class, 'ED_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'ED_TAX', amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'ED_TAX', amount, 0)),
DECODE(activity_bucket,'ED_TAX', amount, 0)
) ELMT_ed_TAX_PRO_AMT, --Element ED on Tax HYUFRTAX
DECODE(activity_bucket||ref_account_class, 'ED_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'ED_TAX', acctd_amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'ED_TAX', acctd_amount, 0)),
DECODE(activity_bucket,'ED_TAX', acctd_amount, 0)
) ELMT_ed_TAX_PRO_ACCTD_AMT,
0 ELMT_ed_CHRG_PRO_AMT, --Element ED on Charge
0 ELMT_ed_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
0 buc_ed_alloc_amt, --Allocation ED on Rev
0 buc_ed_alloc_acctd_amt,
0 buc_ed_frt_alloc_amt, --Allocation ED on Freight
0 buc_ed_frt_alloc_acctd_amt,
SUM(DECODE(activity_bucket,'ED_LINE', amount,
'ED_CHRG', amount,
'ED_FRT' , amount,0))
OVER (PARTITION BY tax_link_id ) buc_ed_tax_alloc_amt, --Allocation ED on Tax by the rev ed
SUM(DECODE(activity_bucket,'ED_LINE', acctd_amount,
'ED_CHRG', acctd_amount,
'ED_FRT' , acctd_amount,0))
OVER (PARTITION BY tax_link_id ) buc_ed_tax_alloc_acctd_amt,
0 buc_ed_chrg_alloc_amt,
0 buc_ed_chrg_alloc_acctd_amt,
-- UNED
--Base
0 base_uned_pro_amt,
0 base_uned_pro_acctd_amt,
0 BASE_uned_FRT_PRO_AMT,
0 BASE_uned_FRT_PRO_ACCTD_AMT,
0 BASE_uned_CHRG_PRO_AMT,
0 BASE_uned_CHRG_PRO_ACCTD_AMT,
--Element
0 elmt_uned_pro_amt,
0 elmt_uned_pro_acctd_amt,
0 ELMT_uned_FRT_PRO_AMT,
0 ELMT_uned_FRT_PRO_ACCTD_AMT,
DECODE(activity_bucket||ref_account_class, 'UNED_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'UNED_TAX', amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'UNED_TAX', amount, 0)),
DECODE(activity_bucket,'UNED_TAX', amount, 0)
) ELMT_uned_TAX_PRO_AMT, --Element ED on Tax HYUFRTAX
DECODE(activity_bucket||ref_account_class, 'UNED_TAXTAX',
DECODE(SUM(DECODE(activity_bucket,'UNED_TAX', acctd_amount, 0))
OVER (PARTITION BY tax_link_id ), 0, 1,
DECODE(activity_bucket,'UNED_TAX', acctd_amount, 0)),
DECODE(activity_bucket,'UNED_TAX', acctd_amount, 0)
) ELMT_uned_TAX_PRO_ACCTD_AMT,
0 ELMT_uned_CHRG_PRO_AMT,
0 ELMT_uned_CHRG_PRO_ACCTD_AMT,
--Amount to be allocated
0 buc_uned_alloc_amt,
0 buc_uned_alloc_acctd_amt,
0 buc_uned_frt_alloc_amt,
0 buc_uned_frt_alloc_acctd_amt,
SUM(DECODE(activity_bucket,'UNED_LINE', amount,
'UNED_CHRG', amount,
'UNED_FRT' , amount,0))
OVER (PARTITION BY tax_link_id ) buc_uned_tax_alloc_amt, --Allocation ED on Tax by the rev ed
SUM(DECODE(activity_bucket,'UNED_LINE', acctd_amount,
'UNED_CHRG', acctd_amount,
'UNED_FRT' , acctd_amount,0))
OVER (PARTITION BY tax_link_id ) buc_uned_tax_alloc_acctd_amt,
0 buc_uned_chrg_alloc_amt,
0 buc_uned_chrg_alloc_acctd_amt,
--Currencies
p_ae_sys_rec.base_currency BASE_CURRENCY ,
g_cust_inv_rec.invoice_currency_code TO_CURRENCY ,
'' FROM_CURRENCY , --Not usefull in this case as taxable is not calculated with from currency
-- Rowid
rowid
FROM AR_LINE_APP_DETAIL_GT
WHERE gt_id = p_gt_id
AND ref_customer_trx_id = p_customer_trx_id
AND tax_link_id IS NOT NULL
AND DECODE(ref_account_class,'REV' ,tax_inc_flag,
'FREIGHT',tax_inc_flag,
'TAX','Y','N') = 'Y');
localdebug('arp_det_dist_pkg.update_tax()+');
UPDATE AR_LINE_APP_DETAIL_GT
SET taxable_amount = DECODE(activity_bucket, 'APP_TAX', l_tab.tl_tax_alloc_amt(i),
'ADJ_TAX', l_tab.tl_tax_alloc_amt(i),
'ED_TAX', l_tab.tl_ed_tax_alloc_amt(i),
'UNED_TAX', l_tab.tl_uned_tax_alloc_amt(i)),
taxable_acctd_amount = DECODE(activity_bucket, 'APP_TAX', l_tab.tl_tax_alloc_acctd_amt(i),
'ADJ_TAX', l_tab.tl_tax_alloc_acctd_amt(i),
'ED_TAX', l_tab.tl_ed_tax_alloc_acctd_amt(i),
'UNED_TAX', l_tab.tl_uned_tax_alloc_acctd_amt(i))
WHERE rowid = l_tab.ROWID_ID(i);
localdebug('arp_det_dist_pkg.update_taxable()-');
localdebug(' EXCEPTION OTHERS update_taxable :'||SQLERRM);
END update_taxable;
PROCEDURE update_for_mrc_dist
(p_gt_id IN VARCHAR2,
p_customer_trx_id IN NUMBER,
p_app_rec IN ar_receivable_applications%ROWTYPE,
p_adj_rec IN ar_adjustments%ROWTYPE,
p_ae_sys_rec IN arp_acct_main.ae_sys_rec_type)
IS
CURSOR c_mrc(p_acctd_adj_app_to IN NUMBER,
p_acctd_app_from IN NUMBER,
p_acctd_ed IN NUMBER,
p_acctd_uned IN NUMBER,
p_from_curr_code IN VARCHAR2)
IS
SELECT /*+INDEX (AR_LINE_APP_DETAIL_GT AR_LINE_APP_DETAIL_GT_N1)*/
DECODE(activity_bucket, 'ADJ_LINE', 'ADJ',
'ADJ_TAX' , 'ADJ',
'ADJ_FRT' , 'ADJ',
'ADJ_CHRG', 'ADJ',
'APP_LINE', 'APP',
'APP_TAX' , 'APP',
'APP_FRT' , 'APP',
'APP_CHRG', 'APP',
'ED_LINE' , 'ED',
'ED_TAX' , 'ED',
'ED_FRT' , 'ED',
'UNED_CHRG' , 'UNED',
'UNED_LINE' , 'UNED',
'UNED_TAX' , 'UNED',
'UNED_FRT' , 'UNED',
'UNED_CHRG' , 'UNED') groupe,
/* ADJ and APP */
--BASE
--Base for acctd_amount MRC
0,
SUM(DECODE(activity_bucket,'APP_LINE',amount,
'APP_TAX' ,amount,
'APP_FRT' ,amount,
'APP_CHRG',amount,
'ADJ_LINE',amount,
'ADJ_TAX' ,amount,
'ADJ_FRT' ,amount,
'ADJ_CHRG',amount,0)),
--Base used for MRC
0,
0,
--Base used for MRC from_acctd_amount
0,
SUM(DECODE(activity_bucket,'APP_LINE',amount,
'APP_TAX' ,amount,
'APP_FRT' ,amount,
'APP_CHRG',amount,0)),
--Base not used in MRC
0,
0,
--ELEMENT
--Element for APP/ADJ acctd_amount MRC
0,
DECODE(activity_bucket,'APP_LINE',amount,
'APP_TAX' ,amount,
'APP_FRT' ,amount,
'APP_CHRG',amount,
'ADJ_LINE',amount,
'ADJ_TAX' ,amount,
'ADJ_FRT' ,amount,
'ADJ_CHRG',amount,0),
--Element not used in MRC
0,
0,
--Element used for MRC from_acctd_amount
0,
DECODE(activity_bucket,'APP_LINE',amount,
'APP_TAX' ,amount,
'APP_FRT' ,amount,
'APP_CHRG',amount,0),
--Element not used
0,
0,
--AMOUNT TO ALLOCATED
--bucket MRC allocated the acctd_amount
0,
p_acctd_adj_app_to,
--bucket not used
0,
0,
--bucket used allocated the from_acctd_amount
0,
p_acctd_app_from,
--bucket not used MRC
0,
0,
/* ED */
--BASE
--Base for acctd_amount MRC
0,
SUM(DECODE(activity_bucket,'ED_LINE',amount,
'ED_TAX' ,amount,
'ED_FRT' ,amount,
'ED_CHRG',amount,0)),
--Base not used
0,
0,
--Base for from_acctd_amount - Not applicable for ED
0,
0,
--Base not used
0,
0,
--ELEMENT
--Element for acctd_amount
0,
DECODE(activity_bucket,'ED_LINE',amount,
'ED_TAX' ,amount,
'ED_FRT' ,amount,
'ED_CHRG',amount,0),
--Element not used
0,
0,
--Element used for from_acctd_amount - Not applicable for discount
0,
0,
--Element not used
0,
0,
--AMOUNT TO BE ALLOCATED
--bucket for acctd_amount MRC
0,
p_acctd_ed,
--bucket not used
0,
0,
--bucket not used - Note:from_acctd_amount not applicable for discount
0,
0,
--bucket not used
0,
0,
/* UNED */
--BASE
--Base for acctd_amount MRC
0,
SUM(DECODE(activity_bucket,'UNED_LINE',amount,
'UNED_TAX' ,amount,
'UNED_FRT' ,amount,
'UNED_CHRG',amount,0)),
--Base not used
0,
0,
--Base not used
0,
0,
--Base not used
0,
0,
--ELEMENT
--Element for acctd_amount MRC
0,
DECODE(activity_bucket,'UNED_LINE',amount,
'UNED_TAX' ,amount,
'UNED_FRT' ,amount,
'UNED_CHRG',amount,0),
--Element not used
0,
0,
--Element not used
0,
0,
--Element not used
0,
0,
--AMOUNT TO BE ALLOCATED
--Bucket for acctd_amount
0,
p_acctd_uned,
--Bucket not used
0,
0,
--Bucket not used
0,
0,
--Bucket not used
0,
0,
--Currencies
p_ae_sys_rec.base_currency BASE_CURRENCY ,
g_cust_inv_rec.invoice_currency_code TO_CURRENCY ,
--HYU
p_from_curr_code FROM_CURRENCY,
-- Rowid
rowid
FROM AR_LINE_APP_DETAIL_GT
WHERE gt_id = p_gt_id
AND ref_customer_trx_id = p_customer_trx_id
ORDER BY DECODE(activity_bucket, 'ADJ_LINE', 'ADJ',
'ADJ_TAX' , 'ADJ',
'ADJ_FRT' , 'ADJ',
'ADJ_CHRG', 'ADJ',
'APP_LINE', 'APP',
'APP_TAX' , 'APP',
'APP_FRT' , 'APP',
'APP_CHRG', 'APP',
'ED_LINE' , 'ED',
'ED_TAX' , 'ED',
'ED_FRT' , 'ED',
'UNED_CHRG' , 'UNED',
'UNED_LINE' , 'UNED',
'UNED_TAX' , 'UNED',
'UNED_FRT' , 'UNED',
'UNED_CHRG' , 'UNED');
localdebug('arp_det_dist_pkg.update_mrc_for_dist()+');
localdebug(' update AR_LINE_APP_DETAIL_GT RSOB:'||p_ae_sys_rec.set_of_books_id);
UPDATE AR_LINE_APP_DETAIL_GT a
SET ACCTD_AMOUNT = DECODE(a.activity_bucket, 'APP_LINE', l_tab.tl_alloc_acctd_amt(i),
'APP_TAX' , l_tab.tl_alloc_acctd_amt(i),
'APP_FRT' , l_tab.tl_alloc_acctd_amt(i),
'APP_CHRG', l_tab.tl_alloc_acctd_amt(i),
'ADJ_LINE', l_tab.tl_alloc_acctd_amt(i),
'ADJ_TAX' , l_tab.tl_alloc_acctd_amt(i),
'ADJ_FRT' , l_tab.tl_alloc_acctd_amt(i),
'ADJ_CHRG', l_tab.tl_alloc_acctd_amt(i),
'ED_LINE', l_tab.tl_ed_alloc_acctd_amt(i),
'ED_TAX' , l_tab.tl_ed_alloc_acctd_amt(i),
'ED_FRT' , l_tab.tl_ed_alloc_acctd_amt(i),
'ED_CHRG', l_tab.tl_ed_alloc_acctd_amt(i),
'UNED_LINE', l_tab.tl_uned_alloc_acctd_amt(i),
'UNED_TAX' , l_tab.tl_uned_alloc_acctd_amt(i),
'UNED_FRT' , l_tab.tl_uned_alloc_acctd_amt(i),
'UNED_CHRG', l_tab.tl_uned_alloc_acctd_amt(i)),
FROM_ACCTD_AMOUNT= DECODE(a.activity_bucket, 'APP_LINE', l_tab.tl_tax_alloc_acctd_amt(i),
'APP_TAX' , l_tab.tl_tax_alloc_acctd_amt(i),
'APP_FRT' , l_tab.tl_tax_alloc_acctd_amt(i),
'APP_CHRG', l_tab.tl_tax_alloc_acctd_amt(i),
'ADJ_LINE', l_tab.tl_tax_alloc_acctd_amt(i),
'ADJ_TAX' , l_tab.tl_tax_alloc_acctd_amt(i),
'ADJ_FRT' , l_tab.tl_tax_alloc_acctd_amt(i),
'ADJ_CHRG', l_tab.tl_tax_alloc_acctd_amt(i),
'ED_LINE', l_tab.tl_ed_tax_alloc_acctd_amt(i),
'ED_TAX' , l_tab.tl_ed_tax_alloc_acctd_amt(i),
'ED_FRT' , l_tab.tl_ed_tax_alloc_acctd_amt(i),
'ED_CHRG', l_tab.tl_ed_tax_alloc_acctd_amt(i),
'UNED_LINE', l_tab.tl_uned_tax_alloc_acctd_amt(i),
'UNED_TAX' , l_tab.tl_uned_tax_alloc_acctd_amt(i),
'UNED_FRT' , l_tab.tl_uned_tax_alloc_acctd_amt(i),
'UNED_CHRG', l_tab.tl_uned_tax_alloc_acctd_amt(i)),
ledger_id = p_ae_sys_rec.set_of_books_id
WHERE rowid = l_tab.ROWID_ID(i);
localdebug(' update iAR_LINE_APP_DETAIL_GT ');
localdebug('arp_det_dist_pkg.update_for_mrc_dist()-');
END update_for_mrc_dist;
SELECT ar_cash_basis_distributions_s.NEXTVAL
FROM DUAL;
PROCEDURE insert_ard_gt
(p_gt_id IN VARCHAR2,
x_exec_status OUT NOCOPY VARCHAR2)
IS
CURSOR c1 IS
SELECT MAX(line_id)
FROM ar_distributions_all;
INSERT INTO ar_cash_basis_dists_all
( CASH_BASIS_DISTRIBUTION_ID
, CREATED_BY
, CREATION_DATE
, LAST_UPDATE_DATE
, LAST_UPDATED_BY
, LAST_UPDATE_LOGIN
, PROGRAM_APPLICATION_ID
, PROGRAM_ID
, PROGRAM_UPDATE_DATE
, RECEIVABLE_APPLICATION_ID
, SOURCE
, SOURCE_ID
, TYPE
, PAYMENT_SCHEDULE_ID
, GL_DATE
, CURRENCY_CODE
, AMOUNT
, ACCTD_AMOUNT
, CODE_COMBINATION_ID
, POSTING_CONTROL_ID
, GL_POSTED_DATE
, RECEIVABLE_APPLICATION_ID_CASH
, ORG_ID
, activity_bucket
, ref_account_class
, ref_customer_trx_id
, ref_customer_trx_line_id
, ref_cust_trx_line_gl_dist_id
, ref_line_id
-- BUG#4396273 removed the not approved columns
, FROM_AMOUNT
, FROM_ACCTD_AMOUNT
, LEDGER_ID
, BASE_CURRENCY
)
SELECT
AR_CASH_BASIS_DISTRIBUTIONS_S.NEXTVAL -- cash_basis_distribution_id
, lad.CREATED_BY -- created_by
, lad.CREATION_DATE -- creation_date
, lad.LAST_UPDATE_DATE -- last_update_date
, lad.LAST_UPDATED_BY -- last_updated_by
, lad.LAST_UPDATE_LOGIN -- last_update_login
, 222 -- PROGRAM_APPLICATION_ID
, 77777 -- PROGRAM_ID (batch upgrade cash basis at posting)
, SYSDATE -- PROGRAM_UPDATE_DATE
, lad.SOURCE_ID -- RECEIVABLE_APPLICATION_ID
, 'RA' --SOURCE (ADJ or INV)
, lad.SOURCE_ID --SOURCE_ID (used to be adj_id or ctlgd_id in 11i
--for now line_id will be fix with adj_id
, DECODE(lad.activity_bucket,'ED_LINE','LINE',
'ED_TAX', 'TAX',
'ED_CHRG','CHARGES',
'ED_FRT' ,'FREIGHT',
'UNED_LINE','LINE',
'UNED_TAX','TAX',
'UNED_CHRG','CHARGES',
'UNED_FRT','FREIGHT',
'ADJ_LINE','LINE',
'ADJ_TAX','TAX',
'ADJ_CHRG','CHARGES',
'ADJ_FRT','FREIGHT',
'APP_LINE','LINE',
'APP_TAX','TAX',
'APP_CHRG','CHARGES',
'APP_FRT','FREIGHT') -- TYPE (LINE TAX FREIGHT CHARGES)
, sch.payment_schedule_id -- PAYMENT_SCHEDULE_ID
, sch.gl_date -- GL_DATE
, lad.TO_CURRENCY -- CURRENCY_CODE
, DECODE(lad.activity_bucket,'ED_LINE',lad.amount,
'ED_TAX', lad.amount,
'ED_CHRG',lad.amount,
'ED_FRT' ,lad.amount,
'UNED_LINE',lad.amount,
'UNED_TAX',lad.amount,
'UNED_CHRG',lad.amount,
'UNED_FRT',lad.amount,
'ADJ_LINE',lad.amount,
'ADJ_TAX',lad.amount,
'ADJ_CHRG',lad.amount,
'ADJ_FRT',lad.amount,
-1*lad.amount) --AMOUNT
, DECODE(lad.activity_bucket,'ED_LINE',lad.acctd_amount,
'ED_TAX', lad.acctd_amount,
'ED_CHRG',lad.acctd_amount,
'ED_FRT' ,lad.acctd_amount,
'UNED_LINE',lad.acctd_amount,
'UNED_TAX',lad.acctd_amount,
'UNED_CHRG',lad.acctd_amount,
'UNED_FRT',lad.acctd_amount,
'ADJ_LINE',lad.acctd_amount,
'ADJ_TAX',lad.acctd_amount,
'ADJ_CHRG',lad.acctd_amount,
'ADJ_FRT',lad.acctd_amount,
-1* lad.acctd_amount) --ACCTD_AMOUNT
, lad.CCID -- CODE_COMBINATION_ID
, -9999 -- POSTING_CONTROL_ID -- We do maintain the posting control id in cash basis dists
-- to verify if the posting has occured check app pst ctl id
, SYSDATE -- GL_POSTED_DATE ( need to be reflag at the end by extract)
, lad.SOURCE_ID -- RECEIVABLE_APPLICATION_ID_CASH
, sch.ORG_ID -- org_id
, lad.activity_bucket
, lad.ref_account_class
, lad.ref_customer_trx_id
, lad.ref_customer_trx_line_id
, lad.ref_cust_trx_line_gl_dist_id
, lad.ref_line_id
/* BUG#4396273 remove not approved columns*/
--HYU Add the From column bach Attention schema changes
, SIGN(DECODE(lad.activity_bucket,'ED_LINE',lad.acctd_amount,
'ED_TAX', lad.acctd_amount,
'ED_CHRG',lad.acctd_amount,
'ED_FRT' ,lad.acctd_amount,
'UNED_LINE',lad.acctd_amount,
'UNED_TAX',lad.acctd_amount,
'UNED_CHRG',lad.acctd_amount,
'UNED_FRT',lad.acctd_amount,
'ADJ_LINE',lad.acctd_amount,
'ADJ_TAX',lad.acctd_amount,
'ADJ_CHRG',lad.acctd_amount,
'ADJ_FRT',lad.acctd_amount,
-1* lad.acctd_amount)) * ABS(lad.from_amount) --FROM_AMOUNT
, SIGN(DECODE(lad.activity_bucket,'ED_LINE',lad.acctd_amount,
'ED_TAX', lad.acctd_amount,
'ED_CHRG',lad.acctd_amount,
'ED_FRT' ,lad.acctd_amount,
'UNED_LINE',lad.acctd_amount,
'UNED_TAX',lad.acctd_amount,
'UNED_CHRG',lad.acctd_amount,
'UNED_FRT',lad.acctd_amount,
'ADJ_LINE',lad.acctd_amount,
'ADJ_TAX',lad.acctd_amount,
'ADJ_CHRG',lad.acctd_amount,
'ADJ_FRT',lad.acctd_amount,
-1* lad.acctd_amount)) * ABS(lad.from_acctd_amount) --FROM_ACCTD_AMOUNT
, lad.ledger_id --LEDGER_ID
, lad.base_currency --BASE_CURRENCY
FROM AR_LINE_APP_DETAIL_GT lad,
ar_payment_schedules_all sch
WHERE lad.ref_customer_trx_id = sch.customer_trx_id
AND lad.gt_id = p_gt_id;
localdebug(' rows inserted = ' || l_rows);
SELECT * FROM ra_customer_trx_all
WHERE customer_trx_id = p_trx_id;
g_cust_inv_rec.program_update_date := l_trx_rec.program_update_date;
UPDATE RA_AR_GT SET
tl_alloc_amt = DECODE(account_class,'REV' ,g_line_applied,
'INVOICE' ,g_line_applied,0)
, tl_alloc_acctd_amt = DECODE(account_class,'REV' ,g_acctd_line_applied,
'INVOICE' ,g_acctd_line_applied,0)
, tl_chrg_alloc_amt = DECODE(account_class,'CHARGES' ,g_chrg_applied,
'INVOICE' ,g_chrg_applied,0)
, tl_chrg_alloc_acctd_amt = DECODE(account_class,'CHARGES' ,g_acctd_chrg_applied,
'INVOICE' ,g_acctd_chrg_applied,0)
, tl_frt_alloc_amt = DECODE(account_class,'FREIGHT' ,g_frt_applied,
'INVOICE' ,g_frt_applied,0)
, tl_frt_alloc_acctd_amt = DECODE(account_class,'FREIGHT' ,g_acctd_frt_applied,
'INVOICE' ,g_acctd_frt_applied,0)
, tl_tax_alloc_amt = DECODE(account_class,'TAX' ,g_tax_applied,
'INVOICE' ,g_tax_applied,0)
, tl_tax_alloc_acctd_amt = DECODE(account_class,'TAX' ,g_acctd_tax_applied,
'INVOICE' ,g_acctd_tax_applied,0)
--
, tl_ed_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_line_ed,0),0)
, tl_ed_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_acctd_line_ed,0),0)
, tl_ed_chrg_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_chrg_ed,0),0)
, tl_ed_chrg_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_acctd_chrg_ed,0),0)
, tl_ed_frt_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_frt_ed,0),0)
, tl_ed_frt_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_acctd_frt_ed,0),0)
, tl_ed_tax_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_tax_ed,0),0)
, tl_ed_tax_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_acctd_tax_ed,0),0)
--
, tl_uned_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_line_uned,0),0)
, tl_uned_alloc_acctd_amt= DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_acctd_line_uned,0),0)
, tl_uned_chrg_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_chrg_uned,0),0)
, tl_uned_chrg_alloc_acctd_amt= DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_acctd_chrg_uned,0),0)
, tl_uned_frt_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_frt_uned,0),0)
, tl_uned_frt_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_acctd_frt_uned,0),0)
, tl_uned_tax_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_tax_uned,0),0)
, tl_uned_tax_alloc_acctd_amt =DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_acctd_tax_uned,0),0)
--
, gt_id = p_gt_id
, source_id = p_app_rec.receivable_application_id
, source_table ='RA'
, base_currency = p_ae_sys_rec.base_currency
WHERE ref_customer_trx_id = g_cust_inv_rec.customer_trx_id;
UPDATE ar_base_dist_amts_gt
set gt_id = p_gt_id
, source_id = p_app_rec.receivable_application_id
, source_table ='RA'
WHERE ref_customer_trx_id = g_cust_inv_rec.customer_trx_id;
UPDATE RA_AR_GT SET
tl_alloc_amt = DECODE(account_class,'REV' ,g_line_applied,0)
,tl_alloc_acctd_amt = DECODE(account_class,'REV' ,g_acctd_line_applied,0)
,tl_chrg_alloc_amt = g_chrg_applied
,tl_chrg_alloc_acctd_amt = g_acctd_chrg_applied
,tl_frt_alloc_amt = DECODE(account_class,'FREIGHT' ,g_frt_applied,0)
,tl_frt_alloc_acctd_amt = DECODE(account_class,'FREIGHT' ,g_acctd_frt_applied,0)
,tl_tax_alloc_amt = DECODE(account_class,'TAX' ,g_tax_applied,0)
,tl_tax_alloc_acctd_amt = DECODE(account_class,'TAX' ,g_acctd_tax_applied,0)
--
,tl_ed_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_line_ed,0),0)
,tl_ed_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_acctd_line_ed,0),0)
,tl_ed_chrg_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_chrg_ed,0),0)
,tl_ed_chrg_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_acctd_chrg_ed,0),0)
,tl_ed_frt_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_frt_ed,0),0)
,tl_ed_frt_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_acctd_frt_ed,0),0)
,tl_ed_tax_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_tax_ed,0),0)
,tl_ed_tax_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_acctd_tax_ed,0),0)
--
,tl_uned_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_line_uned,0),0)
,tl_uned_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'REV' ,g_acctd_line_uned,0),0)
,tl_uned_chrg_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_chrg_uned,0),0)
,tl_uned_chrg_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'CHARGES',g_acctd_chrg_uned,0),0)
,tl_uned_frt_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_frt_uned,0),0)
,tl_uned_frt_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'FREIGHT',g_acctd_frt_uned,0),0)
,tl_uned_tax_alloc_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_tax_uned,0),0)
,tl_uned_tax_alloc_acctd_amt = DECODE(source_type,NULL,DECODE(account_class,'TAX' ,g_acctd_tax_uned,0),0)
--
,gt_id = p_gt_id
,source_id = p_app_rec.receivable_application_id
,source_table = 'RA'
,base_currency = p_ae_sys_rec.base_currency
WHERE ref_customer_trx_id = g_cust_inv_rec.customer_trx_id;
UPDATE ar_base_dist_amts_gt
set gt_id = p_gt_id
, source_id = p_app_rec.receivable_application_id
, source_table ='RA'
WHERE ref_customer_trx_id = g_cust_inv_rec.customer_trx_id;
update_dist
(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_from_gt
(p_from_amt => p_app_rec.amount_applied_from,
p_from_acctd_amt => p_app_rec.acctd_amount_applied_from,
p_ae_sys_rec => p_ae_sys_rec,
p_app_rec => l_app_rec,
p_gt_id => p_gt_id);
insert_ard_gt(p_gt_id => p_gt_id,
x_exec_status =>l_exec_status );
SELECT tt.psa_trx_type_id psa_tt_id,
(SELECT adjustment_id
FROM ar_adjustments adj
WHERE customer_trx_id = trx.customer_trx_id
AND upgrade_method = '11I'
AND rownum = 1) c11iadj,
(SELECT adjustment_id
FROM ar_adjustments adj
WHERE customer_trx_id = trx.customer_trx_id
AND upgrade_method = '11IMFAR'
AND rownum = 1) mfadj,
(SELECT app.receivable_application_id
FROM ar_receivable_applications app
WHERE app.applied_customer_trx_id = trx.customer_trx_id
AND NVL(app.upgrade_method,'NULL') IN ('11I_MFAR_UPG','NULL')
AND NVL(p_app_id,-9) <> app.receivable_application_id -- excluded the current app record
AND rownum = 1) app11i,
(SELECT receivable_application_id
FROM ar_receivable_applications app
WHERE app.customer_trx_id = trx.customer_trx_id
AND NVL(app.upgrade_method,'NULL') IN ('11I_MFAR_UPG','NULL')
AND NVL(p_app_id,-9) <> app.receivable_application_id -- excluded the current app record
AND rownum = 1) cmapp11i
FROM ra_customer_trx trx,
psa_trx_types_all tt
WHERE trx.customer_trx_id = p_trx_id
AND trx.cust_trx_type_id = tt.psa_trx_type_id(+);
SELECT 'Y'
FROM ar_adjustments adj
WHERE adj.customer_trx_id = p_trx_id
AND adj.status = 'A'
AND adj.postable = 'Y'
AND adj.upgrade_method IN ('11I','11IMFAR') ;
SELECT 'Y'
FROM psa_trx_types_all
WHERE psa_trx_type_id = p_cust_trx_type_id;
ar_upgrade_cash_accrual.update_base
(p_gt_id => p_gt_id);
UPDATE RA_AR_GT a SET
( tl_alloc_amt ,
tl_alloc_acctd_amt ,
tl_chrg_alloc_amt ,
tl_chrg_alloc_acctd_amt,
tl_frt_alloc_amt ,
tl_frt_alloc_acctd_amt,
tl_tax_alloc_amt ,
tl_tax_alloc_acctd_amt,
--
tl_ed_alloc_amt ,
tl_ed_alloc_acctd_amt ,
tl_ed_chrg_alloc_amt ,
tl_ed_chrg_alloc_acctd_amt,
tl_ed_frt_alloc_amt ,
tl_ed_frt_alloc_acctd_amt,
tl_ed_tax_alloc_amt ,
tl_ed_tax_alloc_acctd_amt,
--
tl_uned_alloc_amt ,
tl_uned_alloc_acctd_amt ,
tl_uned_chrg_alloc_amt ,
tl_uned_chrg_alloc_acctd_amt,
tl_uned_frt_alloc_amt ,
tl_uned_frt_alloc_acctd_amt,
tl_uned_tax_alloc_amt ,
tl_uned_tax_alloc_acctd_amt,
--
gt_id,
-- se_gt_id,
source_id,
source_table,
base_currency) =
(SELECT /*+INDEX (b ra_ar_n1)*/
DECODE(account_class,'REV' ,g_line_applied,
'INVOICE' ,g_line_applied,0) -- tl_alloc_amt
, DECODE(account_class,'REV' ,g_acctd_line_applied,
'INVOICE' ,g_acctd_line_applied,0) -- tl_alloc_acctd_amt
, DECODE(account_class,'CHARGES' ,g_chrg_applied,
'INVOICE' ,g_chrg_applied,0) -- tl_chrg_alloc_amt
, DECODE(account_class,'CHARGES' ,g_acctd_chrg_applied,
'INVOICE' ,g_acctd_chrg_applied,0) -- tl_chrg_alloc_acctd_amt
, DECODE(account_class,'FREIGHT' ,g_frt_applied,
'INVOICE' ,g_frt_applied,0) -- tl_frt_alloc_amt
, DECODE(account_class,'FREIGHT' ,g_acctd_frt_applied,
'INVOICE' ,g_acctd_frt_applied,0) -- tl_frt_alloc_acctd_amt
, DECODE(account_class,'TAX' ,g_tax_applied,
'INVOICE' ,g_tax_applied,0) -- tl_tax_alloc_amt
, DECODE(account_class,'TAX' ,g_acctd_tax_applied,
'INVOICE' ,g_acctd_tax_applied,0) -- tl_tax_alloc_acctd_amt
--
, DECODE(account_class,'REV' ,g_line_ed,0) -- tl_ed_alloc_amt
, DECODE(account_class,'REV' ,g_acctd_line_ed,0) -- tl_ed_alloc_acctd_amt
, DECODE(account_class,'CHARGES',g_chrg_ed,0) -- tl_ed_chrg_alloc_amt
, DECODE(account_class,'CHARGES',g_acctd_chrg_ed,0) -- tl_ed_chrg_alloc_acctd_amt
, DECODE(account_class,'FREIGHT',g_frt_ed,0) -- tl_ed_frt_alloc_amt
, DECODE(account_class,'FREIGHT',g_acctd_frt_ed,0) -- tl_ed_frt_alloc_acctd_amt
, DECODE(account_class,'TAX' ,g_tax_ed,0) -- tl_ed_tax_alloc_amt
, DECODE(account_class,'TAX' ,g_acctd_tax_ed,0) -- tl_ed_tax_alloc_acctd_amt
, DECODE(account_class,'REV' ,g_line_uned,0) -- tl_uned_alloc_amt
, DECODE(account_class,'REV' ,g_acctd_line_uned,0) -- tl_uned_alloc_acctd_amt
, DECODE(account_class,'CHARGES',g_chrg_uned,0) -- tl_uned_chrg_alloc_amt
, DECODE(account_class,'CHARGES',g_acctd_chrg_uned,0) -- tl_uned_chrg_alloc_acctd_amt
, DECODE(account_class,'FREIGHT',g_frt_uned,0) -- tl_uned_frt_alloc_amt
, DECODE(account_class,'FREIGHT',g_acctd_frt_uned,0) -- tl_uned_frt_alloc_acctd_amt
, DECODE(account_class,'TAX' ,g_tax_uned,0) -- tl_uned_tax_alloc_amt
, DECODE(account_class,'TAX' ,g_acctd_tax_uned,0) -- tl_uned_tax_alloc_acctd_amt
, p_gt_id
--, USERENV('SESSIONID')
, p_app_rec.receivable_application_id
, 'RA'
, p_ae_sys_rec.base_currency
FROM ra_ar_gt b
WHERE a.rowid = b.rowid
AND a.gt_id = p_gt_id);
update_dist
(p_gt_id => p_gt_id,
p_customer_trx_id => l_app_rec.applied_customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_from_gt
(p_from_amt => l_app_rec.AMOUNT_APPLIED_FROM,
p_from_acctd_amt => l_app_rec.ACCTD_AMOUNT_APPLIED_FROM,
p_ae_sys_rec => p_ae_sys_rec,
p_app_rec => p_app_rec);
UPDATE ar_receivable_applications_all
SET upgrade_method = 'R12_MERGE'
WHERE receivable_application_id = l_app_rec.receivable_application_id;
UPDATE ar_receivable_applications_all
SET upgrade_method = 'R12_11ICASH'
WHERE receivable_application_id = l_app_rec.receivable_application_id;
SELECT /*+INDEX (ra_customer_trx_lines_gt ra_customer_trx_lines_gt_n1)*/
NVL(SUM(DECODE(line_type,'LINE',NVL(AMOUNT_DUE_REMAINING,0))),0) line_rem,
NVL(SUM(DECODE(line_type,'TAX' ,NVL(AMOUNT_DUE_REMAINING,0))),0) tax_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(CHRG_AMOUNT_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'CHARGES',NVL(AMOUNT_DUE_REMAINING,0))),0) chrg_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(FRT_ADJ_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'FREIGHT',NVL(AMOUNT_DUE_REMAINING,0))),0) frt_rem
FROM ra_customer_trx_lines_gt
WHERE CUSTOMER_TRX_ID = p_customer_trx_id;
SELECT /*+INDEX (ra_customer_trx_lines_gt ra_customer_trx_lines_gt_n1)*/
NVL(SUM(DECODE(line_type,'LINE',NVL(AMOUNT_DUE_REMAINING,0))),0) line_rem,
NVL(SUM(DECODE(line_type,'TAX' ,NVL(AMOUNT_DUE_REMAINING,0))),0) tax_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(CHRG_AMOUNT_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'CHARGES',NVL(AMOUNT_DUE_REMAINING,0))),0) chrg_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(FRT_ADJ_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'FREIGHT',NVL(AMOUNT_DUE_REMAINING,0))),0) frt_rem
FROM ra_customer_trx_lines_gt
WHERE CUSTOMER_TRX_ID = p_customer_trx_id
AND DECODE(line_type,'LINE',customer_trx_line_id, LINK_TO_CUST_TRX_LINE_ID) = p_ctl_id;
SELECT /*+INDEX (ra_customer_trx_lines_gt ra_customer_trx_lines_gt_n1)*/
NVL(SUM(DECODE(line_type,'LINE',NVL(AMOUNT_DUE_REMAINING,0))),0) line_rem,
NVL(SUM(DECODE(line_type,'TAX' ,NVL(AMOUNT_DUE_REMAINING,0))),0) tax_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(CHRG_AMOUNT_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'CHARGES',NVL(AMOUNT_DUE_REMAINING,0))),0) chrg_rem,
NVL(SUM(DECODE(line_type,'LINE',NVL(FRT_ADJ_REMAINING,0))),0) +
NVL(SUM(DECODE(line_type,'FREIGHT',NVL(AMOUNT_DUE_REMAINING,0))),0) frt_rem
FROM ra_customer_trx_lines_gt
WHERE CUSTOMER_TRX_ID = p_customer_trx_id
AND source_data_key1 = p_source_data_key1
AND source_data_key2 = p_source_data_key2
AND source_data_key3 = p_source_data_key3
AND source_data_key4 = p_source_data_key4
AND source_data_key5 = p_source_data_key5;
SELECT a.Line_balance line_balance,
a.Tax_Balance tax_balance,
b.Frt_adj + b.Frt_ed + b.Frt_uned + b.Frt_app freight_balance,
d.chrg_adj + d.chrg_app charges_balance,
c.invoice_currency_code invoice_currency_code
FROM
(SELECT SUM(DECODE(line_type,'LINE',amount_due_remaining,0)) Line_Balance
,SUM(DECODE(line_type,'TAX',amount_due_remaining,0)) Tax_Balance
,customer_trx_id
FROM ra_customer_trx_lines
GROUP BY customer_trx_id) a,
(SELECT SUM(DECODE(line_type,'LINE', frt_adj_remaining, 0)) Frt_adj,
SUM(DECODE(line_type,'LINE', frt_ed_amount, 0)) Frt_ed,
SUM(DECODE(line_type,'LINE', frt_uned_amount, 0)) Frt_uned,
SUM(DECODE(line_type,'FREIGHT',amount_due_remaining, 0)) Frt_app,
customer_trx_id
FROM ra_customer_trx_lines
GROUP BY customer_trx_id) b,
(SELECT SUM(DECODE(line_type,'LINE', chrg_amount_remaining, 0)) chrg_adj,
SUM(DECODE(line_type,'CHARGES',amount_due_remaining, 0)) chrg_app,
customer_trx_id
FROM ra_customer_trx_lines
GROUP BY customer_trx_id) d,
ar_payment_schedules c
WHERE b.customer_trx_id = a.customer_trx_id
AND a.customer_trx_id = c.customer_trx_id
AND a.customer_trx_id = d.customer_trx_id
AND c.customer_trx_id = p_customer_trx_id;
SELECT /*+INDEX (a ra_ar_n1) INDEX(ar_base_dist_amts_gt b)*/
b.base_dist_amt line_balance,
b.base_dist_tax_amt tax_balance,
b.base_dist_frt_amt freight_balance,
b.base_dist_chrg_amt charges_balance,
a.to_currency invoice_currency_code
FROM ra_ar_gt a,ar_base_dist_amts_gt b
WHERE a.ref_customer_trx_id = p_customer_trx_id
AND b.gt_id = a.gt_id
AND b.gp_level = 'D'
AND a.ref_customer_trx_id = b.ref_customer_trx_id
AND a.ref_customer_trx_line_id = b.ref_customer_trx_line_id;
SELECT SUM(DECODE(a.line_type, 'LINE', sum_orig,0)) line_balance,
SUM(DECODE(a.line_type, 'TAX' , sum_orig,0)) tax_balance,
SUM(DECODE(a.line_type, 'FREIGHT' , sum_orig,0)) freight_balance,
SUM(DECODE(a.line_type, 'CHARGES' , sum_orig,0)) charges_balance,
a.invoice_currency_code invoice_currency_code
FROM
(SELECT SUM(ctlgd.AMOUNT) sum_orig,
SUM(ctlgd.ACCTD_AMOUNT) sum_acctd_orig,
ctl.line_type line_type,
ctx.invoice_currency_code invoice_currency_code
FROM ra_customer_trx ctx,
ra_customer_trx_lines ctl,
ra_cust_trx_line_gl_dist ctlgd
WHERE ctx.customer_trx_id = p_customer_trx_id
AND ctx.customer_trx_id = ctl.customer_trx_id
AND ctl.customer_trx_line_id = ctlgd.customer_trx_line_id
GROUP BY ctx.invoice_currency_code,
ctl.line_type) a
GROUP BY a.invoice_currency_code;
update_group_line(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'ADJ',
p_ae_sys_rec => p_ae_sys_rec);
final_update_inv_ctl_rem_orig(p_customer_trx => p_customer_trx);
UPDATE ar_adjustments
SET upgrade_method = 'R12_MERGE'
WHERE adjustment_id = p_adj_rec.adjustment_id;
UPDATE ar_adjustments
SET upgrade_method = 'R12'
WHERE adjustment_id = p_adj_rec.adjustment_id;
update_group_line(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_line(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_ae_sys_rec => p_ae_sys_rec);
update_ctl_rem_orig(p_gt_id => p_gt_id,
p_customer_trx_id => g_cust_inv_rec.customer_trx_id,
p_pay_adj => 'APP',
p_ae_sys_rec => p_ae_sys_rec);
SELECT SUM(NVL(amount,0)),
SUM(NVL(acctd_amount,0))
FROM AR_LINE_APP_DETAIL_GT
WHERE gt_id = p_gt_id;
SELECT SUM(NVL(amount,0)),
SUM(NVL(acctd_amount,0)),
activity_bucket
FROM AR_LINE_APP_DETAIL_GT
WHERE gt_id = p_gt_id
GROUP BY activity_bucket;
select sum(gld.AMOUNT) amount,sum(gld.ACCTD_AMOUNT) acctd_amount,
min(nvl(ctl.AUTORULE_COMPLETE_FLAG,'Y')) AUTORULE_COMPLETE_FLAG,
min(ct.invoice_currency_code) inv_currency,
min(sob.currency_code) ledger_currency,
ctl.LINE_TYPE
from ra_customer_trx ct,
ra_customer_trx_lines ctl,
RA_CUST_TRX_LINE_GL_DIST gld,
gl_sets_of_books sob,
ar_system_parameters ars
where ct.customer_trx_id = p_customer_trx_id
and ctl.customer_trx_id = ct.customer_trx_id
and gld.customer_trx_id = ctl.customer_trx_id
and gld.customer_trx_line_id = ctl.customer_trx_line_id
and gld.ACCOUNT_SET_FLAG = 'N'
and ars.org_id = ct.org_id
and ct.SET_OF_BOOKS_ID = sob.SET_OF_BOOKS_ID
group by ctl.LINE_TYPE;
SELECT upgrade_method
INTO x_upg_method
FROM ra_customer_trx
where customer_trx_id = p_customer_trx_id;
update ra_customer_trx
set upgrade_method = 'R12_MERGE'
where customer_trx_id = p_customer_trx_id;
SELECT
FROM_AMOUNT,
FROM_CURRENCY,
GROUP_ID,
GT_ID,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
LEDGER_ID,
LINE_ID,
ORG_ID,
REF_CUSTOMER_TRX_ID,
REF_CUSTOMER_TRX_LINE_ID,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_DET_ID,
REF_LINE_ID,
SE_GT_ID,
SOURCE_DATA_KEY1,
SOURCE_DATA_KEY2,
SOURCE_DATA_KEY3,
SOURCE_DATA_KEY4,
SOURCE_DATA_KEY5,
SOURCE_ID,
SOURCE_TABLE,
SOURCE_TYPE,
TAXABLE_ACCTD_AMOUNT,
TAXABLE_AMOUNT,
TAX_INC_FLAG,
TAX_LINK_ID,
TO_CURRENCY,
REF_MF_DIST_FLAG,
ACCTD_AMOUNT,
REF_ACCOUNT_CLASS,
AMOUNT,
APP_LEVEL,
BASE_CURRENCY,
ACTIVITY_BUCKET,
CCID,
CCID_SECONDARY,
CREATED_BY,
CREATION_DATE,
DET_ID,
FROM_ACCTD_AMOUNT
FROM AR_LINE_APP_DETAIL_GT
WHERE GT_ID = l_gt_id;
INSERT INTO AR_LINE_APP_DETAIL_TMP
(ACCTD_AMOUNT ,
REF_ACCOUNT_CLASS ,
AMOUNT ,
APP_LEVEL ,
BASE_CURRENCY ,
ACTIVITY_BUCKET ,
CCID ,
CCID_SECONDARY ,
CREATED_BY ,
CREATION_DATE ,
DET_ID ,
FROM_ACCTD_AMOUNT ,
FROM_AMOUNT ,
FROM_CURRENCY ,
GROUP_ID ,
GT_ID ,
LAST_UPDATED_BY ,
LAST_UPDATE_DATE ,
LAST_UPDATE_LOGIN ,
LEDGER_ID ,
LINE_ID ,
ORG_ID ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_DET_ID ,
REF_LINE_ID ,
SE_GT_ID ,
SOURCE_DATA_KEY1 ,
SOURCE_DATA_KEY2 ,
SOURCE_DATA_KEY3 ,
SOURCE_DATA_KEY4 ,
SOURCE_DATA_KEY5 ,
SOURCE_ID ,
SOURCE_TABLE ,
SOURCE_TYPE ,
TAXABLE_ACCTD_AMOUNT ,
TAXABLE_AMOUNT ,
TAX_INC_FLAG ,
TAX_LINK_ID ,
TO_CURRENCY ,
REF_MF_DIST_FLAG )
SELECT
ACCTD_AMOUNT ,
REF_ACCOUNT_CLASS ,
AMOUNT ,
APP_LEVEL ,
BASE_CURRENCY ,
ACTIVITY_BUCKET ,
CCID ,
CCID_SECONDARY ,
CREATED_BY ,
CREATION_DATE ,
DET_ID ,
FROM_ACCTD_AMOUNT ,
FROM_AMOUNT ,
FROM_CURRENCY ,
GROUP_ID ,
GT_ID ,
LAST_UPDATED_BY ,
LAST_UPDATE_DATE ,
LAST_UPDATE_LOGIN ,
LEDGER_ID ,
LINE_ID ,
ORG_ID ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID,
REF_CUST_TRX_LINE_GL_DIST_ID,
REF_DET_ID ,
REF_LINE_ID ,
SE_GT_ID ,
SOURCE_DATA_KEY1 ,
SOURCE_DATA_KEY2 ,
SOURCE_DATA_KEY3 ,
SOURCE_DATA_KEY4 ,
SOURCE_DATA_KEY5 ,
SOURCE_ID ,
SOURCE_TABLE ,
SOURCE_TYPE ,
TAXABLE_ACCTD_AMOUNT ,
TAXABLE_AMOUNT ,
TAX_INC_FLAG ,
TAX_LINK_ID ,
TO_CURRENCY ,
REF_MF_DIST_FLAG
FROM AR_LINE_APP_DETAIL_GT
WHERE GT_ID = l_gt_id;
INSERT INTO ra_ar_tmp
(ACCOUNT_CLASS ,
ACCTD_AMT ,
ACCTD_AMT_CR ,
ACCTD_AMT_DR ,
ALLOC_ACCTD_AMT ,
ALLOC_AMT ,
AMT ,
AMT_CR ,
AMT_DR ,
BASE_CHRG_PRO_ACCTD_AMT ,
BASE_CHRG_PRO_AMT ,
BASE_CURRENCY ,
BASE_DIST_ACCTD_AMT ,
BASE_DIST_AMT ,
BASE_DIST_CHRG_ACCTD_AMT ,
BASE_DIST_CHRG_AMT ,
BASE_DIST_FRT_ACCTD_AMT ,
BASE_DIST_FRT_AMT ,
BASE_DIST_TAX_ACCTD_AMT ,
BASE_DIST_TAX_AMT ,
BASE_ED_CHRG_PRO_ACCTD_AMT ,
BASE_ED_CHRG_PRO_AMT ,
BASE_ED_DIST_ACCTD_AMT ,
BASE_ED_DIST_AMT ,
BASE_ED_DIST_CHRG_ACCTD_AMT ,
BASE_ED_DIST_CHRG_AMT ,
BASE_ED_DIST_FRT_ACCTD_AMT ,
BASE_ED_DIST_FRT_AMT ,
BASE_ED_DIST_TAX_ACCTD_AMT ,
BASE_ED_DIST_TAX_AMT ,
BASE_ED_FRT_PRO_ACCTD_AMT ,
BASE_ED_FRT_PRO_AMT ,
BASE_ED_PRO_ACCTD_AMT ,
BASE_ED_PRO_AMT ,
BASE_ED_TAX_PRO_ACCTD_AMT ,
BASE_ED_TAX_PRO_AMT ,
BASE_FRT_PRO_ACCTD_AMT ,
BASE_FRT_PRO_AMT ,
BASE_PRO_ACCTD_AMT ,
BASE_PRO_AMT ,
BASE_TAX_PRO_ACCTD_AMT ,
BASE_TAX_PRO_AMT ,
BASE_UNED_CHRG_PRO_ACCTD_AMT ,
BASE_UNED_CHRG_PRO_AMT ,
BASE_UNED_DIST_ACCTD_AMT ,
BASE_UNED_DIST_AMT ,
BASE_UNED_DIST_CHRG_ACCTD_AMT ,
BASE_UNED_DIST_CHRG_AMT ,
BASE_UNED_DIST_FRT_ACCTD_AMT ,
BASE_UNED_DIST_FRT_AMT ,
BASE_UNED_DIST_TAX_ACCTD_AMT ,
BASE_UNED_DIST_TAX_AMT ,
BASE_UNED_FRT_PRO_ACCTD_AMT ,
BASE_UNED_FRT_PRO_AMT ,
BASE_UNED_PRO_ACCTD_AMT ,
BASE_UNED_PRO_AMT ,
BASE_UNED_TAX_PRO_ACCTD_AMT ,
BASE_UNED_TAX_PRO_AMT ,
ACTIVITY_BUCKET ,
BUC_ALLOC_ACCTD_AMT ,
BUC_ALLOC_AMT ,
BUC_CHRG_ALLOC_ACCTD_AMT ,
BUC_CHRG_ALLOC_AMT ,
BUC_ED_ALLOC_ACCTD_AMT ,
BUC_ED_ALLOC_AMT ,
BUC_ED_CHRG_ALLOC_ACCTD_AMT ,
BUC_ED_CHRG_ALLOC_AMT ,
BUC_ED_FRT_ALLOC_ACCTD_AMT ,
BUC_ED_FRT_ALLOC_AMT ,
BUC_ED_TAX_ALLOC_ACCTD_AMT ,
BUC_ED_TAX_ALLOC_AMT ,
BUC_FRT_ALLOC_ACCTD_AMT ,
BUC_FRT_ALLOC_AMT ,
BUC_TAX_ALLOC_ACCTD_AMT ,
BUC_TAX_ALLOC_AMT ,
BUC_UNED_ALLOC_ACCTD_AMT ,
BUC_UNED_ALLOC_AMT ,
BUC_UNED_CHRG_ALLOC_ACCTD_AMT ,
BUC_UNED_CHRG_ALLOC_AMT ,
BUC_UNED_FRT_ALLOC_ACCTD_AMT ,
BUC_UNED_FRT_ALLOC_AMT ,
BUC_UNED_TAX_ALLOC_ACCTD_AMT ,
BUC_UNED_TAX_ALLOC_AMT ,
CCID ,
CCID_SECONDARY ,
CHRG_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
DET_ID ,
DIST_ACCTD_AMT ,
DIST_AMT ,
DIST_CHRG_ACCTD_AMT ,
DIST_CHRG_AMT ,
DIST_ED_ACCTD_AMT ,
DIST_ED_AMT ,
DIST_ED_CHRG_ACCTD_AMT ,
DIST_ED_CHRG_AMT ,
DIST_ED_FRT_ACCTD_AMT ,
DIST_ED_FRT_AMT ,
DIST_ED_TAX_ACCTD_AMT ,
DIST_ED_TAX_AMT ,
DIST_FRT_ACCTD_AMT ,
DIST_FRT_AMT ,
DIST_TAX_ACCTD_AMT ,
DIST_TAX_AMT ,
DIST_UNED_ACCTD_AMT ,
DIST_UNED_AMT ,
DIST_UNED_CHRG_ACCTD_AMT ,
DIST_UNED_CHRG_AMT ,
DIST_UNED_FRT_ACCTD_AMT ,
DIST_UNED_FRT_AMT ,
DIST_UNED_TAX_ACCTD_AMT ,
DIST_UNED_TAX_AMT ,
DUE_ORIG_ACCTD_AMT ,
DUE_ORIG_AMT ,
DUE_REM_ACCTD_AMT ,
DUE_REM_AMT ,
ELMT_CHRG_PRO_ACCTD_AMT ,
ELMT_CHRG_PRO_AMT ,
ELMT_ED_CHRG_PRO_ACCTD_AMT ,
ELMT_ED_CHRG_PRO_AMT ,
ELMT_ED_FRT_PRO_ACCTD_AMT ,
ELMT_ED_FRT_PRO_AMT ,
ELMT_ED_PRO_ACCTD_AMT ,
ELMT_ED_PRO_AMT ,
ELMT_ED_TAX_PRO_ACCTD_AMT ,
ELMT_ED_TAX_PRO_AMT ,
ELMT_FRT_PRO_ACCTD_AMT ,
ELMT_FRT_PRO_AMT ,
ELMT_PRO_ACCTD_AMT ,
ELMT_PRO_AMT ,
ELMT_TAX_PRO_ACCTD_AMT ,
ELMT_TAX_PRO_AMT ,
ELMT_UNED_CHRG_PRO_ACCTD_AMT ,
ELMT_UNED_CHRG_PRO_AMT ,
ELMT_UNED_FRT_PRO_ACCTD_AMT ,
ELMT_UNED_FRT_PRO_AMT ,
ELMT_UNED_PRO_ACCTD_AMT ,
ELMT_UNED_PRO_AMT ,
ELMT_UNED_TAX_PRO_ACCTD_AMT ,
ELMT_UNED_TAX_PRO_AMT ,
FROM_ACCTD_AMT_CR ,
FROM_ACCTD_AMT_DR ,
FROM_ALLOC_ACCTD_AMT ,
FROM_ALLOC_AMT ,
FROM_CURRENCY ,
FRT_ADJ_REM_ACCTD_AMT ,
FRT_ADJ_REM_AMT ,
FRT_ORIG_ACCTD_AMT ,
FRT_ORIG_AMT ,
FRT_REM_ACCTD_AMT ,
FRT_REM_AMT ,
GP_LEVEL ,
GROUP_ID ,
GT_ID ,
LINE_ID ,
LINE_TYPE ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUST_TRX_LINE_GL_DIST_ID ,
REF_DET_ID ,
REF_LINE_ID ,
SET_OF_BOOKS_ID ,
SE_GT_ID ,
SOB_TYPE ,
SOURCE_DATA_KEY1 ,
SOURCE_DATA_KEY2 ,
SOURCE_DATA_KEY3 ,
SOURCE_DATA_KEY4 ,
SOURCE_DATA_KEY5 ,
SOURCE_ID ,
SOURCE_TABLE ,
SOURCE_TYPE ,
SUM_GP_LINE_CHRG_REM_ACCTD_AMT ,
SUM_GP_LINE_CHRG_REM_AMT ,
SUM_GP_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_GP_LINE_FRT_ORIG_AMT ,
SUM_GP_LINE_FRT_REM_ACCTD_AMT ,
SUM_GP_LINE_FRT_REM_AMT ,
SUM_GP_LINE_ORIG_ACCTD_AMT ,
SUM_GP_LINE_ORIG_AMT ,
SUM_GP_LINE_REM_ACCTD_AMT ,
SUM_GP_LINE_REM_AMT ,
SUM_GP_LINE_TAX_ORIG_ACCTD_AMT ,
SUM_GP_LINE_TAX_ORIG_AMT ,
SUM_GP_LINE_TAX_REM_ACCTD_AMT ,
SUM_GP_LINE_TAX_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
SUM_LINE_ORIG_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_REM_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
TAX_INC_FLAG ,
TAX_LINK_ID ,
TAX_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TL_ALLOC_ACCTD_AMT ,
TL_ALLOC_AMT ,
TL_CHRG_ALLOC_ACCTD_AMT ,
TL_CHRG_ALLOC_AMT ,
TL_ED_ALLOC_ACCTD_AMT ,
TL_ED_ALLOC_AMT ,
TL_ED_CHRG_ALLOC_ACCTD_AMT ,
TL_ED_CHRG_ALLOC_AMT ,
TL_ED_FRT_ALLOC_ACCTD_AMT ,
TL_ED_FRT_ALLOC_AMT ,
TL_ED_TAX_ALLOC_ACCTD_AMT ,
TL_ED_TAX_ALLOC_AMT ,
TL_FRT_ALLOC_ACCTD_AMT ,
TL_FRT_ALLOC_AMT ,
TL_TAX_ALLOC_ACCTD_AMT ,
TL_TAX_ALLOC_AMT ,
TL_UNED_ALLOC_ACCTD_AMT ,
TL_UNED_ALLOC_AMT ,
TL_UNED_CHRG_ALLOC_ACCTD_AMT ,
TL_UNED_CHRG_ALLOC_AMT ,
TL_UNED_FRT_ALLOC_ACCTD_AMT ,
TL_UNED_FRT_ALLOC_AMT ,
TL_UNED_TAX_ALLOC_ACCTD_AMT ,
TL_UNED_TAX_ALLOC_AMT ,
TO_CURRENCY ,
REF_MF_DIST_FLAG ,
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
CHRG_ADJ_REM_AMT ,
CHRG_ADJ_REM_ACCTD_AMT ,
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
SUM_GP_LINE_CHRG_ORIG_AMT ,
SUM_GP_LINE_CHRG_ORIG_ACCTD_AM ,
INT_LINE_AMOUNT ,
INT_TAX_AMOUNT ,
INT_ED_LINE_AMOUNT ,
INT_ED_TAX_AMOUNT ,
INT_UNED_LINE_AMOUNT ,
INT_UNED_TAX_AMOUNT ,
SUM_INT_LINE_AMOUNT ,
SUM_INT_TAX_AMOUNT ,
SUM_INT_ED_LINE_AMOUNT ,
SUM_INT_ED_TAX_AMOUNT ,
SUM_INT_UNED_LINE_AMOUNT ,
SUM_INT_UNED_TAX_AMOUNT )
SELECT
ACCOUNT_CLASS ,
ACCTD_AMT ,
ACCTD_AMT_CR ,
ACCTD_AMT_DR ,
ALLOC_ACCTD_AMT ,
ALLOC_AMT ,
AMT ,
AMT_CR ,
AMT_DR ,
BASE_CHRG_PRO_ACCTD_AMT ,
BASE_CHRG_PRO_AMT ,
BASE_CURRENCY ,
BASE_DIST_ACCTD_AMT ,
BASE_DIST_AMT ,
BASE_DIST_CHRG_ACCTD_AMT ,
BASE_DIST_CHRG_AMT ,
BASE_DIST_FRT_ACCTD_AMT ,
BASE_DIST_FRT_AMT ,
BASE_DIST_TAX_ACCTD_AMT ,
BASE_DIST_TAX_AMT ,
BASE_ED_CHRG_PRO_ACCTD_AMT ,
BASE_ED_CHRG_PRO_AMT ,
BASE_ED_DIST_ACCTD_AMT ,
BASE_ED_DIST_AMT ,
BASE_ED_DIST_CHRG_ACCTD_AMT ,
BASE_ED_DIST_CHRG_AMT ,
BASE_ED_DIST_FRT_ACCTD_AMT ,
BASE_ED_DIST_FRT_AMT ,
BASE_ED_DIST_TAX_ACCTD_AMT ,
BASE_ED_DIST_TAX_AMT ,
BASE_ED_FRT_PRO_ACCTD_AMT ,
BASE_ED_FRT_PRO_AMT ,
BASE_ED_PRO_ACCTD_AMT ,
BASE_ED_PRO_AMT ,
BASE_ED_TAX_PRO_ACCTD_AMT ,
BASE_ED_TAX_PRO_AMT ,
BASE_FRT_PRO_ACCTD_AMT ,
BASE_FRT_PRO_AMT ,
BASE_PRO_ACCTD_AMT ,
BASE_PRO_AMT ,
BASE_TAX_PRO_ACCTD_AMT ,
BASE_TAX_PRO_AMT ,
BASE_UNED_CHRG_PRO_ACCTD_AMT ,
BASE_UNED_CHRG_PRO_AMT ,
BASE_UNED_DIST_ACCTD_AMT ,
BASE_UNED_DIST_AMT ,
BASE_UNED_DIST_CHRG_ACCTD_AMT ,
BASE_UNED_DIST_CHRG_AMT ,
BASE_UNED_DIST_FRT_ACCTD_AMT ,
BASE_UNED_DIST_FRT_AMT ,
BASE_UNED_DIST_TAX_ACCTD_AMT ,
BASE_UNED_DIST_TAX_AMT ,
BASE_UNED_FRT_PRO_ACCTD_AMT ,
BASE_UNED_FRT_PRO_AMT ,
BASE_UNED_PRO_ACCTD_AMT ,
BASE_UNED_PRO_AMT ,
BASE_UNED_TAX_PRO_ACCTD_AMT ,
BASE_UNED_TAX_PRO_AMT ,
ACTIVITY_BUCKET ,
BUC_ALLOC_ACCTD_AMT ,
BUC_ALLOC_AMT ,
BUC_CHRG_ALLOC_ACCTD_AMT ,
BUC_CHRG_ALLOC_AMT ,
BUC_ED_ALLOC_ACCTD_AMT ,
BUC_ED_ALLOC_AMT ,
BUC_ED_CHRG_ALLOC_ACCTD_AMT ,
BUC_ED_CHRG_ALLOC_AMT ,
BUC_ED_FRT_ALLOC_ACCTD_AMT ,
BUC_ED_FRT_ALLOC_AMT ,
BUC_ED_TAX_ALLOC_ACCTD_AMT ,
BUC_ED_TAX_ALLOC_AMT ,
BUC_FRT_ALLOC_ACCTD_AMT ,
BUC_FRT_ALLOC_AMT ,
BUC_TAX_ALLOC_ACCTD_AMT ,
BUC_TAX_ALLOC_AMT ,
BUC_UNED_ALLOC_ACCTD_AMT ,
BUC_UNED_ALLOC_AMT ,
BUC_UNED_CHRG_ALLOC_ACCTD_AMT ,
BUC_UNED_CHRG_ALLOC_AMT ,
BUC_UNED_FRT_ALLOC_ACCTD_AMT ,
BUC_UNED_FRT_ALLOC_AMT ,
BUC_UNED_TAX_ALLOC_ACCTD_AMT ,
BUC_UNED_TAX_ALLOC_AMT ,
CCID ,
CCID_SECONDARY ,
CHRG_REM_ACCTD_AMT ,
CHRG_REM_AMT ,
DET_ID ,
DIST_ACCTD_AMT ,
DIST_AMT ,
DIST_CHRG_ACCTD_AMT ,
DIST_CHRG_AMT ,
DIST_ED_ACCTD_AMT ,
DIST_ED_AMT ,
DIST_ED_CHRG_ACCTD_AMT ,
DIST_ED_CHRG_AMT ,
DIST_ED_FRT_ACCTD_AMT ,
DIST_ED_FRT_AMT ,
DIST_ED_TAX_ACCTD_AMT ,
DIST_ED_TAX_AMT ,
DIST_FRT_ACCTD_AMT ,
DIST_FRT_AMT ,
DIST_TAX_ACCTD_AMT ,
DIST_TAX_AMT ,
DIST_UNED_ACCTD_AMT ,
DIST_UNED_AMT ,
DIST_UNED_CHRG_ACCTD_AMT ,
DIST_UNED_CHRG_AMT ,
DIST_UNED_FRT_ACCTD_AMT ,
DIST_UNED_FRT_AMT ,
DIST_UNED_TAX_ACCTD_AMT ,
DIST_UNED_TAX_AMT ,
DUE_ORIG_ACCTD_AMT ,
DUE_ORIG_AMT ,
DUE_REM_ACCTD_AMT ,
DUE_REM_AMT ,
ELMT_CHRG_PRO_ACCTD_AMT ,
ELMT_CHRG_PRO_AMT ,
ELMT_ED_CHRG_PRO_ACCTD_AMT ,
ELMT_ED_CHRG_PRO_AMT ,
ELMT_ED_FRT_PRO_ACCTD_AMT ,
ELMT_ED_FRT_PRO_AMT ,
ELMT_ED_PRO_ACCTD_AMT ,
ELMT_ED_PRO_AMT ,
ELMT_ED_TAX_PRO_ACCTD_AMT ,
ELMT_ED_TAX_PRO_AMT ,
ELMT_FRT_PRO_ACCTD_AMT ,
ELMT_FRT_PRO_AMT ,
ELMT_PRO_ACCTD_AMT ,
ELMT_PRO_AMT ,
ELMT_TAX_PRO_ACCTD_AMT ,
ELMT_TAX_PRO_AMT ,
ELMT_UNED_CHRG_PRO_ACCTD_AMT ,
ELMT_UNED_CHRG_PRO_AMT ,
ELMT_UNED_FRT_PRO_ACCTD_AMT ,
ELMT_UNED_FRT_PRO_AMT ,
ELMT_UNED_PRO_ACCTD_AMT ,
ELMT_UNED_PRO_AMT ,
ELMT_UNED_TAX_PRO_ACCTD_AMT ,
ELMT_UNED_TAX_PRO_AMT ,
FROM_ACCTD_AMT_CR ,
FROM_ACCTD_AMT_DR ,
FROM_ALLOC_ACCTD_AMT ,
FROM_ALLOC_AMT ,
FROM_CURRENCY ,
FRT_ADJ_REM_ACCTD_AMT ,
FRT_ADJ_REM_AMT ,
FRT_ORIG_ACCTD_AMT ,
FRT_ORIG_AMT ,
FRT_REM_ACCTD_AMT ,
FRT_REM_AMT ,
GP_LEVEL ,
GROUP_ID ,
GT_ID ,
LINE_ID ,
LINE_TYPE ,
REF_CUSTOMER_TRX_ID ,
REF_CUSTOMER_TRX_LINE_ID ,
REF_CUST_TRX_LINE_GL_DIST_ID ,
REF_DET_ID ,
REF_LINE_ID ,
SET_OF_BOOKS_ID ,
SE_GT_ID ,
SOB_TYPE ,
SOURCE_DATA_KEY1 ,
SOURCE_DATA_KEY2 ,
SOURCE_DATA_KEY3 ,
SOURCE_DATA_KEY4 ,
SOURCE_DATA_KEY5 ,
SOURCE_ID ,
SOURCE_TABLE ,
SOURCE_TYPE ,
SUM_GP_LINE_CHRG_REM_ACCTD_AMT ,
SUM_GP_LINE_CHRG_REM_AMT ,
SUM_GP_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_GP_LINE_FRT_ORIG_AMT ,
SUM_GP_LINE_FRT_REM_ACCTD_AMT ,
SUM_GP_LINE_FRT_REM_AMT ,
SUM_GP_LINE_ORIG_ACCTD_AMT ,
SUM_GP_LINE_ORIG_AMT ,
SUM_GP_LINE_REM_ACCTD_AMT ,
SUM_GP_LINE_REM_AMT ,
SUM_GP_LINE_TAX_ORIG_ACCTD_AMT ,
SUM_GP_LINE_TAX_ORIG_AMT ,
SUM_GP_LINE_TAX_REM_ACCTD_AMT ,
SUM_GP_LINE_TAX_REM_AMT ,
SUM_LINE_CHRG_REM_ACCTD_AMT ,
SUM_LINE_CHRG_REM_AMT ,
SUM_LINE_FRT_ORIG_ACCTD_AMT ,
SUM_LINE_FRT_ORIG_AMT ,
SUM_LINE_FRT_REM_ACCTD_AMT ,
SUM_LINE_FRT_REM_AMT ,
SUM_LINE_ORIG_ACCTD_AMT ,
SUM_LINE_ORIG_AMT ,
SUM_LINE_REM_ACCTD_AMT ,
SUM_LINE_REM_AMT ,
SUM_LINE_TAX_ORIG_ACCTD_AMT ,
SUM_LINE_TAX_ORIG_AMT ,
SUM_LINE_TAX_REM_ACCTD_AMT ,
SUM_LINE_TAX_REM_AMT ,
TAX_INC_FLAG ,
TAX_LINK_ID ,
TAX_ORIG_ACCTD_AMT ,
TAX_ORIG_AMT ,
TAX_REM_ACCTD_AMT ,
TAX_REM_AMT ,
TL_ALLOC_ACCTD_AMT ,
TL_ALLOC_AMT ,
TL_CHRG_ALLOC_ACCTD_AMT ,
TL_CHRG_ALLOC_AMT ,
TL_ED_ALLOC_ACCTD_AMT ,
TL_ED_ALLOC_AMT ,
TL_ED_CHRG_ALLOC_ACCTD_AMT ,
TL_ED_CHRG_ALLOC_AMT ,
TL_ED_FRT_ALLOC_ACCTD_AMT ,
TL_ED_FRT_ALLOC_AMT ,
TL_ED_TAX_ALLOC_ACCTD_AMT ,
TL_ED_TAX_ALLOC_AMT ,
TL_FRT_ALLOC_ACCTD_AMT ,
TL_FRT_ALLOC_AMT ,
TL_TAX_ALLOC_ACCTD_AMT ,
TL_TAX_ALLOC_AMT ,
TL_UNED_ALLOC_ACCTD_AMT ,
TL_UNED_ALLOC_AMT ,
TL_UNED_CHRG_ALLOC_ACCTD_AMT ,
TL_UNED_CHRG_ALLOC_AMT ,
TL_UNED_FRT_ALLOC_ACCTD_AMT ,
TL_UNED_FRT_ALLOC_AMT ,
TL_UNED_TAX_ALLOC_ACCTD_AMT ,
TL_UNED_TAX_ALLOC_AMT ,
TO_CURRENCY ,
REF_MF_DIST_FLAG ,
CHRG_ORIG_AMT ,
CHRG_ORIG_ACCTD_AMT ,
CHRG_ADJ_REM_AMT ,
CHRG_ADJ_REM_ACCTD_AMT ,
SUM_LINE_CHRG_ORIG_AMT ,
SUM_LINE_CHRG_ORIG_ACCTD_AMT ,
SUM_GP_LINE_CHRG_ORIG_AMT ,
SUM_GP_LINE_CHRG_ORIG_ACCTD_AM ,
INT_LINE_AMOUNT ,
INT_TAX_AMOUNT ,
INT_ED_LINE_AMOUNT ,
INT_ED_TAX_AMOUNT ,
INT_UNED_LINE_AMOUNT ,
INT_UNED_TAX_AMOUNT ,
SUM_INT_LINE_AMOUNT ,
SUM_INT_TAX_AMOUNT ,
SUM_INT_ED_LINE_AMOUNT ,
SUM_INT_ED_TAX_AMOUNT ,
SUM_INT_UNED_LINE_AMOUNT ,
SUM_INT_UNED_TAX_AMOUNT
FROM ra_ar_gt
WHERE gt_id = l_gt_id;
localdebug(''||l.LAST_UPDATED_BY||' ');
localdebug(''||l.LAST_UPDATE_DATE||' ');
localdebug(''||l.LAST_UPDATE_LOGIN||' ');