4 | Function |
1 PACKAGE BODY gmf_legal_entity_tz AS
2 /*$Header: GMFTZLEB.pls 120.6 2006/09/21 14:04:52 anthiyag noship $ */
3 /*===========================================================================+
5 | GET_TIMEZONE_CODE |
6 | |
7 | DESCRIPTION |
8 | The function accepts an operating unit id and finds |
9 | timezone code for the legal entity. |
10 | If legal entity timezone is not setup then NULL is |
11 | returned. |
12 | |
13 | SCOPE - PUBLIC |
14 | |
15 | |
16 | ARGUMENTS : IN : p_ou_id |
17 | OUT: |
18 | |
19 | RETURNS : VARCHAR2 |
20 | |
21 | NOTES |
22 | |
23 | MODIFICATION HISTORY |
24 | sschinch 13-oct-03 Created |
25 | |
26 +===========================================================================*/
27 FUNCTION get_timezone_code (p_ou_id IN NUMBER)
28 RETURN VARCHAR2
29 IS
30 BEGIN
31 IF p_ou_id IS NOT NULL THEN
32 RETURN (XLE_LE_TIMEZONE_GRP.Get_Le_Tz_Code_For_Ou(p_ou_id));
33 ELSE
34 RETURN (NULL);
35 END IF;
36 END get_timezone_code;
37
38 /*===========================================================================+
39 | Function |
43 | The function accepts an legal entity id and finds |
40 | GET_TZ_CODE |
41 | |
42 | DESCRIPTION |
44 | timezone code for the legal entity. |
45 | |
46 | SCOPE - PUBLIC |
47 | |
48 | |
49 | ARGUMENTS : IN : p_le_id |
50 | OUT: |
51 | |
52 | RETURNS : VARCHAR2 |
53 | |
54 | NOTES |
55 | |
56 | MODIFICATION HISTORY |
57 | niyadav 11-Aug-05 Created |
58 | |
59 +===========================================================================*/
60 FUNCTION get_tz_code(p_le_id IN NUMBER)
61 RETURN VARCHAR2
62 IS
63 CURSOR cur_get_inv_org_id
64 (
65 p_le_id in NUMBER
66 )
67 IS
68 SELECT organization_id
69 FROM org_organization_definitions
70 WHERE legal_entity = p_le_id
71 AND nvl(inventory_enabled_flag, 'N') = 'Y'
72 AND ROWNUM = 1;
73
74 l_organization_id mtl_parameters.organization_id%TYPE;
75 l_timezone_code VARCHAR2(50) := NULL;
76
77 BEGIN
78 IF p_le_id IS NOT NULL THEN
79 OPEN cur_get_inv_org_id (p_le_id) ;
80 FETCH cur_get_inv_org_id INTO l_organization_id;
81 CLOSE cur_get_inv_org_id ;
82 IF l_organization_id IS NOT NULL THEN
83 l_timezone_code := XLE_LE_TIMEZONE_GRP.Get_Le_Tz_Code_For_Inv_Org(p_inv_org_id => l_organization_id);
84 RETURN (l_timezone_code);
85 ELSE
86 RETURN (NULL);
87 END IF;
88 RETURN l_timezone_code;
89 ELSE
90 RETURN (NULL);
91 END IF;
92 END get_tz_code;
93
94 /*===========================================================================+
95 | Function |
96 | GET_TIMEZONE_CODE
97 | |
98 | DESCRIPTION |
99 | The function accepts a company code and finds |
100 | timezone code for the legal entity. |
101 | If legal entity timezone is not setup then NULL is |
102 | returned. |
103 | |
104 | SCOPE - PUBLIC |
105 | |
106 | |
107 | ARGUMENTS : IN : p_co_code |
108 | OUT: |
109 | |
110 | RETURNS : VARCHAR2 |
111 | |
112 | NOTES |
113 | |
114 | MODIFICATION HISTORY |
115 | sschinch 13-oct-03 Created |
116 | |
117 +===========================================================================*/
118 FUNCTION get_timezone_code (p_co_code IN VARCHAR2)
119 RETURN VARCHAR2
120 IS
121 CURSOR cur_get_ou (c_co_code VARCHAR2)
122 IS
123 SELECT org_id
124 FROM gl_plcy_mst
125 WHERE co_code = c_co_code;
126
127 l_ou_id NUMBER;
128 BEGIN
129 IF (p_co_code IS NOT NULL)
130 THEN
131 OPEN cur_get_ou (p_co_code);
132 FETCH cur_get_ou INTO l_ou_id;
133 CLOSE cur_get_ou;
134 RETURN (get_timezone_code (l_ou_id));
135 ELSE
136 RETURN (NULL);
137 END IF;
138 END get_timezone_code;
139
140 /*===========================================================================+
141 | Function |
142 | CONVERT_SRV_TO_LE |
143 | |
144 | DESCRIPTION |
145 | The function accepts a transaction datetime in the server |
146 | timezone and the company code, then converts the |
147 | datetime to the legal entity timezone, |
148 | If legal entity timezone is not setup then no conversion |
152 | |
149 | occurs. |
150 | |
151 | SCOPE - PUBLIC |
153 | |
154 | ARGUMENTS : IN : p_trxn_date |
155 | p_co_code |
156 | OUT : |
157 | |
158 | RETURNS : DATE |
159 | |
160 | NOTES |
161 | |
162 | MODIFICATION HISTORY |
163 | sschinch 13-oct-03 Created |
164 | |
165 +===========================================================================*/
166 FUNCTION convert_srv_to_le (pco_code IN VARCHAR2, pdate IN DATE)
167 RETURN DATE
168 IS
169 CURSOR cur_get_ou (c_co_code VARCHAR2)
170 IS
171 SELECT org_id
172 FROM gl_plcy_mst plc
173 WHERE plc.co_code = c_co_code;
174
175 l_ou_id NUMBER;
176 BEGIN
177 IF (pco_code IS NOT NULL)
178 THEN
179 OPEN cur_get_ou (pco_code);
180 FETCH cur_get_ou INTO l_ou_id;
181 CLOSE cur_get_ou;
182 RETURN (XLE_LE_TIMEZONE_GRP.Get_Le_Day_Time_For_OU(pdate, l_ou_id));
183 ELSE
184 RETURN (pdate);
185 END IF;
186 END convert_srv_to_le;
187
188 /*===========================================================================+
189 | Function |
190 | CONVERT_SRV_TO_LE |
191 | |
192 | DESCRIPTION |
193 | The function accepts a transaction datetime in the server |
194 | timezone and the legal entity id, then converts the |
195 | datetime to the legal entity timezone, |
196 | If legal entity timezone is not setup then no conversion |
197 | occurs. |
198 | |
199 | SCOPE - PUBLIC |
200 | |
201 | |
202 | ARGUMENTS : IN : p_trxn_date |
203 | ple_id |
204 | OUT : |
205 | |
206 | RETURNS : DATE |
207 | |
208 | NOTES |
209 | |
210 | MODIFICATION HISTORY |
211 | niyadav 07-Jul-05 Created |
212 | |
213 +===========================================================================*/
214 FUNCTION convert_srv_to_le (ple_id IN NUMBER, pdate IN DATE)
215 RETURN DATE
216 IS
217 BEGIN
218 RETURN (XLE_LE_TIMEZONE_GRP.Get_Le_Day_For_Server(pdate, ple_id));
219 END convert_srv_to_le;
220
221 /*===========================================================================+
222 | Function |
223 | CONVERT_LE_TO_SRV_TZ |
224 | |
225 | DESCRIPTION |
226 | The function accepts a co_code and a legal entity |
227 | datetime parameters and converts it to the server timezone. |
228 | If Legal entity timezone is not setup then no conversion |
229 | occurs. |
230 | |
231 | SCOPE - PUBLIC |
232 | |
233 | |
234 | ARGUMENTS : IN : p_le_date |
235 | : p_co_code |
236 | OUT: |
237 | |
238 | RETURNS : DATE |
239 | |
240 | NOTES |
241 | |
242 | MODIFICATION HISTORY |
243 | sschinch 13-oct-03 Created |
244 | |
245 +===========================================================================*/
246 FUNCTION convert_le_to_srv_tz (p_le_date IN DATE, p_co_code IN VARCHAR2)
247 RETURN DATE
248 IS
249 CURSOR cur_get_ou (c_co_code VARCHAR2)
250 IS
251 SELECT org_id
252 FROM gl_plcy_mst
253 WHERE co_code = c_co_code;
254
255 l_ou_id NUMBER;
256 BEGIN
257 IF (p_co_code IS NOT NULL) THEN
258 OPEN cur_get_ou (p_co_code);
259 FETCH cur_get_ou INTO l_ou_id;
260 CLOSE cur_get_ou;
261 RETURN (convert_le_to_srv_tz(p_le_date, l_ou_id));
262 ELSE
263 RETURN (p_le_date);
264 END IF;
265 END convert_le_to_srv_tz;
266
267 /*===========================================================================+
268 | Function |
269 | CONVERT_LE_TO_SRV_TZ |
270 | |
271 | DESCRIPTION |
272 | The function accepts a legal_entity id and a legal entity |
273 | datetime parameters and converts it to the server timezone. |
274 | If Legal entity timezone is not setup then no conversion |
275 | occurs. |
276 | |
277 | SCOPE - PUBLIC |
278 | |
279 | |
280 | ARGUMENTS : IN : p_le_date |
281 | : ple_id |
282 | OUT: |
283 | |
284 | RETURNS : DATE |
285 | |
286 | NOTES |
287 | |
288 | MODIFICATION HISTORY |
289 | niyadav 07-Jul-05 Created |
290 | |
291 +===========================================================================*/
292 FUNCTION convert_le_to_srv_tz (p_le_date IN DATE, ple_id IN NUMBER)
293 RETURN DATE
294 IS
295 BEGIN
296 RETURN (XLE_LE_TIMEZONE_GRP.Get_Server_Day_Time_For_Le(p_le_date, ple_id));
297 END convert_le_to_srv_tz;
298 END gmf_legal_entity_tz;
|
|
|