[Home] [Help]
PACKAGE BODY: APPS.GMF_GMFLCHST_XMLP_PKG
Source
1 PACKAGE BODY GMF_GMFLCHST_XMLP_PKG AS
2 /* $Header: GMFLCHSTB.pls 120.0 2007/12/24 13:33:09 nchinnam noship $ */
3 FUNCTION AFTERPFORM RETURN BOOLEAN IS
4 CURSOR CUR_GET_CURRENCY IS
5 SELECT
6 BASE_CURRENCY_CODE
7 FROM
8 GMF_FISCAL_POLICIES
9 WHERE LEGAL_ENTITY_ID = P_LEGAL_ENTITY_ID;
10 L_CURRENCY VARCHAR2(15);
11 x boolean;
12 BEGIN
13 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
14 x:= BEFOREPFORM;
15 P_FRM_ORGN := GMF_UTILITIES_GRP.GET_ORGANIZATION_CODE(P_FROM_ORGANIZATION_ID);
16 P_TO_ORGN := GMF_UTILITIES_GRP.GET_ORGANIZATION_CODE(P_TO_ORGANIZATION_ID);
17 P_FRM_ITEM := GMF_UTILITIES_GRP.GET_ITEM_NUMBER(P_FROM_ITEM_ID
18 ,P_ORGANIZATION_CONTEXT);
19 P_TO_ITEM := GMF_UTILITIES_GRP.GET_ITEM_NUMBER(P_TO_ITEM_ID
20 ,P_ORGANIZATION_CONTEXT);
21 P_FROM_COST_CATEGORY := GMF_UTILITIES_GRP.GET_COST_CATEGORY(P_FROM_COST_CATEGORY_ID);
22 P_TO_COST_CATEGORY := GMF_UTILITIES_GRP.GET_COST_CATEGORY(P_TO_COST_CATEGORY_ID);
23 OPEN CUR_GET_CURRENCY;
24 FETCH CUR_GET_CURRENCY
25 INTO L_CURRENCY;
26 CLOSE CUR_GET_CURRENCY;
27 IF (L_CURRENCY = P_CURRENCY_CODE OR P_CURRENCY_CODE IS NULL) THEN
28 P_CURRENCY_CODE_1 := L_CURRENCY;
29 P_EXCHANGE_RATE_1 := 1;
30 ELSE
31 IF (P_EXCHANGE_RATE IS NULL) THEN
32 FND_MESSAGE.SET_NAME('GMF'
33 ,'GMF_SRS_EFC_NO_XCHG');
34 /*SRW.MESSAGE(100
35 ,FND_MESSAGE.GET)*/NULL;
36 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
37 END IF;
38 END IF;
39 IF (P_FRM_ITEM IS NOT NULL AND P_FRM_ITEM > P_TO_ITEM AND P_FRM_ITEM IS NOT NULL) THEN
40 FND_MESSAGE.SET_NAME('GMF'
41 ,'CM_BAD_TO_ITEM_NO');
42 /*SRW.MESSAGE(100
43 ,FND_MESSAGE.GET)*/NULL;
44 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
45 END IF;
46 IF (P_FRM_ORGN IS NOT NULL AND P_FRM_ORGN > P_TO_ORGN AND P_TO_ORGN IS NOT NULL) THEN
47 FND_MESSAGE.SET_NAME('GMF'
48 ,'CM_BAD_TO_ITEM_NO');
49 /*SRW.MESSAGE(100
50 ,FND_MESSAGE.GET)*/NULL;
51 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
52 END IF;
53 IF (P_FROM_COST_CATEGORY > P_TO_COST_CATEGORY AND P_FROM_COST_CATEGORY IS NOT NULL AND P_TO_COST_CATEGORY IS NOT NULL) THEN
54 FND_MESSAGE.SET_NAME('GMF'
55 ,'CM_BAD_TO_ITEMCOST_CLS');
56 /*SRW.MESSAGE(100
57 ,FND_MESSAGE.GET)*/NULL;
58 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
59 END IF;
60 IF (P_FROM_LOT > P_TO_LOT AND P_FROM_LOT IS NOT NULL AND P_TO_LOT IS NOT NULL) THEN
61 FND_MESSAGE.SET_NAME('GMF'
62 ,'GMF_LOT_RANGE_ERR');
63 /*SRW.MESSAGE(100
64 ,FND_MESSAGE.GET)*/NULL;
65 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
66 END IF;
67 IF (P_L_FRM_DATE > P_L_TO_DATE AND P_L_FRM_DATE IS NOT NULL AND P_L_TO_DATE IS NOT NULL) THEN
68 FND_MESSAGE.SET_NAME('GMF'
69 ,'GMF_DATE_RANGE_ERR');
70 /*SRW.MESSAGE(100
71 ,FND_MESSAGE.GET)*/NULL;
72 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
73 END IF;
74 RETURN (TRUE);
75 END AFTERPFORM;
76 FUNCTION BEFOREPFORM RETURN BOOLEAN IS
77 BEGIN
78 P_L_FRM_DATE := FND_DATE.CANONICAL_TO_DATE(P_FRM_DATE);
79 P_L_TO_DATE := FND_DATE.CANONICAL_TO_DATE(P_TO_DATE);
80 P_L_FRM_DATE_v := to_Char(P_L_FRM_DATE,'DD-MON-YY');
81 P_L_TO_DATE_v := to_char(P_L_TO_DATE,'DD-MON-YY');
82 RETURN (TRUE);
83 END BEFOREPFORM;
84 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
85 BEGIN
86 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
87 CP_FORMAT_MASK := FND_CURRENCY.GET_FORMAT_MASK(P_CURRENCY_CODE_1
88 ,25);
89 FND_MESSAGE.SET_NAME('GMF'
90 ,'GMF_ADJUSTMENT');
91 CP_COST_ADJUSTMENT_TEXT := FND_MESSAGE.GET;
92 FND_MESSAGE.SET_NAME('GMF'
93 ,'GMF_INV_ADJUSTMENT');
94 CP_INV_ADJUSTMENT_TEXT := FND_MESSAGE.GET;
95 FND_MESSAGE.SET_NAME('GMF'
96 ,'GMF_SALES_ORDER');
97 CP_SO_TEXT := FND_MESSAGE.GET;
98 FND_MESSAGE.SET_NAME('GMF'
99 ,'GMF_BILL_ONLY_SALES_ORDER');
100 CP_BILL_ONLY_SO_TEXT := FND_MESSAGE.GET;
101 FND_MESSAGE.SET_NAME('GMF'
102 ,'GMF_DROP_SHIP_SALES_ORDER');
103 CP_DROP_SHIP_SO_TEXT := FND_MESSAGE.GET;
104 FND_MESSAGE.SET_NAME('GMF'
105 ,'GMF_RECEIPT');
106 CP_RECEIPT_TEXT := FND_MESSAGE.GET;
107 FND_MESSAGE.SET_NAME('GMD'
108 ,'GMD_SAMPLE_PROD');
109 CP_PROD_TEXT := FND_MESSAGE.GET;
110 FND_MESSAGE.SET_NAME('GMD'
111 ,'GMF_TRANSFER');
112 CP_XFER_TEXT := FND_MESSAGE.GET;
113 RETURN (TRUE);
114 END BEFOREREPORT;
115 FUNCTION CF_SRC_TRANSFORMULA(DOC_ID IN NUMBER
116 ,LINE_ID IN NUMBER
117 ,DOC_TYPE IN VARCHAR2
118 ,ORGANIZATION_CODE IN VARCHAR2) RETURN CHAR IS
119 L_TEXT VARCHAR2(100) := NULL;
120 CURSOR CUR_GET_BTCH IS
121 SELECT
122 PLANT_CODE || ' ' || BATCH_NO
123 FROM
124 GME_BATCH_HEADER
125 WHERE BATCH_ID = DOC_ID;
126 CURSOR CUR_GET_RCV IS
127 SELECT
128 DISTINCT
129 MP.ORGANIZATION_CODE || ' ' || R.RECEIPT_NUM
130 FROM
131 RCV_SHIPMENT_HEADERS R,
132 MTL_MATERIAL_TRANSACTIONS P,
133 MTL_PARAMETERS MP
134 WHERE R.SHIPMENT_HEADER_ID = P.TRANSACTION_SOURCE_ID
135 AND R.ORGANIZATION_ID = P.ORGANIZATION_ID
136 AND P.TRANSACTION_SOURCE_ID = DOC_ID
137 AND P.TRX_SOURCE_LINE_ID = LINE_ID
138 AND MP.ORGANIZATION_ID = P.ORGANIZATION_ID;
139 CURSOR CUR_GET_INV IS
140 SELECT
141 DISTINCT
142 J.ORGN_CODE || ' ' || J.JOURNAL_NO
143 FROM
144 IC_JRNL_MST J,
145 IC_ADJS_JNL D
146 WHERE D.TRANS_TYPE = DOC_TYPE
147 AND D.DOC_ID = DOC_ID
148 AND J.JOURNAL_ID = D.JOURNAL_ID;
149 CURSOR CUR_GET_CYCL IS
150 SELECT
151 MP.ORGANIZATION_CODE || ' ' || MCC.COUNT_LIST_SEQUENCE
152 FROM
153 MTL_MATERIAL_TRANSACTIONS MTT,
154 MTL_PARAMETERS MP,
155 MTL_CYCLE_COUNT_ENTRIES MCC
156 WHERE MTT.CYCLE_COUNT_ID = DOC_ID
157 AND MP.ORGANIZATION_ID = MTT.ORGANIZATION_ID
158 AND MCC.CYCLE_COUNT_ENTRY_ID = MTT.CYCLE_COUNT_ID;
159 CURSOR CUR_GET_XFER IS
160 SELECT
161 MP.ORGANIZATION_CODE
162 FROM
163 MTL_MATERIAL_TRANSACTIONS MMT,
164 MTL_PARAMETERS MP
165 WHERE MMT.TRANSFER_TRANSACTION_ID = DOC_ID
166 AND MP.ORGANIZATION_ID = MMT.ORGANIZATION_ID;
167 CURSOR C_SO_DOC(P_DOC_ID IN NUMBER,P_LEGAL_ENTITY_ID IN NUMBER,P_LINE_ID IN NUMBER) IS
168 SELECT
169 DISTINCT
170 MP.ORGANIZATION_CODE || ' ' || D.NAME
171 FROM
172 WSH_NEW_DELIVERIES D,
173 MTL_MATERIAL_TRANSACTIONS T,
174 WSH_DELIVERY_DETAILS WD,
175 WSH_DELIVERY_ASSIGNMENTS WA,
176 MTL_PARAMETERS MP,
177 MTL_TXN_SOURCE_TYPES MTST,
178 ORG_ORGANIZATION_DEFINITIONS OOD
179 WHERE D.DELIVERY_ID = WA.DELIVERY_ID
180 AND WA.DELIVERY_DETAIL_ID = WD.DELIVERY_DETAIL_ID
181 AND OOD.LEGAL_ENTITY = P_LEGAL_ENTITY_ID
182 AND T.TRANSACTION_SOURCE_ID = P_DOC_ID
183 AND T.TRX_SOURCE_LINE_ID = P_LINE_ID
184 AND MTST.TRANSACTION_SOURCE_TYPE_NAME = 'Sales Order'
185 AND MTST.TRANSACTION_SOURCE_TYPE_ID = T.TRANSACTION_SOURCE_TYPE_ID
186 AND T.ORGANIZATION_ID = MP.ORGANIZATION_ID
187 AND OOD.ORGANIZATION_ID = T.ORGANIZATION_ID;
188 CURSOR C_BILL_ONLY_SO_DOC(P_DOC_ID IN NUMBER,P_LEGAL_ENTITY_ID IN VARCHAR2,P_LINE_ID IN NUMBER) IS
189 SELECT
190 DISTINCT
191 '(Bill-Only) ' || MP.ORGANIZATION_CODE || ' ' || OH.ORDER_NUMBER
192 FROM
193 MTL_PARAMETERS MP,
194 MTL_MATERIAL_TRANSACTIONS T,
195 OE_ORDER_HEADERS_ALL OH,
196 OE_ORDER_LINES_ALL OL,
197 MTL_TXN_SOURCE_TYPES MTST,
198 ORG_ORGANIZATION_DEFINITIONS OOD
199 WHERE OOD.LEGAL_ENTITY = P_LEGAL_ENTITY_ID
200 AND MTST.TRANSACTION_SOURCE_TYPE_NAME = 'Sales Order'
201 AND T.TRANSACTION_SOURCE_ID = P_DOC_ID
202 AND T.TRX_SOURCE_LINE_ID = P_LINE_ID
203 AND T.TRX_SOURCE_LINE_ID = OL.LINE_ID
204 AND OH.HEADER_ID = OL.HEADER_ID
205 AND OOD.ORGANIZATION_ID = T.ORGANIZATION_ID
206 AND MTST.TRANSACTION_SOURCE_TYPE_ID = T.TRANSACTION_SOURCE_TYPE_ID;
207 CURSOR C_DROP_SHIP_SO_DOC(P_DOC_ID IN NUMBER,P_LEGAL_ENTITY_ID IN VARCHAR2,P_LINE_ID IN NUMBER) IS
208 SELECT
209 DISTINCT
210 '(Drop-Ship) ' || OOD.ORGANIZATION_CODE || ' ' || OH.ORDER_NUMBER
211 FROM
212 MTL_MATERIAL_TRANSACTIONS T,
213 OE_ORDER_HEADERS_ALL OH,
214 OE_ORDER_LINES_ALL OL,
215 MTL_TXN_SOURCE_TYPES MTST,
216 ORG_ORGANIZATION_DEFINITIONS OOD
217 WHERE OOD.LEGAL_ENTITY = P_LEGAL_ENTITY_ID
218 AND MTST.TRANSACTION_SOURCE_TYPE_NAME = 'Sales Order'
219 AND T.TRANSACTION_SOURCE_ID = P_DOC_ID
220 AND T.TRX_SOURCE_LINE_ID = P_LINE_ID
221 AND T.TRX_SOURCE_LINE_ID = OL.LINE_ID
222 AND OH.HEADER_ID = OL.HEADER_ID
223 AND OOD.ORGANIZATION_ID = T.ORGANIZATION_ID
224 AND MTST.TRANSACTION_SOURCE_TYPE_ID = T.TRANSACTION_SOURCE_TYPE_ID
225 AND EXISTS (
226 SELECT
227 1
228 FROM
229 OE_DROP_SHIP_SOURCES S
230 WHERE OL.LINE_ID = S.LINE_ID
231 AND OL.HEADER_ID = S.HEADER_ID );
232 CURSOR CUR_GET_BOL_NO(P_LINE_ID IN NUMBER) IS
233 SELECT
234 DISTINCT
235 B.ORGN_CODE || ' ' || B.BOL_NO
236 FROM
237 OP_ORDR_DTL D,
238 OP_BILL_LAD B
239 WHERE D.LINE_ID = P_LINE_ID
240 AND D.BOL_ID = B.BOL_ID;
241 BEGIN
242 IF (DOC_TYPE = 'PROD') THEN
243 OPEN CUR_GET_BTCH;
244 FETCH CUR_GET_BTCH
245 INTO L_TEXT;
246 CLOSE CUR_GET_BTCH;
247 L_TEXT := CP_PROD_TEXT || ',' || L_TEXT;
248 ELSIF (DOC_TYPE = 'PORC') THEN
249 OPEN CUR_GET_RCV;
250 FETCH CUR_GET_RCV
251 INTO L_TEXT;
252 CLOSE CUR_GET_RCV;
253 L_TEXT := CP_RECEIPT_TEXT || ',' || L_TEXT;
254 ELSIF (DOC_TYPE in ('CREI','ADJI','TRNI','ADJR','CRER','TRNR')) THEN
255 OPEN CUR_GET_INV;
256 FETCH CUR_GET_INV
257 INTO L_TEXT;
258 CLOSE CUR_GET_INV;
259 L_TEXT := CP_INV_ADJUSTMENT_TEXT || ',' || L_TEXT;
260 ELSIF (DOC_TYPE in ('PIPC','PIPH','PICY')) THEN
261 OPEN CUR_GET_CYCL;
262 FETCH CUR_GET_CYCL
263 INTO L_TEXT;
264 CLOSE CUR_GET_CYCL;
265 L_TEXT := CP_INV_ADJUSTMENT_TEXT || ',' || L_TEXT;
266 ELSIF (DOC_TYPE in ('OPSO')) THEN
267 OPEN CUR_GET_BOL_NO(LINE_ID);
268 FETCH CUR_GET_BOL_NO
269 INTO L_TEXT;
270 CLOSE CUR_GET_BOL_NO;
271 L_TEXT := CP_SO_TEXT || ',' || L_TEXT;
272 ELSIF (DOC_TYPE = 'OMSO') THEN
273 OPEN C_SO_DOC(DOC_ID,P_LEGAL_ENTITY_ID,LINE_ID);
274 FETCH C_SO_DOC
275 INTO L_TEXT;
276 IF C_SO_DOC%NOTFOUND THEN
277 CLOSE C_SO_DOC;
278 OPEN C_BILL_ONLY_SO_DOC(DOC_ID,P_LEGAL_ENTITY_ID,LINE_ID);
279 FETCH C_BILL_ONLY_SO_DOC
280 INTO L_TEXT;
281 IF C_BILL_ONLY_SO_DOC%NOTFOUND THEN
282 CLOSE C_BILL_ONLY_SO_DOC;
283 OPEN C_DROP_SHIP_SO_DOC(DOC_ID,P_LEGAL_ENTITY_ID,LINE_ID);
284 FETCH C_DROP_SHIP_SO_DOC
285 INTO L_TEXT;
286 CLOSE C_DROP_SHIP_SO_DOC;
287 L_TEXT := CP_DROP_SHIP_SO_TEXT || ',' || L_TEXT;
288 ELSE
289 CLOSE C_BILL_ONLY_SO_DOC;
290 L_TEXT := CP_BILL_ONLY_SO_TEXT || ',' || L_TEXT;
291 END IF;
292 ELSE
293 CLOSE C_SO_DOC;
294 L_TEXT := CP_SO_TEXT || ',' || L_TEXT;
295 END IF;
296 ELSIF (DOC_TYPE = 'XFER') THEN
297 OPEN CUR_GET_XFER;
298 FETCH CUR_GET_XFER
299 INTO L_TEXT;
300 CLOSE CUR_GET_XFER;
301 L_TEXT := CP_XFER_TEXT || ',' || L_TEXT;
302 ELSIF (DOC_TYPE = 'LADJ') THEN
303 L_TEXT := CP_COST_ADJUSTMENT_TEXT || ',' || ORGANIZATION_CODE || ' ' || LINE_ID;
304 ELSE
305 L_TEXT := DOC_TYPE || ',' || ORGANIZATION_CODE;
306 END IF;
307 RETURN (L_TEXT);
308 END CF_SRC_TRANSFORMULA;
309 FUNCTION CF_SRC_ONHAND_VALUEFORMULA(NEW_UNIT_COST IN NUMBER
310 ,NEW_ONHAND_QTY IN NUMBER) RETURN CHAR IS
311 BEGIN
312 RETURN (TO_CHAR(NEW_UNIT_COST * NEW_ONHAND_QTY
313 ,CP_FORMAT_MASK));
314 END CF_SRC_ONHAND_VALUEFORMULA;
315 FUNCTION CF_LEGAL_ENTITYFORMULA RETURN CHAR IS
316 L_LEGAL_ENTITY_NAME VARCHAR2(240);
317 BEGIN
318 BEGIN
319 SELECT
320 LEGAL_ENTITY_NAME
321 INTO L_LEGAL_ENTITY_NAME
322 FROM
323 GMF_LEGAL_ENTITIES
324 WHERE LEGAL_ENTITY_ID = P_LEGAL_ENTITY_ID;
325 EXCEPTION
326 WHEN OTHERS THEN
327 L_LEGAL_ENTITY_NAME := NULL;
328 END;
329 RETURN (L_LEGAL_ENTITY_NAME);
330 END CF_LEGAL_ENTITYFORMULA;
331 FUNCTION CF_COST_MTHDFORMULA RETURN VARCHAR2 IS
332 L_COST_MTHD_CODE VARCHAR2(10);
333 BEGIN
334 BEGIN
335 SELECT
336 COST_MTHD_CODE
337 INTO L_COST_MTHD_CODE
338 FROM
339 CM_MTHD_MST
340 WHERE COST_TYPE_ID = P_COST_TYPE_ID;
341 EXCEPTION
342 WHEN OTHERS THEN
343 L_COST_MTHD_CODE := NULL;
344 END;
345 RETURN (L_COST_MTHD_CODE);
346 END CF_COST_MTHDFORMULA;
347 FUNCTION AFTERREPORT RETURN BOOLEAN IS
348 BEGIN
349 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
350 RETURN (TRUE);
351 END AFTERREPORT;
352 FUNCTION CP_INV_ADJUSTMENT_TEXT_P RETURN VARCHAR2 IS
353 BEGIN
354 RETURN CP_INV_ADJUSTMENT_TEXT;
355 END CP_INV_ADJUSTMENT_TEXT_P;
356 FUNCTION CP_COST_ADJUSTMENT_TEXT_P RETURN VARCHAR2 IS
357 BEGIN
358 RETURN CP_COST_ADJUSTMENT_TEXT;
359 END CP_COST_ADJUSTMENT_TEXT_P;
360 FUNCTION CP_SO_TEXT_P RETURN VARCHAR2 IS
361 BEGIN
362 RETURN CP_SO_TEXT;
363 END CP_SO_TEXT_P;
364 FUNCTION CP_BILL_ONLY_SO_TEXT_P RETURN VARCHAR2 IS
365 BEGIN
366 RETURN CP_BILL_ONLY_SO_TEXT;
367 END CP_BILL_ONLY_SO_TEXT_P;
368 FUNCTION CP_DROP_SHIP_SO_TEXT_P RETURN VARCHAR2 IS
369 BEGIN
370 RETURN CP_DROP_SHIP_SO_TEXT;
371 END CP_DROP_SHIP_SO_TEXT_P;
372 FUNCTION CP_RECEIPT_TEXT_P RETURN VARCHAR2 IS
373 BEGIN
374 RETURN CP_RECEIPT_TEXT;
375 END CP_RECEIPT_TEXT_P;
376 FUNCTION CP_PROD_TEXT_P RETURN VARCHAR2 IS
377 BEGIN
378 RETURN CP_PROD_TEXT;
379 END CP_PROD_TEXT_P;
380 FUNCTION CP_FORMAT_MASK_P RETURN VARCHAR2 IS
381 BEGIN
382 RETURN CP_FORMAT_MASK;
383 END CP_FORMAT_MASK_P;
384 FUNCTION CP_XFER_TEXT_P RETURN VARCHAR2 IS
385 BEGIN
386 RETURN CP_XFER_TEXT;
387 END CP_XFER_TEXT_P;
388 END GMF_GMFLCHST_XMLP_PKG;
389