[Home] [Help]
PACKAGE BODY: APPS.OKE_DSNO_PKG
Source
1 PACKAGE BODY OKE_DSNO_PKG AS
2 /* $Header: OKEDSNOB.pls 120.3 2005/07/27 10:21:45 ausmani noship $ */
3
4 --
5 -- Global Declarations
6 --
7
8 --
9 -- Public Procedures and Functions
10 --
11 --
12 PROCEDURE GET_OKE_K_PARTY ( p_oke_hdr_rec oke_hdr_rec_type, x_billto_rec OUT NOCOPY oke_billto_rec_type ) IS
13
14 l_site_use_id NUMBER;
15 l_delivery_id NUMBER;
16 l_oke_id NUMBER;
17
18 CURSOR oke_c ( p_delivery_id NUMBER, p_oke_id NUMBER ) IS
19 SELECT w.source_line_id
20 FROM wsh_delivery_details w, wsh_delivery_assignments_v a
21 WHERE a.delivery_id = p_delivery_id
22 AND w.source_code = 'OKE'
23 AND w.delivery_detail_id = a.delivery_detail_id
24 AND w.source_header_id = p_oke_id;
25
26
27 BEGIN
28
29 FOR oke_rec in oke_c ( p_oke_hdr_rec.delivery_id, p_oke_hdr_rec.source_header_id ) LOOP
30
31
32
33 IF l_site_use_id > 0 THEN
34
35 IF l_site_use_id <> OKE_DELIVERABLE_UTILS.Get_Party(oke_rec.source_line_id, 'BILL_TO') THEN
36
37 l_site_use_id := null;
38 exit;
39
40 END IF;
41
42 ELSE
43
44 l_site_use_id := OKE_DELIVERABLE_UTILS.Get_Party(oke_rec.source_line_id, 'BILL_TO');
45
46 END IF;
47
48 END LOOP;
49
50 x_billto_rec.bill_to_site_use_id := L_site_use_id;
51
52
53
54 END GET_OKE_K_PARTY;
55
56
57 PROCEDURE GET_OKE_K_TERM_VALUE ( p_oke_hdr_rec oke_hdr_rec_type, x_oke_pmt_rec OUT NOCOPY oke_pmt_rec_type ) IS
58 l_term_name VARCHAR2(80);
59 l_delivery_id NUMBER;
60 l_oke_id NUMBER;
61
62 CURSOR oke_c ( p_delivery_id NUMBER, p_oke_id NUMBER ) IS
63 SELECT w.source_line_id
64 FROM wsh_delivery_details w, wsh_delivery_assignments_v a
65 WHERE a.delivery_id = p_delivery_id
66 AND w.source_code = 'OKE'
67 AND w.delivery_detail_id = a.delivery_detail_id
68 AND w.source_header_id = p_oke_id;
69
70 BEGIN
71
72 FOR oke_rec in oke_c ( p_oke_hdr_rec.delivery_id, p_oke_hdr_rec.source_header_id ) LOOP
73
74 l_term_name := OKE_DELIVERABLE_UTILS.Get_Term_Value( oke_rec.source_line_id, 'RA_PAYMENT_TERMS' );
75
76 IF x_oke_pmt_rec.payment_term_name IS NOT NULL THEN
77
78 IF l_term_name <> x_oke_pmt_rec.payment_term_name THEN
79
80 x_oke_pmt_rec.payment_term_name := null;
81 EXIT;
82
83 END IF;
84
85 ELSE
86
87 x_oke_pmt_rec.payment_term_name := l_term_name;
88
89 END IF;
90
91 END LOOP;
92
93 END GET_OKE_K_TERM_VALUE;
94
95 PROCEDURE GET_OKE_CURRENCY_CODE ( p_oke_hdr_rec IN oke_hdr_rec_type, x_oke_curr_rec OUT NOCOPY oke_curr_rec_type ) IS
96 l_currency_code varchar2(80);
97
98 CURSOR c_curr (p_deliverable_id number) IS
99 SELECT currency_code
100 FROM oke_k_deliverables_b
101 WHERE deliverable_id=p_deliverable_id;
102
103 CURSOR oke_c ( p_delivery_id NUMBER, p_oke_id NUMBER ) IS
104 SELECT w.source_line_id
105 FROM wsh_delivery_details w, wsh_delivery_assignments_v a
106 WHERE a.delivery_id = p_delivery_id
107 AND w.source_code = 'OKE'
108 AND w.delivery_detail_id = a.delivery_detail_id
109 AND w.source_header_id = p_oke_id;
110
111 BEGIN
112 FOR oke_rec in oke_c ( p_oke_hdr_rec.delivery_id, p_oke_hdr_rec.source_header_id ) LOOP
113
114 open c_curr(oke_rec.source_line_id);
115 fetch c_curr into l_currency_code;
116 close c_curr;
117
118 IF x_oke_curr_rec.currency_code IS NOT NULL THEN
119
120 IF l_currency_code <> x_oke_curr_rec.currency_code THEN
121
122 x_oke_curr_rec.currency_code := null;
123 EXIT;
124
125 END IF;
126
127 ELSE
128 x_oke_curr_rec.currency_code := l_currency_code;
129 END IF;
130
131 END LOOP;
132
133 END GET_OKE_CURRENCY_CODE;
134
135 END OKE_DSNO_PKG;