[Home] [Help]
PACKAGE BODY: APPS.EDW_HR_SERVICE_M_C
Source
1 Package Body EDW_HR_SERVICE_M_C AS
2 /* $Header: hrieplwb.pkb 120.1 2005/06/07 05:54:10 anmajumd noship $ */
3 G_PUSH_DATE_RANGE1 Date:=Null;
4 G_PUSH_DATE_RANGE2 Date:=Null;
5 g_row_count Number:=0;
6 g_exception_msg varchar2(2000):=Null;
7
8
9 Procedure Push(Errbuf in out NOCOPY Varchar2,
10 Retcode in out NOCOPY Varchar2,
11 p_from_date IN VARCHAR2,
12 p_to_date IN VARCHAR2) IS
13 l_dimension_name Varchar2(30) :='EDW_HR_SERVICE_M' ;
14 l_temp_date Date:=Null;
15 l_rows_inserted Number:=0;
16 l_duration Number:=0;
17 l_exception_msg Varchar2(2000):=Null;
18
19 -- -------------------------------------------
20 -- Put any additional developer variables here
21 -- -------------------------------------------
22 Begin
23 Errbuf :=NULL;
24 Retcode:=0;
25 IF (Not EDW_COLLECTION_UTIL.setup(l_dimension_name)) THEN
26 errbuf := fnd_message.get;
27 Return;
28 END IF;
29
30 IF (p_from_date IS NULL) THEN
31 EDW_HR_SERVICE_M_C.g_push_date_range1 := EDW_COLLECTION_UTIL.G_local_last_push_start_date -
32 EDW_COLLECTION_UTIL.g_offset;
33 ELSE
34 EDW_HR_SERVICE_M_C.g_push_date_range1 := to_date(p_from_date, 'YYYY/MM/DD HH24:MI:SS');
35 END IF;
36
37 IF (p_to_date IS NULL) THEN
38 EDW_HR_SERVICE_M_C.g_push_date_range2 := EDW_COLLECTION_UTIL.G_local_curr_push_start_date;
39 ELSE
40 EDW_HR_SERVICE_M_C.g_push_date_range2 := to_date(p_to_date, 'YYYY/MM/DD HH24:MI:SS');
41 END IF;
42
43
44 edw_log.put_line( 'The collection range is from '||
45 to_char(EDW_HR_SERVICE_M_C.g_push_date_range1,'MM/DD/YYYY HH24:MI:SS')||' to '||
46 to_char(EDW_HR_SERVICE_M_C.g_push_date_range2,'MM/DD/YYYY HH24:MI:SS'));
47 edw_log.put_line(' ');
48
49 -- -----------------------------------------------------------------------------
50 -- Start of Collection , Developer Customizable Section
51 -- -----------------------------------------------------------------------------
52
53 edw_log.put_line(' ');
54 edw_log.put_line('Pushing data');
55
56 l_temp_date := sysdate;
57
58
59 Push_EDW_HR_SRVC_SRV_BAND_LSTG(EDW_HR_SERVICE_M_C.g_push_date_range1, EDW_HR_SERVICE_M_C.g_push_date_range2);
60
61
62 l_duration := sysdate - l_temp_date;
63
64 edw_log.put_line('Total rows inserted : '||g_row_count);
65 edw_log.put_line('Process Time: '||edw_log.duration(l_duration));
66 edw_log.put_line(' ');
67 -- ---------------------------------------------------------------------------
68 -- END OF Collection , Developer Customizable Section
69 -- ---------------------------------------------------------------------------
70 EDW_COLLECTION_UTIL.wrapup(TRUE, g_row_count, null, g_push_date_range1, g_push_date_range2 );
71 commit;
72
73 Exception When others then
74 Errbuf:=sqlerrm;
75 Retcode:=sqlcode;
76 l_exception_msg := Retcode || ':' || Errbuf;
77 EDW_HR_SERVICE_M_C.g_exception_msg := l_exception_msg;
78 rollback;
79 EDW_COLLECTION_UTIL.wrapup(FALSE, 0, EDW_HR_SERVICE_M_C.g_exception_msg, g_push_date_range1, g_push_date_range2);
80
81 commit;
82 End;
83
84
85 Procedure Push_EDW_HR_SRVC_SRV_BAND_LSTG(p_from_date IN date, p_to_date IN DATE) IS
86 l_date1 DATE;
87 l_date2 DATE;
88 l_rows_inserted NUMBER :=0;
89 BEGIN
90 edw_log.put_line('Starting Push_EDW_HR_SRVC_SRV_BAND_LSTG');
91 l_date1 := p_from_date;
92 l_date2 := p_to_date;
93 Insert Into
94 EDW_HR_SRVC_SRV_BAND_LSTG@EDW_APPS_TO_WH(
95 SERVICE_BAND_PK,
96 ALL_FK,
97 NAME,
98 SERVICE_BAND_DP,
99 SERVICE_LENGTH_MAX_YEAR,
100 SERVICE_LENGTH_MAX_MONTH,
101 SERVICE_LENGTH_MAX_WEEK,
102 SERVICE_LENGTH_MAX_DAY,
103 SERVICE_LENGTH_MIN_YEAR,
104 SERVICE_LENGTH_MIN_MONTH,
105 SERVICE_LENGTH_MIN_WEEK,
106 SERVICE_LENGTH_MIN_DAY,
107 LAST_UPDATE_DATE,
108 CREATION_DATE,
109 USER_ATTRIBUTE1,
110 USER_ATTRIBUTE2,
111 USER_ATTRIBUTE3,
112 USER_ATTRIBUTE4,
113 USER_ATTRIBUTE5,
114 INSTANCE,
115 OPERATION_CODE,
116 COLLECTION_STATUS)
117 select SERVICE_BAND_PK,
118 NVL(ALL_FK, 'NA_EDW'),
119 NAME,
120 SERVICE_BAND_DP,
121 SERVICE_LENGTH_MAX_YEAR,
122 SERVICE_LENGTH_MAX_MONTH,
123 SERVICE_LENGTH_MAX_WEEK,
124 SERVICE_LENGTH_MAX_DAY,
125 SERVICE_LENGTH_MIN_YEAR,
126 SERVICE_LENGTH_MIN_MONTH,
127 SERVICE_LENGTH_MIN_WEEK,
128 SERVICE_LENGTH_MIN_DAY,
129 LAST_UPDATE_DATE,
130 CREATION_DATE,
131 USER_ATTRIBUTE1,
132 USER_ATTRIBUTE2,
133 USER_ATTRIBUTE3,
134 USER_ATTRIBUTE4,
135 USER_ATTRIBUTE5,
136 INSTANCE,
137 NULL, -- OPERATION_CODE
138 'READY'
139 from EDW_HR_SRVC_SRV_BAND_LCV@APPS_TO_APPS
140 where last_update_date between l_date1 and l_date2;
141
142
143 l_rows_inserted := sql%rowcount;
144 EDW_HR_SERVICE_M_C.g_row_count := EDW_HR_SERVICE_M_C.g_row_count + l_rows_inserted ;
145 edw_log.put_line('Inserted '||to_char(nvl(sql%rowcount,0))||
146 ' rows into the EDW_HR_SRVC_SRV_BAND_LSTG staging table');
147 edw_log.put_line('Commiting records for EDW_HR_SRVC_SRV_BAND_LSTG');
148 commit;
149
150 edw_log.put_line('Completed Push_EDW_HR_SRVC_SRV_BAND_LSTG');
151 Exception When others then
152 raise;
153 commit;
154 END;
155 End EDW_HR_SERVICE_M_C;