DBA Data[Home] [Help]

PACKAGE BODY: APPS.OE_DEPENDENCIES

Source


1 PACKAGE BODY OE_Dependencies AS
2 /* $Header: OEXUDEPB.pls 120.11.12020000.3 2013/02/04 17:25:26 sujithku ship $ */
3 
4 --  Global constant holding the package name
5 
6 G_PKG_NAME      	CONSTANT    VARCHAR2(30):='OE_Dependencies';
7 
8 PROCEDURE Merge_Dependencies_Extn
9 (   p_entity_code       IN  VARCHAR2
10 )
11 IS
12 l_index                  NUMBER;
13 l_extn_dep_tbl           OE_Dependencies_Extn.Dep_Tbl_Type;
14 l_dep_index              NUMBER;
15 l_found                  BOOLEAN;
16 --
17 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
18 --
19 BEGIN
20     IF l_debug_level  > 0 THEN
21         oe_debug_pub.add(  'ENTER OE_DEPENDENCIES.MERGE_DEPENDENCIES_EXTN' , 1 ) ;
22     END IF;
23 
24     OE_Dependencies_Extn.Load_Entity_Attributes
25        (p_entity_code       => p_entity_code
26        ,x_extn_dep_tbl      => l_extn_dep_tbl
27        );
28 
29     l_index := l_extn_dep_tbl.FIRST;
30 
31     WHILE l_index IS NOT NULL LOOP
32 
33       -- Ignore if dependent attribute is one of the internal fields.
34       IF p_entity_code = OE_GLOBALS.G_ENTITY_HEADER THEN
35          IF l_extn_dep_tbl(l_index).dependent_attribute IN
36               ( OE_HEADER_UTIL.G_ORDER_CATEGORY
37          ) THEN
38            IF l_debug_level  > 0 THEN
39                oe_debug_pub.add(  'INTERNAL FIELD DEPENDENCY' ) ;
40            END IF;
41            GOTO END_OF_LOOP;
42          END IF;
43       ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE THEN
44          IF l_extn_dep_tbl(l_index).dependent_attribute IN
45               ( OE_LINE_UTIL.G_LINE_CATEGORY
46               , OE_LINE_UTIL.G_SHIPMENT_NUMBER
47               , OE_LINE_UTIL.G_OPTION_NUMBER
48               , OE_LINE_UTIL.G_COMPONENT_NUMBER
49               , OE_LINE_UTIL.G_ITEM_TYPE
50               , OE_LINE_UTIL.G_TOP_MODEL_LINE
51               , OE_LINE_UTIL.G_SHIPPABLE
52               , OE_LINE_UTIL.G_ATO_LINE
53               , OE_LINE_UTIL.G_INVOICE_INTERFACE_STATUS
54               , OE_LINE_UTIL.G_COMPONENT
55               , OE_LINE_UTIL.G_COMPONENT_SEQUENCE
56               , OE_LINE_UTIL.G_SORT_ORDER
57               , OE_LINE_UTIL.G_SHIPPABLE
58          ) THEN
59            IF l_debug_level  > 0 THEN
60                oe_debug_pub.add(  'INTERNAL FIELD DEPENDENCY' ) ;
61            END IF;
62            GOTO END_OF_LOOP;
63          END IF;
64 --serla begin
65       ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_HEADER_PAYMENT THEN
66          IF l_extn_dep_tbl(l_index).dependent_attribute IN
67               ( OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE
68          ) THEN
69            IF l_debug_level  > 0 THEN
70                oe_debug_pub.add(  'INTERNAL FIELD DEPENDENCY' ) ;
71            END IF;
72            GOTO END_OF_LOOP;
73          END IF;
74       ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE_PAYMENT THEN
75          IF l_extn_dep_tbl(l_index).dependent_attribute IN
76               ( OE_LINE_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE
77          ) THEN
78            IF l_debug_level  > 0 THEN
79                oe_debug_pub.add(  'INTERNAL FIELD DEPENDENCY' ) ;
80            END IF;
81            GOTO END_OF_LOOP;
82          END IF;
83 --serla end
84       END IF;
85 
86       l_dep_index := l_extn_dep_tbl(l_index).source_attribute * G_MAX;
87       l_found := FALSE;
88 
89       WHILE (NOT l_found) AND g_dep_tbl.EXISTS(l_dep_index) LOOP
90          IF g_dep_tbl(l_dep_index).attribute = l_extn_dep_tbl(l_index).dependent_attribute THEN
91             IF l_debug_level  > 0 THEN
92                 oe_debug_pub.add(  'DEPENDENCY UPDATED' ) ;
93             END IF;
94             l_found := TRUE;
95             g_dep_tbl(l_dep_index).enabled_flag := l_extn_dep_tbl(l_index).enabled_flag;
96          END IF;
97          l_dep_index := l_dep_index+1;
98       END LOOP;
99 
100       IF (NOT l_found) AND l_extn_dep_tbl(l_index).enabled_flag = 'Y' THEN
101          IF l_debug_level  > 0 THEN
102              oe_debug_pub.add(  'NEW DEPENDENCY ENABLED' ) ;
103          END IF;
104          g_dep_tbl(l_dep_index).attribute := l_extn_dep_tbl(l_index).dependent_attribute;
105       END IF;
106 
107       <<END_OF_LOOP>>
108       l_index := l_extn_dep_tbl.NEXT(l_index);
109 
110     END LOOP;
111 
112     IF l_debug_level  > 0 THEN
113         oe_debug_pub.add(  'EXIT OE_DEPENDENCIES.MERGE_DEPENDENCIES_EXTN' , 1 ) ;
114     END IF;
115 EXCEPTION
116         WHEN OTHERS THEN
117         IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
118         THEN
119                 OE_MSG_PUB.Add_Exc_Msg
120                 (   G_PKG_NAME
121                 ,   'Merge_Dependencies_Extn'
122                 );
123         END IF;
124         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125 END Merge_Dependencies_Extn;
126 
127 PROCEDURE   Load_Entity_Attributes
128 (   p_entity_code	IN  VARCHAR2	)
129 IS
130 l_index		NUMBER :=0;
131 --
132 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
133 --
134 BEGIN
135 
136     IF l_debug_level  > 0 THEN
137         oe_debug_pub.add(  'ENTERING OE_DEPENDENCIES.LOAD_ENTITY_ATTRIBUTES' , 1 ) ;
138     END IF;
139 
140     IF g_entity_code <> p_entity_code OR
141 	g_entity_code IS NULL
142     THEN
143 
144 	--  Load entity Attributes
145 
146        -- Need to delete table because it
147        -- could have been set by a previous
148        -- entity
149        IF (g_dep_tbl.COUNT >= 1) THEN
150 	  g_dep_tbl.DELETE;
151        END IF;
152 
153 	g_entity_code := p_entity_code;
154 
155 	IF p_entity_code = OE_GLOBALS.G_ENTITY_HEADER THEN
156 
157 	    --  Populate dependent attributes for one source at a time.
158 
159 	    l_index := OE_HEADER_UTIL.G_ORDER_TYPE * G_MAX ;
160 	    g_dep_tbl(l_index  ).attribute  := OE_HEADER_UTIL.G_INVOICING_RULE;
161 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_ACCOUNTING_RULE;
162 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_PRICE_LIST;
163 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_SHIPMENT_PRIORITY;
164 	    g_dep_tbl(l_index +4 ).attribute  := OE_HEADER_UTIL.G_SHIPPING_METHOD;
165 	    g_dep_tbl(l_index +5 ).attribute  := OE_HEADER_UTIL.G_FOB_POINT;
166 	    g_dep_tbl(l_index +6 ).attribute  := OE_HEADER_UTIL.G_FREIGHT_TERMS;
167 	    g_dep_tbl(l_index +7 ).attribute  := OE_HEADER_UTIL.G_SHIP_FROM_ORG;
168 	    g_dep_tbl(l_index + 8).attribute	    := OE_HEADER_UTIL.G_ORDER_CATEGORY;
169 	    g_dep_tbl(l_index + 9).attribute	    := OE_HEADER_UTIL.G_DEMAND_CLASS;
170 	    g_dep_tbl(l_index + 10).attribute	    := OE_HEADER_UTIL.G_REQUEST_DATE;
171 	    g_dep_tbl(l_index + 11).attribute  := OE_HEADER_UTIL.G_TRANSACTIONAL_CURR;
172 	    g_dep_tbl(l_index +12 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_BELOW;
173 	    g_dep_tbl(l_index +13 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_ABOVE;
174             g_dep_tbl(l_index +14 ).attribute := OE_HEADER_UTIL.G_DEFAULT_FULFILLMENT_SET;
175             g_dep_tbl(l_index +15).attribute  := OE_HEADER_UTIL.G_CUSTOMER_PREFERENCE_SET;
176             -- QUOTING changes
177             g_dep_tbl(l_index +16).attribute  := OE_HEADER_UTIL.G_TRANSACTION_PHASE;
178 
179 	    l_index := OE_HEADER_UTIL.G_AGREEMENT * G_MAX ;
180 	    g_dep_tbl(l_index ).attribute	    := OE_HEADER_UTIL.G_CUST_PO_NUMBER;
181 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_INVOICING_RULE;
182 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_ACCOUNTING_RULE;
183 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_PAYMENT_TERM;
184 	    g_dep_tbl(l_index +4 ).attribute  := OE_HEADER_UTIL.G_INVOICE_TO_ORG;
185 	    g_dep_tbl(l_index +5 ).attribute  := OE_HEADER_UTIL.G_INVOICE_TO_CONTACT;
186 	    g_dep_tbl(l_index +6 ).attribute  := OE_HEADER_UTIL.G_PRICE_LIST;
187 	    g_dep_tbl(l_index +7 ).attribute  := OE_HEADER_UTIL.G_SALESREP;
188 
189 
190 	    l_index := OE_HEADER_UTIL.G_INVOICE_TO_ORG * G_MAX ;
191 	    g_dep_tbl(l_index ).attribute	    := OE_HEADER_UTIL.G_PAYMENT_TERM;
192 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_INVOICE_TO_CONTACT;
193 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_PRICE_LIST;
194 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_FOB_POINT;
195 	    g_dep_tbl(l_index +4 ).attribute  := OE_HEADER_UTIL.G_FREIGHT_TERMS;
196 	    -- Added by Manish
197 	    g_dep_tbl(l_index +5 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_NUMBER;
198 	    g_dep_tbl(l_index +6 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_REASON;
199 	    -- Added by Manish
200 	    g_dep_tbl(l_index +7 ).attribute  := OE_HEADER_UTIL.G_SALESREP;
201 	    g_dep_tbl(l_index +8 ).attribute  := OE_HEADER_UTIL.G_SHIPPING_METHOD;
202 	    -- Adding for OM-iPayment - Raju
203 	    g_dep_tbl(l_index +9 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_NUMBER;
204 	    g_dep_tbl(l_index +10 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_HOLDER_NAME;
205 	    g_dep_tbl(l_index +11 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
206 	    g_dep_tbl(l_index +12 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_BELOW;
207 	    g_dep_tbl(l_index +13 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_ABOVE;
208 	    g_dep_tbl(l_index +14 ).attribute := OE_HEADER_UTIL.G_ORDER_TYPE;
209             /* Fix Bug # 2297053: Added to clear Credit Card Type */
210 	    g_dep_tbl(l_index +15 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD;
211             g_dep_tbl(l_index +16).attribute  := OE_HEADER_UTIL.G_CUSTOMER_PREFERENCE_SET;
212 
213 	    l_index := OE_HEADER_UTIL.G_SHIP_TO_ORG * G_MAX ;
214 	    g_dep_tbl(l_index  ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_NUMBER;
215 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_REASON;
216 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_PRICE_LIST;
217 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_FOB_POINT;
218 	    g_dep_tbl(l_index +4 ).attribute  := OE_HEADER_UTIL.G_FREIGHT_TERMS;
219 	    g_dep_tbl(l_index +5 ).attribute  := OE_HEADER_UTIL.G_SHIPPING_METHOD;
220 	    g_dep_tbl(l_index +6 ).attribute  := OE_HEADER_UTIL.G_DEMAND_CLASS;
221 	    g_dep_tbl(l_index +7 ).attribute  := OE_HEADER_UTIL.G_INVOICE_TO_ORG;
222 	    g_dep_tbl(l_index +8 ).attribute  := OE_HEADER_UTIL.G_SALESREP;
223 	    g_dep_tbl(l_index +9 ).attribute  := OE_HEADER_UTIL.G_PAYMENT_TERM;
224 	    g_dep_tbl(l_index +10 ).attribute  := OE_HEADER_UTIL.G_SHIP_FROM_ORG;
225 	    g_dep_tbl(l_index +11 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_BELOW;
226 	    g_dep_tbl(l_index +12 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_ABOVE;
227 	    g_dep_tbl(l_index +13 ).attribute := OE_HEADER_UTIL.G_ORDER_TYPE;
228 	    g_dep_tbl(l_index +14 ).attribute := OE_HEADER_UTIL.G_SHIP_TO_CONTACT;
229 	    g_dep_tbl(l_index +15 ).attribute := OE_HEADER_UTIL.G_ORDER_DATE_TYPE_CODE;
230 	    g_dep_tbl(l_index +16 ).attribute := OE_HEADER_UTIL.G_LATEST_SCHEDULE_LIMIT;
231             g_dep_tbl(l_index +17).attribute   := OE_HEADER_UTIL.G_CUSTOMER_PREFERENCE_SET;
232 
233 	    l_index := OE_HEADER_UTIL.G_REQUEST_DATE * G_MAX ;
234 	    g_dep_tbl(l_index  ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_NUMBER;
235 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_REASON;
236 
237 	    l_index := OE_HEADER_UTIL.G_TAX_EXEMPT * G_MAX ;
238 	    g_dep_tbl(l_index  ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_NUMBER;
239 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_REASON;
240 	    -- Added by Manish
241 
242 	    l_index := OE_HEADER_UTIL.G_SOLD_TO_ORG * G_MAX ;
243 	    g_dep_tbl(l_index ).attribute	    := OE_HEADER_UTIL.G_PAYMENT_TERM;
244 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_INVOICE_TO_ORG;
245 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_PRICE_LIST;
246 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_FOB_POINT;
247 	    g_dep_tbl(l_index +4 ).attribute  := OE_HEADER_UTIL.G_FREIGHT_TERMS;
248 	    g_dep_tbl(l_index +5 ).attribute  := OE_HEADER_UTIL.G_DELIVER_TO_ORG;
249 	    g_dep_tbl(l_index +6 ).attribute  := OE_HEADER_UTIL.G_SHIP_TO_ORG;
250 	    g_dep_tbl(l_index +7 ).attribute  := OE_HEADER_UTIL.G_ORDER_TYPE;
251 	    -- Added by Manish
252 	    g_dep_tbl(l_index +8 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_NUMBER;
253 	    g_dep_tbl(l_index +9 ).attribute  := OE_HEADER_UTIL.G_TAX_EXEMPT_REASON;
254 	    -- Added by Manish
255 	    g_dep_tbl(l_index +10 ).attribute  := OE_HEADER_UTIL.G_SALESREP;
256 	    g_dep_tbl(l_index +11 ).attribute  := OE_HEADER_UTIL.G_SHIPPING_METHOD;
257 	    g_dep_tbl(l_index +12 ).attribute  := OE_HEADER_UTIL.G_SHIP_FROM_ORG;
258 	    -- Adding for OM-iPayment - Raju
259 	    g_dep_tbl(l_index +13 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_NUMBER;
260 	    g_dep_tbl(l_index +14 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_HOLDER_NAME;
261 	    g_dep_tbl(l_index +15 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
262 	    g_dep_tbl(l_index +16 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_BELOW;
263 	    g_dep_tbl(l_index +17 ).attribute := OE_HEADER_UTIL.G_SHIP_TOLERANCE_ABOVE;
264 	    g_dep_tbl(l_index +18 ).attribute := OE_HEADER_UTIL.G_SALES_CHANNEL;
265 	    g_dep_tbl(l_index +19 ).attribute := OE_HEADER_UTIL.G_ORDER_DATE_TYPE_CODE;
266 	    g_dep_tbl(l_index +20 ).attribute := OE_HEADER_UTIL.G_LATEST_SCHEDULE_LIMIT;
267             g_dep_tbl(l_index +21 ).attribute := OE_HEADER_UTIL.G_AGREEMENT;
268             /* Fix Bug # 2297053: Added to clear Credit Card Type */
269 	    g_dep_tbl(l_index +22 ).attribute  := OE_HEADER_UTIL.G_CREDIT_CARD;
270             g_dep_tbl(l_index +23 ).attribute  := OE_HEADER_UTIL.G_SOLD_TO_PHONE;
271             g_dep_tbl(l_index +24).attribute   := OE_HEADER_UTIL.G_CUSTOMER_PREFERENCE_SET;
272             -- QUOTING changes
273             g_dep_tbl(l_index +25).attribute   := OE_HEADER_UTIL.G_SOLD_TO_SITE_USE;
274 	    --distributed orders
275 	    g_dep_tbl(l_index +26).attribute   := OE_HEADER_UTIL.G_END_CUSTOMER;
276 
277 	    l_index := OE_HEADER_UTIL.G_PRICE_LIST * G_MAX ;
278 	    g_dep_tbl(l_index ).attribute	    := OE_HEADER_UTIL.G_PAYMENT_TERM;
279 	    g_dep_tbl(l_index +1 ).attribute  := OE_HEADER_UTIL.G_FREIGHT_TERMS;
280 	    g_dep_tbl(l_index +2 ).attribute  := OE_HEADER_UTIL.G_SHIPPING_METHOD;
281             /* Added the following if condition to fix the bug 2478334 */
282             IF  UPPER(fnd_profile.value('QP_MULTI_CURRENCY_INSTALLED'))  IN ('Y', 'YES') THEN
283                null;
284          ELSE
285 	    g_dep_tbl(l_index +3 ).attribute  := OE_HEADER_UTIL.G_TRANSACTIONAL_CURR;
286             END IF;
287 
288 	    -- Adding for OM-iPayment - Raju
289 	    l_index := OE_HEADER_UTIL.G_PAYMENT_TYPE * G_MAX ;
290 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_CREDIT_CARD_NUMBER;
291 	    g_dep_tbl(l_index +1 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_HOLDER_NAME;
292 	    g_dep_tbl(l_index +2 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
293 	    g_dep_tbl(l_index +3 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
294 	    g_dep_tbl(l_index +4 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_APPROVAL;
295 	    g_dep_tbl(l_index +5 ).attribute := OE_HEADER_UTIL.G_CHECK_NUMBER;
296 	    g_dep_tbl(l_index +6 ).attribute := OE_HEADER_UTIL.G_PAYMENT_AMOUNT;
297 	    g_dep_tbl(l_index +7 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD;
298 
299             /* Fix Bug # 2297053: Added to make attributes depended on CC Number */
300 	    l_index := OE_HEADER_UTIL.G_CREDIT_CARD_NUMBER * G_MAX ;
301             /*
302             ** Fix Bug # 2867744: Commented the clearing of Credit Card Type
303 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_CREDIT_CARD;
304             */
305 	    g_dep_tbl(l_index).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_HOLDER_NAME;
306 	    g_dep_tbl(l_index +1 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
307 	    g_dep_tbl(l_index +2 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
308 	    g_dep_tbl(l_index +3 ).attribute := OE_HEADER_UTIL.G_CREDIT_CARD_APPROVAL;
309 	    --7337623 g_dep_tbl(l_index +4 ).attribute := OE_HEADER_UTIL.G_PAYMENT_AMOUNT;
310 
311 	    -- Adding for Currency conversion. -- Added by Aswin.
312 	    l_index := OE_HEADER_UTIL.G_TRANSACTIONAL_CURR * G_MAX ;
313 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_CONVERSION_TYPE;
314 	    g_dep_tbl(l_index +1 ).attribute := OE_HEADER_UTIL.G_CONVERSION_RATE_DATE;
315 	    g_dep_tbl(l_index +2 ).attribute := OE_HEADER_UTIL.G_CONVERSION_RATE;
316 
317 	    -- Adding for deliver to org . -- Added by Shashi.
318 	    l_index := OE_HEADER_UTIL.G_DELIVER_TO_ORG * G_MAX ;
319 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_DELIVER_TO_CONTACT;
320 
321 
322 	    -- Begin Fix bug 1282800: added dependencies for contact fields
323 
324 	    l_index := OE_HEADER_UTIL.G_INVOICE_TO_CONTACT * G_MAX ;
325 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_SOLD_TO_CONTACT;
326 
327 	    l_index := OE_HEADER_UTIL.G_SHIP_TO_CONTACT * G_MAX ;
328 	    g_dep_tbl(l_index).attribute    := OE_HEADER_UTIL.G_SOLD_TO_CONTACT;
329 
330 	    -- End Fix bug 1282800
331 
332             -- bug 5127922 : added dependency for cusotmer_location
333 	    l_index := OE_HEADER_UTIL.G_SOLD_TO_SITE_USE * G_MAX ;
334 	    g_dep_tbl(l_index).attribute     := OE_HEADER_UTIL.G_PAYMENT_TERM;
335 
336             -- BLANKETS: Add dependencies on blanket number for order header
337             IF OE_CODE_CONTROL.Code_Release_Level >= '110509' THEN
338 
339 	    l_index := OE_HEADER_UTIL.G_BLANKET_NUMBER * G_MAX ;
340             -- Bug 3279125 -
341             -- Remove dependency of sold to (customer) on blanket number
342 --	    g_dep_tbl(l_index).attribute := OE_HEADER_UTIL.G_SOLD_TO_ORG;
343 	    g_dep_tbl(l_index).attribute := OE_HEADER_UTIL.G_ACCOUNTING_RULE;
344 	    g_dep_tbl(l_index+1).attribute := OE_HEADER_UTIL.G_INVOICING_RULE;
345 	    g_dep_tbl(l_index+2).attribute := OE_HEADER_UTIL.G_TRANSACTIONAL_CURR;
346 	    g_dep_tbl(l_index+3).attribute := OE_HEADER_UTIL.G_SHIP_TO_ORG;
347 	    g_dep_tbl(l_index+4).attribute := OE_HEADER_UTIL.G_INVOICE_TO_ORG;
348 	    g_dep_tbl(l_index+5).attribute := OE_HEADER_UTIL.G_DELIVER_TO_ORG;
349 	    g_dep_tbl(l_index+6).attribute := OE_HEADER_UTIL.G_SOLD_TO_CONTACT;
350 	    g_dep_tbl(l_index+7).attribute := OE_HEADER_UTIL.G_SHIP_FROM_ORG;
351 	    g_dep_tbl(l_index+8).attribute := OE_HEADER_UTIL.G_PAYMENT_TERM;
352 	    g_dep_tbl(l_index+9).attribute := OE_HEADER_UTIL.G_PRICE_LIST;
353 	    g_dep_tbl(l_index+10).attribute := OE_HEADER_UTIL.G_SHIPPING_METHOD;
354 	    g_dep_tbl(l_index+11).attribute := OE_HEADER_UTIL.G_FREIGHT_TERMS;
355 	    g_dep_tbl(l_index+12).attribute := OE_HEADER_UTIL.G_SALESREP;
356 	    g_dep_tbl(l_index+13).attribute := OE_HEADER_UTIL.G_SHIPPING_INSTRUCTIONS;
357 	    g_dep_tbl(l_index+14).attribute := OE_HEADER_UTIL.G_PACKING_INSTRUCTIONS;
358 
359             END IF;
360 
361             -- QUOTING changes
362             -- Add dependency of quote date/ordered date on transaction phase
363             IF OE_CODE_CONTROL.Code_Release_Level >= '110510' THEN
364 
365 	    l_index := OE_HEADER_UTIL.G_TRANSACTION_PHASE * G_MAX ;
366 	    g_dep_tbl(l_index).attribute := OE_HEADER_UTIL.G_QUOTE_DATE;
367 	    g_dep_tbl(l_index+1).attribute := OE_HEADER_UTIL.G_ORDERED_DATE;
368 
369             END IF;
370             -- END QUOTING changes
371 
372 	    --distributed orders
373 	    IF OE_CODE_CONTROL.Code_Release_Level >= '110510' THEN
374 	       l_index := OE_HEADER_UTIL.G_END_CUSTOMER * G_MAX ;
375 	       g_dep_tbl(l_index).attribute   := OE_HEADER_UTIL.G_END_CUSTOMER_CONTACT;
376 	       g_dep_tbl(l_index+1).attribute := OE_HEADER_UTIL.G_END_CUSTOMER_SITE_USE;
377             END IF;
378 
379             --key transaction dates
380 	    IF OE_CODE_CONTROL.Code_Release_Level >= '110509' THEN
381 		l_index := OE_HEADER_UTIL.G_ORDERED_DATE * G_MAX ;
382 		g_dep_tbl(l_index).attribute := OE_HEADER_UTIL.G_ORDER_FIRMED_DATE;
383 	    END IF;
384 
385 	ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE THEN
386 
387 	    l_index := OE_LINE_UTIL.G_LINE_NUMBER * G_MAX ;
388 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_SHIPMENT_NUMBER;
389 	    g_dep_tbl(l_index+1 ).attribute   := OE_LINE_UTIL.G_OPTION_NUMBER;
390 	    g_dep_tbl(l_index+2 ).attribute    := OE_LINE_UTIL.G_COMPONENT_NUMBER;
391             -- component_number and not component above.
392 
393 	    l_index := OE_LINE_UTIL.G_LINE_TYPE * G_MAX ;
394 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_LINE_CATEGORY;
395 	    /* Added by Manish */
396 	    g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_TAX;
397 	    /* Added by Manish */
398 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_ACCOUNTING_RULE;
399 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_PRICE_LIST;
400 	    g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_SHIPMENT_PRIORITY;
401 	    g_dep_tbl(l_index +5 ).attribute  := OE_LINE_UTIL.G_SHIPPING_METHOD;
402 	    g_dep_tbl(l_index +6 ).attribute  := OE_LINE_UTIL.G_FOB_POINT;
403 	    g_dep_tbl(l_index +7 ).attribute  := OE_LINE_UTIL.G_FREIGHT_TERMS;
404 	    g_dep_tbl(l_index +8 ).attribute  := OE_LINE_UTIL.G_SHIP_FROM_ORG;
405 	    g_dep_tbl(l_index +9).attribute   := OE_LINE_UTIL.G_DEMAND_CLASS;
406 	    g_dep_tbl(l_index +10 ).attribute  := OE_LINE_UTIL.G_INVOICING_RULE;
407 	    g_dep_tbl(l_index +11 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_BELOW;
408 	    g_dep_tbl(l_index +12 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_ABOVE;
409 	    g_dep_tbl(l_index +13 ).attribute := OE_LINE_UTIL.G_SOURCE_TYPE;
410 
411 	    l_index := OE_LINE_UTIL.G_INVENTORY_ITEM * G_MAX ;
412 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_ORDER_QUANTITY_UOM;
413 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_PRICING_QUANTITY_UOM;
414 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_SHIP_FROM_ORG;
415 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_INVOICING_RULE;
416 	    g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_ACCOUNTING_RULE;
417 	    g_dep_tbl(l_index +5 ).attribute  := OE_LINE_UTIL.G_TAX_VALUE;
418 	    g_dep_tbl(l_index +6 ).attribute  := OE_LINE_UTIL.G_ITEM_TYPE;
419 	    g_dep_tbl(l_index +7 ).attribute  := OE_LINE_UTIL.G_TOP_MODEL_LINE;
420 	    g_dep_tbl(l_index +8 ).attribute  := OE_LINE_UTIL.G_SHIPPABLE;
421 	    g_dep_tbl(l_index +9 ).attribute  := OE_LINE_UTIL.G_ATO_LINE;
422 	    g_dep_tbl(l_index +10 ).attribute := OE_LINE_UTIL.G_INVOICE_INTERFACE_STATUS;
423 	    /* Added by Manish */
424 	    g_dep_tbl(l_index +11 ).attribute := OE_LINE_UTIL.G_TAX;
425 	    /* Added by Manish */
426 	    g_dep_tbl(l_index +12 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_BELOW;
427 	    g_dep_tbl(l_index +13 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_ABOVE;
428 	    g_dep_tbl(l_index +14 ).attribute := OE_LINE_UTIL.G_PAYMENT_TERM;
429 		/* following line commented for bug 12790999
430 		The index of the further lines is changed to follow sequence */
431 	  --  g_dep_tbl(l_index +15 ).attribute := OE_LINE_UTIL.G_SHIP_FROM_ORG;
432 	    g_dep_tbl(l_index +15 ).attribute := OE_LINE_UTIL.G_END_ITEM_UNIT_NUMBER;
433            /* OPM 02/JUN/00 - add dependencies for process attribs */
434          -- commented out for bug 1618229.
435          -- g_dep_tbl(l_index +17 ).attribute := OE_LINE_UTIL.G_COMMITMENT;
436             g_dep_tbl(l_index +16 ).attribute := OE_LINE_UTIL.G_ORDERED_QUANTITY_UOM2;
437             g_dep_tbl(l_index +17 ).attribute := OE_LINE_UTIL.G_PREFERRED_GRADE;
438 
439            /* OPM END */
440 	    g_dep_tbl(l_index +18 ).attribute := OE_LINE_UTIL.G_SERVICE_START_DATE;
441 	    g_dep_tbl(l_index +19 ).attribute := OE_LINE_UTIL.G_SERVICE_PERIOD;
442 	    g_dep_tbl(l_index +20 ).attribute := OE_LINE_UTIL.G_SERVICE_REFERENCE_TYPE_CODE;
443 	    g_dep_tbl(l_index +21 ).attribute := OE_LINE_UTIL.G_COMPONENT;
444          /* Added for Returns processing */
445          g_dep_tbl(l_index +22 ).attribute := OE_LINE_UTIL.G_RETURN_CONTEXT;
446          g_dep_tbl(l_index +23 ).attribute := OE_LINE_UTIL.G_COMPONENT_SEQUENCE;
447          g_dep_tbl(l_index +24 ).attribute := OE_LINE_UTIL.G_SORT_ORDER;
448          -- ER: 1840556
449          g_dep_tbl(l_index +25 ).attribute := OE_LINE_UTIL.G_SOURCE_TYPE;
450          g_dep_tbl(l_index +26).attribute := OE_LINE_UTIL.G_ORDERED_QUANTITY2; -- 3016136
451 	 --recurring charges
452 	     g_dep_tbl(l_index+27).attribute := OE_LINE_UTIL.G_CHARGE_PERIODICITY;
453          g_dep_tbl(l_index +28 ).attribute := OE_LINE_UTIL.G_ITEM_REVISION;
454          -- bug 4283037
455          g_dep_tbl(l_index +29 ).attribute := OE_LINE_UTIL.G_SERVICE_DURATION;
456 		 -- START sol_ord_er #16014165
457 		g_dep_tbl(l_index +30 ).attribute := OE_LINE_UTIL.G_SERVICE_BILL_PROFILE_ID;
458 		g_dep_tbl(l_index +31 ).attribute := OE_LINE_UTIL.G_SERVICE_COV_TEMPLATE_ID;
459 		g_dep_tbl(l_index +32 ).attribute := OE_LINE_UTIL.G_SERVICE_SUBS_TEMPLATE_ID;
460 		g_dep_tbl(l_index +33 ).attribute := OE_LINE_UTIL.G_SERVICE_BILL_OPTION_CODE;
461 		g_dep_tbl(l_index +34 ).attribute := OE_LINE_UTIL.g_subscription_enable_flag;
462 
463 		l_index := OE_LINE_UTIL.g_subscription_enable_flag * G_MAX ;
464 		g_dep_tbl(l_index).attribute  := OE_LINE_UTIL.G_INVOICING_RULE;
465 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_SERVICE_BILL_PROFILE_ID;
466 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_SERVICE_SUBS_TEMPLATE_ID;
467 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_SERVICE_BILL_OPTION_CODE;
468 		g_dep_tbl(l_index +4 ).attribute := OE_LINE_UTIL.G_SERVICE_START_DATE;
469 	    g_dep_tbl(l_index +5 ).attribute := OE_LINE_UTIL.G_SERVICE_PERIOD;
470 	    g_dep_tbl(l_index +6 ).attribute := OE_LINE_UTIL.G_SERVICE_REFERENCE_TYPE_CODE;
471 		g_dep_tbl(l_index +7 ).attribute := OE_LINE_UTIL.G_ITEM_TYPE;
472 		g_dep_tbl(l_index +8 ).attribute := OE_LINE_UTIL.G_SERVICE_DURATION;
473         -- END sol_ord_er #16014165
474 	    l_index := OE_LINE_UTIL.G_AGREEMENT * G_MAX ;
475 	    g_dep_tbl(l_index).attribute  := OE_LINE_UTIL.G_INVOICING_RULE;
476 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_ACCOUNTING_RULE;
477 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_PAYMENT_TERM;
478 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_PRICE_LIST;
479 -- added the following lines to fix bug 1766836   Begin
480             g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_CUST_PO_NUMBER;
481 	    g_dep_tbl(l_index +5 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_ORG;
482 	    g_dep_tbl(l_index +6 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_CONTACT;
483 	    g_dep_tbl(l_index +7 ).attribute  := OE_LINE_UTIL.G_SALESREP;
484             g_dep_tbl(l_index +8 ).attribute  := OE_LINE_UTIL.G_COMMITMENT;
485 -- added the following lines to fix bug 1766836   End
486 
487             --g_dep_tbl(l_index ).attribute     := OE_LINE_UTIL.G_CUST_PO_NUMBER;
488 	    --g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_ORG;
489 	    --g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_CONTACT;
490 	    --g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_SOLD_TO_ORG;
491 	    --g_dep_tbl(l_index +5 ).attribute  := OE_LINE_UTIL.G_SALESREP;
492 
493             /* Added dependency for Bug 2245073 */
494               l_index := OE_LINE_UTIL.G_PRICING_DATE * G_MAX;
495               g_dep_tbl(l_index).attribute := OE_LINE_UTIL.G_AGREEMENT;
496              /* End of 2245073 */
497 
498               l_index := OE_LINE_UTIL.G_ACCOUNTING_RULE * G_MAX;
499               g_dep_tbl(l_index).attribute := OE_LINE_UTIL.G_ACCOUNTING_RULE_DURATION;
500 
501 
502 	    l_index := OE_LINE_UTIL.G_INVOICE_TO_ORG * G_MAX ;
503 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_PAYMENT_TERM;
504 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_CONTACT;
505 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_PRICE_LIST;
506 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_FOB_POINT;
507 	    g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_FREIGHT_TERMS;
508 	    /* Added by Manish */
509 	    g_dep_tbl(l_index +5 ).attribute   := OE_LINE_UTIL.G_TAX;
510 	    g_dep_tbl(l_index +6 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
511 	    g_dep_tbl(l_index +7 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
512 	    /* Added by Manish */
513 	    g_dep_tbl(l_index +8).attribute    := OE_LINE_UTIL.G_SHIP_TOLERANCE_BELOW;
514 	    g_dep_tbl(l_index +9).attribute    := OE_LINE_UTIL.G_SHIP_TOLERANCE_ABOVE;
515 	    g_dep_tbl(l_index +10).attribute    := OE_LINE_UTIL.G_SALESREP;
516 
517 	    l_index := OE_LINE_UTIL.G_SOLD_TO_ORG * G_MAX ;
518 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_PAYMENT_TERM;
519 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_ORG;
520 	    g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_PRICE_LIST;
521 	    g_dep_tbl(l_index +3 ).attribute  := OE_LINE_UTIL.G_FOB_POINT;
522 	    g_dep_tbl(l_index +4 ).attribute  := OE_LINE_UTIL.G_FREIGHT_TERMS;
523 	    g_dep_tbl(l_index +5 ).attribute  := OE_LINE_UTIL.G_DELIVER_TO_ORG;
524 	    g_dep_tbl(l_index +6 ).attribute  := OE_LINE_UTIL.G_SHIP_TO_ORG;
525 	    -- Added by Manish
526 	    g_dep_tbl(l_index +7 ).attribute  := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
527 	    g_dep_tbl(l_index +8 ).attribute  := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
528 	    -- Added by Manish
529 	    g_dep_tbl(l_index +9 ).attribute  := OE_LINE_UTIL.G_SHIP_FROM_ORG;
530 	    g_dep_tbl(l_index +10 ).attribute  := OE_LINE_UTIL.G_SALESREP;
531 	    g_dep_tbl(l_index +11 ).attribute  := OE_LINE_UTIL.G_SHIPPING_METHOD;
532 	  --g_dep_tbl(l_index +12 ).attribute  := OE_LINE_UTIL.G_COMMITMENT;
533 	    g_dep_tbl(l_index +12 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_BELOW;
534 	    g_dep_tbl(l_index +13 ).attribute := OE_LINE_UTIL.G_SHIP_TOLERANCE_ABOVE;
535 	    g_dep_tbl(l_index +14 ).attribute := OE_LINE_UTIL.G_ITEM_IDENTIFIER_TYPE;
536 
537 	    l_index := OE_LINE_UTIL.G_PRICE_LIST * G_MAX ;
538 	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_PAYMENT_TERM;
539 	    g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_FREIGHT_TERMS;
540 	    --g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_UNIT_LIST_PRICE;
541 
542 	    --l_index := OE_LINE_UTIL.G_ORDERED_QUANTITY * G_MAX ;
543 --	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_QUANTITY_OPEN;
544 	    --g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_UNIT_LIST_PRICE;
545 	    --g_dep_tbl(l_index +2 ).attribute  := OE_LINE_UTIL.G_PRICING_QUANTITY;
546 
547 --       l_index := OE_LINE_UTIL.G_ORDER_QUANTITY_UOM * G_MAX ;
548 --	    g_dep_tbl(l_index ).attribute	    := OE_LINE_UTIL.G_QUANTITY_OPEN;
549 	    --g_dep_tbl(l_index  ).attribute  := OE_LINE_UTIL.G_UNIT_LIST_PRICE;
550 	    --g_dep_tbl(l_index +1 ).attribute  := OE_LINE_UTIL.G_PRICING_QUANTITY_UOM;
551 
552 --	    l_index := OE_LINE_UTIL.G_SHIPPING_QUANTITY_UOM * G_MAX ;
553 --	    g_dep_tbl(l_index ).attribute     := OE_LINE_UTIL.G_SHIPPING_QUANTITY;
554 
555 	    --l_index := OE_LINE_UTIL.G_PRICING_QUANTITY_UOM * G_MAX ;
556 	    --g_dep_tbl(l_index ).attribute     := OE_LINE_UTIL.G_PRICING_QUANTITY;
557 
558 	    /* Added by Manish */
559 	    l_index := OE_LINE_UTIL.G_SCHEDULE_SHIP_DATE * G_MAX ;
560 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_TAX_DATE;
561 	   -- g_dep_tbl(l_index +1).attribute    := OE_LINE_UTIL.G_PROMISE_DATE;
562 
563 	    l_index := OE_LINE_UTIL.G_PROMISE_DATE * G_MAX ;
564 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_TAX_DATE;
565 
566 	    l_index := OE_LINE_UTIL.G_REQUEST_DATE * G_MAX ;
567 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_TAX_DATE;
568 	    g_dep_tbl(l_index +1).attribute     := OE_LINE_UTIL.G_LATEST_ACCEPTABLE_DATE;   --13088960
569 
570 	    l_index := OE_LINE_UTIL.G_TAX_DATE * G_MAX ;
571 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_TAX;
572 	    g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
573 	    g_dep_tbl(l_index +2 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
574 
575            -- commented out by lkxu
576 	   -- l_index := OE_LINE_UTIL.G_INVOICED_FLAG * G_MAX ;
577 	   -- g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_CALCULATE_PRICE_FLAG;
578 
579 	    l_index := OE_LINE_UTIL.G_SHIP_TO_ORG * G_MAX ;
580 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_TAX;
581 	    g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
582 	    g_dep_tbl(l_index +2 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
583 	    g_dep_tbl(l_index +3).attribute    := OE_LINE_UTIL.G_SHIP_TOLERANCE_ABOVE;
584 	    g_dep_tbl(l_index +4).attribute    := OE_LINE_UTIL.G_SHIP_TOLERANCE_BELOW;
585 	    g_dep_tbl(l_index +5).attribute    := OE_LINE_UTIL.G_SALESREP;
586 	    g_dep_tbl(l_index +6).attribute    := OE_LINE_UTIL.G_DEMAND_CLASS;
587 	    g_dep_tbl(l_index +7).attribute    := OE_LINE_UTIL.G_SHIP_FROM_ORG;
588 	    g_dep_tbl(l_index +8 ).attribute  := OE_LINE_UTIL.G_PAYMENT_TERM;
589 	    g_dep_tbl(l_index +9 ).attribute  := OE_LINE_UTIL.G_PRICE_LIST;
590 	    g_dep_tbl(l_index +10 ).attribute  := OE_LINE_UTIL.G_INVOICE_TO_ORG;
591 	    g_dep_tbl(l_index +11 ).attribute  := OE_LINE_UTIL.G_FOB_POINT;
592 	    g_dep_tbl(l_index +12 ).attribute  := OE_LINE_UTIL.G_FREIGHT_TERMS;
593 	    g_dep_tbl(l_index +13 ).attribute  := OE_LINE_UTIL.G_SHIPPING_METHOD;
594 	    g_dep_tbl(l_index +14 ).attribute := OE_LINE_UTIL.G_ITEM_IDENTIFIER_TYPE;
595 	    g_dep_tbl(l_index +15 ).attribute := OE_LINE_UTIL.G_SHIP_TO_CONTACT;
596 
597 	    /* Added by Manish */
598 	    l_index := OE_LINE_UTIL.G_TAX_EXEMPT * G_MAX ;
599 	    g_dep_tbl(l_index    ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
600 	    g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
601             -- added by linda
602 	    g_dep_tbl(l_index +2 ).attribute   := OE_LINE_UTIL.G_TAX;
603 
604 	    l_index := OE_LINE_UTIL.G_TAX * G_MAX ;
605 	    g_dep_tbl(l_index    ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_NUMBER;
606 	    g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_TAX_EXEMPT_REASON;
607 
608 	    l_index := OE_LINE_UTIL.G_ORDERED_ITEM_ID * G_MAX ;
609 	    g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_DEP_PLAN_REQUIRED;
610             -- OPM bug3016136
611             g_dep_tbl(l_index +1 ).attribute := OE_LINE_UTIL.G_ORDERED_QUANTITY2;
612             g_dep_tbl(l_index +2 ).attribute := OE_LINE_UTIL.G_ORDERED_QUANTITY_UOM2;
613             g_dep_tbl(l_index +3).attribute := OE_LINE_UTIL.G_PREFERRED_GRADE;
614             -- OPM bug3016136
615 
616 	    -- Adding for deliver to org . -- Added by Shashi.
617 	    l_index := OE_LINE_UTIL.G_DELIVER_TO_ORG * G_MAX ;
618 	    g_dep_tbl(l_index).attribute     := OE_LINE_UTIL.G_DELIVER_TO_CONTACT;
619 
620          /* OPM 02/JUN/00 - add process dependencies on whse */
621 	    l_index := OE_LINE_UTIL.G_SHIP_FROM_ORG * G_MAX ;
622 
623 	    -- fix for bug 1773985 - comment out line below and re-order indexes.
624 --         g_dep_tbl(l_index  ).attribute     := OE_LINE_UTIL.G_PREFERRED_GRADE;
625            g_dep_tbl(l_index).attribute   := OE_LINE_UTIL.G_ORDERED_QUANTITY_UOM2;
626            g_dep_tbl(l_index +1 ).attribute   := OE_LINE_UTIL.G_SUBINVENTORY;
627            -- ## bug fix 1609895
628            g_dep_tbl(l_index +2 ).attribute   := OE_LINE_UTIL.G_SHIPPABLE;
629            g_dep_tbl(l_index +3 ).attribute   := OE_LINE_UTIL.G_TAX;
630 	   g_dep_tbl(l_index +4 ).attribute   := OE_LINE_UTIL.G_ORDERED_QUANTITY2;  --Bug 12825751
631 	   g_dep_tbl(l_index +5 ).attribute   := OE_LINE_UTIL.G_SHIP_SET; --ER 2843738
632 
633          -- BLANKETS: Add dependencies on blanket fields for order line
634          IF OE_CODE_CONTROL.Code_Release_Level >= '110509' THEN
635 
636 	    l_index := OE_LINE_UTIL.G_BLANKET_NUMBER * G_MAX;
637 	    g_dep_tbl(l_index).attribute := OE_LINE_UTIL.G_SHIPPING_INSTRUCTIONS;
638 	    g_dep_tbl(l_index+1).attribute := OE_LINE_UTIL.G_PACKING_INSTRUCTIONS;
639 	    g_dep_tbl(l_index+2).attribute := OE_LINE_UTIL.G_ACCOUNTING_RULE;
640 	    g_dep_tbl(l_index+3).attribute := OE_LINE_UTIL.G_INVOICING_RULE;
641 	    g_dep_tbl(l_index+4).attribute := OE_LINE_UTIL.G_SHIP_TO_ORG;
642 	    g_dep_tbl(l_index+5).attribute := OE_LINE_UTIL.G_INVOICE_TO_ORG;
643 	    g_dep_tbl(l_index+6).attribute := OE_LINE_UTIL.G_DELIVER_TO_ORG;
644 	    g_dep_tbl(l_index+7).attribute := OE_LINE_UTIL.G_SHIP_FROM_ORG;
645 	    g_dep_tbl(l_index+8).attribute := OE_LINE_UTIL.G_PAYMENT_TERM;
646 	    g_dep_tbl(l_index+9).attribute := OE_LINE_UTIL.G_PRICE_LIST;
647 	    g_dep_tbl(l_index+10).attribute := OE_LINE_UTIL.G_SHIPPING_METHOD;
648 	    g_dep_tbl(l_index+11).attribute := OE_LINE_UTIL.G_FREIGHT_TERMS;
649 	    g_dep_tbl(l_index+12).attribute := OE_LINE_UTIL.G_SALESREP;
650             -- bug 2766005, enabled grade defaulting from blanket line
651 	    g_dep_tbl(l_index+13).attribute := OE_LINE_UTIL.G_PREFERRED_GRADE;
652 	    g_dep_tbl(l_index+14).attribute := OE_LINE_UTIL.G_BLANKET_VERSION_NUMBER;
653 
654 	    l_index := OE_LINE_UTIL.G_BLANKET_LINE_NUMBER * G_MAX;
655 	    g_dep_tbl(l_index).attribute := OE_LINE_UTIL.G_ACCOUNTING_RULE;
656 	    g_dep_tbl(l_index+1).attribute := OE_LINE_UTIL.G_INVOICING_RULE;
657 	    g_dep_tbl(l_index+2).attribute := OE_LINE_UTIL.G_SHIP_TO_ORG;
658 	    g_dep_tbl(l_index+3).attribute := OE_LINE_UTIL.G_INVOICE_TO_ORG;
659 	    g_dep_tbl(l_index+4).attribute := OE_LINE_UTIL.G_DELIVER_TO_ORG;
660 	    g_dep_tbl(l_index+5).attribute := OE_LINE_UTIL.G_SHIP_FROM_ORG;
661 	    g_dep_tbl(l_index+6).attribute := OE_LINE_UTIL.G_PAYMENT_TERM;
662 	    g_dep_tbl(l_index+7).attribute := OE_LINE_UTIL.G_PRICE_LIST;
663 	    g_dep_tbl(l_index+8).attribute := OE_LINE_UTIL.G_SHIPPING_METHOD;
664 	    g_dep_tbl(l_index+9).attribute := OE_LINE_UTIL.G_FREIGHT_TERMS;
665 	    g_dep_tbl(l_index+10).attribute := OE_LINE_UTIL.G_SALESREP;
666 	    g_dep_tbl(l_index+11).attribute := OE_LINE_UTIL.G_SHIPPING_INSTRUCTIONS;
667 	    g_dep_tbl(l_index+12).attribute := OE_LINE_UTIL.G_PACKING_INSTRUCTIONS;
668             -- bug 2766005, enabled grade defaulting from blanket line
669 	    g_dep_tbl(l_index+13).attribute := OE_LINE_UTIL.G_PREFERRED_GRADE;
670 
671          END IF; -- end of check of code level for blankets
672 
673 	 IF OE_CODE_CONTROL.Code_Release_Level >= '110510' THEN
674 	    --distributed orders
675 	    l_index := OE_LINE_UTIL.G_END_CUSTOMER * G_MAX ;
676 	    g_dep_tbl(l_index).attribute   := OE_LINE_UTIL.G_END_CUSTOMER_CONTACT;
677 	    g_dep_tbl(l_index+1).attribute := OE_LINE_UTIL.G_END_CUSTOMER_SITE_USE;
678 	 END IF;
679 
680 	 ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_HEADER_ADJ THEN
681 
682 	   null;
683 	   /*
684 	   l_index	:= OE_HEADER_ADJ_UTIL.G_DISCOUNT * G_MAX;
685 	   --g_dep_tbl(l_index).attribute := OE_HEADER_ADJ_UTIL.g_discount_line;
686 	   g_dep_tbl(l_index).attribute := OE_HEADER_ADJ_UTIL.g_percent;
687 
688 
689 	   l_index	:= OE_HEADER_ADJ_UTIL.G_DISCOUNT_line * g_max;
690 	   --g_dep_tbl(l_index).attribute := OE_HEADER_ADJ_UTIL.g_discount;
691 	   g_dep_tbl(l_index+1).attribute := OE_HEADER_ADJ_UTIL.g_percent;
692 
693 		*/
694 
695 	 ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE_ADJ THEN
696 		null;
697 
698 	   /*
699 	   l_index	:= OE_LINE_ADJ_UTIL.G_DISCOUNT * G_MAX;
700 	   --g_dep_tbl(l_index).attribute := OE_LINE_ADJ_UTIL.G_DISCOUNT_LINE;
701 	   g_dep_tbl(l_index).attribute := OE_LINE_ADJ_UTIL.G_PERCENT;
702 
703 
704 	   l_index	:= OE_LINE_ADJ_UTIL.G_DISCOUNT_line * g_max;
705 	   --g_dep_tbl(l_index).attribute := OE_LINE_ADJ_UTIL.g_discount;
706 	   g_dep_tbl(l_index+1).attribute := OE_LINE_ADJ_UTIL.g_percent;
707 
708 		*/
709 --serla begin
710          ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_HEADER_PAYMENT THEN
711 
712             l_index := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE * G_MAX ;
713             g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
714             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_RECEIPT_METHOD_ID;
715             g_dep_tbl(l_index+2 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CHECK_NUMBER;
716             g_dep_tbl(l_index+3 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
717             g_dep_tbl(l_index+4 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_CODE;
718             g_dep_tbl(l_index+5 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
719             g_dep_tbl(l_index+6 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
720             g_dep_tbl(l_index+7 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
721             g_dep_tbl(l_index+8 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
722             g_dep_tbl(l_index+9 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;
723 /*
724             l_index := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TRX_ID * G_MAX ;
725             --g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE;
726             g_dep_tbl(l_index ).attribute  := OE_HEADER_PAYMENT_UTIL.G_RECEIPT_METHOD_ID;
727             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CHECK_NUMBER;
728             g_dep_tbl(l_index+2 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
729             g_dep_tbl(l_index+3 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_CODE;
730             g_dep_tbl(l_index+4 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
731             g_dep_tbl(l_index+5 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
732             g_dep_tbl(l_index+6 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
733             g_dep_tbl(l_index+7 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
734             g_dep_tbl(l_index+8 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;
735 */
736             l_index := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER * G_MAX ;
737             g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
738             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
739             g_dep_tbl(l_index+2 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
740             g_dep_tbl(l_index+3 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
741             g_dep_tbl(l_index+4 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
742             g_dep_tbl(l_index+5 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;
743 	    --R12 CC Encryption
744 	    --The dependent attributes based on credit card code is not required
745             /*l_index := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_CODE * G_MAX ;
746             g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
747             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
748             g_dep_tbl(l_index+2 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
749             g_dep_tbl(l_index+3 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
750             g_dep_tbl(l_index+4 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
751             g_dep_tbl(l_index+5 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
752             g_dep_tbl(l_index+6 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;*/
753 	    --R12 CC Encryption
754             l_index := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE * G_MAX ;
755             g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_CHECK_NUMBER;
756             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;
757 
758             l_index := OE_HEADER_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE * G_MAX ;
759             g_dep_tbl(l_index ).attribute    := OE_HEADER_PAYMENT_UTIL.G_CHECK_NUMBER;
760             g_dep_tbl(l_index+1 ).attribute  := OE_HEADER_PAYMENT_UTIL.G_TANGIBLE_ID;
761 
762          ELSIF p_entity_code = OE_GLOBALS.G_ENTITY_LINE_PAYMENT THEN
763 
764             l_index := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE * G_MAX ;
765             g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
766             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_RECEIPT_METHOD_ID;
767             g_dep_tbl(l_index+2 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CHECK_NUMBER;
768             g_dep_tbl(l_index+3 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
769             g_dep_tbl(l_index+4 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_CODE;
770             g_dep_tbl(l_index+5 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
771             g_dep_tbl(l_index+6 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
772             g_dep_tbl(l_index+7 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
773             g_dep_tbl(l_index+8 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
774             g_dep_tbl(l_index+9 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;
775 
776  /*           l_index := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TRX_ID * G_MAX ;
777             --g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TYPE_CODE;
778             g_dep_tbl(l_index ).attribute  := OE_LINE_PAYMENT_UTIL.G_RECEIPT_METHOD_ID;
779             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CHECK_NUMBER;
780             g_dep_tbl(l_index+2 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
781             g_dep_tbl(l_index+3 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_CODE;
782             g_dep_tbl(l_index+4 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
783             g_dep_tbl(l_index+5 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
784             g_dep_tbl(l_index+6 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
785             g_dep_tbl(l_index+7 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
786             g_dep_tbl(l_index+8 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;
787 */
788             l_index := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER * G_MAX ;
789             g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
790             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
791             g_dep_tbl(l_index+2 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
792             g_dep_tbl(l_index+3 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
793             g_dep_tbl(l_index+4 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
794             g_dep_tbl(l_index+5 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;
795 	    --R12 CC Encryption
796 	    /*
797             l_index := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_CODE * G_MAX ;
798             g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_PAYMENT_TRX_ID;
799             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_NUMBER;
800             g_dep_tbl(l_index+2 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE;
801             g_dep_tbl(l_index+3 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE;
802             g_dep_tbl(l_index+4 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_HOLDER_NAME;
803             g_dep_tbl(l_index+5 ).attribute  := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_EXPIRATION_DATE;
804             g_dep_tbl(l_index+6 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;*/
805 
806             l_index := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_CODE * G_MAX ;
807             g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_CHECK_NUMBER;
808             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;
809 
810             l_index := OE_LINE_PAYMENT_UTIL.G_CREDIT_CARD_APPROVAL_DATE * G_MAX ;
811             g_dep_tbl(l_index ).attribute    := OE_LINE_PAYMENT_UTIL.G_CHECK_NUMBER;
812             g_dep_tbl(l_index+1 ).attribute  := OE_LINE_PAYMENT_UTIL.G_TANGIBLE_ID;
813 
814 --serla end
815 	END IF;
816 
817         -- Merge any dependencies that user wants to enable/disable via call
818         -- to the new extension api - OE_Dependencies_Extn (OEXEDEPS/B.pls)
819         Merge_Dependencies_Extn(p_entity_code);
820 
821     END IF;
822 
823     IF l_debug_level  > 0 THEN
824         oe_debug_pub.add(  'EXITING OE_DEPENDENCIES.LOAD_ENTITY_ATTRIBUTES' , 1 ) ;
825     END IF;
826 
827 END Load_Entity_Attributes;
828 
829 --  This procedure should be modified to call itself recursively in
830 --  order to clear fields dependent on dependent fields.
831 --  kris - ask Amr why he didn't put the call in
832 --  is there something he knows that makes it not as easy as it seems?
833 
834 
835 PROCEDURE   Mark_Dependent
836 (   p_entity_code	IN  VARCHAR2				,
837     p_source_attr_tbl	IN  OE_GLOBALS.Number_Tbl_Type :=
838 				OE_GLOBALS.G_MISS_NUMBER_TBL	,
839 p_dep_attr_tbl OUT NOCOPY OE_GLOBALS.Number_Tbl_Type
840 
841 )
842 IS
843 l_index		    NUMBER;
844 l_out_index	    NUMBER;
845 l_dep_attr_tbl	    OE_GLOBALS.Number_Tbl_Type;
846 l_src_attr_tbl	    OE_GLOBALS.Number_Tbl_Type;
847 l_examined_attr_tbl OE_GLOBALS.Boolean_Tbl_Type;
848 l_out_attr_tbl	    OE_GLOBALS.Boolean_Tbl_Type;
849 --
850 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
851 --
852 BEGIN
853 
854    IF l_debug_level  > 0 THEN
855        oe_debug_pub.add(  'ENTERING OE_DEPENDENCIES.MARK_DEPENDENT' , 1 ) ;
856    END IF;
857 
858     --	Init l_src_attr_tbl
859 
860     l_src_attr_tbl := p_source_attr_tbl;
861 
862     --	Load Entity Attributes.
863 
864     Load_Entity_Attributes ( p_entity_code );
865 
866     --  Loop throughout all attributes and mark dependent
867     --  attributes for those requested.
868 
869     WHILE l_src_attr_tbl.COUNT <> 0 LOOP
870 
871 	FOR I IN 1..l_src_attr_tbl.COUNT LOOP
872 
873 	    l_index := l_src_attr_tbl(I) * G_MAX;
874 
875             -- Bug 2318145: If a certain dependency was disabled via extn API
876             -- all subsequent dependencies were not being picked up either.
877             -- This was because the check for enabled_flag was included in
878             -- the WHILE condition and loop did not progress beyond the
879             -- disabled dependency.
880             -- With this fix, check for enabled is in a separate IF so it
881             -- should loop over all dependencies now.
882 
883 	    WHILE g_dep_tbl.EXISTS(l_index) LOOP
884 
885               IF g_dep_tbl(l_index).enabled_flag = 'Y' THEN
886                l_dep_attr_tbl(l_dep_attr_tbl.COUNT+1) :=g_dep_tbl(l_index).attribute;
887               END IF;
888 
889               l_index := l_index +1;
890 
891 	    END LOOP;
892 
893 	END LOOP;
894 
895 	--  Mark attributes that have been examined.
896 
897 	FOR I IN 1..l_src_attr_tbl.COUNT LOOP
898 	    l_examined_attr_tbl(l_src_attr_tbl(I)) := TRUE;
899 	END LOOP;
900 
901 	--  Clear source attributes table.
902 
903 	l_src_attr_tbl.DELETE;
904 
905 	--  Check dependent attributes. If they have been already
906 	--  examined then no need to re-check them.
907 
908 	FOR I IN 1..l_dep_attr_tbl.COUNT LOOP
909 
910 	    l_out_attr_tbl(l_dep_attr_tbl(I)) := TRUE;
911 
912 	    IF NOT l_examined_attr_tbl.EXISTS(l_dep_attr_tbl(I)) THEN
913 		l_src_attr_tbl(l_src_attr_tbl.COUNT+1) := l_dep_attr_tbl(I);
914 	    END IF;
915 
916 	END LOOP;
917 
918     END LOOP;
919 
920     --	Load OUT attr table.
921 
922     l_index := l_out_attr_tbl.FIRST;
923     l_out_index := 1;
924 
925     WHILE l_index IS NOT NULL LOOP
926 
927 	p_dep_attr_tbl(l_out_index) := l_index;
928 	l_index := l_out_attr_tbl.NEXT(l_index);
929 	l_out_index := l_out_index + 1;
930 
931     END LOOP;
932 
933     IF l_debug_level  > 0 THEN
934         oe_debug_pub.add(  'EXITING OE_DEPENDENCIES.MARK_DEPENDENT' , 1 ) ;
935     END IF;
936 
937 END Mark_Dependent;
938 
939 
940 PROCEDURE   clear_dependent_table
941   IS
942   --
943   l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
944   --
945 BEGIN
946 
947    IF l_debug_level  > 0 THEN
948        oe_debug_pub.add(  'ENTERING OE_DEPENDENCIES.CLEAR_DEPENDENT_TABLE' , 1 ) ;
949    END IF;
950 
951    g_dep_tbl.DELETE;
952    g_entity_code := NULL;
953 
954    IF l_debug_level  > 0 THEN
955        oe_debug_pub.add(  'EXITING OE_DEPENDENCIES.CLEAR_DEPENDENT_TABLE' , 1 ) ;
956    END IF;
957 
958 END clear_dependent_table;
959 
960 
961 END OE_Dependencies;