DBA Data[Home] [Help]

PACKAGE BODY: APPS.DDR_BASE_UTIL_PKG

Source


1 PACKAGE BODY ddr_base_util_pkg AS
2 /* $Header: ddrubasb.pls 120.1 2008/02/17 07:46:18 vbhave noship $ */
3 
4 FUNCTION RTL_INV_ITEM_DUPS_FNC RETURN VARCHAR2
5 AS
6 BEGIN
7 
8 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
9 
10 INSERT INTO DDR_E_RTL_INV_ITEM
11     (REC_ID, LOAD_ID, ERR_REASON,
12     GLBL_ITEM_ID, GLBL_ITEM_ID_TYP,RTL_BSNS_UNIT_CD,
13     RTL_SKU_ITEM_NBR,INV_LOC_CD,UOM, ON_HAND_QTY,RECVD_QTY,
14     IN_TRANSIT_QTY,BCK_ORDR_QTY,QLTY_HOLD_QTY,
15     ON_HAND_NET_COST_AMT, RECVD_NET_COST_AMT,
16     IN_TRANSIT_NET_COST_AMT, BCKORDR_NET_COST_AMT,
17     QLTY_HOLD_NET_COST_AMT, ON_HAND_RTL_AMT, RECVD_RTL_AMT,
18     IN_TRANSIT_RTL_AMT,BCKORDR_RTL_AMT,
19     QLTY_HOLD_RTL_AMT,SRC_SYS_IDNT, SRC_SYS_DT,
20     SRC_IDNT_FLAG, ACTION_FLAG, TRANS_DT
21      )
22     SELECT REC_ID, DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
23     GLBL_ITEM_ID,GLBL_ITEM_ID_TYP,  RTL_BSNS_UNIT_CD,
24     RTL_SKU_ITEM_NBR, INV_LOC_CD,UOM,
25     ON_HAND_QTY, RECVD_QTY,
26     IN_TRANSIT_QTY, BCK_ORDR_QTY,
27     QLTY_HOLD_QTY, ON_HAND_NET_COST_AMT,
28     RECVD_NET_COST_AMT, IN_TRANSIT_NET_COST_AMT,
29     BCKORDR_NET_COST_AMT, QLTY_HOLD_NET_COST_AMT,
30     ON_HAND_RTL_AMT, RECVD_RTL_AMT,
31     IN_TRANSIT_RTL_AMT, BCKORDR_RTL_AMT,
32     QLTY_HOLD_RTL_AMT, SRC_SYS_IDNT,
33     SRC_SYS_DT,'I','N',TRANS_DT
34       FROM DDR_I_RTL_INV_ITEM
35        WHERE
36            (RTL_BSNS_UNIT_CD,
37           TRANS_DT,
38           GLBL_ITEM_ID,
39           RTL_SKU_ITEM_NBR,
40           GLBL_ITEM_ID_TYP,
41           INV_LOC_CD)
42           IN (
43              SELECT
44             RTL_BSNS_UNIT_CD,
45           TRANS_DT,
46           GLBL_ITEM_ID,
47           RTL_SKU_ITEM_NBR,
48           GLBL_ITEM_ID_TYP,
49           INV_LOC_CD
50           FROM DDR_I_RTL_INV_ITEM
51           GROUP BY
52               RTL_BSNS_UNIT_CD,
53           TRANS_DT,
54           GLBL_ITEM_ID,
55           RTL_SKU_ITEM_NBR,
56           GLBL_ITEM_ID_TYP,
57           INV_LOC_CD
58              HAVING COUNT(*) > 1
59          );
60 COMMIT;
61 
62 
63 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
64 
65 
66 DELETE FROM DDR_I_RTL_INV_ITEM
67     WHERE
68       (RTL_BSNS_UNIT_CD,
69    TRANS_DT,
70    GLBL_ITEM_ID,
71    RTL_SKU_ITEM_NBR,
72    GLBL_ITEM_ID_TYP,
73    INV_LOC_CD)
74     IN (
75      SELECT
76        RTL_BSNS_UNIT_CD,
77     TRANS_DT,
78     GLBL_ITEM_ID,
79     RTL_SKU_ITEM_NBR,
80     GLBL_ITEM_ID_TYP,
81     INV_LOC_CD
82     FROM DDR_E_RTL_INV_ITEM
83     GROUP BY
84         RTL_BSNS_UNIT_CD,
85       TRANS_DT,
86       GLBL_ITEM_ID,
87       RTL_SKU_ITEM_NBR,
88       GLBL_ITEM_ID_TYP,
89       INV_LOC_CD
90          HAVING COUNT(*) > 1
91     );
92 COMMIT;
93 
94 RETURN('Y');
95 
96 END RTL_INV_ITEM_DUPS_FNC;
97 
98 FUNCTION PRMTN_PLN_DUPS_FNC RETURN VARCHAR2
99 AS
100 BEGIN
101 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
102 INSERT INTO DDR_E_PRMTN_PLN
103     (REC_ID, LOAD_ID, ERR_REASON,RTL_BSNS_UNIT_CD,
104      PRMTN_TYP,
105   PRMTN_FROM_DT,
106   PRMTN_TO_DT,
107   GLBL_ITEM_ID,
108   RTL_SKU_ITEM_NBR,
109   GLBL_ITEM_ID_TYP,
110   PRMTN_PRICE_AMT,
111   SRC_SYS_IDNT,
112   SRC_SYS_DT,
113   SRC_IDNT_FLAG,
114   ACTION_FLAG,
115   TRANS_DT
116      )
117     SELECT REC_ID, DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
118     RTL_BSNS_UNIT_CD,
119     PRMTN_TYP,
120     PRMTN_FROM_DT,
121     PRMTN_TO_DT,
122     GLBL_ITEM_ID,
123     RTL_SKU_ITEM_NBR,
124     GLBL_ITEM_ID_TYP,
125     PRMTN_PRICE_AMT,
126     SRC_SYS_IDNT,
127     SRC_SYS_DT,
128     'I','N',TRANS_DT
129       FROM DDR_I_PRMTN_PLN
130        WHERE
131            (GLBL_ITEM_ID,
132         RTL_BSNS_UNIT_CD,
133         PRMTN_TYP,
134         PRMTN_FROM_DT,
135         PRMTN_TO_DT,
136         RTL_SKU_ITEM_NBR,
137         GLBL_ITEM_ID_TYP,
138         TRANS_DT)
139           IN (
140              SELECT
141             GLBL_ITEM_ID,
142           RTL_BSNS_UNIT_CD,
143           PRMTN_TYP,
144           PRMTN_FROM_DT,
145           PRMTN_TO_DT,
146           RTL_SKU_ITEM_NBR,
147           GLBL_ITEM_ID_TYP,
148           TRANS_DT
149           FROM DDR_I_PRMTN_PLN
150           GROUP BY
151               GLBL_ITEM_ID,
152           RTL_BSNS_UNIT_CD,
153           PRMTN_TYP,
154           PRMTN_FROM_DT,
155           PRMTN_TO_DT,
156           RTL_SKU_ITEM_NBR,
157           GLBL_ITEM_ID_TYP,
158           TRANS_DT
159              HAVING COUNT(*) > 1
160          );
161 COMMIT;
162 
163 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
164 
165 
166 DELETE FROM DDR_I_PRMTN_PLN
167     WHERE
168       (GLBL_ITEM_ID,
169    RTL_BSNS_UNIT_CD,
170    PRMTN_TYP,
171    PRMTN_FROM_DT,
172    PRMTN_TO_DT,
173    RTL_SKU_ITEM_NBR,
174    GLBL_ITEM_ID_TYP,
175    TRANS_DT)
176     IN (
177      SELECT
178        GLBL_ITEM_ID,
179     RTL_BSNS_UNIT_CD,
180     PRMTN_TYP,
181     PRMTN_FROM_DT,
182     PRMTN_TO_DT,
183     RTL_SKU_ITEM_NBR,
184     GLBL_ITEM_ID_TYP,
185     TRANS_DT
186     FROM DDR_E_PRMTN_PLN
187     GROUP BY
188         GLBL_ITEM_ID,
189       RTL_BSNS_UNIT_CD,
190       PRMTN_TYP,
191       PRMTN_FROM_DT,
192       PRMTN_TO_DT,
193       RTL_SKU_ITEM_NBR,
194       GLBL_ITEM_ID_TYP,
195       TRANS_DT
196          HAVING COUNT(*) > 1
197     );
198 COMMIT;
199 
200 RETURN('Y');
201 
202 END PRMTN_PLN_DUPS_FNC;
203 
204 FUNCTION RTL_ORDR_ITEM_DUPS_FNC RETURN VARCHAR2
205 AS
206 BEGIN
207 
208 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
209 
210 
211 INSERT INTO DDR_E_RTL_ORDR_ITEM
212     (REC_ID, LOAD_ID, ERR_REASON,
213     RTL_BSNS_UNIT_CD,GLBL_ITEM_ID,
214     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP, UOM,
215     ORDR_QTY,ORDR_AMT,SRC_SYS_IDNT,
216     SRC_SYS_DT, TRANS_DT, SRC_IDNT_FLAG,
217     ACTION_FLAG
218      )
219     SELECT REC_ID, DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
220     RTL_BSNS_UNIT_CD,GLBL_ITEM_ID,
221        RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP, UOM,
222       ORDR_QTY,ORDR_AMT,SRC_SYS_IDNT,
223       SRC_SYS_DT, TRANS_DT,'I','N'
224       FROM DDR_I_RTL_ORDR_ITEM
225        WHERE
226            (RTL_BSNS_UNIT_CD,
227           GLBL_ITEM_ID,
228           RTL_SKU_ITEM_NBR,
229           GLBL_ITEM_ID_TYP,
230           TRANS_DT)
231           IN (
232              SELECT
233             RTL_BSNS_UNIT_CD,
234           GLBL_ITEM_ID,
235           RTL_SKU_ITEM_NBR,
236           GLBL_ITEM_ID_TYP,
237           TRANS_DT
238           FROM DDR_I_RTL_ORDR_ITEM
239           GROUP BY
240               RTL_BSNS_UNIT_CD,
241           GLBL_ITEM_ID,
242           RTL_SKU_ITEM_NBR,
243           GLBL_ITEM_ID_TYP,
244           TRANS_DT
245              HAVING COUNT(*) > 1
246          );
247 COMMIT;
248 
249 
250 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
251 
252 
253 DELETE FROM DDR_I_RTL_ORDR_ITEM
254     WHERE
255       (RTL_BSNS_UNIT_CD,
256    GLBL_ITEM_ID,
257    RTL_SKU_ITEM_NBR,
258    GLBL_ITEM_ID_TYP,
259    TRANS_DT)
260     IN (
261      SELECT
262        RTL_BSNS_UNIT_CD,
263     GLBL_ITEM_ID,
264     RTL_SKU_ITEM_NBR,
265     GLBL_ITEM_ID_TYP,
266     TRANS_DT
267     FROM DDR_E_RTL_ORDR_ITEM
268     GROUP BY
269         RTL_BSNS_UNIT_CD,
270       GLBL_ITEM_ID,
271       RTL_SKU_ITEM_NBR,
272       GLBL_ITEM_ID_TYP,
273       TRANS_DT
274          HAVING COUNT(*) > 1
275     );
276 COMMIT;
277 
278 RETURN('Y');
279 
280 END RTL_ORDR_ITEM_DUPS_FNC;
281 
282 FUNCTION RTL_SHIP_ITEM_DUPS_FNC RETURN VARCHAR2
283 AS
284 BEGIN
285 
286 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
287 
288 
289 INSERT INTO DDR_E_RTL_SHIP_ITEM
290     (REC_ID, LOAD_ID, ERR_REASON,
291     RTL_BSNS_UNIT_CD,GLBL_ITEM_ID,
292     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
293     UOM,SHIP_QTY, SHIP_AMT, SRC_SYS_IDNT,
294     SRC_SYS_DT, SRC_IDNT_FLAG, ACTION_FLAG, TRANS_DT
295      )
296     SELECT REC_ID, DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
297     RTL_BSNS_UNIT_CD,GLBL_ITEM_ID,
298        RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
299        UOM,SHIP_QTY, SHIP_AMT, SRC_SYS_IDNT,
300        SRC_SYS_DT,'I','N', TRANS_DT
301       FROM DDR_I_RTL_SHIP_ITEM
302        WHERE
303            (GLBL_ITEM_ID,
304           RTL_BSNS_UNIT_CD,
305           RTL_SKU_ITEM_NBR,
306           GLBL_ITEM_ID_TYP,
307           TRANS_DT)
308           IN (
309              SELECT
310             GLBL_ITEM_ID,
311           RTL_BSNS_UNIT_CD,
312           RTL_SKU_ITEM_NBR,
313           GLBL_ITEM_ID_TYP,
314           TRANS_DT
315           FROM DDR_I_RTL_SHIP_ITEM
316           GROUP BY
317               GLBL_ITEM_ID,
318           RTL_BSNS_UNIT_CD,
319           RTL_SKU_ITEM_NBR,
320           GLBL_ITEM_ID_TYP,
321           TRANS_DT
322              HAVING COUNT(*) > 1
323          );
324 COMMIT;
325 
326 
327 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
328 
329 
330 DELETE FROM DDR_I_RTL_SHIP_ITEM
331     WHERE
332       (GLBL_ITEM_ID,
333    RTL_BSNS_UNIT_CD,
334    RTL_SKU_ITEM_NBR,
335    GLBL_ITEM_ID_TYP,
336    TRANS_DT)
337     IN (
338      SELECT
339        GLBL_ITEM_ID,
340     RTL_BSNS_UNIT_CD,
341     RTL_SKU_ITEM_NBR,
342     GLBL_ITEM_ID_TYP,
343     TRANS_DT
344     FROM DDR_E_RTL_SHIP_ITEM
345     GROUP BY
346         GLBL_ITEM_ID,
347       RTL_BSNS_UNIT_CD,
348       RTL_SKU_ITEM_NBR,
349       GLBL_ITEM_ID_TYP,
350       TRANS_DT
351          HAVING COUNT(*) > 1
352     );
353 COMMIT;
354 
355 RETURN('Y');
356 
357 END RTL_SHIP_ITEM_DUPS_FNC;
358 
359 FUNCTION RTL_SL_RTN_DUPS_FNC RETURN VARCHAR2
360 AS
361 
362 v_FUNC_MSG VARCHAR2(1) := 'N';
363 
364 BEGIN
365 
366 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
367 
368 
369 INSERT INTO DDR_E_RTL_SL_RTN_ITEM
370     (REC_ID, LOAD_ID, ERR_REASON,
371      GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
372   GLBL_ITEM_ID_TYP, UOM, SLS_QTY,
373   SLS_AMT, SLS_COST_AMT,RTRN_QTY,
374   RTRN_AMT,RTRN_COST_AMT,SRC_SYS_IDNT,
375   SRC_SYS_DT, PERIOD_TYP_FLAG,
376   LOC_IDNT_CD, LOC_IDNT_FLAG,
377   ORG_LVL_CD,SRC_IDNT_FLAG, ACTION_FLAG,
378   TRANS_DT)
379      SELECT REC_ID, DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
380      GLBL_ITEM_ID,RTL_SKU_ITEM_NBR,
381      GLBL_ITEM_ID_TYP, UOM, SLS_QTY,
382      SLS_AMOUNT,SLS_COST_AMOUNT,
383      RTRN_QTY, RTRN_AMOUNT,
384      RTRN_COST_AMOUNT, SRC_SYS_IDNT,
385      SRC_SYS_DT, PERIOD_TYP_FLAG,
386      LOC_IDNT_CD, LOC_IDNT_FLAG,
387      ORG_LVL_CD,'I','N',TRANS_DT
388       FROM DDR_I_RTL_SL_RTN_ITEM
389        WHERE
390            (LOC_IDNT_CD, GLBL_ITEM_ID,
391           RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
392              TRANS_DT, PERIOD_TYP_FLAG,
393           LOC_IDNT_FLAG, ORG_LVL_CD)
394           IN (
395              SELECT
396           LOC_IDNT_CD, GLBL_ITEM_ID,
397           RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
398              TRANS_DT, PERIOD_TYP_FLAG,
399           LOC_IDNT_FLAG, ORG_LVL_CD
400           FROM DDR_I_RTL_SL_RTN_ITEM
401           GROUP BY
402              LOC_IDNT_CD, GLBL_ITEM_ID,
403            RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
404            TRANS_DT, PERIOD_TYP_FLAG,
405            LOC_IDNT_FLAG, ORG_LVL_CD
406              HAVING COUNT(*) > 1
407          );
408 COMMIT;
409 
410 
411 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
412 
413 
414 DELETE FROM DDR_I_RTL_SL_RTN_ITEM
415     WHERE
416        (LOC_IDNT_CD, GLBL_ITEM_ID,
417     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
418        TRANS_DT, PERIOD_TYP_FLAG,
419     LOC_IDNT_FLAG, ORG_LVL_CD)
420     IN (
421      SELECT
422        LOC_IDNT_CD, GLBL_ITEM_ID,
423     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
424        TRANS_DT, PERIOD_TYP_FLAG,
425     LOC_IDNT_FLAG, ORG_LVL_CD
426     FROM DDR_E_RTL_SL_RTN_ITEM
427     GROUP BY
428          LOC_IDNT_CD, GLBL_ITEM_ID,
429        RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
430          TRANS_DT, PERIOD_TYP_FLAG,
431        LOC_IDNT_FLAG, ORG_LVL_CD
432          HAVING COUNT(*) > 1
433     );
434 COMMIT;
435 
436 RETURN('Y');
437 
438 END RTL_SL_RTN_DUPS_FNC;
439 
440 FUNCTION SLS_FRCST_ITEM_DUPS_FNC RETURN VARCHAR2
441 AS
442 
443 BEGIN
444 
445 -- INSERT DUPLICATE RECORDS IN THE ERROR TABLE --
446 
447 
448 INSERT INTO DDR_E_SLS_FRCST_ITEM
449     (REC_ID, LOAD_ID, ERR_REASON,
450     FRCST_SLS_UOM, FRCST_NBR,
451     FRCST_TYP, GLBL_ITEM_ID,
452     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
453     FRCST_SLS_QTY, FRCST_SLS_AMT,
454     SRC_SYS_IDNT, SRC_SYS_DT,
455     PERIOD_TYP_FLAG, LOC_IDNT_CD,
456     LOC_IDNT_FLAG, ORG_LVL_CD,
457     SRC_IDNT_FLAG, ACTION_FLAG,
458     TRANS_DT
459      )
460     SELECT REC_ID,DDR_LOAD_SEQ.NEXTVAL,'Duplicate Record',
461     FRCST_SLS_UOM, FRCST_NBR,
462     FRCST_TYP, GLBL_ITEM_ID,
463     RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP,
464     FRCST_SLS_QTY, FRCST_SLS_AMT,
465     SRC_SYS_IDNT, SRC_SYS_DT,
466     PERIOD_TYP_FLAG, LOC_IDNT_CD,
467     LOC_IDNT_FLAG, ORG_LVL_CD,
468     'I','N', TRANS_DT
469       FROM DDR_I_SLS_FRCST_ITEM
470        WHERE
471            (TRANS_DT, FRCST_NBR,
472           FRCST_TYP, LOC_IDNT_CD,
473           GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
474           GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
475           LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT)
476           IN (
477              SELECT
478             TRANS_DT, FRCST_NBR,
479           FRCST_TYP, LOC_IDNT_CD,
480           GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
481           GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
482           LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT
483           FROM DDR_I_SLS_FRCST_ITEM
484           GROUP BY
485               TRANS_DT, FRCST_NBR,
486           FRCST_TYP, LOC_IDNT_CD,
487           GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
488           GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
489           LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT
490              HAVING COUNT(*) > 1
491          );
492 COMMIT;
493 
494 
498 DELETE FROM DDR_I_SLS_FRCST_ITEM
495 -- DELETE DUPLICATE RECORDS FROM INTERFACE TABLE --
496 
497 
499     WHERE
500       (TRANS_DT, FRCST_NBR,
501    FRCST_TYP, LOC_IDNT_CD,
502    GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
503    GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
504    LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT)
505     IN (
506      SELECT
507        TRANS_DT, FRCST_NBR, FRCST_TYP, LOC_IDNT_CD,
508     GLBL_ITEM_ID, RTL_SKU_ITEM_NBR,
509     GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
510     LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT
511     FROM DDR_E_SLS_FRCST_ITEM
512     GROUP BY
513         TRANS_DT, FRCST_NBR, FRCST_TYP,
514       LOC_IDNT_CD, GLBL_ITEM_ID,
515       RTL_SKU_ITEM_NBR, GLBL_ITEM_ID_TYP, PERIOD_TYP_FLAG,
516       LOC_IDNT_FLAG, ORG_LVL_CD, SRC_SYS_DT
517          HAVING COUNT(*) > 1
518     );
519 COMMIT;
520 
521 RETURN('Y');
522 
523 END SLS_FRCST_ITEM_DUPS_FNC;
524 
525 FUNCTION decide_dedup_chk RETURN VARCHAR2 IS
526 RT VARCHAR2(5);
527 BEGIN
528 select LKUP_NAME into RT  from DDR_R_LKUP_MST
529 where LKUP_TYP_CD='SYS_PARAM'
530 and LKUP_CD='PERFORM_DUP_CHECK';
531 
532 RETURN RT;
533 END decide_dedup_chk;
534 
535 FUNCTION decide_discover_mode RETURN VARCHAR2 IS
536 RT VARCHAR2(5);
537 BEGIN
538 select LKUP_NAME into RT  from DDR_R_LKUP_MST
539 where LKUP_TYP_CD='SYS_PARAM'
540 and LKUP_CD='DISCOVERY_MODE';
541 RETURN RT;
542 END decide_discover_mode;
543 
544 FUNCTION DECIDE_RUN_MAP_ERR(map_nm IN VARCHAR2, map_stg IN VARCHAR2) RETURN NUMBER IS
545 cnt_rows Number;
546 tab_name_ Varchar2(250);
547 BEGIN
548 cnt_rows := 0;
549 tab_name_ := 'select count(1) from '||map_nm || ', ' || map_stg || ' where '|| map_nm||'.load_id = '|| map_stg || '.load_id and rownum <2';
550 execute immediate tab_name_ into cnt_rows;
551 RETURN cnt_rows;
552 END DECIDE_RUN_MAP_ERR;
553 
554 FUNCTION decide_run_typ RETURN VARCHAR2 IS
555 RT VARCHAR2(5);
556 BEGIN
557 select LKUP_NAME into RT  from DDR_R_LKUP_MST
558 where LKUP_TYP_CD='SYS_PARAM'
559 and LKUP_CD='RUN_TYPE_FACT';
560 
561 RETURN RT;
562 END decide_run_typ;
563 
564 FUNCTION decide_SF_MAP RETURN VARCHAR2 IS
565 RT VARCHAR2(5);
566 BEGIN
567 select LKUP_NAME into RT  from DDR_R_LKUP_MST
568 where LKUP_TYP_CD='SYS_PARAM'
569 and LKUP_CD='STAGE_TO_TARGET_VALIDATION';
570 
571 RETURN RT;
572 END decide_SF_MAP;
573 
574 FUNCTION DECIDE_RUN_CNT_STG(map_nm IN VARCHAR2) RETURN NUMBER IS
575 cnt_rows Number;
576 tab_name_ Varchar2(250);
577 BEGIN
578 cnt_rows := 0;
579 tab_name_ := 'select count(1) from '||map_nm|| ' where rownum <2';
580 execute immediate tab_name_ into cnt_rows;
581 RETURN cnt_rows;
582 END DECIDE_RUN_CNT_STG;
583 
584 FUNCTION DECIDE_RUN_MAP(map_nm IN VARCHAR2) RETURN NUMBER IS
585 cnt_rows Number;
586 tab_name_ Varchar2(250);
587 BEGIN
588 cnt_rows := 0;
589 tab_name_ := 'select count(1) from '||map_nm|| ' where rownum <2';
590 execute immediate tab_name_ into cnt_rows;
591 RETURN cnt_rows;
592 END DECIDE_RUN_MAP;
593 
594 PROCEDURE trunc_tble_pub( p_tbl_name IN VARCHAR2)
595 as
596 Begin
597    EXECUTE IMMEDIATE 'TRUNCATE TABLE '|| 'DDR.' || p_tbl_name;
598 End trunc_tble_pub;
599 
600 END ddr_base_util_pkg;