[Home] [Help]
PACKAGE BODY: APPS.JL_JLZZRCVI_XMLP_PKG
Source
1 PACKAGE BODY JL_JLZZRCVI_XMLP_PKG AS
2 /* $Header: JLZZRCVIB.pls 120.1 2007/12/25 16:55:08 dwkrishn noship $ */
3 FUNCTION REPORT_NAMEFORMULA(COMPANY_NAME IN VARCHAR2) RETURN VARCHAR2 IS
4 L_REPORT_NAME VARCHAR2(240);
5 BEGIN
6 RP_COMPANY_NAME := COMPANY_NAME;
7 SELECT
8 CP.USER_CONCURRENT_PROGRAM_NAME
9 INTO L_REPORT_NAME
10 FROM
11 FND_CONCURRENT_PROGRAMS_VL CP,
12 FND_CONCURRENT_REQUESTS CR
13 WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
14 AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
15 AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
16 L_REPORT_NAME := substr(L_REPORT_NAME,1,instr(L_REPORT_NAME,' (XML)'));
17 RP_REPORT_NAME := L_REPORT_NAME;
18 RETURN (L_REPORT_NAME);
19 RETURN NULL;
20 EXCEPTION
21 WHEN NO_DATA_FOUND THEN
22 RP_REPORT_NAME := NULL;
23 RETURN (NULL);
24 END REPORT_NAMEFORMULA;
25 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
26 BEGIN
27 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
28 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
29 /*SRW.MESSAGE(999
30 ,'Start of Copy and Void Program')*/NULL;
31 DECLARE
32 CURSOR C_MASTER_TRX(X_COUNTRY_CODE IN VARCHAR2) IS
33 SELECT
34 RP.CUSTOMER_TRX_ID,
35 RP.TRX_DATE,
36 RP.TERM_DUE_DATE,
37 RP.GD_GL_DATE,
38 RP.BATCH_SOURCE_ID,
39 RP.CUST_TRX_TYPE_ID,
40 RP.ACTIVITY_FLAG,
41 RP.POSTED_FLAG,
42 RP.CTT_CLASS,
43 RP.COMPLETE_FLAG,
44 RP.GLOBAL_ATTRIBUTE_CATEGORY,
45 RP.GLOBAL_ATTRIBUTE20,
46 RP.DOC_SEQUENCE_VALUE DOC_SEQ_NUM
47 FROM
48 RA_CUSTOMER_TRX_PARTIAL_V RP
49 WHERE RP.BATCH_SOURCE_ID = P_IN_BATCH_SOURCE_ID
50 AND RP.CUST_TRX_TYPE_ID = NVL(P_IN_CUST_TRX_TYPE_ID
51 ,RP.CUST_TRX_TYPE_ID)
52 AND ( ( P_IN_NUMBER_TYPE = 'DOC_NUM'
53 AND RP.DOC_SEQUENCE_VALUE between P_IN_NUMBER_LOW
54 AND P_IN_NUMBER_HIGH )
55 OR ( P_IN_NUMBER_TYPE = 'TRX_NUM'
56 AND RP.TRX_NUMBER between P_IN_NUMBER_LOW
57 AND P_IN_NUMBER_HIGH ) )
58 AND RP.GLOBAL_ATTRIBUTE_CATEGORY = DECODE(X_COUNTRY_CODE
59 ,'CL'
60 ,'JL.CL.ARXTWMAI.TGW_HEADER'
61 ,'AR'
62 ,'JL.AR.ARXTWMAI.TGW_HEADER'
63 ,'CO'
64 ,'JL.CO.ARXTWMAI.TGW_HEADER'
65 ,NULL)
66 UNION
67 SELECT
68 RP.CUSTOMER_TRX_ID,
69 RP.TRX_DATE,
70 RP.TERM_DUE_DATE,
71 RP.GD_GL_DATE,
72 RP.BATCH_SOURCE_ID,
73 RP.CUST_TRX_TYPE_ID,
74 RP.ACTIVITY_FLAG,
75 RP.POSTED_FLAG,
76 RP.CTT_CLASS,
77 RP.COMPLETE_FLAG,
78 RP.GLOBAL_ATTRIBUTE_CATEGORY,
79 RP.GLOBAL_ATTRIBUTE20,
80 RP.DOC_SEQUENCE_VALUE DOC_SEQ_NUM
81 FROM
82 RA_CUSTOMER_TRX_PARTIAL_V RP
83 WHERE RP.BATCH_SOURCE_ID = P_IN_BATCH_SOURCE_ID
84 AND RP.CUST_TRX_TYPE_ID = NVL(P_IN_CUST_TRX_TYPE_ID
85 ,RP.CUST_TRX_TYPE_ID)
86 AND ( ( P_IN_NUMBER_TYPE = 'DOC_NUM'
87 AND RP.DOC_SEQUENCE_VALUE between P_IN_NUMBER_LOW
88 AND P_IN_NUMBER_HIGH )
89 OR ( P_IN_NUMBER_TYPE = 'TRX_NUM'
90 AND RP.TRX_NUMBER between P_IN_NUMBER_LOW
91 AND P_IN_NUMBER_HIGH ) )
92 AND ( RP.GLOBAL_ATTRIBUTE_CATEGORY IS NULL
93 OR RP.GLOBAL_ATTRIBUTE_CATEGORY = DECODE(X_COUNTRY_CODE
94 ,'CL'
95 ,'JL.CL.ARXTWMAI.TGW_HEADER'
96 ,'AR'
97 ,'JL.AR.ARXTWMAI.TGW_HEADER'
98 ,'CO'
99 ,'JL.CO.ARXTWMAI.TGW_HEADER'
100 ,NULL) )
101 AND RP.GLOBAL_ATTRIBUTE20 IS NULL
102 ORDER BY
103 13;
104 SETUP_FAILURE EXCEPTION;
105 PREVIEW_REPORT EXCEPTION;
106 L_MAX_WAIT_TIME NUMBER := 0;
107 L_CUSTOMER_TRX_ID NUMBER;
108 L_TRX_NUMBER_OUT VARCHAR2(20);
109 L_TRX_DATE DATE;
110 L_TERM_DUE_DATE DATE;
111 L_GL_DATE DATE;
112 L_BATCH_SOURCE_ID NUMBER;
113 L_CUST_TRX_TYPE_ID NUMBER;
114 L_ACTIVITY_FLAG VARCHAR2(1);
115 L_POSTED_FLAG VARCHAR2(1);
116 L_CTT_CLASS VARCHAR2(20);
117 L_COMPLETE_FLAG VARCHAR2(1);
118 L_GDF_CATEGORY VARCHAR2(30);
119 L_GDF_ATTRIBUTE20 VARCHAR2(1);
120 L_DOC_SEQ_NUM NUMBER;
121 L_REQUEST_ID NUMBER;
122 L_LAST_UPDATED_BY NUMBER;
123 L_LAST_UPDATE_LOGIN NUMBER;
124 L_CONC_LOGIN_ID NUMBER;
125 L_LOGIN_ID NUMBER;
126 L_DYNAMIC_WHERE VARCHAR2(2000);
127 L_PHASE VARCHAR2(30);
128 L_STATUS VARCHAR2(30);
129 L_DEV_PHASE VARCHAR2(30);
130 L_DEV_STATUS VARCHAR2(30);
131 L_MESSAGE VARCHAR2(240);
132 L_LOC VARCHAR2(30) := 'Before Report Trigger';
133 L_ROW_NUM NUMBER;
134 L_VERSION NUMBER := 1.0;
135 L_RETURN_STATUS VARCHAR2(1);
136 L_MSG_COUNT NUMBER;
137 L_MSG_DATA VARCHAR2(1000);
138 L_ORG_ID NUMBER;
139 BEGIN
140 L_ORG_ID := MO_GLOBAL.GET_CURRENT_ORG_ID;
141 P_COUNTRY_CODE := JG_ZZ_SHARED_PKG.GET_COUNTRY(L_ORG_ID
142 ,NULL);
143 IF P_DEBUG_SWITCH = 'Y' THEN
144 /*SRW.MESSAGE('999'
145 ,'Country Code = ' || P_COUNTRY_CODE)*/NULL;
146 END IF;
147 IF (GET_HEADER_INFO <> TRUE) THEN
148 /*SRW.MESSAGE(999
149 ,'Failed to Get Header Information')*/NULL;
150 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
151 END IF;
152 /*SRW.MESSAGE(999
153 ,'Checking Setup...')*/NULL;
154 IF (CHECK_SETUP(P_IN_BATCH_SOURCE_ID
155 ,P_COUNTRY_CODE) <> TRUE) THEN
156 /*SRW.MESSAGE(999
157 ,'One or more setup failure is found')*/NULL;
158 FND_MESSAGE.SET_NAME('JL'
159 ,'JL_ZZ_AR_CVI_ERROR_HEADER');
160 CP_SETUP_ERROR_TITLE := FND_MESSAGE.GET;
161 RAISE SETUP_FAILURE;
162 END IF;
163 IF P_DEBUG_SWITCH = 'Y' THEN
164
165 NULL;
166 END IF;
167 /*SRW.MESSAGE(999
168 ,'Checking Setup Done')*/NULL;
169 IF NVL(P_IN_PREVIEW_REPORT
170 ,'Y') = 'Y' THEN
171 RAISE PREVIEW_REPORT;
172 END IF;
173 IF P_DEBUG_SWITCH = 'Y' THEN
174 /*SRW.MESSAGE(999
175 ,'Opening cursor c_master_trx...')*/NULL;
176 END IF;
177 OPEN C_MASTER_TRX(P_COUNTRY_CODE);
178 LOOP
179 FETCH C_MASTER_TRX
180 INTO L_CUSTOMER_TRX_ID,L_TRX_DATE,L_TERM_DUE_DATE,L_GL_DATE,L_BATCH_SOURCE_ID,L_CUST_TRX_TYPE_ID,L_ACTIVITY_FLAG,L_POSTED_FLAG,L_CTT_CLASS,L_COMPLETE_FLAG,L_GDF_CATEGORY,L_GDF_ATTRIBUTE20,L_DOC_SEQ_NUM;
181 EXIT WHEN C_MASTER_TRX%NOTFOUND;
182 IF P_DEBUG_SWITCH = 'Y' THEN
183 NULL;
184 END IF;
185 L_ROW_NUM := C_MASTER_TRX%ROWCOUNT;
186 IF P_DEBUG_SWITCH = 'Y' THEN
187 /*SRW.MESSAGE('999'
188 ,'l_row_num = ' || TO_CHAR(L_ROW_NUM))*/NULL;
189 END IF;
190 IF (CHECK_TRANSACTIONS(L_ACTIVITY_FLAG
191 ,L_POSTED_FLAG
192 ,L_CTT_CLASS
193 ,L_COMPLETE_FLAG
194 ,L_GDF_CATEGORY
195 ,L_GDF_ATTRIBUTE20
196 ,L_ROW_NUM) = TRUE) THEN
197 /*SRW.MESSAGE(999
198 ,'Incomplete Invoice')*/NULL;
199 AR_TRANSACTION_GRP.INCOMPLETE_TRANSACTION(P_API_VERSION => L_VERSION
200 ,P_COMMIT => 'T'
201 ,P_INIT_MSG_LIST => 'T'
202 ,P_VALIDATION_LEVEL => 100
203 ,P_CUSTOMER_TRX_ID => L_CUSTOMER_TRX_ID
204 ,X_RETURN_STATUS => L_RETURN_STATUS
205 ,X_MSG_COUNT => L_MSG_COUNT
206 ,X_MSG_DATA => L_MSG_DATA);
207 IF L_RETURN_STATUS = 'S' THEN
208 /*SRW.MESSAGE(999
209 ,'Checking Invoice Done')*/NULL;
210 L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('AR'
211 ,'ARXREC'
212 ,NULL
213 ,FND_DATE.DATE_TO_CANONICAL(SYSDATE)
214 ,FALSE
215 ,'Y'
216 ,CHR(0)
217 ,''
218 ,''
219 ,''
220 ,''
221 ,''
222 ,''
223 ,''
224 ,''
225 ,''
226 ,''
227 ,''
228 ,''
229 ,''
230 ,''
231 ,''
232 ,''
233 ,''
234 ,''
235 ,''
236 ,''
237 ,''
238 ,''
239 ,''
240 ,''
241 ,''
242 ,''
243 ,''
244 ,''
245 ,''
246 ,''
247 ,''
248 ,''
249 ,''
250 ,''
251 ,''
252 ,''
253 ,''
254 ,''
255 ,''
256 ,''
257 ,''
258 ,''
259 ,''
260 ,''
261 ,''
262 ,''
263 ,''
264 ,''
265 ,''
266 ,''
267 ,''
268 ,''
269 ,''
270 ,''
271 ,''
272 ,''
273 ,''
274 ,''
275 ,''
276 ,''
277 ,''
278 ,''
279 ,''
280 ,''
281 ,''
282 ,''
283 ,''
284 ,''
285 ,''
286 ,''
287 ,''
288 ,''
289 ,''
290 ,''
291 ,''
292 ,''
293 ,''
294 ,''
295 ,''
296 ,''
297 ,''
298 ,''
299 ,''
300 ,''
301 ,''
302 ,''
303 ,''
304 ,''
305 ,''
306 ,''
307 ,''
308 ,''
309 ,''
310 ,''
311 ,''
312 ,''
313 ,''
314 ,'');
315 IF L_REQUEST_ID = 0 THEN
316 /*SRW.MESSAGE(900
317 ,'Failed to get request_id for Recurring Invoice Program')*/NULL;
318 /*SRW.MESSAGE(900
319 ,FND_MESSAGE.GET)*/NULL;
320 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
321 END IF;
322 IF (INSERT_RECUR_INTERIM(L_REQUEST_ID
323 ,L_CUSTOMER_TRX_ID
324 ,L_TRX_DATE
325 ,L_TERM_DUE_DATE
326 ,L_GL_DATE
327 ,L_BATCH_SOURCE_ID
328 ,L_TRX_NUMBER_OUT) <> TRUE) THEN
329 /*SRW.MESSAGE('999'
330 ,'insert_recur_interim <- ' || L_LOC)*/NULL;
331 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
332 END IF;
333 COMMIT;
334 /*SRW.MESSAGE('999'
335 ,'Waiting for Recurring Invoice Program completion ...')*/NULL;
336 IF (FND_CONCURRENT.WAIT_FOR_REQUEST(L_REQUEST_ID
337 ,5
338 ,L_MAX_WAIT_TIME
339 ,L_PHASE
340 ,L_STATUS
341 ,L_DEV_PHASE
342 ,L_DEV_STATUS
343 ,L_MESSAGE) = TRUE) THEN
344 IF L_DEV_PHASE = 'COMPLETE' THEN
345 /*SRW.MESSAGE('999'
346 ,'Recurring Invoice Program completed')*/NULL;
347 IF L_DEV_STATUS = 'ERROR' THEN
348 /*SRW.MESSAGE('999'
349 ,'Copy failed')*/NULL;
350 IF (UPDATE_ORIGINAL_TRX(P_COUNTRY_CODE
351 ,L_CUSTOMER_TRX_ID
352 ,L_TRX_NUMBER_OUT
353 ,'E') <> TRUE) THEN
354 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
355 END IF;
356 ELSE
357 /*SRW.MESSAGE('999'
358 ,'Copy Succeeded')*/NULL;
359 IF (UPDATE_ORIGINAL_TRX(P_COUNTRY_CODE
360 ,L_CUSTOMER_TRX_ID
361 ,L_TRX_NUMBER_OUT
362 ,'P') <> TRUE) THEN
363 /*SRW.MESSAGE('999'
364 ,'update_original_trx <- ' || L_LOC)*/NULL;
365 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
366 END IF;
367 IF P_IN_CUST_TRX_TYPE_ID IS NOT NULL THEN
368 L_DYNAMIC_WHERE := L_DYNAMIC_WHERE || ' or rctpv.global_attribute19 = ' || TO_CHAR(L_CUST_TRX_TYPE_ID);
369 END IF;
370 END IF;
371 END IF;
372 END IF;
373 /*SRW.MESSAGE(999
374 ,'Completing Invoice')*/NULL;
375 AR_TRANSACTION_GRP.COMPLETE_TRANSACTION(P_API_VERSION => L_VERSION
376 ,P_COMMIT => 'T'
377 ,P_INIT_MSG_LIST => 'T'
378 ,P_VALIDATION_LEVEL => 100
379 ,P_CUSTOMER_TRX_ID => L_CUSTOMER_TRX_ID
380 ,X_RETURN_STATUS => L_RETURN_STATUS
381 ,X_MSG_COUNT => L_MSG_COUNT
382 ,X_MSG_DATA => L_MSG_DATA);
383 END IF;
384 ELSE
385 IF P_DEBUG_SWITCH = 'Y' THEN
386 NULL;
387 END IF;
388 IF NVL(L_GDF_ATTRIBUTE20
389 ,'E') in ('E','R') THEN
390 IF (UPDATE_ORIGINAL_TRX(P_COUNTRY_CODE
391 ,L_CUSTOMER_TRX_ID
392 ,L_TRX_NUMBER_OUT
393 ,'E') <> TRUE) THEN
394 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
395 END IF;
396 ELSIF L_GDF_ATTRIBUTE20 in ('I','P') THEN
397 NULL;
398 END IF;
399 END IF;
400 L_CUSTOMER_TRX_ID := '';
401 L_TRX_DATE := '';
402 L_TERM_DUE_DATE := '';
403 L_GL_DATE := '';
404 L_BATCH_SOURCE_ID := '';
405 L_TRX_NUMBER_OUT := '';
406 L_REQUEST_ID := '';
407 L_CUST_TRX_TYPE_ID := '';
408 END LOOP;
409 IF P_DEBUG_SWITCH = 'Y' THEN
410 /*SRW.MESSAGE(999
411 ,'Cursor c_master_trx closed')*/NULL;
412 END IF;
413 if L_DYNAMIC_WHERE is not null then
414 P_DYNAMIC_WHERE_TRX_TYPE := L_DYNAMIC_WHERE;
415 else
416 P_DYNAMIC_WHERE_TRX_TYPE :=' ';
417 end if;
418 EXCEPTION
419 WHEN SETUP_FAILURE THEN
420 NULL;
421 WHEN PREVIEW_REPORT THEN
422 NULL;
423 WHEN OTHERS THEN
424 IF (SQLCODE < 0) THEN
425 /*SRW.MESSAGE('999'
426 ,SQLERRM)*/NULL;
427 END IF;
428 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
429 END;
430 IF (CHECK_ORIG_INV_NOT_FOUND(P_IN_NUMBER_HIGH)) = TRUE THEN
431 /*SRW.MESSAGE('999'
432 ,'The highest document number is adjusted')*/NULL;
433 FND_MESSAGE.SET_NAME('JL'
434 ,'JL_ZZ_AR_CVI_DOC_NUM_HIGH');
435 FND_MESSAGE.SET_TOKEN('PARAM_DOC_NUM_HIGH'
436 ,P_IN_NUMBER_HIGH
437 ,FALSE);
438 FND_MESSAGE.SET_TOKEN('EXISTING_DOC_NUM_HIGH'
439 ,CP_ORIG_INV_NOT_FOUND_MESG
440 ,FALSE);
441 CP_ORIG_INV_NOT_FOUND_MESG := FND_MESSAGE.GET;
442 END IF;
443 RETURN (TRUE);
444 END BEFOREREPORT;
445 FUNCTION SUB_TITLEFORMULA RETURN VARCHAR2 IS
446 BEGIN
447 RP_SUB_TITLE := ' ';
448 RETURN (' ');
449 END SUB_TITLEFORMULA;
450 FUNCTION AFTERREPORT RETURN BOOLEAN IS
451 BEGIN
452 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
453 RETURN (TRUE);
454 END AFTERREPORT;
455 FUNCTION AFTERPFORM RETURN BOOLEAN IS
456 BEGIN
457 RETURN (TRUE);
458 END AFTERPFORM;
459 FUNCTION CHECK_AUTO_TRX_NUM(P_BATCH_SOURCE_ID IN NUMBER) RETURN BOOLEAN IS
460 L_DUMMY VARCHAR2(1);
461 L_LOC VARCHAR2(30) := 'CHECK_AUTO_TRX_NUM';
462 BEGIN
463 IF P_DEBUG_SWITCH = 'Y' THEN
464 /*SRW.MESSAGE('999'
465 ,'Batch Source Id = ' || TO_CHAR(P_BATCH_SOURCE_ID) || ' <- ' || L_LOC)*/NULL;
466 END IF;
467 SELECT
468 'Y'
469 INTO L_DUMMY
470 FROM
471 RA_BATCH_SOURCES
472 WHERE BATCH_SOURCE_ID = P_BATCH_SOURCE_ID
473 AND AUTO_TRX_NUMBERING_FLAG = 'Y';
474 RETURN (TRUE);
475 RETURN NULL;
476 EXCEPTION
477 WHEN NO_DATA_FOUND THEN
478 IF P_DEBUG_SWITCH = 'Y' THEN
479 /*SRW.MESSAGE('999'
480 ,'Automatic Trx Numbering is not enabled' || '<-' || L_LOC)*/NULL;
481 END IF;
482 CP_AUTO_TRX_NUM_FLAG := 'N';
483 FND_MESSAGE.SET_NAME('JL'
484 ,'JL_ZZ_AR_AUTO_TRX_NUM_DISABLED');
485 CP_AUTO_TRX_NUM_MESG := FND_MESSAGE.GET;
486 RETURN (FALSE);
487 WHEN OTHERS THEN
488 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
489 RETURN (FALSE);
490 END CHECK_AUTO_TRX_NUM;
491 FUNCTION CHECK_TRANSACTIONS(P_ACTIVITY_FLAG IN VARCHAR2
492 ,P_POSTED_FLAG IN VARCHAR2
493 ,P_CTT_CLASS IN VARCHAR2
494 ,P_COMPLETE_FLAG IN VARCHAR2
495 ,P_GDF_CATEGORY IN VARCHAR2
496 ,P_GDF_ATTRIBUTE20 IN VARCHAR2
497 ,P_ROW_NUM IN NUMBER) RETURN BOOLEAN IS
498 BEGIN
499 IF P_ACTIVITY_FLAG = 'Y' THEN
500 RETURN (FALSE);
501 ELSIF P_POSTED_FLAG = 'Y' THEN
502 RETURN (FALSE);
503 ELSIF P_CTT_CLASS <> 'INV' THEN
504 RETURN (FALSE);
505 ELSIF P_COMPLETE_FLAG = 'N' THEN
506 RETURN (FALSE);
507 ELSIF P_GDF_CATEGORY in ('JL.CL.ARXTWMAI.TGW_HEADER','JL.AR.ARXTWMAI.TGW_HEADER','JL.CO.ARXTWMAI.TGW_HEADER') THEN
508 IF P_GDF_ATTRIBUTE20 in ('P','I','W') THEN
509 IF P_GDF_ATTRIBUTE20 = 'W' THEN
510 /*SRW.SET_MAXROW('Q_MAIN'
511 ,P_ROW_NUM)*/NULL;
512 END IF;
513 RETURN (FALSE);
514 ELSIF P_GDF_ATTRIBUTE20 = 'E' THEN
515 RETURN (TRUE);
516 ELSIF P_GDF_ATTRIBUTE20 IS NULL THEN
517 RETURN (TRUE);
518 END IF;
519 ELSE
520 RETURN (TRUE);
521 END IF;
522 RETURN NULL;
523 EXCEPTION
524 WHEN OTHERS THEN
525 RETURN (FALSE);
526 END CHECK_TRANSACTIONS;
527 FUNCTION UPDATE_ORIGINAL_TRX(P_COUNTRY_CODE IN VARCHAR2
528 ,P_CUSTOMER_TRX_ID IN NUMBER
529 ,P_NEW_TRX_NUMBER IN VARCHAR2
530 ,P_COPY_TRX_STATUS IN VARCHAR2) RETURN BOOLEAN IS
531 CURSOR C_ORIG_TRX_FOR_UPDATE IS
532 SELECT
533 CT.CUSTOMER_TRX_ID,
534 CT.CUST_TRX_TYPE_ID
535 FROM
536 RA_CUSTOMER_TRX CT
537 WHERE CT.CUSTOMER_TRX_ID = P_CUSTOMER_TRX_ID;
538 CURSOR C_ORIG_TRX_GL_DIST_FOR_UPDATE IS
539 SELECT
540 CTGLD.CUSTOMER_TRX_ID
541 FROM
542 RA_CUST_TRX_LINE_GL_DIST CTGLD
543 WHERE CTGLD.CUSTOMER_TRX_ID = P_CUSTOMER_TRX_ID
544 FOR UPDATE OF GL_DATE NOWAIT;
545 INVALID_COUNTRY EXCEPTION;
546 L_VOID_TRX_TYPE_ID NUMBER;
547 L_CUSTOMER_TRX_ID NUMBER;
548 L_ORIG_CUST_TRX_TYPE_ID NUMBER;
549 L_GDF_CATEGORY VARCHAR2(30);
550 L_GL_DIST_CUST_TRX_ID NUMBER;
551 L_USER_ID NUMBER;
552 L_CONC_LOGIN_ID NUMBER;
553 L_LOGIN_ID NUMBER;
554 L_PROG_APPL_ID NUMBER;
555 L_CONC_PROG_ID NUMBER;
556 L_TRX_REC RA_CUSTOMER_TRX%ROWTYPE;
557 BEGIN
558 L_USER_ID := FND_PROFILE.VALUE('USER_ID');
559 L_CONC_LOGIN_ID := FND_PROFILE.VALUE('CONC_LOGIN_ID');
560 L_LOGIN_ID := FND_PROFILE.VALUE('LOGIN_ID');
561 L_PROG_APPL_ID := FND_PROFILE.VALUE('PROG_APPL_ID');
562 L_CONC_PROG_ID := FND_PROFILE.VALUE('CONC_PROGRAM_ID');
563 IF P_COUNTRY_CODE = 'CL' THEN
564 SELECT
565 CUST_TRX_TYPE_ID
566 INTO L_VOID_TRX_TYPE_ID
567 FROM
568 RA_CUST_TRX_TYPES
569 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.CL.RAXSUCTT.CUST_TRX_TYPES'
570 AND GLOBAL_ATTRIBUTE6 = 'Y';
571 L_GDF_CATEGORY := 'JL.CL.ARXTWMAI.TGW_HEADER';
572 ELSIF P_COUNTRY_CODE = 'AR' THEN
573 SELECT
574 CUST_TRX_TYPE_ID
575 INTO L_VOID_TRX_TYPE_ID
576 FROM
577 RA_CUST_TRX_TYPES
578 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.AR.RAXSUCTT.CUST_TRX_TYPES'
579 AND GLOBAL_ATTRIBUTE6 = 'Y';
580 L_GDF_CATEGORY := 'JL.AR.ARXTWMAI.TGW_HEADER';
581 ELSIF P_COUNTRY_CODE = 'CO' THEN
582 SELECT
583 CUST_TRX_TYPE_ID
584 INTO L_VOID_TRX_TYPE_ID
585 FROM
586 RA_CUST_TRX_TYPES
587 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.CO.RAXSUCTT.CUST_TRX_TYPES'
588 AND GLOBAL_ATTRIBUTE6 = 'Y';
589 L_GDF_CATEGORY := 'JL.CO.ARXTWMAI.TGW_HEADER';
590 ELSE
591 RAISE INVALID_COUNTRY;
592 END IF;
593 OPEN C_ORIG_TRX_FOR_UPDATE;
594 LOOP
595 FETCH C_ORIG_TRX_FOR_UPDATE
596 INTO L_CUSTOMER_TRX_ID,L_ORIG_CUST_TRX_TYPE_ID;
597 EXIT WHEN C_ORIG_TRX_FOR_UPDATE%NOTFOUND;
598 IF P_COPY_TRX_STATUS = 'P' THEN
599 ARP_CT_PKG.LOCK_FETCH_P(L_TRX_REC
603 L_TRX_REC.GLOBAL_ATTRIBUTE_CATEGORY := L_GDF_CATEGORY;
600 ,L_CUSTOMER_TRX_ID);
601 L_TRX_REC.CUST_TRX_TYPE_ID := L_VOID_TRX_TYPE_ID;
602 L_TRX_REC.COMMENTS := P_NEW_TRX_NUMBER || ':' || P_IN_VOID_REASON;
604 L_TRX_REC.GLOBAL_ATTRIBUTE20 := P_COPY_TRX_STATUS;
605 L_TRX_REC.GLOBAL_ATTRIBUTE19 := L_ORIG_CUST_TRX_TYPE_ID;
606 L_TRX_REC.RELATED_CUSTOMER_TRX_ID := '';
607 L_TRX_REC.LAST_UPDATED_BY := L_USER_ID;
608 L_TRX_REC.LAST_UPDATE_DATE := SYSDATE;
609 L_TRX_REC.LAST_UPDATE_LOGIN := NVL(L_CONC_LOGIN_ID
610 ,L_LOGIN_ID);
611 L_TRX_REC.PROGRAM_APPLICATION_ID := L_PROG_APPL_ID;
612 L_TRX_REC.PROGRAM_ID := L_CONC_PROG_ID;
613 L_TRX_REC.PROGRAM_UPDATE_DATE := SYSDATE;
614 ARP_CT_PKG.UPDATE_P(L_TRX_REC
615 ,L_CUSTOMER_TRX_ID);
616 /*SRW.MESSAGE('999'
617 ,'The original invoice is successfully voided')*/NULL;
618 IF P_DEBUG_SWITCH = 'Y' THEN
619 NULL;
620 END IF;
621 OPEN C_ORIG_TRX_GL_DIST_FOR_UPDATE;
622 LOOP
623 FETCH C_ORIG_TRX_GL_DIST_FOR_UPDATE
624 INTO L_GL_DIST_CUST_TRX_ID;
625 EXIT WHEN C_ORIG_TRX_GL_DIST_FOR_UPDATE%NOTFOUND;
626 UPDATE
627 RA_CUST_TRX_LINE_GL_DIST
628 SET
629 GL_DATE = NULL
630 WHERE CURRENT OF C_ORIG_TRX_GL_DIST_FOR_UPDATE;
631 IF P_DEBUG_SWITCH = 'Y' THEN
632 /*SRW.MESSAGE('999'
633 ,'Updated GL Distributions:' || ' l_gl_dist_cust_trx_id = ' || TO_CHAR(L_GL_DIST_CUST_TRX_ID))*/NULL;
634 END IF;
635 END LOOP;
636 CLOSE C_ORIG_TRX_GL_DIST_FOR_UPDATE;
637 /*SRW.MESSAGE('999'
638 ,'GL date is successfully set to NULL for all gl distributions of the original invoice ')*/NULL;
639 ELSE
640 ARP_CT_PKG.LOCK_FETCH_P(L_TRX_REC
641 ,L_CUSTOMER_TRX_ID);
642 L_TRX_REC.GLOBAL_ATTRIBUTE_CATEGORY := L_GDF_CATEGORY;
643 L_TRX_REC.GLOBAL_ATTRIBUTE20 := P_COPY_TRX_STATUS;
644 L_TRX_REC.LAST_UPDATED_BY := L_USER_ID;
645 L_TRX_REC.LAST_UPDATE_DATE := SYSDATE;
646 L_TRX_REC.LAST_UPDATE_LOGIN := NVL(L_CONC_LOGIN_ID
647 ,L_LOGIN_ID);
648 L_TRX_REC.PROGRAM_APPLICATION_ID := L_PROG_APPL_ID;
649 L_TRX_REC.PROGRAM_ID := L_CONC_PROG_ID;
650 L_TRX_REC.PROGRAM_UPDATE_DATE := SYSDATE;
651 ARP_CT_PKG.UPDATE_P(L_TRX_REC
652 ,L_CUSTOMER_TRX_ID);
653 /*SRW.MESSAGE('999'
654 ,'The original invoice is updated with copy status')*/NULL;
655 END IF;
656 END LOOP;
657 CLOSE C_ORIG_TRX_FOR_UPDATE;
658 RETURN (TRUE);
659 EXCEPTION
660 WHEN INVALID_COUNTRY THEN
661 /*SRW.MESSAGE(999
662 ,'Invalid Country Code: update_original_trx <- beforerep')*/NULL;
663 RETURN (FALSE);
664 WHEN OTHERS THEN
665 IF (SQLCODE = -54) THEN
666 /*SRW.MESSAGE('999'
667 ,'Transaction with CUSTOMER_TRX_ID: ' || TO_CHAR(P_CUSTOMER_TRX_ID) || ' is locked.')*/NULL;
668 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
669 END IF;
670 /*SRW.MESSAGE(999
671 ,'update_original_trx <- beforerep')*/NULL;
672 RETURN (FALSE);
673 END UPDATE_ORIGINAL_TRX;
674 FUNCTION CHECK_SETUP(P_BATCH_SOURCE_ID IN NUMBER
675 ,P_COUNTRY_CODE IN VARCHAR2) RETURN BOOLEAN IS
676 L_ERROR_CNT NUMBER := 0;
677 L_LOC VARCHAR2(30) := 'CHECK_SETUP';
678 BEGIN
679 IF P_DEBUG_SWITCH = 'Y' THEN
680 /*SRW.MESSAGE('999'
681 ,'Batch Source Id = ' || TO_CHAR(P_BATCH_SOURCE_ID) || ' <- ' || L_LOC)*/NULL;
682 END IF;
683 IF (CHECK_AUTO_TRX_NUM(P_BATCH_SOURCE_ID) <> TRUE) THEN
684 L_ERROR_CNT := L_ERROR_CNT + 1;
685 END IF;
686 IF P_DEBUG_SWITCH = 'Y' THEN
687 /*SRW.MESSAGE('999'
688 ,'Country Code = ' || P_COUNTRY_CODE || ' <- ' || L_LOC)*/NULL;
689 END IF;
690 IF (CHECK_VOID_TRX_TYPE(P_COUNTRY_CODE) <> TRUE) THEN
691 L_ERROR_CNT := L_ERROR_CNT + 1;
692 END IF;
693 CP_ERROR_COUNT := L_ERROR_CNT;
694 IF L_ERROR_CNT <> 0 THEN
695 RETURN (FALSE);
696 ELSE
697 RETURN (TRUE);
698 END IF;
699 RETURN NULL;
700 EXCEPTION
701 WHEN OTHERS THEN
702 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
703 RETURN (FALSE);
704 END CHECK_SETUP;
705 FUNCTION CHECK_VOID_TRX_TYPE(P_COUNTRY_CODE IN VARCHAR2) RETURN BOOLEAN IS
706 L_CUST_TRX_TYPE_ID NUMBER;
707 L_OPEN_AR VARCHAR2(1);
708 L_POST_TO_GL VARCHAR2(1);
709 L_LOC VARCHAR2(30) := 'CHECK_VOID_TRX_TYPE';
710 BEGIN
711 IF P_DEBUG_SWITCH = 'Y' THEN
712 /*SRW.MESSAGE('999'
713 ,'Country Code = ' || P_COUNTRY_CODE || ' <- ' || L_LOC)*/NULL;
714 END IF;
715 IF P_COUNTRY_CODE = 'CL' THEN
716 SELECT
717 CUST_TRX_TYPE_ID,
718 ACCOUNTING_AFFECT_FLAG,
719 POST_TO_GL
720 INTO L_CUST_TRX_TYPE_ID,L_OPEN_AR,L_POST_TO_GL
721 FROM
722 RA_CUST_TRX_TYPES
723 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.CL.RAXSUCTT.CUST_TRX_TYPES'
724 AND GLOBAL_ATTRIBUTE6 = 'Y';
725 ELSIF P_COUNTRY_CODE = 'AR' THEN
726 SELECT
727 CUST_TRX_TYPE_ID,
728 ACCOUNTING_AFFECT_FLAG,
729 POST_TO_GL
730 INTO L_CUST_TRX_TYPE_ID,L_OPEN_AR,L_POST_TO_GL
731 FROM
732 RA_CUST_TRX_TYPES
733 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.AR.RAXSUCTT.CUST_TRX_TYPES'
734 AND GLOBAL_ATTRIBUTE6 = 'Y';
735 ELSIF P_COUNTRY_CODE = 'CO' THEN
736 SELECT
737 CUST_TRX_TYPE_ID,
738 ACCOUNTING_AFFECT_FLAG,
739 POST_TO_GL
740 INTO L_CUST_TRX_TYPE_ID,L_OPEN_AR,L_POST_TO_GL
741 FROM
742 RA_CUST_TRX_TYPES
743 WHERE GLOBAL_ATTRIBUTE_CATEGORY = 'JL.CO.RAXSUCTT.CUST_TRX_TYPES'
744 AND GLOBAL_ATTRIBUTE6 = 'Y';
745 ELSE
746 /*SRW.MESSAGE('999'
747 ,P_COUNTRY_CODE)*/NULL;
748 /*SRW.MESSAGE('999'
749 ,'Country must be CL or AR or CO' || '<-' || L_LOC)*/NULL;
750 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
751 END IF;
752 IF L_OPEN_AR = 'N' AND L_POST_TO_GL = 'N' THEN
753 RETURN (TRUE);
754 ELSE
755 CP_VOID_TYPE_NO_NO_FLAG := 'N';
756 FND_MESSAGE.SET_NAME('JL'
757 ,'JL_ZZ_AR_VOID_TRX_TYPE_ARGL');
758 CP_VOID_TYPE_NO_NO_MESG := FND_MESSAGE.GET;
759 RETURN (FALSE);
760 END IF;
761 RETURN NULL;
762 EXCEPTION
763 WHEN NO_DATA_FOUND THEN
764 IF P_DEBUG_SWITCH = 'Y' THEN
765 /*SRW.MESSAGE('999'
766 ,'No Void Transaction Type found' || '<-' || L_LOC)*/NULL;
767 END IF;
768 CP_VOID_TYPE_EXIST_FLAG := 'N';
769 FND_MESSAGE.SET_NAME('JL'
770 ,'JL_ZZ_AR_NO_VOID_TRX_TYPE');
771 CP_VOID_TYPE_EXIST_MESG := FND_MESSAGE.GET;
772 RETURN (FALSE);
773 WHEN TOO_MANY_ROWS THEN
774 IF P_DEBUG_SWITCH = 'Y' THEN
775 /*SRW.MESSAGE('999'
776 ,'Void Transaction Type is not unique' || '<-' || L_LOC)*/NULL;
777 END IF;
778 CP_VOID_TYPE_UNIQ_FLAG := 'N';
779 FND_MESSAGE.SET_NAME('JL'
780 ,'JL_ZZ_AR_VOID_TRX_TYPE_DUP');
781 CP_VOID_TYPE_UNIQ_MESG := FND_MESSAGE.GET;
782 RETURN (FALSE);
783 WHEN OTHERS THEN
784 IF P_DEBUG_SWITCH = 'Y' THEN
785 /*SRW.MESSAGE('999'
786 ,'Fatal Error found' || ' <- ' || L_LOC)*/NULL;
787 END IF;
788 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
789 RETURN (FALSE);
790 END CHECK_VOID_TRX_TYPE;
791 FUNCTION INSERT_RECUR_INTERIM(P_REQUEST_ID IN NUMBER
792 ,P_CUSTOMER_TRX_ID IN NUMBER
793 ,P_TRX_DATE IN DATE
794 ,P_TERM_DUE_DATE IN DATE
795 ,P_GL_DATE IN DATE
796 ,P_BATCH_SOURCE_ID IN NUMBER
797 ,P_NEW_TRX_NUMBER OUT NOCOPY VARCHAR2) RETURN BOOLEAN IS
798 L_LOC VARCHAR2(30) := 'INSERT_RECUR_INTERIM';
799 BEGIN
800 JL_AR_RECUR_PKG.INSERT_INTERIM(P_CUSTOMER_TRX_ID
801 ,P_TRX_DATE
802 ,P_TERM_DUE_DATE
803 ,P_GL_DATE
804 ,NULL
805 ,P_REQUEST_ID
806 ,NULL
807 ,NULL
808 ,P_BATCH_SOURCE_ID
809 ,P_NEW_TRX_NUMBER);
810 RETURN (TRUE);
811 RETURN NULL;
812 EXCEPTION
813 WHEN OTHERS THEN
814 IF (SQLCODE < 0) THEN
815 /*SRW.MESSAGE('999'
816 ,SQLERRM || L_LOC)*/NULL;
817 END IF;
818 RETURN (FALSE);
819 END INSERT_RECUR_INTERIM;
820 FUNCTION CHECK_ORIG_INV_NOT_FOUND(P_NUMBER_HIGH IN VARCHAR2) RETURN BOOLEAN IS
821 L_MAX_DOC_SEQ_NUM NUMBER;
822 L_MAX_TRX_NUM VARCHAR2(20);
823 BEGIN
824 IF P_IN_NUMBER_TYPE = 'DOC_NUM' THEN
825 SELECT
826 MAX(DOC_SEQUENCE_VALUE)
827 INTO L_MAX_DOC_SEQ_NUM
828 FROM
829 RA_CUSTOMER_TRX_ALL
830 WHERE DOC_SEQUENCE_VALUE <= TO_NUMBER(P_NUMBER_HIGH);
831 IF L_MAX_DOC_SEQ_NUM < P_NUMBER_HIGH THEN
832 CP_ORIG_INV_NOT_FOUND_MESG := L_MAX_DOC_SEQ_NUM;
833 RETURN (TRUE);
834 ELSE
835 RETURN (FALSE);
836 END IF;
837 ELSIF P_IN_NUMBER_TYPE = 'TRX_NUM' THEN
838 SELECT
839 MAX(TRX_NUMBER)
840 INTO L_MAX_TRX_NUM
841 FROM
842 RA_CUSTOMER_TRX_ALL
843 WHERE TRX_NUMBER <= P_NUMBER_HIGH;
844 IF L_MAX_TRX_NUM < P_NUMBER_HIGH THEN
845 CP_ORIG_INV_NOT_FOUND_MESG := L_MAX_TRX_NUM;
846 RETURN (TRUE);
847 ELSE
848 RETURN (FALSE);
849 END IF;
850 ELSE
851 RETURN (FALSE);
852 END IF;
853 RETURN NULL;
854 END CHECK_ORIG_INV_NOT_FOUND;
855 FUNCTION GET_HEADER_INFO RETURN BOOLEAN IS
856 L_BATCH_SOURCE_NAME VARCHAR2(50);
857 L_NUMBER_TYPE VARCHAR2(80);
858 BEGIN
859 SELECT
860 NAME
861 INTO L_BATCH_SOURCE_NAME
862 FROM
863 RA_BATCH_SOURCES
864 WHERE BATCH_SOURCE_ID = P_IN_BATCH_SOURCE_ID;
865 RP_BATCH_SOURCE_NAME := L_BATCH_SOURCE_NAME;
866 SELECT
867 MEANING
868 INTO L_NUMBER_TYPE
869 FROM
870 FND_LOOKUPS
871 WHERE LOOKUP_TYPE = 'JLZZ_CVI_NUMBER_TYPE'
872 AND LOOKUP_CODE = P_IN_NUMBER_TYPE;
873 RP_NUMBER_TYPE := L_NUMBER_TYPE;
874 RETURN (TRUE);
875 RETURN NULL;
876 EXCEPTION
877 WHEN OTHERS THEN
878 RETURN (FALSE);
879 END GET_HEADER_INFO;
880 FUNCTION RP_COMPANY_NAME_P RETURN VARCHAR2 IS
881 BEGIN
882 RETURN RP_COMPANY_NAME;
883 END RP_COMPANY_NAME_P;
884 FUNCTION RP_REPORT_NAME_P RETURN VARCHAR2 IS
885 BEGIN
886 RETURN RP_REPORT_NAME;
887 END RP_REPORT_NAME_P;
888 FUNCTION RP_SUB_TITLE_P RETURN VARCHAR2 IS
889 BEGIN
890 RETURN RP_SUB_TITLE;
891 END RP_SUB_TITLE_P;
892 FUNCTION CP_AUTO_TRX_NUM_FLAG_P RETURN VARCHAR2 IS
893 BEGIN
894 RETURN CP_AUTO_TRX_NUM_FLAG;
895 END CP_AUTO_TRX_NUM_FLAG_P;
896 FUNCTION CP_DOC_SEQ_NUM_FLAG_P RETURN VARCHAR2 IS
897 BEGIN
898 RETURN CP_DOC_SEQ_NUM_FLAG;
899 END CP_DOC_SEQ_NUM_FLAG_P;
900 FUNCTION CP_VOID_TYPE_EXIST_FLAG_P RETURN VARCHAR2 IS
901 BEGIN
902 RETURN CP_VOID_TYPE_EXIST_FLAG;
903 END CP_VOID_TYPE_EXIST_FLAG_P;
904 FUNCTION CP_VOID_TYPE_UNIQ_FLAG_P RETURN VARCHAR2 IS
905 BEGIN
906 RETURN CP_VOID_TYPE_UNIQ_FLAG;
907 END CP_VOID_TYPE_UNIQ_FLAG_P;
908 FUNCTION CP_VOID_TYPE_NO_NO_FLAG_P RETURN VARCHAR2 IS
909 BEGIN
910 RETURN CP_VOID_TYPE_NO_NO_FLAG;
911 END CP_VOID_TYPE_NO_NO_FLAG_P;
912 FUNCTION CP_AUTO_TRX_NUM_MESG_P RETURN VARCHAR2 IS
913 BEGIN
914 RETURN CP_AUTO_TRX_NUM_MESG;
915 END CP_AUTO_TRX_NUM_MESG_P;
916 FUNCTION CP_DOC_SEQ_NUM_MESG_P RETURN VARCHAR2 IS
917 BEGIN
918 RETURN CP_DOC_SEQ_NUM_MESG;
919 END CP_DOC_SEQ_NUM_MESG_P;
920 FUNCTION CP_VOID_TYPE_EXIST_MESG_P RETURN VARCHAR2 IS
921 BEGIN
922 RETURN CP_VOID_TYPE_EXIST_MESG;
923 END CP_VOID_TYPE_EXIST_MESG_P;
924 FUNCTION CP_VOID_TYPE_UNIQ_MESG_P RETURN VARCHAR2 IS
925 BEGIN
926 RETURN CP_VOID_TYPE_UNIQ_MESG;
927 END CP_VOID_TYPE_UNIQ_MESG_P;
928 FUNCTION CP_VOID_TYPE_NO_NO_MESG_P RETURN VARCHAR2 IS
929 BEGIN
930 RETURN CP_VOID_TYPE_NO_NO_MESG;
931 END CP_VOID_TYPE_NO_NO_MESG_P;
932 FUNCTION CP_SETUP_ERROR_TITLE_P RETURN VARCHAR2 IS
933 BEGIN
934 RETURN CP_SETUP_ERROR_TITLE;
935 END CP_SETUP_ERROR_TITLE_P;
936 FUNCTION CP_ERROR_COUNT_P RETURN NUMBER IS
937 BEGIN
938 RETURN CP_ERROR_COUNT;
939 END CP_ERROR_COUNT_P;
940 FUNCTION CP_ORIG_INV_NOT_FOUND_MESG_P RETURN VARCHAR2 IS
941 BEGIN
942 RETURN CP_ORIG_INV_NOT_FOUND_MESG;
943 END CP_ORIG_INV_NOT_FOUND_MESG_P;
944 FUNCTION RP_BATCH_SOURCE_NAME_P RETURN VARCHAR2 IS
945 BEGIN
946 RETURN RP_BATCH_SOURCE_NAME;
947 END RP_BATCH_SOURCE_NAME_P;
948 FUNCTION RP_NUMBER_TYPE_P RETURN VARCHAR2 IS
949 BEGIN
950 RETURN RP_NUMBER_TYPE;
951 END RP_NUMBER_TYPE_P;
952 END JL_JLZZRCVI_XMLP_PKG;
953
954