DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_INVRCWSR_XMLP_PKG

Source


1 PACKAGE BODY INV_INVRCWSR_XMLP_PKG AS
2 /* $Header: INVRCWSRB.pls 120.1 2007/12/25 10:48:52 dwkrishn noship $ */
3   FUNCTION AFTERPFORM RETURN BOOLEAN IS
4   BEGIN
5     SELECT
6       ORGANIZATION_CODE,
7       ORGANIZATION_NAME
8     INTO P_ORG_CODE,P_ORG_NAME
9     FROM
10       ORG_ORGANIZATION_DEFINITIONS
11     WHERE ORGANIZATION_ID = P_ORG_ID;
12     RETURN (TRUE);
13   END AFTERPFORM;
14 
15   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
16   BEGIN
17     BEGIN
18       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
19       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
20     EXCEPTION
21       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
22         /*SRW.MESSAGE(1
23                    ,'Before Report: Init')*/NULL;
24     END;
25     DECLARE
26       L_REPORT_NAME VARCHAR2(240);
27     BEGIN
28       SELECT
29         CP.USER_CONCURRENT_PROGRAM_NAME,
30         TO_CHAR(CR.REQUEST_DATE
31                ,'DD-MON-YYYY HH24:MI'),
32         TO_CHAR(CR.ACTUAL_START_DATE
33                ,'DD-MON-YYYY HH24:MI'),
34         CR.PRINTER
35       INTO L_REPORT_NAME,P_REQUEST_DATE,P_ACTUAL_START_DATE,P_PRINTER
36       FROM
37         FND_CONCURRENT_PROGRAMS_VL CP,
38         FND_CONCURRENT_REQUESTS CR
39       WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
40         AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
41         AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
42 	l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
43       P_REPORT_NAME := L_REPORT_NAME;
44     EXCEPTION
45       WHEN NO_DATA_FOUND THEN
46         P_REPORT_NAME := 'PAR Replenishment Count Worksheet';
47         P_REQUEST_DATE := '***';
48         P_ACTUAL_START_DATE := '***';
49         P_PRINTER := '***';
50     END;
51     BEGIN
52       SELECT
53         APPLICATION_NAME
54       INTO P_APPLICATION_NAME
55       FROM
56         FND_CONCURRENT_REQUESTS FCR,
57         FND_APPLICATION_VL FAV
58       WHERE FCR.REQUEST_ID = P_CONC_REQUEST_ID
59         AND FAV.APPLICATION_ID = FCR.PROGRAM_APPLICATION_ID;
60     EXCEPTION
61       WHEN NO_DATA_FOUND THEN
62         P_APPLICATION_NAME := '***';
63     END;
64     BEGIN
65       SELECT
66         RESPONSIBILITY_NAME
67       INTO P_RESPONSIBILITY_NAME
68       FROM
69         FND_CONCURRENT_REQUESTS FCR,
70         FND_RESPONSIBILITY_VL FRV
71       WHERE FCR.REQUEST_ID = P_CONC_REQUEST_ID
72         AND FRV.RESPONSIBILITY_ID = FCR.RESPONSIBILITY_ID;
73     EXCEPTION
74       WHEN NO_DATA_FOUND THEN
75         P_RESPONSIBILITY_NAME := '***';
76     END;
77     BEGIN
78       NULL;
79     EXCEPTION
80       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
81         /*SRW.MESSAGE(1
82                    ,'Before Report: Item Flex')*/NULL;
83     END;
84     SELECT
85       CHART_OF_ACCOUNTS_ID
86     INTO P_EXPENSEACCOUNT_FLEXNUM
87     FROM
88       ORG_ORGANIZATION_DEFINITIONS
89     WHERE ORGANIZATION_ID = P_ORG_ID;
90     BEGIN
91       NULL;
92     EXCEPTION
93       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
94         /*SRW.MESSAGE(1
95                    ,'Before Report: Expense Account Flex')*/NULL;
96     END;
97     RETURN (TRUE);
98   END BEFOREREPORT;
99 
100   FUNCTION AFTERREPORT RETURN BOOLEAN IS
101   BEGIN
102     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
103     RETURN (TRUE);
104   END AFTERREPORT;
105 
106   FUNCTION CF_LOCATORFORMULA(LOCATOR_ID IN NUMBER
107                             ,ORGANIZATION_ID IN NUMBER) RETURN VARCHAR2 IS
108   BEGIN
109     RETURN (INV_PROJECT.GET_LOCSEGS(LOCATOR_ID
110                                   ,ORGANIZATION_ID));
111   END CF_LOCATORFORMULA;
112 
113   FUNCTION CF_PAR_LEVELFORMULA(LOCATOR_ID IN NUMBER
114                               ,ITEM_ID IN NUMBER) RETURN NUMBER IS
115     L_PAR_LEVEL NUMBER;
116   BEGIN
117     SELECT
118       MAXIMUM_QUANTITY
119     INTO L_PAR_LEVEL
120     FROM
121       MTL_SECONDARY_LOCATORS MSL
122     WHERE MSL.ORGANIZATION_ID = P_ORG_ID
123       AND MSL.SECONDARY_LOCATOR = LOCATOR_ID
124       AND MSL.INVENTORY_ITEM_ID = ITEM_ID;
125     P_ITEM_LOCATOR_FOUND := 1;
126     RETURN (L_PAR_LEVEL);
127   EXCEPTION
128     WHEN NO_DATA_FOUND THEN
129       P_ITEM_LOCATOR_FOUND := 2;
130       RETURN (NULL);
131   END CF_PAR_LEVELFORMULA;
132 
133   FUNCTION CF_ERRORFORMULA(ERROR_CODE IN NUMBER
134                           ,PROCESS_STATUS_CODE IN NUMBER
135                           ,PLANNING_LEVEL IN NUMBER
136                           ,QUANTITY_TRACKED IN NUMBER
137                           ,COUNT_TYPE_CODE IN NUMBER
138                           ,LOCATOR_ID IN NUMBER
139                           ,CF_PAR_LEVEL IN NUMBER) RETURN CHAR IS
140     L_MEANING VARCHAR2(80);
141     L_ERROR_NUMBER NUMBER := NULL;
142   BEGIN
143     IF ERROR_CODE IS NOT NULL THEN
144       L_ERROR_NUMBER := ERROR_CODE;
145     ELSIF PROCESS_STATUS_CODE in (1,2,4) THEN
146       IF PLANNING_LEVEL = 2 THEN
147         L_ERROR_NUMBER := 19;
148       ELSIF (QUANTITY_TRACKED = 1 AND COUNT_TYPE_CODE = 1) THEN
149         L_ERROR_NUMBER := 13;
150       ELSIF LOCATOR_ID IS NULL THEN
151         L_ERROR_NUMBER := 19;
152       ELSIF COUNT_TYPE_CODE = 3 THEN
153         L_ERROR_NUMBER := 12;
154       ELSIF P_ITEM_LOCATOR_FOUND = 2 THEN
155         L_ERROR_NUMBER := 18;
156       ELSIF (COUNT_TYPE_CODE in (1,4) AND CF_PAR_LEVEL IS NULL) THEN
157         L_ERROR_NUMBER := 23;
158       END IF;
159     END IF;
160     IF L_ERROR_NUMBER IS NOT NULL THEN
161       SELECT
162         MFG.MEANING
163       INTO L_MEANING
164       FROM
165         MFG_LOOKUPS MFG
166       WHERE MFG.LOOKUP_TYPE = 'MTL_REPLENISHMENT_ERROR'
167         AND MFG.LOOKUP_CODE = L_ERROR_NUMBER;
168     END IF;
169     RETURN (L_MEANING);
170   EXCEPTION
171     WHEN NO_DATA_FOUND THEN
172       RETURN ('***');
173   END CF_ERRORFORMULA;
174 
175   FUNCTION CF_PROCESS_STATUSFORMULA(PROCESS_STATUS_CODE IN NUMBER) RETURN CHAR IS
176   BEGIN
177     IF PROCESS_STATUS_CODE IS NULL OR PROCESS_STATUS_CODE not in (1,2,3,4,5) THEN
178       RETURN ('***');
179     ELSIF PROCESS_STATUS_CODE = 1 THEN
180       RETURN (P_STATUS_HOLD);
181     ELSIF PROCESS_STATUS_CODE = 2 THEN
182       RETURN (P_STATUS_PENDING);
183     ELSIF PROCESS_STATUS_CODE = 3 THEN
184       RETURN (P_STATUS_PROCESSING);
185     ELSIF PROCESS_STATUS_CODE = 4 THEN
186       RETURN (P_STATUS_ERROR);
187     ELSIF PROCESS_STATUS_CODE = 5 THEN
188       RETURN (P_STATUS_COMPLETED);
189     END IF;
190   END CF_PROCESS_STATUSFORMULA;
191 
192   FUNCTION CF_SOURCE_TYPEFORMULA(SOURCE_TYPE_CODE IN NUMBER) RETURN CHAR IS
193   BEGIN
194     IF SOURCE_TYPE_CODE IS NULL OR SOURCE_TYPE_CODE not in (1,2,3) THEN
195       RETURN ('');
196     ELSIF SOURCE_TYPE_CODE = 1 THEN
197       RETURN (P_SOURCE_TYPE_INV);
198     ELSIF SOURCE_TYPE_CODE = 2 THEN
199       RETURN (P_SOURCE_TYPE_SUPPLIER);
200     ELSIF SOURCE_TYPE_CODE = 3 THEN
201       RETURN (P_SOURCE_TYPE_SUB);
202     END IF;
203   END CF_SOURCE_TYPEFORMULA;
204 
205   FUNCTION CF_COUNT_TYPEFORMULA(COUNT_TYPE_CODE IN NUMBER) RETURN CHAR IS
206   BEGIN
207     IF COUNT_TYPE_CODE IS NULL OR COUNT_TYPE_CODE not in (1,2,4) THEN
208       RETURN ('***');
209     ELSIF COUNT_TYPE_CODE = 1 THEN
210       RETURN (P_COUNT_TYPE_ONHAND);
211     ELSIF COUNT_TYPE_CODE = 2 THEN
212       RETURN (P_COUNT_TYPE_ORDER);
213     ELSIF COUNT_TYPE_CODE = 4 THEN
214       RETURN (P_COUNT_TYPE_PAR);
215     END IF;
216   END CF_COUNT_TYPEFORMULA;
217 
218   FUNCTION CF_SOURCE_ORG_CODEFORMULA(SOURCE_ORG_ID IN NUMBER) RETURN CHAR IS
219     L_ORG_CODE VARCHAR2(3);
220   BEGIN
221     IF SOURCE_ORG_ID IS NULL THEN
222       RETURN ('');
223     ELSE
224       SELECT
225         ORGANIZATION_CODE
226       INTO L_ORG_CODE
227       FROM
228         ORG_ORGANIZATION_DEFINITIONS
229       WHERE ORGANIZATION_ID = SOURCE_ORG_ID;
230       RETURN (L_ORG_CODE);
231     END IF;
232   EXCEPTION
233     WHEN NO_DATA_FOUND THEN
234       RETURN ('***');
235   END CF_SOURCE_ORG_CODEFORMULA;
236 
237   FUNCTION IS_COUNT_PROCESSED(PROCESS_STATUS_CODE IN NUMBER) RETURN BOOLEAN IS
238   BEGIN
239     IF ((PROCESS_STATUS_CODE IS NOT NULL) AND (PROCESS_STATUS_CODE = 5)) THEN
240       RETURN (TRUE);
241     END IF;
242     RETURN (FALSE);
243   END IS_COUNT_PROCESSED;
244 
245   FUNCTION SETUP_ERROR(CF_ERROR IN VARCHAR2) RETURN BOOLEAN IS
246   BEGIN
247     IF CF_ERROR IS NOT NULL THEN
248       RETURN (TRUE);
249     END IF;
250     RETURN (FALSE);
251   END SETUP_ERROR;
252 
253 END INV_INVRCWSR_XMLP_PKG;
254