DBA Data[Home] [Help]

PACKAGE BODY: APPS.AP_APXIIWKF_XMLP_PKG

Source


1 PACKAGE BODY AP_APXIIWKF_XMLP_PKG AS
2 /* $Header: APXIIWKFB.pls 120.0 2007/12/27 07:46:53 vjaganat noship $ */
3   FUNCTION GET_BASE_CURR_DATA RETURN BOOLEAN IS
4     BASE_CURR AP_SYSTEM_PARAMETERS.BASE_CURRENCY_CODE%TYPE;
5     PREC FND_CURRENCIES_VL.PRECISION%TYPE;
6     MIN_AU FND_CURRENCIES_VL.MINIMUM_ACCOUNTABLE_UNIT%TYPE;
7     DESCR FND_CURRENCIES_VL.DESCRIPTION%TYPE;
8   BEGIN
9     BASE_CURR := '';
10     PREC := 0;
11     MIN_AU := 0;
12     DESCR := '';
13     SELECT
14       P.BASE_CURRENCY_CODE,
15       C.PRECISION,
16       C.MINIMUM_ACCOUNTABLE_UNIT,
17       C.DESCRIPTION
18     INTO BASE_CURR,PREC,MIN_AU,DESCR
19     FROM
20       AP_SYSTEM_PARAMETERS P,
21       FND_CURRENCIES_VL C
22     WHERE P.BASE_CURRENCY_CODE = C.CURRENCY_CODE;
23     C_BASE_CURRENCY_CODE := BASE_CURR;
24     C_BASE_PRECISION := PREC;
25     C_BASE_MIN_ACCT_UNIT := MIN_AU;
26     C_BASE_DESCRIPTION := DESCR;
27     RETURN (TRUE);
28     RETURN NULL;
29   EXCEPTION
30     WHEN OTHERS THEN
31       RETURN (FALSE);
32   END GET_BASE_CURR_DATA;
33 
34   FUNCTION CUSTOM_INIT RETURN BOOLEAN IS
35   BEGIN
36     RETURN (TRUE);
37     RETURN NULL;
38   EXCEPTION
39     WHEN OTHERS THEN
40       IF (SQLCODE < 0) THEN
41         /*SRW.MESSAGE('999'
42                    ,SQLERRM)*/NULL;
43       END IF;
44       RETURN (FALSE);
45   END CUSTOM_INIT;
46 
47   FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
48   BEGIN
49     RETURN (TRUE);
50     RETURN NULL;
51   EXCEPTION
52     WHEN OTHERS THEN
53       RETURN (FALSE);
54   END GET_COVER_PAGE_VALUES;
55 
56   FUNCTION GET_NLS_STRINGS RETURN BOOLEAN IS
57     NLS_VOID AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
58     NLS_NA AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
59     NLS_ALL AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
60     NLS_YES FND_LOOKUPS.MEANING%TYPE;
61     NLS_NO FND_LOOKUPS.MEANING%TYPE;
62   BEGIN
63     SELECT
64       LY.MEANING,
65       LN.MEANING,
66       L1.DISPLAYED_FIELD,
67       L2.DISPLAYED_FIELD,
68       L3.DISPLAYED_FIELD
69     INTO NLS_YES,NLS_NO,NLS_ALL,NLS_VOID,NLS_NA
70     FROM
71       FND_LOOKUPS LY,
72       FND_LOOKUPS LN,
73       AP_LOOKUP_CODES L1,
74       AP_LOOKUP_CODES L2,
75       AP_LOOKUP_CODES L3
76     WHERE LY.LOOKUP_TYPE = 'YES_NO'
77       AND LY.LOOKUP_CODE = 'Y'
78       AND LN.LOOKUP_TYPE = 'YES_NO'
79       AND LN.LOOKUP_CODE = 'N'
80       AND L1.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
81       AND L1.LOOKUP_CODE = 'ALL'
82       AND L2.LOOKUP_TYPE = 'NLS TRANSLATION'
83       AND L2.LOOKUP_CODE = 'VOID'
84       AND L3.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
85       AND L3.LOOKUP_CODE = 'NA';
86     C_NLS_YES := NLS_YES;
87     C_NLS_NO := NLS_NO;
88     C_NLS_ALL := NLS_ALL;
89     C_NLS_VOID := NLS_VOID;
90     C_NLS_NA := NLS_NA;
91     FND_MESSAGE.SET_NAME('SQLAP'
92                         ,'AP_APPRVL_NO_DATA');
93     C_NLS_NO_DATA_EXISTS := FND_MESSAGE.GET;
94     FND_MESSAGE.SET_NAME('SQLAP'
95                         ,'AP_ALL_END_OF_REPORT');
96     C_NLS_END_OF_REPORT := FND_MESSAGE.GET;
97   --  C_NLS_NO_DATA_EXISTS := C_NLS_NO_DATA_EXISTS ;
98  --   C_NLS_END_OF_REPORT := C_NLS_END_OF_REPORT ;
99     RETURN (TRUE);
100     RETURN NULL;
101   EXCEPTION
102     WHEN OTHERS THEN
103       RETURN (FALSE);
104   END GET_NLS_STRINGS;
105 
106   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
107   BEGIN
108     DECLARE
109       INIT_FAILURE EXCEPTION;
110       CURRENT_CALLING_SEQUENCE VARCHAR2(2000);
111       DEBUG_INFO VARCHAR2(200);
112     BEGIN
113       CURRENT_CALLING_SEQUENCE := 'Before Report Trigger<-AP_APXIIWKF_XMLP_PKG';
114       C_REPORT_START_DATE := SYSDATE;
115       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
116       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
117       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
118         /*SRW.MESSAGE('1'
119                    ,'(Before Report) After SRWINIT')*/NULL;
120       END IF;
121       IF (GET_COMPANY_NAME <> TRUE) THEN
122         RAISE INIT_FAILURE;
123       END IF;
124       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
125         /*SRW.MESSAGE('2'
126                    ,'(Before Report) After Get_Company_Name')*/NULL;
127       END IF;
128       IF (GET_NLS_STRINGS <> TRUE) THEN
129         RAISE INIT_FAILURE;
130       END IF;
131       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
132         /*SRW.MESSAGE('3'
133                    ,'(Before Report) After Get_NLS_Strings')*/NULL;
134       END IF;
135       IF (GET_BASE_CURR_DATA <> TRUE) THEN
136         RAISE INIT_FAILURE;
137       END IF;
138       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
139         /*SRW.MESSAGE('4'
140                    ,'(Before Report) After Get_Base_Curr_Data')*/NULL;
141       END IF;
142       IF (OPEN_INTERFACE_WORKFLOW(P_SOURCE
143                              ,P_GROUP_ID
144                              ,CURRENT_CALLING_SEQUENCE) <> TRUE) THEN
145         RAISE INIT_FAILURE;
146       END IF;
147       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
148         /*SRW.MESSAGE('10'
149                    ,'(Before Report) After Open_Interface_Workflow')*/NULL;
150       END IF;
151       IF (P_DEBUG_SWITCH in ('y','Y')) THEN
152         /*SRW.BREAK*/NULL;
153       END IF;
154       RETURN (TRUE);
155     EXCEPTION
156       WHEN OTHERS THEN
157         IF (SQLCODE < 0) THEN
158           /*SRW.MESSAGE('999'
159                      ,SQLERRM)*/NULL;
160         END IF;
161         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
162     END;
163     RETURN (TRUE);
164   END BEFOREREPORT;
165 
166   FUNCTION AFTERREPORT RETURN BOOLEAN IS
167   BEGIN
168     BEGIN
169       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
170       IF (P_DEBUG_SWITCH = 'Y') THEN
171         /*SRW.MESSAGE('20'
172                    ,'After SRWEXIT')*/NULL;
173       END IF;
174     EXCEPTION
175       WHEN OTHERS THEN
176         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
177     END;
178     RETURN (TRUE);
179   END AFTERREPORT;
180 
181   FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
182     L_CHART_OF_ACCOUNTS_ID GL_SETS_OF_BOOKS.CHART_OF_ACCOUNTS_ID%TYPE;
183     L_NAME GL_SETS_OF_BOOKS.NAME%TYPE;
184     L_SOB_ID NUMBER;
185   BEGIN
186     IF P_SET_OF_BOOKS_ID IS NOT NULL THEN
187       L_SOB_ID := P_SET_OF_BOOKS_ID;
188       SELECT
189         NAME,
190         CHART_OF_ACCOUNTS_ID
191       INTO L_NAME,L_CHART_OF_ACCOUNTS_ID
192       FROM
193         GL_SETS_OF_BOOKS
194       WHERE SET_OF_BOOKS_ID = L_SOB_ID;
195       C_COMPANY_NAME_HEADER := L_NAME;
196       C_CHART_OF_ACCOUNTS_ID := L_CHART_OF_ACCOUNTS_ID;
197     END IF;
198     RETURN (TRUE);
199     RETURN NULL;
200   EXCEPTION
201     WHEN OTHERS THEN
202       RETURN (FALSE);
203   END GET_COMPANY_NAME;
204 
205   FUNCTION OPEN_INTERFACE_WORKFLOW(P_SOURCE IN VARCHAR2
206                                   ,P_GROUP_ID IN VARCHAR2
207                                   ,P_CALLING_SEQUENCE IN VARCHAR2) RETURN BOOLEAN IS
208     CURSOR WORKFLOW_INVOICES IS
209       SELECT
210         INVOICE_ID
211       FROM
212         AP_INVOICES_INTERFACE
213       WHERE SOURCE = P_SOURCE
214         AND ( ( P_GROUP_ID IS NULL )
215       OR ( GROUP_ID = P_GROUP_ID ) )
216         AND NVL(WORKFLOW_FLAG
217          ,'D') = 'Y';
218     L_INVOICE_ID NUMBER;
219     L_NUM_INVOICES NUMBER := 0;
220     CURRENT_CALLING_SEQUENCE VARCHAR2(2000);
221     DEBUG_INFO VARCHAR2(100);
222   BEGIN
223     CURRENT_CALLING_SEQUENCE := 'Import_Workflow<- ' || P_CALLING_SEQUENCE;
224     DEBUG_INFO := 'Open workflow_invoices cursor';
225     OPEN WORKFLOW_INVOICES;
226     LOOP
227       DEBUG_INFO := 'Fetch from workflow_invoices cursor';
228       FETCH WORKFLOW_INVOICES
229        INTO L_INVOICE_ID;
230       EXIT WHEN WORKFLOW_INVOICES%NOTFOUND;
231       DEBUG_INFO := 'Call workflow process for invoice_id ' || TO_CHAR(L_INVOICE_ID);
232       START_INVOICE_PROCESS(L_INVOICE_ID);
233     END LOOP;
234     DEBUG_INFO := 'Close workflow_invoices cursor';
235     CLOSE WORKFLOW_INVOICES;
236     RETURN (TRUE);
237     RETURN NULL;
238   EXCEPTION
239     WHEN OTHERS THEN
240       /*SRW.MESSAGE('999'
241                  ,DEBUG_INFO)*/NULL;
242       IF (SQLCODE < 0) THEN
243         /*SRW.MESSAGE('999'
244                    ,SQLERRM)*/NULL;
245       END IF;
246       CLOSE WORKFLOW_INVOICES;
247       RETURN (FALSE);
248   END OPEN_INTERFACE_WORKFLOW;
249 
250   FUNCTION C_NLS_YES_P RETURN VARCHAR2 IS
251   BEGIN
252     RETURN C_NLS_YES;
253   END C_NLS_YES_P;
254 
255   FUNCTION C_NLS_NO_P RETURN VARCHAR2 IS
256   BEGIN
257     RETURN C_NLS_NO;
258   END C_NLS_NO_P;
259 
260   FUNCTION C_NLS_ALL_P RETURN VARCHAR2 IS
261   BEGIN
262     RETURN C_NLS_ALL;
263   END C_NLS_ALL_P;
264 
265   FUNCTION C_NLS_NO_DATA_EXISTS_P RETURN VARCHAR2 IS
266   BEGIN
267     RETURN C_NLS_NO_DATA_EXISTS;
268   END C_NLS_NO_DATA_EXISTS_P;
269 
270   FUNCTION C_NLS_VOID_P RETURN VARCHAR2 IS
271   BEGIN
272     RETURN C_NLS_VOID;
273   END C_NLS_VOID_P;
274 
275   FUNCTION C_NLS_NA_P RETURN VARCHAR2 IS
276   BEGIN
277     RETURN C_NLS_NA;
278   END C_NLS_NA_P;
279 
280   FUNCTION C_NLS_END_OF_REPORT_P RETURN VARCHAR2 IS
281   BEGIN
282     RETURN C_NLS_END_OF_REPORT;
283   END C_NLS_END_OF_REPORT_P;
284 
285   FUNCTION C_REPORT_START_DATE_P RETURN DATE IS
286   BEGIN
287     RETURN C_REPORT_START_DATE;
288   END C_REPORT_START_DATE_P;
289 
290   FUNCTION C_COMPANY_NAME_HEADER_P RETURN VARCHAR2 IS
291   BEGIN
292     RETURN C_COMPANY_NAME_HEADER;
293   END C_COMPANY_NAME_HEADER_P;
294 
295   FUNCTION C_BASE_CURRENCY_CODE_P RETURN VARCHAR2 IS
296   BEGIN
297     RETURN C_BASE_CURRENCY_CODE;
298   END C_BASE_CURRENCY_CODE_P;
299 
300   FUNCTION C_BASE_PRECISION_P RETURN NUMBER IS
301   BEGIN
302     RETURN C_BASE_PRECISION;
303   END C_BASE_PRECISION_P;
304 
305   FUNCTION C_BASE_MIN_ACCT_UNIT_P RETURN NUMBER IS
306   BEGIN
307     RETURN C_BASE_MIN_ACCT_UNIT;
308   END C_BASE_MIN_ACCT_UNIT_P;
309 
310   FUNCTION C_BASE_DESCRIPTION_P RETURN VARCHAR2 IS
311   BEGIN
312     RETURN C_BASE_DESCRIPTION;
313   END C_BASE_DESCRIPTION_P;
314 
315   FUNCTION C_CHART_OF_ACCOUNTS_ID_P RETURN NUMBER IS
316   BEGIN
317     RETURN C_CHART_OF_ACCOUNTS_ID;
318   END C_CHART_OF_ACCOUNTS_ID_P;
319 
320   FUNCTION INVOICE_IMPORT_WORKFLOW_P RETURN VARCHAR2 IS
321   BEGIN
322     RETURN INVOICE_IMPORT_WORKFLOW;
323   END INVOICE_IMPORT_WORKFLOW_P;
324 
325   PROCEDURE CUSTOM_VALIDATE_INVOICE(P_ITEM_TYPE IN VARCHAR2
326                                    ,P_ITEM_KEY IN VARCHAR2
327                                    ,P_ACTID IN NUMBER
328                                    ,P_FUNMODE IN VARCHAR2
329                                    ,P_RESULT OUT NOCOPY VARCHAR2) IS
330   BEGIN
331  --   STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.CUSTOM_VALIDATE_INVOICE(:P_ITEM_TYPE, :P_ITEM_KEY, :P_ACTID, :P_FUNMODE, :P_RESULT); end;');
332  --   STPROC.BIND_I(P_ITEM_TYPE);
333  --   STPROC.BIND_I(P_ITEM_KEY);
334  --   STPROC.BIND_I(P_ACTID);
335  --   STPROC.BIND_I(P_FUNMODE);
336  --   STPROC.BIND_O(P_RESULT);
337  --   STPROC.EXECUTE;
338  --   STPROC.RETRIEVE(5
339   --                 ,P_RESULT);
340   NULL;
341   END CUSTOM_VALIDATE_INVOICE;
342 
343   PROCEDURE DO_CUSTOM_VALIDATION(P_INVOICE_ID IN NUMBER
344                                 ,P_RETURN_ERROR_MESSAGE OUT NOCOPY VARCHAR2) IS
345   BEGIN
346   --  STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.DO_CUSTOM_VALIDATION(:P_INVOICE_ID, :P_RETURN_ERROR_MESSAGE); end;');
347    -- STPROC.BIND_I(P_INVOICE_ID);
348    -- STPROC.BIND_O(P_RETURN_ERROR_MESSAGE);
349    -- STPROC.EXECUTE;
350     --STPROC.RETRIEVE(2
351       --             ,P_RETURN_ERROR_MESSAGE);
352       NULL;
353   END DO_CUSTOM_VALIDATION;
354 
355   PROCEDURE START_INVOICE_PROCESS(P_INVOICE_ID IN NUMBER) IS
356   BEGIN
357   --  STPROC.INIT('begin AP_INTERFACE_WORKFLOW_PKG.START_INVOICE_PROCESS(:P_INVOICE_ID); end;');
358   --  STPROC.BIND_I(P_INVOICE_ID);
359  --   STPROC.EXECUTE;
360  NULL;
361   END START_INVOICE_PROCESS;
362 
363 END AP_APXIIWKF_XMLP_PKG;
364