You are on page 1of 5

CREATE OR REPLACE PACKAGE BODY APPS.

tgc_scondary_cust_opening AS
FUNCTION tgc_mtl_cust_open (p_customer number , p_item varchar2 , p_date
_from date) RETURN NUMBER
AS
lv_balance number(10);
BEGIN
select abs(sum (nvl(sales.secondary_transaction_quantity,0)+nvl(rma.seco
ndary_transaction_quantity,0))) mtl_qty into lv_balance
from
(
select
rcta.TRX_NUMBER , rcta.BILL_TO_CUSTOMER_ID , mmt.SECONDARY_TRANSACTION_Q
UANTITY ,mmt.INVENTORY_ITEM_ID
from
mtl_material_transactions mmt
, oe_order_headers_all ooha
, oe_order_lines_all oola
, ra_customer_trx_all rcta
, ra_customer_trx_lines_all rctla
where 1=1
/*
EXISTS (
select 1 from

mtl_material_transac

tions mmt1
where 1=1
and mmt.TRANSACTION_ID = mmt1.TRANSA
CTION_ID
and mmt1.TRANSACTION_TYPE_ID = 33
and mmt1.INVENTORY_ITEM_ID = 14001
--and mmt1.ORGANIZATION_ID = 84
)
*/
and mmt.TRX_SOURCE_LINE_ID = oola.LINE_ID
and mmt.INVENTORY_ITEM_ID = oola.INVENTORY_ITEM_ID
and mmt.ORGANIZATION_ID
= oola.SHIP_FROM_ORG_ID
and ooha.HEADER_ID = oola.HEADER_ID
----------------------------and ooha.ORDER_NUMBER = rcta.INTERFACE
_HEADER_ATTRIBUTE1
and ooha.INVOICE_TO_ORG_ID = rcta.BILL_TO_SITE_USE_ID
and rcta.CUSTOMER_TRX_ID = rctla.CUSTOMER_TRX_ID
and mmt.TRANSACTION_TYPE_ID = 33
and rctla.LINE_TYPE = 'LINE'
and rcta.BILL_TO_CUSTOMER_ID = nvl(p_customer,rcta.BILL_TO_CUSTOM
ER_ID)
and mmt.INVENTORY_ITEM_ID = nvl(p_item,mmt.INVENTORY_ITEM_ID)
and trunc(mmt.TRANSACTION_DATE) < nvl(p_date_from,trunc(mmt.TRANS
ACTION_DATE))
----and rcta.TRX_NUMBER = 533
AND rcta.org_id=fnd_profile.value('org_id')
) sales
, (
select
rcta.TRX_NUMBER , rcta.BILL_TO_CUSTOMER_ID , mmt.SECONDARY_TRANSACTION_Q
UANTITY ,mmt.INVENTORY_ITEM_ID
from
mtl_material_transactions mmt
, oe_order_headers_all ooha

, oe_order_lines_all oola
, ra_customer_trx_all rcta
, ra_customer_trx_lines_all rctla
where 1=1
/* EXISTS (
select 1 from

mtl_material_transac

tions mmt1
where 1=1
and mmt.TRANSACTION_ID = mmt1.TRANSA
CTION_ID
and mmt1.TRANSACTION_TYPE_ID = 15
and mmt1.INVENTORY_ITEM_ID = 14001
--and mmt1.ORGANIZATION_ID = 84

---

)
*/
and mmt.TRX_SOURCE_LINE_ID = oola.LINE_ID
and mmt.INVENTORY_ITEM_ID = oola.INVENTORY_ITEM_ID
and mmt.ORGANIZATION_ID
= oola.SHIP_FROM_ORG_ID
and ooha.HEADER_ID = oola.HEADER_ID
and rctla.interface_line_attribute6
= mmt.TRX_SOURCE_

LINE_ID
-----------and ooha.ORDER_NUMBER = rcta.INTERFACE_HEADER_ATTRIBUT
E1
and
and
and
and
and
and

oola.LINE_ID
= mmt.TRX_SOURCE_LINE_ID
ooha.INVOICE_TO_ORG_ID = rcta.BILL_TO_SITE_USE_ID
rcta.CUSTOMER_TRX_ID = rctla.CUSTOMER_TRX_ID
mmt.TRANSACTION_TYPE_ID = 15
rctla.LINE_TYPE = 'LINE'
rcta.BILL_TO_CUSTOMER_ID = nvl(p_customer,rcta.BILL_TO_CUSTOM

ER_ID)
and mmt.INVENTORY_ITEM_ID = nvl(p_item,mmt.INVENTORY_ITEM_ID)
and trunc(mmt.TRANSACTION_DATE) < nvl(p_date_from,trunc(mmt.TRANS
ACTION_DATE))
--and rcta.TRX_NUMBER = 7
AND rcta.org_id=fnd_profile.value('org_id')
) rma
where rma.bill_to_customer_id(+) = sales.bill_to_customer_id
RETURN lv_balance;
EXCEPTION WHEN OTHERS THEN RETURN 0;
END tgc_mtl_cust_open;
FUNCTION tgc_qlty_from_cust_open_tran (p_site_use_id
NUMBER,
p_item_code
VARCHAR2,
p_date_from date )
RETURN NUMBER
AS
lv_balance NUMBER (10);
BEGIN
SELECT SUM (TO_NUMBER (qr_child.character2))
INTO lv_balance
FROM qa_results qr_parent,
qa_results qr_child,
qa_pc_results_relationship qprr
WHERE qr_parent.plan_id = qprr.parent_plan_id
AND qr_parent.occurrence = qprr.parent_occurrence
AND qr_child.plan_id = qprr.child_plan_id

