DBA Data[Home] [Help]

PACKAGE BODY: APPS.BOM_CSTRTVHA_XMLP_PKG

Source


1 PACKAGE BODY BOM_CSTRTVHA_XMLP_PKG AS
2 /* $Header: CSTRTVHAB.pls 120.0 2007/12/24 10:18:57 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4     L_FCN_CURRENCY VARCHAR2(15);
5     L_STMT_NUM NUMBER;
6     L_AVG_ORG_COUNT NUMBER;
7     L_MSG_COUNT NUMBER;
8     L_MSG_DATA VARCHAR2(8000);
9     L_RETURN_STATUS VARCHAR2(1);
10     L_CST_INV_VAL EXCEPTION;
11     L_VALUATION_DATE DATE;
12   BEGIN
13     L_STMT_NUM := 10;
14     SELECT  COUNT(*)
15     INTO L_AVG_ORG_COUNT
16     FROM MTL_PARAMETERS
17     WHERE ORGANIZATION_ID = P_ORG_ID
18       AND PRIMARY_COST_METHOD IN ( 2 , 5 , 6 );
19 --      raise_application_error(-20001,'L_AVG_ORG_COUNT :'||L_AVG_ORG_COUNT);
20     L_STMT_NUM := 15;
21     IF L_AVG_ORG_COUNT < 1 THEN
22       FND_MESSAGE.SET_NAME('BOM'
23                           ,'CST_AVG_ORG_REPORT_ONLY');
24       /*SRW.MESSAGE(24200
25                  ,FND_MESSAGE.GET)*/NULL;
26       RETURN FALSE;
27     END IF;
28     L_STMT_NUM := 20;
29     PV_HIST_DATE := TRUNC(TO_DATE(P_HIST_DATE
30                                  ,'YYYY/MM/DD HH24:MI:SS'));
31     /*SRW.MESSAGE(2
32                ,'PV_HIST_DATE : ' || TO_CHAR(PV_HIST_DATE
33                       ,'YYYY/MM/DD HH24:MI:SS'))*/NULL;
34     L_VALUATION_DATE := TRUNC(TO_DATE(P_HIST_DATE
35                                      ,'YYYY/MM/DD HH24:MI:SS')) + .99999;
36     /*SRW.MESSAGE(2
37                ,'l_valuation_DATE : ' || TO_CHAR(L_VALUATION_DATE
38                       ,'YYYY/MM/DD HH24:MI:SS'))*/NULL;
39     L_STMT_NUM := 30;
40     SELECT
41       OOD.ORGANIZATION_NAME,
42       SOB.CURRENCY_CODE,
43       FC.PRECISION,
44       MCS.CATEGORY_SET_NAME,
45       LOOKUP1.MEANING,
46       STYPE1.TRANSACTION_SOURCE_TYPE_NAME,
47       STYPE2.TRANSACTION_SOURCE_TYPE_NAME,
48       STYPE3.TRANSACTION_SOURCE_TYPE_NAME,
49       STYPE4.TRANSACTION_SOURCE_TYPE_NAME
50     INTO PV_ORGANIZATION_NAME,PV_CURRENCY_CODE,PV_STD_PREC,PV_CATEGORY_SET_NAME,PV_SORT_OPTION,PV_STYPE1,PV_STYPE2,PV_STYPE3,PV_STYPE4
51     FROM
52       ORG_ORGANIZATION_DEFINITIONS OOD,
53       GL_SETS_OF_BOOKS SOB,
54       FND_CURRENCIES FC,
55       MTL_CATEGORY_SETS MCS,
56       MFG_LOOKUPS LOOKUP1,
57       MTL_TXN_SOURCE_TYPES STYPE1,
58       MTL_TXN_SOURCE_TYPES STYPE2,
59       MTL_TXN_SOURCE_TYPES STYPE3,
60       MTL_TXN_SOURCE_TYPES STYPE4
61     WHERE OOD.ORGANIZATION_ID = P_ORG_ID
62       AND SOB.SET_OF_BOOKS_ID = OOD.SET_OF_BOOKS_ID
63       AND FC.CURRENCY_CODE = SOB.CURRENCY_CODE
64       AND MCS.CATEGORY_SET_ID = P_CAT_SET_ID
65       AND LOOKUP1.LOOKUP_TYPE = 'CST_ITEM_REPORT_SORT'
66       AND LOOKUP1.LOOKUP_CODE = P_SORT_OPTION
67       AND STYPE1.TRANSACTION_SOURCE_TYPE_ID = P_STYPE1
68       AND STYPE2.TRANSACTION_SOURCE_TYPE_ID = P_STYPE2
69       AND STYPE3.TRANSACTION_SOURCE_TYPE_ID = P_STYPE3
70       AND STYPE4.TRANSACTION_SOURCE_TYPE_ID = P_STYPE4;
71     L_STMT_NUM := 60;
72     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
73     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
74     L_STMT_NUM := 70;
75     L_STMT_NUM := 80;
76     L_STMT_NUM := 85;
77     IF P_INTRANSIT IS NULL OR P_INTRANSIT <> 1 THEN
78       P_INTRANSIT := 0;
79     END IF;
80     L_STMT_NUM := 90;
81     CST_INVENTORY_PUB.CALCULATE_INVENTORYVALUE(P_API_VERSION => 1.0
82                                               ,P_INIT_MSG_LIST => CST_UTILITY_PUB.GET_TRUE
83                                               ,P_ORGANIZATION_ID => P_ORG_ID
84                                               ,P_ONHAND_VALUE => 1
85                                               ,P_INTRANSIT_VALUE => P_INTRANSIT
86                                               ,P_RECEIVING_VALUE => 0
87                                               ,P_VALUATION_DATE => L_VALUATION_DATE
88                                               ,P_COST_TYPE_ID => NULL
89                                               ,P_ITEM_FROM => P_ITEM_LO
90                                               ,P_ITEM_TO => P_ITEM_HI
91                                               ,P_CATEGORY_SET_ID => P_CAT_SET_ID
92                                               ,P_CATEGORY_FROM => P_CAT_LO
93                                               ,P_CATEGORY_TO => P_CAT_HI
94                                               ,P_COST_GROUP_FROM => P_CG
95                                               ,P_COST_GROUP_TO => P_CG
96                                               ,P_SUBINVENTORY_FROM => NULL
97                                               ,P_SUBINVENTORY_TO => NULL
98                                               ,P_QTY_BY_REVISION => NULL
99                                               ,P_ZERO_COST_ONLY => NULL
100                                               ,P_ZERO_QTY => NULL
101                                               ,P_EXPENSE_ITEM => NULL
102                                               ,P_EXPENSE_SUB => NULL
103                                               ,P_UNVALUED_TXNS => 0
104                                               ,P_RECEIPT => P_INTRANSIT
105                                               ,P_SHIPMENT => P_INTRANSIT
106                                               ,X_RETURN_STATUS => L_RETURN_STATUS
107                                               ,X_MSG_COUNT => L_MSG_COUNT
108                                               ,X_MSG_DATA => L_MSG_DATA);
109     L_STMT_NUM := 102;
110     IF L_RETURN_STATUS <> CST_UTILITY_PUB.GET_RET_STS_SUCCESS THEN
111       RAISE L_CST_INV_VAL;
112     END IF;
113     L_STMT_NUM := 105;
114     CST_INVENTORY_PVT.CALCULATE_INVENTORYCOST(P_API_VERSION => 1.0
115                                              ,P_VALUATION_DATE => NULL
116                                              ,P_ORGANIZATION_ID => P_ORG_ID
120       RAISE L_CST_INV_VAL;
117                                              ,X_RETURN_STATUS => L_RETURN_STATUS);
118     L_STMT_NUM := 108;
119     IF L_RETURN_STATUS <> CST_UTILITY_PUB.GET_RET_STS_SUCCESS THEN
121     END IF;
122     L_STMT_NUM := 110;
123     FND_MSG_PUB.COUNT_AND_GET(P_ENCODED => CST_UTILITY_PUB.GET_FALSE
124                              ,P_COUNT => L_MSG_COUNT
125                              ,P_DATA => L_MSG_DATA);
126     L_STMT_NUM := 120;
127     IF L_MSG_COUNT > 0 THEN
128       FOR i IN 1 .. L_MSG_COUNT LOOP
129         L_MSG_DATA := FND_MSG_PUB.GET(I
130                                      ,CST_UTILITY_PUB.GET_FALSE);
131         FND_FILE.PUT_LINE(CST_UTILITY_PUB.GET_LOG
132                          ,I || '-' || L_MSG_DATA);
133       END LOOP;
134     END IF;
135     /*SRW.MESSAGE(0
136                ,'BOM_CSTRTVHA_XMLP_PKG <<     ' || TO_CHAR(SYSDATE
137                       ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
138     RETURN TRUE;
139   EXCEPTION
140     WHEN OTHERS THEN
141       /*SRW.MESSAGE(999
142                  ,L_STMT_NUM || ': ' || SQLERRM)*/NULL;
143       /*SRW.MESSAGE(999
144                  ,'BOM_CSTRTVHA_XMLP_PKG >X     ' || TO_CHAR(SYSDATE
145                         ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
146       FND_MSG_PUB.COUNT_AND_GET(P_ENCODED => CST_UTILITY_PUB.GET_FALSE
147                                ,P_COUNT => L_MSG_COUNT
148                                ,P_DATA => L_MSG_DATA);
149       IF L_MSG_COUNT > 0 THEN
150         FOR i IN 1 .. L_MSG_COUNT LOOP
151           L_MSG_DATA := FND_MSG_PUB.GET(I
152                                        ,CST_UTILITY_PUB.GET_FALSE);
153           FND_FILE.PUT_LINE(CST_UTILITY_PUB.GET_LOG
154                            ,I || '-' || L_MSG_DATA);
155         END LOOP;
156       END IF;
157       /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,SQLERRM);
158   END BEFOREREPORT;
159 
160   FUNCTION CF_ORDERFORMULA(CATEGORY IN VARCHAR2) RETURN CHAR IS
161   BEGIN
162     IF (P_SORT_OPTION = 1) THEN
163       RETURN NULL;
164     ELSE
165       RETURN CATEGORY;
166     END IF;
167   END CF_ORDERFORMULA;
168 
169   FUNCTION AFTERREPORT RETURN BOOLEAN IS
170   BEGIN
171     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
172     /*SRW.MESSAGE(0
173                ,'BOM_CSTRTVHA_XMLP_PKG >>     ' || TO_CHAR(SYSDATE
174                       ,'Dy Mon FmDD HH24:MI:SS YYYY'))*/NULL;
175     RETURN (TRUE);
176   END AFTERREPORT;
177 
178   FUNCTION CF_1FORMULA(NEWVAL IN NUMBER
179                       ,OLDVAL IN NUMBER
180                       ,S1VAL IN NUMBER
181                       ,S2VAL IN NUMBER
182                       ,S3VAL IN NUMBER
183                       ,S4VAL IN NUMBER) RETURN NUMBER IS
184   BEGIN
185     RETURN NEWVAL - OLDVAL - S1VAL - S2VAL - S3VAL - S4VAL;
186   END CF_1FORMULA;
187 
188 END BOM_CSTRTVHA_XMLP_PKG;
189 
190