[Home] [Help]
PACKAGE BODY: APPS.CSL_CSP_LOCATIONS_ACC_PKG
Source
1 PACKAGE BODY CSL_CSP_LOCATIONS_ACC_PKG AS
2 /* $Header: cslsaacb.pls 120.0 2005/05/25 11:02:56 appldev noship $ */
3
4 /*** Globals ***/
5 -- CSP_RS_CUST_RELATIONS
6 g_acc_table_name1 CONSTANT VARCHAR2(30) := 'JTM_CSP_RS_CUST_RELATIONS_ACC';
7 g_publication_item_name1 CONSTANT JTM_HOOK_UTIL_PKG.t_publication_item_list :=
8 JTM_HOOK_UTIL_PKG.t_publication_item_list('CSP_RS_CUST_RELATIONS');
9 g_pk1_name1 CONSTANT VARCHAR2(30) := 'RS_CUST_RELATION_ID';
10 -- HZ_CUST_ACCT_SITES_ALL
11 g_acc_table_name2 CONSTANT VARCHAR2(30) := 'CSL_HZ_CUST_ACCT_SITES_ALL_ACC';
12 g_publication_item_name2 CONSTANT JTM_HOOK_UTIL_PKG.t_publication_item_list :=
13 JTM_HOOK_UTIL_PKG.t_publication_item_list('CSL_HZ_CUST_ACCT_SITES');
14 g_pk1_name2 CONSTANT VARCHAR2(30) := 'CUST_ACCT_SITE_ID';
15 -- HZ_CUST_SITE_USES_ALL
16 g_acc_table_name3 CONSTANT VARCHAR2(30) := 'CSL_HZ_CUST_SITE_USES_ALL_ACC';
17 g_publication_item_name3 CONSTANT JTM_HOOK_UTIL_PKG.t_publication_item_list :=
18 JTM_HOOK_UTIL_PKG.t_publication_item_list('CSL_HZ_CUST_SITE_USES');
19 g_pk1_name3 CONSTANT VARCHAR2(30) := 'SITE_USE_ID';
20 -- PO_LOCATION_ASSOCIATIONS_ALL
21 g_acc_table_name4 CONSTANT VARCHAR2(30) := 'JTM_PO_LOC_ASS_ALL_ACC';
22 g_publication_item_name4 CONSTANT JTM_HOOK_UTIL_PKG.t_publication_item_list :=
23 JTM_HOOK_UTIL_PKG.t_publication_item_list('PO_LOC_ASS_ALL');
24 g_pk1_name4 CONSTANT VARCHAR2(30) := 'LOCATION_ID';
25
26 g_table_name CONSTANT VARCHAR2(30) := 'PO_LOCATION_ASSOCIATIONS_ALL';
27 g_debug_level NUMBER; -- debug level
28
29 /*** Function that checks if location record(s) should be replicated. Returns TRUE if it should ***/
30 FUNCTION Replicate_Record
31 ( p_location_id NUMBER
32 )
33 RETURN BOOLEAN
34 IS
35 CURSOR c_location (b_location_id NUMBER) IS
36 SELECT PLA.location_id LOCATION_ID
37 , CSU.status STATUS
38 , RCR.resource_id RESOURCE_ID
39 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
40 , HZ_CUST_SITE_USES_ALL CSU
41 , HZ_CUST_ACCT_SITES_ALL CAS
42 , CSP_RS_CUST_RELATIONS RCR
43 , HZ_PARTY_SITES HPS
44 , HZ_LOCATIONS HZL
45 WHERE PLA.location_id = b_location_id
46 AND CSU.site_use_id = PLA.site_use_id
47 AND CSU.site_use_code = 'SHIP_TO'
48 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
49 AND CAS.cust_account_id = RCR.customer_id
50 AND CAS.party_site_id = HPS.party_site_id
51 AND HPS.location_id = HZL.location_id
52 AND PLA.LOCATION_ID = b_location_id;
53 r_location c_location%ROWTYPE;
54
55 BEGIN
56 /*** get debug level ***/
57 g_debug_level := JTM_HOOK_UTIL_PKG.Get_Debug_Level;
58
59 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
60 jtm_message_log_pkg.Log_Msg
61 ( p_location_id
62 , g_table_name
63 , 'Entering Replicate_Record'
64 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
65 END IF;
66
67 OPEN c_location( p_location_id );
68 FETCH c_location INTO r_location;
69 IF c_location%NOTFOUND THEN
70 /*** could not find location record -> exit ***/
71 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
72 jtm_message_log_pkg.Log_Msg
73 ( p_location_id
74 , g_table_name
75 , 'Replicate_Record error: Could not find record associated with PO_LOCATION_ASSOCIATIONS_ALL.LOCATION_ID '
76 || p_location_id
77 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
78 END IF;
79
80 CLOSE c_location;
81 RETURN FALSE;
82 END IF;
83
84 CLOSE c_location;
85
86 /*** is resource a mobile user? ***/
87 IF NOT JTM_HOOK_UTIL_PKG.isMobileFSresource( r_location.resource_id ) THEN
88 /*** No -> exit ***/
89 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
90 jtm_message_log_pkg.Log_Msg
91 ( p_location_id
92 , g_table_name
93 , 'Replicate_Record returned FALSE' || fnd_global.local_chr(10) ||
94 'Resource_id ' || r_location.resource_id || ' is not a mobile user.'
95 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
96 END IF;
97
98 RETURN FALSE;
99 END IF;
100
101
102 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
103 jtm_message_log_pkg.Log_Msg
104 ( p_location_id
105 , g_table_name
106 , 'Replicate_Record returned TRUE'
107 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
108 END IF;
109
110 /** Record matched criteria -> return true ***/
111 RETURN TRUE;
112 END Replicate_Record;
113
114 /*** Private procedure that replicates given location related data for resource ***/
115 PROCEDURE Insert_ACC_Record
116 ( p_location_id IN NUMBER
117 )
118 IS
119 CURSOR c_location_ids (b_location_id NUMBER) IS
120 SELECT CSU.site_use_id CSU_ID
121 , CAS.cust_acct_site_id CAS_ID
122 , RCR.RS_CUST_RELATION_ID RCR_ID
123 , HPS.party_site_id HPS_ID
124 , RCR.RESOURCE_ID RESOURCE_ID
125 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
126 , HZ_CUST_SITE_USES_ALL CSU
127 , HZ_CUST_ACCT_SITES_ALL CAS
128 , CSP_RS_CUST_RELATIONS RCR
129 , HZ_PARTY_SITES HPS
130 WHERE PLA.location_id = b_location_id
131 AND CSU.site_use_id = PLA.site_use_id
132 AND CSU.site_use_code = 'SHIP_TO'
133 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
134 AND CAS.cust_account_id = RCR.customer_id
135 AND CAS.party_site_id = HPS.party_site_id
136 AND PLA.LOCATION_ID = b_location_id;
137 r_location_ids c_location_ids%ROWTYPE;
138 l_resource_id NUMBER;
139 BEGIN
140 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
141 jtm_message_log_pkg.Log_Msg
142 ( p_location_id
143 , g_table_name
144 , 'Entering Insert_ACC_Record'
145 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
146 END IF;
147
148 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
149 jtm_message_log_pkg.Log_Msg
150 ( p_location_id
151 , g_table_name
152 , 'Inserting ACC record'
153 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
154 END IF;
155
156 -- get all of the primary key values, these must be inserted into the ACC tables
157 OPEN c_location_ids( p_location_id );
158 FETCH c_location_ids INTO r_location_ids;
159 IF c_location_ids%NOTFOUND THEN
160 /*** could not find location record -> exit ***/
161 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
162 jtm_message_log_pkg.Log_Msg
163 ( p_location_id
164 , g_table_name
165 , 'Insert ACC Record error: Could not find record associated with PO_LOCATION_ASSOCIATIONS_ALL.LOCATION_ID ' || p_location_id
166 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
167 END IF;
168 ELSE
169
170 l_resource_id := r_location_ids.RESOURCE_ID;
171
172 -- CSP_RS_CUST_RELATIONS
173 JTM_HOOK_UTIL_PKG.Insert_Acc
174 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name1
175 , P_ACC_TABLE_NAME => g_acc_table_name1
176 , P_PK1_NAME => g_pk1_name1
177 , P_PK1_NUM_VALUE => r_location_ids.RCR_ID
178 , P_RESOURCE_ID => l_resource_id
179 );
180 -- HZ_CUST_ACCT_SITES_ALL
181 JTM_HOOK_UTIL_PKG.Insert_Acc
182 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name2
183 , P_ACC_TABLE_NAME => g_acc_table_name2
184 , P_PK1_NAME => g_pk1_name2
185 , P_PK1_NUM_VALUE => r_location_ids.CAS_ID
186 , P_RESOURCE_ID => l_resource_id
187 );
188 -- HZ_CUST_SITE_USES_ALL
189 JTM_HOOK_UTIL_PKG.Insert_Acc
190 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name3
191 , P_ACC_TABLE_NAME => g_acc_table_name3
192 , P_PK1_NAME => g_pk1_name3
193 , P_PK1_NUM_VALUE => r_location_ids.CSU_ID
194 , P_RESOURCE_ID => l_resource_id
195 );
196 -- PO_LOCATION_ASSOCIATIONS_ALL
197 JTM_HOOK_UTIL_PKG.Insert_Acc
198 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name4
199 , P_ACC_TABLE_NAME => g_acc_table_name4
200 , P_PK1_NAME => g_pk1_name4
201 , P_PK1_NUM_VALUE => p_location_id
202 , P_RESOURCE_ID => l_resource_id
203 );
204
205 -- HZ_PARTY_SITES ( ALSO HZ_LOCATIONS IS FILLED BY THIS HOOK )
206 CSL_HZ_PARTY_SITES_ACC_PKG.INSERT_PARTY_SITE( r_location_ids.HPS_ID, l_resource_id );
207 END IF;
208 CLOSE c_location_ids;
209
210 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
211 jtm_message_log_pkg.Log_Msg
212 ( p_location_id
213 , g_table_name
214 , 'Leaving Insert_ACC_Record'
215 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
216 END IF;
217 END Insert_ACC_Record;
218
219 /*** Private procedure that re-sends given assignment to mobile ***/
220 PROCEDURE Update_ACC_Record
221 ( p_location_id IN NUMBER
222 )
223 IS
224 CURSOR c_location_ids (b_location_id NUMBER) IS
225 SELECT CSU.site_use_id CSU_ID
226 , CAS.cust_acct_site_id CAS_ID
227 , RCR.RS_CUST_RELATION_ID RCR_ID
228 , HPS.party_site_id HPS_ID
229 , HZL.location_id HZL_ID
230 , RCR.resource_id RESOURCE_ID
231 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
232 , HZ_CUST_SITE_USES_ALL CSU
233 , HZ_CUST_ACCT_SITES_ALL CAS
234 , CSP_RS_CUST_RELATIONS RCR
235 , HZ_PARTY_SITES HPS
236 , HZ_LOCATIONS HZL
237 WHERE PLA.location_id = b_location_id
238 AND CSU.site_use_id = PLA.site_use_id
239 AND CSU.site_use_code = 'SHIP_TO'
240 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
241 AND CAS.cust_account_id = RCR.customer_id
242 AND CAS.party_site_id = HPS.party_site_id
243 AND HPS.location_id = HZL.location_id
244 AND PLA.LOCATION_ID = b_location_id;
245 r_location_ids c_location_ids%ROWTYPE;
246
247 l_rcr_acc_id NUMBER;
248 l_cas_acc_id NUMBER;
249 l_csu_acc_id NUMBER;
250 l_pla_acc_id NUMBER;
251 l_hps_acc_id NUMBER;
252 l_hzl_acc_id NUMBER;
253 l_resource_id NUMBER;
254 BEGIN
255 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
256 jtm_message_log_pkg.Log_Msg
257 ( p_location_id
258 , g_table_name
259 , 'Entering Update_ACC_Record'
260 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
261 END IF;
262
263 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
264 jtm_message_log_pkg.Log_Msg
265 ( p_location_id
266 , g_table_name
267 , 'Updating ACC record(s)'
268 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
269 END IF;
270
271 -- get all of the primary key values, these must be inserted into the ACC tables
272 OPEN c_location_ids( p_location_id );
273 FETCH c_location_ids INTO r_location_ids;
274 IF c_location_ids%NOTFOUND THEN
275 /*** could not find location record -> exit ***/
276 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
277 jtm_message_log_pkg.Log_Msg
278 ( p_location_id
279 , g_table_name
280 , 'Update ACC Record error: Could not find record associated with PO_LOCATION_ASSOCIATIONS_ALL.LOCATION_ID '
281 || p_location_id
282 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
283 END IF;
284 ELSE
285 l_resource_id := r_location_ids.RESOURCE_ID;
286
287 -- CSP_RS_CUST_RELATIONS
288 l_rcr_acc_id := JTM_HOOK_UTIL_PKG.Get_Acc_Id(
289 P_ACC_TABLE_NAME => g_acc_table_name1
290 , P_PK1_NAME => g_pk1_name1
291 , P_PK1_NUM_VALUE => r_location_ids.RCR_ID
292 , P_RESOURCE_ID => l_resource_id);
293 JTM_HOOK_UTIL_PKG.Update_Acc
294 ( g_publication_item_name1
295 ,g_acc_table_name1
296 ,l_resource_id
297 ,l_rcr_acc_id
298 );
299 -- HZ_CUST_ACCT_SITES_ALL
300 l_cas_acc_id := JTM_HOOK_UTIL_PKG.Get_Acc_Id(
301 P_ACC_TABLE_NAME => g_acc_table_name2
302 , P_PK1_NAME => g_pk1_name2
303 , P_PK1_NUM_VALUE => r_location_ids.CAS_ID
304 , P_RESOURCE_ID => l_resource_id);
305 JTM_HOOK_UTIL_PKG.Update_Acc
306 ( g_publication_item_name2
307 ,g_acc_table_name2
308 ,l_resource_id
309 ,l_cas_acc_id
310 );
311 -- HZ_CUST_SITE_USES_ALL
312 l_csu_acc_id := JTM_HOOK_UTIL_PKG.Get_Acc_Id(
313 P_ACC_TABLE_NAME => g_acc_table_name3
314 , P_PK1_NAME => g_pk1_name3
315 , P_PK1_NUM_VALUE => r_location_ids.CSU_ID
316 , P_RESOURCE_ID => l_resource_id);
317 JTM_HOOK_UTIL_PKG.Update_Acc
318 ( g_publication_item_name3
319 ,g_acc_table_name3
320 ,l_resource_id
321 ,l_csu_acc_id
322 );
323 -- PO_LOCATION_ASSOCIATIONS_ALL
324 l_pla_acc_id := JTM_HOOK_UTIL_PKG.Get_Acc_Id(
325 P_ACC_TABLE_NAME => g_acc_table_name4
326 , P_PK1_NAME => g_pk1_name4
327 , P_PK1_NUM_VALUE => p_location_id
328 , P_RESOURCE_ID => l_resource_id);
329 JTM_HOOK_UTIL_PKG.Update_Acc
330 ( g_publication_item_name4
331 ,g_acc_table_name4
332 ,l_resource_id
333 ,l_pla_acc_id
334 );
338 -- HZ_LOCATIONS
335 -- HZ_PARTY_SITES
336 CSL_HZ_PARTY_SITES_ACC_PKG.UPDATE_PARTY_SITE( r_location_ids.HPS_ID );
337
339 CSL_HZ_LOCATIONS_ACC_PKG.UPDATE_LOCATION( r_location_ids.HZL_ID );
340 END IF;
341
342 CLOSE c_location_ids;
343
344 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
345 jtm_message_log_pkg.Log_Msg
346 ( p_location_id
347 , g_table_name
348 , 'Leaving Update_ACC_Record'
349 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
350 END IF;
351 END Update_ACC_Record;
352
353 /*** Private procedure that deletes assignment for resource from acc table ***/
354 PROCEDURE Delete_ACC_Record
355 ( p_location_id IN NUMBER
356 ,p_resource_id IN NUMBER
357 )
358 IS
359 CURSOR c_location_ids (b_location_id NUMBER) IS
360 SELECT CSU.site_use_id CSU_ID
361 , CAS.cust_acct_site_id CAS_ID
362 , RCR.RS_CUST_RELATION_ID RCR_ID
363 , HPS.party_site_id HPS_ID
364 , RCR.RESOURCE_ID RESOURCE_ID
365 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
366 , HZ_CUST_SITE_USES_ALL CSU
367 , HZ_CUST_ACCT_SITES_ALL CAS
368 , CSP_RS_CUST_RELATIONS RCR
369 , HZ_PARTY_SITES HPS
370 WHERE PLA.location_id = b_location_id
371 AND CSU.site_use_id = PLA.site_use_id
372 AND CSU.site_use_code = 'SHIP_TO'
373 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
374 AND CAS.cust_account_id = RCR.customer_id
375 AND CAS.party_site_id = HPS.party_site_id
376 AND PLA.LOCATION_ID = b_location_id;
377 r_location_ids c_location_ids%ROWTYPE;
378 BEGIN
379 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
380 jtm_message_log_pkg.Log_Msg
381 ( p_location_id
382 , g_table_name
383 , 'Entering Delete_ACC_Record'
384 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
385 END IF;
386
387 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM THEN
388 jtm_message_log_pkg.Log_Msg
389 ( p_location_id
390 , g_table_name
391 , 'Deleting ACC record for resource_id = ' || p_resource_id
392 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_MEDIUM);
393 END IF;
394
395 -- No delete of the shipment addres is possible
396 -- get all of the primary key values, these must be inserted into the ACC tables
397 OPEN c_location_ids( p_location_id );
398 FETCH c_location_ids INTO r_location_ids;
399 IF c_location_ids%NOTFOUND THEN
400 /*** could not find location record -> exit ***/
401 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
402 jtm_message_log_pkg.Log_Msg
403 ( p_location_id
404 , g_table_name
405 , 'Delete ACC Record error: Could not find record for LOCATION_ID ' || p_location_id
406 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
407 END IF;
408 ELSE
409 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
410 jtm_message_log_pkg.Log_Msg
411 ( p_resource_id
412 , g_table_name
413 , 'Delete CSP_RS_CUST_RELATIONS acc record for user: ' || p_resource_id
414 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
415 END IF;
416 JTM_HOOK_UTIL_PKG.Delete_Acc
417 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name1
418 , P_ACC_TABLE_NAME => g_acc_table_name1
419 , P_PK1_NAME => g_pk1_name1
420 , P_PK1_NUM_VALUE => r_location_ids.RCR_ID
421 , P_RESOURCE_ID => p_resource_id
422 );
423
424 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
425 jtm_message_log_pkg.Log_Msg
426 ( p_resource_id
427 , g_table_name
428 , 'Delete HZ_CUST_ACCT_SITES_ALL acc record for user: ' || p_resource_id
429 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
430 END IF;
431 JTM_HOOK_UTIL_PKG.Delete_Acc
432 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name2
433 , P_ACC_TABLE_NAME => g_acc_table_name2
434 , P_PK1_NAME => g_pk1_name2
435 , P_PK1_NUM_VALUE => r_location_ids.CAS_ID
436 , P_RESOURCE_ID => p_resource_id
437 );
438
439 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
440 jtm_message_log_pkg.Log_Msg
441 ( p_resource_id
442 , g_table_name
443 , 'Delete HZ_CUST_SITE_USES_ALL acc record for user: ' || p_resource_id
444 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
445 END IF;
446 JTM_HOOK_UTIL_PKG.Delete_Acc
447 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name3
448 , P_ACC_TABLE_NAME => g_acc_table_name3
449 , P_PK1_NAME => g_pk1_name3
450 , P_PK1_NUM_VALUE => r_location_ids.CSU_ID
451 , P_RESOURCE_ID => p_resource_id
452 );
453
454 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
455 jtm_message_log_pkg.Log_Msg
456 ( p_resource_id
457 , g_table_name
458 , 'Delete PO_LOCATION_ASSOCIATIONS_ALL acc record for user: ' || p_resource_id
459 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
460 END IF;
461 JTM_HOOK_UTIL_PKG.Delete_Acc
465 , P_PK1_NUM_VALUE => p_location_id
462 ( P_PUBLICATION_ITEM_NAMES => g_publication_item_name4
463 , P_ACC_TABLE_NAME => g_acc_table_name4
464 , P_PK1_NAME => g_pk1_name4
466 , P_RESOURCE_ID => p_resource_id
467 );
468
469 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
470 jtm_message_log_pkg.Log_Msg
471 ( p_resource_id
472 , g_table_name
473 , 'Calling CSL_HZ_PARTY_SITES_ACC_PKG.Delete_Party_Site'
474 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
475 END IF;
476
477 CSL_HZ_PARTY_SITES_ACC_PKG.Delete_Party_Site( r_location_ids.HPS_ID, p_resource_id );
478 END IF;
479 CLOSE c_location_ids;
480
481 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
482 jtm_message_log_pkg.Log_Msg
483 ( p_location_id
484 , g_table_name
485 , 'Leaving Delete_ACC_Record'
486 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
487 END IF;
488 END Delete_ACC_Record;
489
490 /*** Called before location Insert ***/
491 PROCEDURE PRE_INSERT_SHIP_LOCATION
492 ( x_return_status OUT NOCOPY varchar2
493 )
494 IS
495 BEGIN
496 x_return_status := FND_API.G_RET_STS_SUCCESS;
497 END PRE_INSERT_SHIP_LOCATION;
498
499 /*** Called after location Insert ***/
500 PROCEDURE POST_INSERT_SHIP_LOCATION
501 ( x_return_status OUT NOCOPY varchar2
502 )
503 IS
504 l_location_id NUMBER;
505 l_enabled_flag VARCHAR2(30);
506 BEGIN
507 l_enabled_flag := JTM_PROFILE_UTL_PKG.GET_ENABLE_FLAG_AT_RESP( P_APP_SHORT_NAME => 'CSL');
508 IF l_enabled_flag <>'Y' THEN
509 x_return_status := FND_API.G_RET_STS_SUCCESS;
510 RETURN;
511 END IF;
512 /*** get location record details from public API ***/
513 l_location_id := csp_ship_to_address_pvt.g_inv_loc_id;
514
515 /*** get debug level ***/
516 g_debug_level := JTM_HOOK_UTIL_PKG.Get_Debug_Level;
517 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
518 jtm_message_log_pkg.Log_Msg
519 ( l_location_id
520 , g_table_name
521 , 'Entering POST_INSERT hook'
522 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
523 END IF;
524
525 /*** Insert record if applicable ***/
526 IF Replicate_Record(l_location_id) THEN
527 Insert_ACC_Record(l_location_id);
528 END IF;
529
530 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
531 jtm_message_log_pkg.Log_Msg
532 ( l_location_id
533 , g_table_name
534 , 'Leaving POST_INSERT hook'
535 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
536 END IF;
537
538 x_return_status := FND_API.G_RET_STS_SUCCESS;
539 RETURN;
540
541 EXCEPTION WHEN OTHERS THEN
542 /*** hook failed -> log error ***/
543 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
544 jtm_message_log_pkg.Log_Msg
545 ( l_location_id
546 , g_table_name
547 , 'Caught exception in POST_INSERT hook:' || fnd_global.local_chr(10) || sqlerrm
548 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
549 END IF;
550 fnd_msg_pub.Add_Exc_Msg('CSL_CSP_LOCATIONS_ACC_PKG','POST_INSERT_SHIP_LOCATION',sqlerrm);
551 -- x_return_status := FND_API.G_RET_STS_ERROR;
552 x_return_status := FND_API.G_RET_STS_SUCCESS;
553 END POST_INSERT_SHIP_LOCATION;
554
555 /* Called before location Update */
556 PROCEDURE PRE_UPDATE_SHIP_LOCATION
557 ( x_return_status OUT NOCOPY varchar2
558 )
559 IS
560 BEGIN
561 x_return_status := FND_API.G_RET_STS_SUCCESS;
562
563 EXCEPTION WHEN OTHERS THEN
564 /*** hook failed -> log error ***/
565 fnd_msg_pub.Add_Exc_Msg('CSL_CSP_LOCATIONS_ACC_PKG','PRE_UPDATE_SHIP_LOCATION',sqlerrm);
566 -- x_return_status := FND_API.G_RET_STS_ERROR;
567 x_return_status := FND_API.G_RET_STS_SUCCESS;
568 END PRE_UPDATE_SHIP_LOCATION;
569
570 /* Called after assignment Update */
571 PROCEDURE POST_UPDATE_SHIP_LOCATION
572 ( x_return_status OUT NOCOPY varchar2
573 )
574 IS
575 l_location_id NUMBER;
576 l_enabled_flag VARCHAR2(30);
577 BEGIN
578 l_enabled_flag := JTM_PROFILE_UTL_PKG.GET_ENABLE_FLAG_AT_RESP( P_APP_SHORT_NAME => 'CSL');
579 IF l_enabled_flag <>'Y' THEN
580 x_return_status := FND_API.G_RET_STS_SUCCESS;
581 RETURN;
582 END IF;
583 /*** get assignment record details from public API ***/
584 l_location_id := csp_ship_to_address_pvt.g_inv_loc_id;
585
586 /*** get debug level ***/
587 g_debug_level := JTM_HOOK_UTIL_PKG.Get_Debug_Level;
588
589 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
590 jtm_message_log_pkg.Log_Msg
591 ( l_location_id
592 , g_table_name
593 , 'Entering POST_UPDATE hook'
594 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
595 END IF;
596
597 IF Replicate_Record( l_location_id ) THEN
598 Update_ACC_Record(l_location_id);
599 END IF;
600
601 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
602 jtm_message_log_pkg.Log_Msg
603 ( l_location_id
604 , g_table_name
605 , 'Leaving POST_UPDATE hook'
606 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
607 END IF;
608
612 IF g_debug_level >= JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR THEN
609 x_return_status := FND_API.G_RET_STS_SUCCESS;
610 EXCEPTION WHEN OTHERS THEN
611 /*** hook failed -> log error ***/
613 jtm_message_log_pkg.Log_Msg
614 ( l_location_id
615 , g_table_name
616 , 'Caught exception in POST_UPDATE hook:' || fnd_global.local_chr(10) || sqlerrm
617 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_ERROR);
618 END IF;
619 fnd_msg_pub.Add_Exc_Msg('CSL_JTF_TASKS_ACC_PKG','POST_UPDATE_SHIP_LOCATION',sqlerrm);
620 -- x_return_status := FND_API.G_RET_STS_ERROR;
621 x_return_status := FND_API.G_RET_STS_SUCCESS;
622 END POST_UPDATE_SHIP_LOCATION;
623
624 /* Called before assignment Delete */
625 PROCEDURE PRE_DELETE_SHIP_LOCATION
626 ( x_return_status OUT NOCOPY varchar2
627 )
628 IS
629 BEGIN
630 x_return_status := FND_API.G_RET_STS_SUCCESS;
631 END PRE_DELETE_SHIP_LOCATION;
632
633 /* Called after assignment Delete */
634 PROCEDURE POST_DELETE_SHIP_LOCATION
635 ( x_return_status OUT NOCOPY varchar2
636 )
637 IS
638 BEGIN
639
640 x_return_status := FND_API.G_RET_STS_SUCCESS;
641
642 EXCEPTION WHEN OTHERS THEN
643 /*** hook failed -> log error ***/
644 fnd_msg_pub.Add_Exc_Msg('CSL_CSP_LOCATIONS_ACC_PKG','POST_DELETE_SHIP_LOCATION',sqlerrm);
645 -- x_return_status := FND_API.G_RET_STS_ERROR;
646 x_return_status := FND_API.G_RET_STS_SUCCESS;
647 END POST_DELETE_SHIP_LOCATION;
648
649 /* Remove all ACC resords of a mobile user */
650 PROCEDURE Delete_All_ACC_Records
651 ( p_resource_id in NUMBER
652 , x_return_status OUT NOCOPY varchar2
653 )
654 IS
655 CURSOR c_location( b_resource_id NUMBER ) IS
656 SELECT PLA.LOCATION_ID
657 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
658 , HZ_CUST_SITE_USES_ALL CSU
659 , HZ_CUST_ACCT_SITES_ALL CAS
660 , CSP_RS_CUST_RELATIONS RCR
661 , HZ_PARTY_SITES HPS
662 WHERE CSU.site_use_id = PLA.site_use_id
663 AND CSU.site_use_code = 'SHIP_TO'
664 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
665 AND CAS.cust_account_id = RCR.customer_id
666 AND CAS.party_site_id = HPS.party_site_id
667 AND RCR.RESOURCE_ID = b_resource_id;
668 BEGIN
669 /*** get debug level ***/
670 g_debug_level := JTM_HOOK_UTIL_PKG.Get_Debug_Level;
671 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
672 jtm_message_log_pkg.Log_Msg
673 ( p_resource_id
674 , g_table_name
675 , 'Entering Delete_All_ACC_Records procedure for user: ' || p_resource_id
676 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
677 END IF;
678
679 FOR r_location IN c_location( p_resource_id ) LOOP
680 Delete_ACC_Record(r_location.location_id, p_resource_id );
681 END LOOP;
682
683 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
684 jtm_message_log_pkg.Log_Msg
685 ( p_resource_id
686 , g_table_name
687 , 'Leaving Delete_All_ACC_Records procedure for user: ' || p_resource_id
688 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
689 END IF;
690
691 x_return_status := FND_API.G_RET_STS_SUCCESS;
692 EXCEPTION WHEN OTHERS THEN
693 /*** hook failed -> log error ***/
694 fnd_msg_pub.Add_Exc_Msg('CSL_CSP_LOCATIONS_ACC_PKG','Delete_All_ACC_Records',sqlerrm);
695 -- x_return_status := FND_API.G_RET_STS_ERROR;
696 x_return_status := FND_API.G_RET_STS_SUCCESS;
697 END Delete_All_ACC_Records;
698
699 /* Full synch for a mobile user */
700 PROCEDURE Insert_All_ACC_Records
701 ( p_resource_id in NUMBER
702 , x_return_status OUT NOCOPY varchar2
703 )
704 IS
705 CURSOR c_location( b_resource_id NUMBER ) IS
706 SELECT PLA.LOCATION_ID
707 FROM PO_LOCATION_ASSOCIATIONS_ALL PLA
708 , HZ_CUST_SITE_USES_ALL CSU
709 , HZ_CUST_ACCT_SITES_ALL CAS
710 , CSP_RS_CUST_RELATIONS RCR
711 , HZ_PARTY_SITES HPS
712 WHERE CSU.site_use_id = PLA.site_use_id
713 AND CSU.site_use_code = 'SHIP_TO'
714 AND CSU.cust_acct_site_id = CAS.cust_acct_site_id
715 AND CAS.cust_account_id = RCR.customer_id
716 AND CAS.party_site_id = HPS.party_site_id
717 AND RCR.RESOURCE_ID = b_resource_id;
718
719 BEGIN
720 /*** get debug level ***/
721 g_debug_level := JTM_HOOK_UTIL_PKG.Get_Debug_Level;
722 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
723 jtm_message_log_pkg.Log_Msg
724 ( p_resource_id
725 , g_table_name
726 , 'Entering Insert_All_ACC_Records procedure for user: ' || p_resource_id
727 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
728 END IF;
729
730 FOR r_location IN c_location( p_resource_id ) LOOP
731 IF Replicate_Record(r_location.location_id) THEN
732 Insert_ACC_Record(r_location.location_id);
733 END IF;
734 END LOOP;
735
736 IF g_debug_level = JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL THEN
737 jtm_message_log_pkg.Log_Msg
738 ( p_resource_id
739 , g_table_name
740 , 'Leaving Insert_All_ACC_Records procedure for user: ' || p_resource_id
741 , JTM_HOOK_UTIL_PKG.G_DEBUG_LEVEL_FULL);
742 END IF;
743
744 x_return_status := FND_API.G_RET_STS_SUCCESS;
745 EXCEPTION WHEN OTHERS THEN
746 /*** hook failed -> log error ***/
750 END Insert_All_ACC_Records;
747 fnd_msg_pub.Add_Exc_Msg('CSL_CSP_LOCATIONS_ACC_PKG','Insert_All_ACC_Records',sqlerrm);
748 -- x_return_status := FND_API.G_RET_STS_ERROR;
749 x_return_status := FND_API.G_RET_STS_SUCCESS;
751
752 END CSL_CSP_LOCATIONS_ACC_PKG;