DBA Data[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;