AND qr_child.occurrence = qprr.child_occurrence


AND qr_parent.plan_id = 12106
AND qr_child.plan_id = 12107
AND TO_NUMBER (SUBSTR (qr_parent.character1,1,(INSTR (qr_parent.character1
, '-', 1) - 1))) = p_site_use_id
/*AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'DD-MON-YYYY'
) <
NVL (p_date_from, TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/
DD'), 'DD-MON-YYYY')) */
-----AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'DD-MON-YY
YY') < TO_CHAR (p_date_from, 'DD-MON-YYYY')
AND TO_DATE (qr_parent.character5, 'YYYY/MM/DD') < p_date_from
AND qr_child.character1 = p_item_code;
RETURN lv_balance;
EXCEPTION
WHEN OTHERS
THEN
RETURN 0;
END tgc_qlty_from_cust_open_tran;
FUNCTION tgc_qlty_from_cust_open_adj
(p_site_use_id
NUMBER,
p_item_code
p_date_from

VARCHAR2,
date )

RETURN NUMBER
AS
lv_balance
BEGIN

NUMBER (10);

SELECT SUM (TO_NUMBER (qr_child.character3))


INTO lv_balance
FROM qa_results qr_parent,
qa_results qr_child,
qa_pc_results_relationship qprr
WHERE qr_parent.plan_id = qprr.parent_plan_id
AND qr_parent.occurrence = qprr.parent_occurrence
AND qr_child.plan_id = qprr.child_plan_id
AND qr_child.occurrence = qprr.child_occurrence
AND qr_parent.plan_id = 12106
AND qr_child.plan_id = 12107
AND TO_NUMBER (SUBSTR (qr_parent.character1, 1, (INSTR (qr_parent.characte
r1, '-', 1) - 1))) = p_site_use_id
/*AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'YYYY/MM/DD')
<
NVL (p_date_from, TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD')
, 'YYYY/MM/DD'))*/
AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'DD-MON-YYYY')
< TO_CHAR (p_date_from, 'DD-MON-YYYY')
AND qr_child.character1 = p_item_code;
RETURN lv_balance;
EXCEPTION
WHEN OTHERS
THEN
RETURN 0;

END tgc_qlty_from_cust_open_adj;
FUNCTION tgc_quality_to_cust_open
(p_site_use_id
NUMBER,
p_item_code
p_date_from

VARCHAR2,
date )

RETURN NUMBER
AS
lv_balance
BEGIN

NUMBER (10);

SELECT SUM (TO_NUMBER (qr_child.character2))


INTO lv_balance
FROM qa_results qr_parent,
qa_results qr_child,
qa_pc_results_relationship qprr
WHERE qr_parent.plan_id = qprr.parent_plan_id
AND qr_parent.occurrence = qprr.parent_occurrence
AND qr_child.plan_id = qprr.child_plan_id
AND qr_child.occurrence = qprr.child_occurrence
AND qr_parent.plan_id = 12106
AND qr_child.plan_id = 12107
AND TO_NUMBER (SUBSTR (qr_parent.character2, 1, (INSTR (qr_parent.characte
r2, '-', 1) - 1))) = p_site_use_id
/*AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'YYYY/MM/DD')
<
NVL (p_date_from, TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD')
, 'YYYY/MM/DD'))*/
AND TO_CHAR (TO_DATE (qr_parent.character5, 'YYYY/MM/DD'), 'DD-MON-YYYY')
< TO_CHAR (p_date_from, 'DD-MON-YYYY')
AND qr_child.character1 = p_item_code;
RETURN lv_balance;
EXCEPTION
WHEN OTHERS
THEN
RETURN 0;
END tgc_quality_to_cust_open;
FUNCTION tgc_secod_sale_open
(p_site_use_id number , p_item_code varchar2 ,p_date_from date)
RETURN NUMBER
AS
lv_second_sal NUMBER (10);
BEGIN
SELECT
INTO
FROM
WHERE
AND
AND
AND
AND

SUM (NVL (tssd.ss_retails, 0) + NVL (tssd.ss_wholesalers, 0))


lv_second_sal
tgc_secondary_sales_header tssh, tgc_secondary_sales_detail tssd
1 = 1
tssh.ss_id = tssd.ss_id
tssh.ss_customer_id = p_site_use_id
tssh.ss_date_from < p_date_from
tssd.ss_item_id = p_item_code;

RETURN lv_second_sal;
EXCEPTION

WHEN OTHERS
THEN
RETURN 0;
END tgc_secod_sale_open;
FUNCTION tgc_cust_open_bal
(p_customer number , p_item varchar2,p_date_from date, p_item_code varchar2 , p_
site_use_id number)
RETURN NUMBER
AS
lv_cust_open NUMBER (10);
lv_qlty_date varchar2(25);
BEGIN
---lv_qlty_date := to_char(p_date_from,'DD-MON-YYYY');
lv_cust_open := tgc_mtl_cust_open (p_customer, p_item, p_date_from)
+ tgc_quality_to_cust_open (p_site_use_id, p_item_code, p_date
_from)
- tgc_qlty_from_cust_open_tran (p_site_use_id, p_item_code, p_
date_from)
- tgc_qlty_from_cust_open_adj (p_site_use_id, p_item_code, p_d
ate_from);
-- - tgc_secod_sale_open (p_customer, p_item, p_date_from);
RETURN lv_cust_open;
EXCEPTION
WHEN OTHERS
THEN
RETURN 0;
END tgc_cust_open_bal;
END tgc_scondary_cust_opening;
/

You might also like