DBA Data[Home] [Help]

PACKAGE BODY: APPS.INV_INVARCLI_XMLP_PKG

Source


1 PACKAGE BODY INV_INVARCLI_XMLP_PKG AS
2 /* $Header: INVARCLIB.pls 120.2 2008/01/08 06:16:10 dwkrishn noship $ */
3   FUNCTION C_FORMATTEDCURRENCYCODEFORMULA(CURRENCY_CODE IN VARCHAR2) RETURN VARCHAR2 IS
4   BEGIN
5     DECLARE
6       TEMP_C VARCHAR2(20);
7     BEGIN
8       TEMP_C := '(' || CURRENCY_CODE || ')';
9       RETURN (TEMP_C);
10     END;
11     RETURN NULL;
12   END C_FORMATTEDCURRENCYCODEFORMULA;
13 
14   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
15   BEGIN
16     BEGIN
17       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
18         LP_FROMDATE :=P_FROMDATE ;
19         LP_TODATE:= P_TODATE;
20       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
21     EXCEPTION
22       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
23         /*SRW.MESSAGE(1
24                    ,'Before Report: Init')*/NULL;
25     END;
26     DECLARE
27       P_ORG_ID_CHAR VARCHAR2(100) := TO_CHAR(P_ORG_ID);
28     BEGIN
29       /*SRW.USER_EXIT('FND PUTPROFILE NAME="' || 'MFG_ORGANIZATION_ID' || '" FIELD="' || P_ORG_ID_CHAR || '"')*/NULL;
30     EXCEPTION
31       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
32         /*SRW.MESSAGE(020
33                    ,'Failed in before report trigger, setting org profile ')*/NULL;
34         RAISE;
35     END;
36     BEGIN
37       NULL;
38     EXCEPTION
39       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
40         /*SRW.MESSAGE(1
41                    ,'Before Report: LocatorFlex')*/NULL;
42     END;
43     BEGIN
44       NULL;
45     EXCEPTION
46       WHEN /*SRW.USER_EXIT_FAILURE*/OTHERS THEN
47         /*SRW.MESSAGE(1
48                    ,'Before Report: ItemFlex')*/NULL;
49     END;
50     DECLARE
51       M_RETURN_STATUS VARCHAR2(1);
52       M_MSG_COUNT NUMBER;
53       M_MSG_DATA VARCHAR2(2000);
54     BEGIN
55       IF (WMS_INSTALL.CHECK_INSTALL(X_RETURN_STATUS => M_RETURN_STATUS
56                                ,X_MSG_COUNT => M_MSG_COUNT
57                                ,X_MSG_DATA => M_MSG_DATA
58                                ,P_ORGANIZATION_ID => P_ORG_ID)) THEN
59         P_WMS_INSTALLED := 'TRUE';
60       END IF;
61     END;
62     RETURN (TRUE);
63   END BEFOREREPORT;
64 
65   FUNCTION AFTERREPORT RETURN BOOLEAN IS
66   BEGIN
67     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
68     RETURN (TRUE);
69     RETURN (TRUE);
70   END AFTERREPORT;
71 
72   FUNCTION F_RECOUNTONLYFORMULA RETURN VARCHAR2 IS
73   BEGIN
74     BEGIN
75       IF P_RECOUNTONLY = 1 THEN
76         RETURN ('Recounts Only');
77       ELSE
78         RETURN ('');
79       END IF;
80     END;
81     RETURN NULL;
82   END F_RECOUNTONLYFORMULA;
83 
84   FUNCTION AFTERPFORM RETURN BOOLEAN IS
85   BEGIN
86     RETURN (TRUE);
87   END AFTERPFORM;
88 
89   FUNCTION CF_SYSQTYFORMULA(SERIAL_NUMBER_CONTROL_CODE IN NUMBER
90                            ,SERIAL_COUNT_OPTION IN NUMBER
91                            ,INVENTORY_ITEM_ID_v IN NUMBER
92                            ,SUBINVENTORY IN VARCHAR2
93                            ,LOTNUMBER IN VARCHAR2
94                            ,REVISION IN VARCHAR2
95                            ,LOCATOR IN NUMBER
96                            ,PARENT_LPN_ID IN NUMBER
97                            ,SERIAL_NUMBER IN VARCHAR2) RETURN NUMBER IS
98     V_PRIMARY_SYS_QTY NUMBER := 0;
99   BEGIN
100     IF (SERIAL_NUMBER_CONTROL_CODE in (1,6) OR SERIAL_COUNT_OPTION = 1) THEN
101       SELECT
102         NVL(SUM(PRIMARY_TRANSACTION_QUANTITY)
103            ,0)
104       INTO V_PRIMARY_SYS_QTY
105       FROM
106         MTL_ONHAND_QUANTITIES_DETAIL
107       WHERE INVENTORY_ITEM_ID = INVENTORY_ITEM_ID_V
108         AND ORGANIZATION_ID = P_ORG_ID
109         AND SUBINVENTORY_CODE = SUBINVENTORY
110         AND NVL(LOT_NUMBER
111          ,'XX') = NVL(LOTNUMBER
112          ,'XX')
113         AND NVL(REVISION
114          ,'XXX') = NVL(REVISION
115          ,'XXX')
116         AND NVL(LOCATOR_ID
117          ,-2) = NVL(LOCATOR
118          ,-2)
119         AND NVL(LPN_ID
120          ,-3) = NVL(PARENT_LPN_ID
121          ,-3);
122     ELSIF (SERIAL_NUMBER_CONTROL_CODE in (2,5) AND SERIAL_COUNT_OPTION > 1) THEN
123       SELECT
124         NVL(SUM(DECODE(MSN.CURRENT_STATUS
125                       ,3
126                       ,1
127                       ,0))
128            ,0)
129       INTO V_PRIMARY_SYS_QTY
130       FROM
131         MTL_SERIAL_NUMBERS MSN
132       WHERE MSN.SERIAL_NUMBER = NVL(SERIAL_NUMBER
133          ,SERIAL_NUMBER)
134         AND MSN.INVENTORY_ITEM_ID = INVENTORY_ITEM_ID_V
135         AND MSN.CURRENT_ORGANIZATION_ID = P_ORG_ID
136         AND MSN.CURRENT_SUBINVENTORY_CODE = SUBINVENTORY
137         AND NVL(MSN.LOT_NUMBER
138          ,'XX') = NVL(LOTNUMBER
139          ,'XX')
140         AND NVL(MSN.REVISION
141          ,'XXX') = NVL(REVISION
142          ,'XXX')
143         AND NVL(MSN.CURRENT_LOCATOR_ID
144          ,-2) = NVL(LOCATOR
145          ,-2)
146         AND NVL(LPN_ID
147          ,-3) = NVL(PARENT_LPN_ID
148          ,-3);
149     END IF;
150     RETURN NVL(V_PRIMARY_SYS_QTY
151               ,0);
152   END CF_SYSQTYFORMULA;
153 
154   FUNCTION CF_ISSERIALPRESENTFORMULA(SL_SERIAL_NUMBER IN VARCHAR2
155                                     ,INVENTORY_ITEM_ID_V IN NUMBER
156                                     ,SUBINVENTORY IN VARCHAR2
157                                     ,LOTNUMBER IN VARCHAR2
158                                     ,REVISION IN VARCHAR2
159                                     ,LOCATOR IN NUMBER) RETURN VARCHAR2 IS
160     V_ISSERIALPRESENT VARCHAR2(1);
161   BEGIN
162     SELECT
163       DECODE(MSN.CURRENT_STATUS
164             ,3
165             ,'Y'
166             ,'N')
167     INTO V_ISSERIALPRESENT
168     FROM
169       MTL_SERIAL_NUMBERS MSN
170     WHERE MSN.SERIAL_NUMBER = SL_SERIAL_NUMBER
171       AND MSN.INVENTORY_ITEM_ID = INVENTORY_ITEM_ID_V
172       AND MSN.CURRENT_ORGANIZATION_ID = P_ORG_ID
173       AND ( MSN.CURRENT_STATUS = 6
174     OR ( MSN.CURRENT_SUBINVENTORY_CODE = SUBINVENTORY
175       AND NVL(MSN.LOT_NUMBER
176        ,'XX') = NVL(LOTNUMBER
177        ,'XX')
178       AND NVL(MSN.REVISION
179        ,'XXX') = NVL(REVISION
180        ,'XXX')
181       AND NVL(MSN.CURRENT_LOCATOR_ID
182        ,-2) = NVL(LOCATOR
183        ,-2) ) );
184     RETURN V_ISSERIALPRESENT;
185   EXCEPTION
186     WHEN NO_DATA_FOUND THEN
187       RETURN ('N');
188   END CF_ISSERIALPRESENTFORMULA;
189 
190   FUNCTION CF_COST_GROUPFORMULA(COST_GROUP_ID IN NUMBER) RETURN CHAR IS
191     M_COST_GROUP VARCHAR2(10) := NULL;
192   BEGIN
193     IF ((P_WMS_INSTALLED = 'TRUE') AND (COST_GROUP_ID IS NOT NULL)) THEN
194       BEGIN
195         SELECT
196           COST_GROUP
197         INTO M_COST_GROUP
198         FROM
199           CST_COST_GROUPS
200         WHERE COST_GROUP_ID = COST_GROUP_ID;
201       EXCEPTION
202         WHEN NO_DATA_FOUND THEN
203           M_COST_GROUP := NULL;
204       END;
205     END IF;
206     RETURN (M_COST_GROUP);
207   END CF_COST_GROUPFORMULA;
208 
209   FUNCTION CF_OUTERMOST_LPNFORMULA(CONTAINER_ENABLED_FLAG IN NUMBER
210                                   ,OUTERMOST_LPN_ID IN NUMBER) RETURN CHAR IS
211     M_OUTERMOST_LPN VARCHAR2(30) := NULL;
212   BEGIN
213     IF ((P_WMS_INSTALLED = 'TRUE') AND (NVL(CONTAINER_ENABLED_FLAG
214        ,-99) > 0)) THEN
215       IF (OUTERMOST_LPN_ID IS NOT NULL) THEN
216         SELECT
217           LICENSE_PLATE_NUMBER
218         INTO M_OUTERMOST_LPN
219         FROM
220           WMS_LICENSE_PLATE_NUMBERS
221         WHERE LPN_ID = OUTERMOST_LPN_ID;
222         IF SQL%NOTFOUND THEN
223           M_OUTERMOST_LPN := 'ERROR';
224         END IF;
225       END IF;
226     END IF;
227     RETURN (M_OUTERMOST_LPN);
228   END CF_OUTERMOST_LPNFORMULA;
229 
230   FUNCTION CF_PARENT_LPNFORMULA(CONTAINER_ENABLED_FLAG IN NUMBER
231                                ,PARENT_LPN_ID IN NUMBER) RETURN CHAR IS
232     M_PARENT_LPN VARCHAR2(30) := NULL;
233   BEGIN
234     IF ((P_WMS_INSTALLED = 'TRUE') AND (NVL(CONTAINER_ENABLED_FLAG
235        ,-99) > 0)) THEN
236       IF (PARENT_LPN_ID IS NOT NULL) THEN
237         SELECT
238           LICENSE_PLATE_NUMBER
239         INTO M_PARENT_LPN
240         FROM
241           WMS_LICENSE_PLATE_NUMBERS
242         WHERE LPN_ID = PARENT_LPN_ID;
243         IF SQL%NOTFOUND THEN
244           M_PARENT_LPN := 'ERROR';
245         END IF;
246       END IF;
247     END IF;
248     RETURN (M_PARENT_LPN);
249   END CF_PARENT_LPNFORMULA;
250 
251 END INV_INVARCLI_XMLP_PKG;
252