[Home] [Help]
PACKAGE BODY: APPS.GMO_DOCUMENT_NUMBERS_GRP
Source
1 PACKAGE BODY GMO_DOCUMENT_NUMBERS_GRP AS
2 /* $Header: GMOGDNMB.pls 120.3 2006/01/19 09:27 swasubra noship $ */
3
4 --This PROCEDURE is used to obtain the document number type associated with the
5 --specified organization ID and transaction type.
6 PROCEDURE GET_DOCUMENT_NUMBER_TYPE
7 (P_API_VERSION IN NUMBER,
8 P_INIT_MSG_LIST IN VARCHAR2,
9 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
10 X_MSG_COUNT OUT NOCOPY NUMBER,
11 X_MSG_DATA OUT NOCOPY VARCHAR2,
12 P_ORGANIZATION_ID IN NUMBER,
13 P_TRANSACTION_TYPE IN VARCHAR2,
14 X_DOCUMENT_NUMBER_TYPE OUT NOCOPY VARCHAR2)
15
16 IS
17
18 --The API name.
19 L_API_NAME CONSTANT VARCHAR2(30) := 'GET_DOCUMENT_NUMBER_TYPE';
20
21 --The API version.
22 L_API_VERSION CONSTANT NUMBER := 1.0;
23
24 BEGIN
25
26 --Validate the API versions.
27 IF NOT FND_API.COMPATIBLE_API_CALL(L_API_VERSION,
28 P_API_VERSION,
29 L_API_NAME,
30 G_PKG_NAME)
31 THEN
32
33 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
34
35 END IF;
36
37 --Initialize the message list if specified so.
38 IF FND_API.TO_BOOLEAN( P_INIT_MSG_LIST ) THEN
39
40 FND_MSG_PUB.INITIALIZE;
41
42 END IF;
43
44 --Call a private API to obtain the document number type.
45 GMO_DOCUMENT_NUMBERS_PVT.GET_DOCUMENT_NUMBER_TYPE
46 (P_ORGANIZATION_ID => P_ORGANIZATION_ID,
47 P_TRANSACTION_TYPE => P_TRANSACTION_TYPE,
48 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
49 X_DOCUMENT_NUMBER_TYPE => X_DOCUMENT_NUMBER_TYPE,
50 X_RETURN_STATUS => X_RETURN_STATUS,
51 X_MSG_COUNT => X_MSG_COUNT,
52 X_MSG_DATA => X_MSG_DATA);
53
54
55 --Get the message count.
56 --If count is 1, then get the message data.
57 FND_MSG_PUB.COUNT_AND_GET
58 (P_COUNT => X_MSG_COUNT,
59 P_DATA => X_MSG_DATA);
60
61
62 EXCEPTION
63
64 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
65 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
66
67 FND_MSG_PUB.COUNT_AND_GET
68 (P_COUNT => X_MSG_COUNT,
69 P_DATA => X_MSG_DATA);
70
71 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
72 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
73 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.GET_DOCUMENT_NUMBER_TYPE',
74 FALSE);
75 END IF;
76
77 WHEN OTHERS THEN
78
79 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
80
81 IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
82 FND_MSG_PUB.ADD_EXC_MSG
83 (G_PKG_NAME,
84 L_API_NAME);
85 END IF;
86
87 FND_MSG_PUB.COUNT_AND_GET
88 (P_COUNT => X_MSG_COUNT,
89 P_DATA => X_MSG_DATA);
90
91 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
92 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
93 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.GET_DOCUMENT_NUMBER_TYPE',
94 FALSE);
95 END IF;
96
97 END GET_DOCUMENT_NUMBER_TYPE;
98
99
100
101 --This PROCEDURE is used to obtain the next document number in sequence associated with the
102 --specified organization ID and transaction type.
103 PROCEDURE GET_NEXT_VALUE
104 (P_API_VERSION IN NUMBER,
105 P_INIT_MSG_LIST IN VARCHAR2,
106 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
107 X_MSG_COUNT OUT NOCOPY NUMBER,
108 X_MSG_DATA OUT NOCOPY VARCHAR2,
109 P_ORGANIZATION_ID IN NUMBER,
110 P_TRANSACTION_TYPE IN VARCHAR2,
111 X_VALUE OUT NOCOPY VARCHAR2)
112
113 IS
114
115 --This constant holds the API name.
116 L_API_NAME CONSTANT VARCHAR2(30) := 'GET_NEXT_VALUE';
117
118 --This constant holds the API version.
119 L_API_VERSION CONSTANT NUMBER := 1.0;
120
121
122 BEGIN
123
124 --Validate the API versions.
125 IF NOT FND_API.COMPATIBLE_API_CALL(L_API_VERSION,
126 P_API_VERSION,
127 L_API_NAME,
128 G_PKG_NAME)
129 THEN
130
131 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
132
133 END IF;
134
135 --Initialized the message list if specified so.
136 IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
137
138 FND_MSG_PUB.INITIALIZE;
139
140 END IF;
141
142 --Call a private API to obtain the next value of the document number associated with
143 --the specified organization ID and transaction type.
144 GMO_DOCUMENT_NUMBERS_PVT.GET_NEXT_VALUE
145 (P_ORGANIZATION_ID => P_ORGANIZATION_ID,
146 P_TRANSACTION_TYPE => P_TRANSACTION_TYPE,
147 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
148 X_VALUE => X_VALUE,
149 X_RETURN_STATUS => X_RETURN_STATUS,
150 X_MSG_COUNT => X_MSG_COUNT,
151 X_MSG_DATA => X_MSG_DATA);
152
153 --Get the message count.
154 --If count is 1, then get the message data.
155 FND_MSG_PUB.COUNT_AND_GET
156 (P_COUNT => X_MSG_COUNT,
157 P_DATA => X_MSG_DATA);
158
159
160 EXCEPTION
161
162 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
163 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
164
165 FND_MSG_PUB.COUNT_AND_GET
166 (P_COUNT => X_MSG_COUNT,
167 P_DATA => X_MSG_DATA);
168
169 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
170 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
171 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.GET_NEXT_VALUE',
172 FALSE);
173 END IF;
174
175 WHEN OTHERS THEN
176
177 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
178
179 IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
180 FND_MSG_PUB.ADD_EXC_MSG
181 (G_PKG_NAME,
182 L_API_NAME);
183 END IF;
184
185 FND_MSG_PUB.COUNT_AND_GET
186 (P_COUNT => X_MSG_COUNT,
187 P_DATA => X_MSG_DATA);
188
189 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
190 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
191 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.GET_NEXT_VALUE',
192 FALSE);
193 END IF;
194
195
196 END GET_NEXT_VALUE;
197
198 --This procedure is used to check if a document number exists for the specified
199 --organization and transaction type.
200 PROCEDURE DOES_DOCUMENT_NUMBER_EXIST
201 (P_API_VERSION IN NUMBER,
202 P_INIT_MSG_LIST IN VARCHAR2 DEFAULT FND_API.G_FALSE,
203 X_RETURN_STATUS OUT NOCOPY VARCHAR2,
204 X_MSG_COUNT OUT NOCOPY NUMBER,
205 X_MSG_DATA OUT NOCOPY VARCHAR2,
206 P_ORGANIZATION_ID IN NUMBER,
207 P_TRANSACTION_TYPE IN VARCHAR2,
208 X_DOCUMENT_NUMBER_EXISTS OUT NOCOPY VARCHAR2)
209
210 IS
211
212 --This constant holds the API name.
213 L_API_NAME CONSTANT VARCHAR2(30) := 'DOES_DOCUMENT_NUMBER_EXIST';
214
215 --This constant holds the API version.
216 L_API_VERSION CONSTANT NUMBER := 1.0;
217
218 BEGIN
219
220
221 --Validate the API versions.
222 IF NOT FND_API.COMPATIBLE_API_CALL(L_API_VERSION,
223 P_API_VERSION,
224 L_API_NAME,
225 G_PKG_NAME)
226 THEN
227
228 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
229
230 END IF;
231
232 --Initialized the message list if specified so.
233 IF FND_API.TO_BOOLEAN(P_INIT_MSG_LIST) THEN
234
235 FND_MSG_PUB.INITIALIZE;
236
237 END IF;
238
239 --Call the private API to perform the required operation.
240 GMO_DOCUMENT_NUMBERS_PVT.DOES_DOCUMENT_NUMBER_EXIST
241 (P_ORGANIZATION_ID => P_ORGANIZATION_ID,
242 P_TRANSACTION_TYPE => P_TRANSACTION_TYPE,
243 P_INIT_MSG_LIST => P_INIT_MSG_LIST,
244 X_DOCUMENT_NUMBER_EXISTS => X_DOCUMENT_NUMBER_EXISTS,
245 X_RETURN_STATUS => X_RETURN_STATUS,
246 X_MSG_COUNT => X_MSG_COUNT,
247 X_MSG_DATA => X_MSG_DATA);
248
249 --Get the message count.
250 --If count is 1, then get the message data.
251 FND_MSG_PUB.COUNT_AND_GET
252 (P_COUNT => X_MSG_COUNT,
253 P_DATA => X_MSG_DATA);
254
255 EXCEPTION
256
257 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
258 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
259
260 FND_MSG_PUB.COUNT_AND_GET
261 (P_COUNT => X_MSG_COUNT,
262 P_DATA => X_MSG_DATA);
263
264 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
265 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
266 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.DOES_DOCUMENT_NUMBER_EXIST',
267 FALSE);
268 END IF;
269
270 WHEN OTHERS THEN
271
272 X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR ;
273
274 IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
275 FND_MSG_PUB.ADD_EXC_MSG
276 (G_PKG_NAME,
277 L_API_NAME);
278 END IF;
279
280 FND_MSG_PUB.COUNT_AND_GET
281 (P_COUNT => X_MSG_COUNT,
282 P_DATA => X_MSG_DATA);
283
284 IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
285 FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
286 'gmo.plsql.GMO_DOCUMENT_NUMBERS_GRP.DOES_DOCUMENT_NUMBER_EXIST',
287 FALSE);
288 END IF;
289
290
291 END DOES_DOCUMENT_NUMBER_EXIST;
292
293 END GMO_DOCUMENT_NUMBERS_GRP;