DBA Data[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;