DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSP_MATERIAL_TRANSACTIONS_PVT

Source


1 PACKAGE BODY CSP_MATERIAL_TRANSACTIONS_PVT AS
2 /* $Header: cspvmmtb.pls 120.1 2006/07/20 06:03:50 hhaugeru noship $ */
3 -- Start of Comments
4 -- Package name     : CSP_MATERIAL_TRANSACTIONS_PVT
5 -- Purpose          :
6 -- History          :
7 -- NOTE             :
8 -- End of Comments
9 
10 
11 G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSP_MATERIAL_TRANSACTIONS_PVT';
12 G_FILE_NAME CONSTANT VARCHAR2(12) := 'cspvmmtb.pls';
13 
14 G_USER_ID         NUMBER := FND_GLOBAL.USER_ID;
15 G_LOGIN_ID        NUMBER := FND_GLOBAL.LOGIN_ID;
16 
17 -- Hint: Primary key needs to be returned.
18 PROCEDURE Create_material_transactions(
19     P_Api_Version_Number         IN   NUMBER,
20     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
21     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
22     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
23     P_CSP_Rec     IN    CSP_Rec_Type  := G_MISS_CSP_REC,
24   --Hint: Add detail tables as parameter lists if it's master-detail relationship.
25     X_TRANSACTION_TEMP_ID        OUT NOCOPY  NUMBER,
26     X_Return_Status              OUT NOCOPY  VARCHAR2,
27     X_Msg_Count                  OUT NOCOPY  NUMBER,
28     X_Msg_Data                   OUT NOCOPY  VARCHAR2
29     )
30 
31  IS
32 l_api_name                CONSTANT VARCHAR2(30) := 'CREATE_MATERIAL_TXN';
33 l_api_version_number      CONSTANT NUMBER   := 1.0;
34 l_return_status_full        VARCHAR2(1);
35 --l_identity_sales_member_rec AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
36  BEGIN
37       -- Standard Start of API savepoint
38       SAVEPOINT CREATE_MATERIAL_TXN_PVT;
39 
40       -- Standard call to check for call compatibility.
41       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
42                          	             p_api_version_number,
43                                            l_api_name,
44                                            G_PKG_NAME)
45       THEN
46           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
47       END IF;
48 
49 
50       -- Initialize message list if p_init_msg_list is set to TRUE.
51       IF FND_API.to_Boolean( p_init_msg_list )
52       THEN
53           FND_MSG_PUB.initialize;
54       END IF;
55 
56 
57       -- Debug Message
58       -- JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
59 
60 
61       -- Initialize API return status to SUCCESS
62       x_return_status := FND_API.G_RET_STS_SUCCESS;
63 
64       --
65       -- API body
66       --
67 
68 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
69 /*
70       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
71       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
72       THEN
73           AS_CALLOUT_PKG.Create_material_transactions_BC(
74                   p_api_version_number   =>  2.0,
75                   p_init_msg_list        =>  FND_API.G_FALSE,
76                   p_commit               =>  FND_API.G_FALSE,
77                   p_validation_level     =>  p_validation_level,
78                   P_CSP_Rec      =>  P_CSP_Rec,
79           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
80                   x_return_status        =>  x_return_status,
81                   x_msg_count            =>  x_msg_count,
82                   x_msg_data             =>  x_msg_data);
83       END IF;
84 */
85       -- ******************************************************************
86       -- Validate Environment
87       -- ******************************************************************
88       IF FND_GLOBAL.User_Id IS NULL
89       THEN
90           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
91           THEN
92               FND_MESSAGE.Set_Name(' + appShortName +', 'UT_CANNOT_GET_PROFILE_VALUE');
93               FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
94               FND_MSG_PUB.ADD;
95           END IF;
96           RAISE FND_API.G_EXC_ERROR;
97       END IF;
98 
99 
100      /* AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
101           p_api_version_number => 2.0
102          ,p_salesforce_id => NULL
103          ,x_return_status => x_return_status
104          ,x_msg_count => x_msg_count
105          ,x_msg_data => x_msg_data
106          ,x_sales_member_rec => l_identity_sales_member_rec);
107 
108       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
109           RAISE FND_API.G_EXC_ERROR;
110       END IF;
111     */
112 
113 /*      IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
114       THEN
115           -- Debug message
116           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: Validate_material_transactions');
117 
118           -- Invoke validation procedures
119         Validate_material_transactions(
120               p_init_msg_list    => FND_API.G_FALSE,
121               p_validation_level => p_validation_level,
122               p_validation_mode  => JTF_PLSQL_API.G_CREATE,
123               P_CSP_Rec  =>  P_CSP_Rec,
124               x_return_status    => x_return_status,
125               x_msg_count        => x_msg_count,
126               x_msg_data         => x_msg_data);
127       END IF;
128 
129       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
130           RAISE FND_API.G_EXC_ERROR;
131       END IF;
132 */
133       -- Hint: Add corresponding Master-Detail business logic here if necessary.
134 
135       -- Debug Message
136      -- JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling create table handler');
137 
138       -- assign p_CSP_rec.transaction_temp_id to x_transaction_temp_id
139          x_TRANSACTION_TEMP_ID :=  p_CSP_rec.TRANSACTION_TEMP_ID;
140 
141       -- Invoke table handler(MTL_MATERIAL_TRANSACTIONS_TEMP_PKG._Row)
142       CSP_MTL_TRANSACTIONS_PKG.Insert_Row(
143           p_TRANSACTION_HEADER_ID  => p_CSP_rec.TRANSACTION_HEADER_ID,
144           px_TRANSACTION_TEMP_ID  => x_TRANSACTION_TEMP_ID,
145           p_SOURCE_CODE  => p_CSP_rec.SOURCE_CODE,
146           p_SOURCE_LINE_ID  => p_CSP_rec.SOURCE_LINE_ID,
147           p_TRANSACTION_MODE  => p_CSP_rec.TRANSACTION_MODE,
148           p_LOCK_FLAG  => p_CSP_rec.LOCK_FLAG,
149           p_LAST_UPDATE_DATE  => p_CSP_rec.LAST_UPDATE_DATE,
150           p_LAST_UPDATED_BY  => p_CSP_rec.LAST_UPDATED_BY,
151           p_CREATION_DATE  => p_CSP_rec.CREATION_DATE,
152           p_CREATED_BY  => p_CSP_rec.CREATED_BY,
153           p_LAST_UPDATE_LOGIN  => p_CSP_rec.LAST_UPDATE_LOGIN,
154           p_REQUEST_ID  => p_CSP_rec.REQUEST_ID,
155           p_PROGRAM_APPLICATION_ID  => p_CSP_rec.PROGRAM_APPLICATION_ID,
156           p_PROGRAM_ID  => p_CSP_rec.PROGRAM_ID,
157           p_PROGRAM_UPDATE_DATE  => p_CSP_rec.PROGRAM_UPDATE_DATE,
158           p_INVENTORY_ITEM_ID  => p_CSP_rec.INVENTORY_ITEM_ID,
159           p_REVISION  => p_CSP_rec.REVISION,
160           p_ORGANIZATION_ID  => p_CSP_rec.ORGANIZATION_ID,
161           p_SUBINVENTORY_CODE  => p_CSP_rec.SUBINVENTORY_CODE,
162           p_LOCATOR_ID  => p_CSP_rec.LOCATOR_ID,
163           p_TRANSACTION_QUANTITY  => p_CSP_rec.TRANSACTION_QUANTITY,
164           p_PRIMARY_QUANTITY  => p_CSP_rec.PRIMARY_QUANTITY,
165           p_TRANSACTION_UOM  => p_CSP_rec.TRANSACTION_UOM,
166           p_TRANSACTION_COST  => p_CSP_rec.TRANSACTION_COST,
167           p_TRANSACTION_TYPE_ID  => p_CSP_rec.TRANSACTION_TYPE_ID,
168           p_TRANSACTION_ACTION_ID  => p_CSP_rec.TRANSACTION_ACTION_ID,
169           p_TRANSACTION_SOURCE_TYPE_ID  => p_CSP_rec.TRANSACTION_SOURCE_TYPE_ID,
170           p_TRANSACTION_SOURCE_ID  => p_CSP_rec.TRANSACTION_SOURCE_ID,
171           p_TRANSACTION_SOURCE_NAME  => p_CSP_rec.TRANSACTION_SOURCE_NAME,
172           p_TRANSACTION_DATE  => p_CSP_rec.TRANSACTION_DATE,
173           p_ACCT_PERIOD_ID  => p_CSP_rec.ACCT_PERIOD_ID,
174           p_DISTRIBUTION_ACCOUNT_ID  => p_CSP_rec.DISTRIBUTION_ACCOUNT_ID,
175           p_TRANSACTION_REFERENCE  => p_CSP_rec.TRANSACTION_REFERENCE,
176           p_REQUISITION_LINE_ID  => p_CSP_rec.REQUISITION_LINE_ID,
177           p_REQUISITION_DISTRIBUTION_ID  => p_CSP_rec.REQUISITION_DISTRIBUTION_ID,
178           p_REASON_ID  => p_CSP_rec.REASON_ID,
179           p_LOT_NUMBER  => p_CSP_rec.LOT_NUMBER,
180           p_LOT_EXPIRATION_DATE  => p_CSP_rec.LOT_EXPIRATION_DATE,
181           p_SERIAL_NUMBER  => p_CSP_rec.SERIAL_NUMBER,
182           p_RECEIVING_DOCUMENT  => p_CSP_rec.RECEIVING_DOCUMENT,
183           p_DEMAND_ID  => p_CSP_rec.DEMAND_ID,
184           p_RCV_TRANSACTION_ID  => p_CSP_rec.RCV_TRANSACTION_ID,
185           p_MOVE_TRANSACTION_ID  => p_CSP_rec.MOVE_TRANSACTION_ID,
186           p_COMPLETION_TRANSACTION_ID  => p_CSP_rec.COMPLETION_TRANSACTION_ID,
187           p_WIP_ENTITY_TYPE  => p_CSP_rec.WIP_ENTITY_TYPE,
188           p_SCHEDULE_ID  => p_CSP_rec.SCHEDULE_ID,
189           p_REPETITIVE_LINE_ID  => p_CSP_rec.REPETITIVE_LINE_ID,
190           p_EMPLOYEE_CODE  => p_CSP_rec.EMPLOYEE_CODE,
191           p_PRIMARY_SWITCH  => p_CSP_rec.PRIMARY_SWITCH,
192           p_SCHEDULE_UPDATE_CODE  => p_CSP_rec.SCHEDULE_UPDATE_CODE,
193           p_SETUP_TEARDOWN_CODE  => p_CSP_rec.SETUP_TEARDOWN_CODE,
194           p_ITEM_ORDERING  => p_CSP_rec.ITEM_ORDERING,
195           p_NEGATIVE_REQ_FLAG  => p_CSP_rec.NEGATIVE_REQ_FLAG,
196           p_OPERATION_SEQ_NUM  => p_CSP_rec.OPERATION_SEQ_NUM,
197           p_PICKING_LINE_ID  => p_CSP_rec.PICKING_LINE_ID,
198           p_TRX_SOURCE_LINE_ID  => p_CSP_rec.TRX_SOURCE_LINE_ID,
199           p_TRX_SOURCE_DELIVERY_ID  => p_CSP_rec.TRX_SOURCE_DELIVERY_ID,
200           p_PHYSICAL_ADJUSTMENT_ID  => p_CSP_rec.PHYSICAL_ADJUSTMENT_ID,
201           p_CYCLE_COUNT_ID  => p_CSP_rec.CYCLE_COUNT_ID,
202           p_RMA_LINE_ID  => p_CSP_rec.RMA_LINE_ID,
203           p_CUSTOMER_SHIP_ID  => p_CSP_rec.CUSTOMER_SHIP_ID,
204           p_CURRENCY_CODE  => p_CSP_rec.CURRENCY_CODE,
205           p_CURRENCY_CONVERSION_RATE  => p_CSP_rec.CURRENCY_CONVERSION_RATE,
206           p_CURRENCY_CONVERSION_TYPE  => p_CSP_rec.CURRENCY_CONVERSION_TYPE,
207           p_CURRENCY_CONVERSION_DATE  => p_CSP_rec.CURRENCY_CONVERSION_DATE,
208           p_USSGL_TRANSACTION_CODE  => p_CSP_rec.USSGL_TRANSACTION_CODE,
209           p_VENDOR_LOT_NUMBER  => p_CSP_rec.VENDOR_LOT_NUMBER,
210           p_ENCUMBRANCE_ACCOUNT  => p_CSP_rec.ENCUMBRANCE_ACCOUNT,
211           p_ENCUMBRANCE_AMOUNT  => p_CSP_rec.ENCUMBRANCE_AMOUNT,
212           p_SHIP_TO_LOCATION  => p_CSP_rec.SHIP_TO_LOCATION,
213           p_SHIPMENT_NUMBER  => p_CSP_rec.SHIPMENT_NUMBER,
214           p_TRANSFER_COST  => p_CSP_rec.TRANSFER_COST,
215           p_TRANSPORTATION_COST  => p_CSP_rec.TRANSPORTATION_COST,
216           p_TRANSPORTATION_ACCOUNT  => p_CSP_rec.TRANSPORTATION_ACCOUNT,
217           p_FREIGHT_CODE  => p_CSP_rec.FREIGHT_CODE,
218           p_CONTAINERS  => p_CSP_rec.CONTAINERS,
219           p_WAYBILL_AIRBILL  => p_CSP_rec.WAYBILL_AIRBILL,
220           p_EXPECTED_ARRIVAL_DATE  => p_CSP_rec.EXPECTED_ARRIVAL_DATE,
221           p_TRANSFER_SUBINVENTORY  => p_CSP_rec.TRANSFER_SUBINVENTORY,
222           p_TRANSFER_ORGANIZATION  => p_CSP_rec.TRANSFER_ORGANIZATION,
223           p_TRANSFER_TO_LOCATION  => p_CSP_rec.TRANSFER_TO_LOCATION,
224           p_NEW_AVERAGE_COST  => p_CSP_rec.NEW_AVERAGE_COST,
225           p_VALUE_CHANGE  => p_CSP_rec.VALUE_CHANGE,
226           p_PERCENTAGE_CHANGE  => p_CSP_rec.PERCENTAGE_CHANGE,
227           p_MATERIAL_ALLOCATION_TEMP_ID  => p_CSP_rec.MATERIAL_ALLOCATION_TEMP_ID,
228           p_DEMAND_SOURCE_HEADER_ID  => p_CSP_rec.DEMAND_SOURCE_HEADER_ID,
229           p_DEMAND_SOURCE_LINE  => p_CSP_rec.DEMAND_SOURCE_LINE,
230           p_DEMAND_SOURCE_DELIVERY  => p_CSP_rec.DEMAND_SOURCE_DELIVERY,
231           p_ITEM_SEGMENTS  => p_CSP_rec.ITEM_SEGMENTS,
232           p_ITEM_DESCRIPTION  => p_CSP_rec.ITEM_DESCRIPTION,
233           p_ITEM_TRX_ENABLED_FLAG  => p_CSP_rec.ITEM_TRX_ENABLED_FLAG,
234           p_ITEM_LOCATION_CONTROL_CODE  => p_CSP_rec.ITEM_LOCATION_CONTROL_CODE,
235           p_ITEM_RESTRICT_SUBINV_CODE  => p_CSP_rec.ITEM_RESTRICT_SUBINV_CODE,
236           p_ITEM_RESTRICT_LOCATORS_CODE  => p_CSP_rec.ITEM_RESTRICT_LOCATORS_CODE,
237           p_ITEM_REV_QTY_CONTROL_CODE  => p_CSP_rec.ITEM_REVISION_QTY_CONTROL_CODE,
238           p_ITEM_PRIMARY_UOM_CODE  => p_CSP_rec.ITEM_PRIMARY_UOM_CODE,
239           p_ITEM_UOM_CLASS  => p_CSP_rec.ITEM_UOM_CLASS,
240           p_ITEM_SHELF_LIFE_CODE  => p_CSP_rec.ITEM_SHELF_LIFE_CODE,
241           p_ITEM_SHELF_LIFE_DAYS  => p_CSP_rec.ITEM_SHELF_LIFE_DAYS,
242           p_ITEM_LOT_CONTROL_CODE  => p_CSP_rec.ITEM_LOT_CONTROL_CODE,
243           p_ITEM_SERIAL_CONTROL_CODE  => p_CSP_rec.ITEM_SERIAL_CONTROL_CODE,
244           p_ITEM_INVENTORY_ASSET_FLAG  => p_CSP_rec.ITEM_INVENTORY_ASSET_FLAG,
245           p_ALLOWED_UNITS_LOOKUP_CODE  => p_CSP_rec.ALLOWED_UNITS_LOOKUP_CODE,
246           p_DEPARTMENT_ID  => p_CSP_rec.DEPARTMENT_ID,
247           p_DEPARTMENT_CODE  => p_CSP_rec.DEPARTMENT_CODE,
248           p_WIP_SUPPLY_TYPE  => p_CSP_rec.WIP_SUPPLY_TYPE,
249           p_SUPPLY_SUBINVENTORY  => p_CSP_rec.SUPPLY_SUBINVENTORY,
250           p_SUPPLY_LOCATOR_ID  => p_CSP_rec.SUPPLY_LOCATOR_ID,
251           p_VALID_SUBINVENTORY_FLAG  => p_CSP_rec.VALID_SUBINVENTORY_FLAG,
252           p_VALID_LOCATOR_FLAG  => p_CSP_rec.VALID_LOCATOR_FLAG,
253           p_LOCATOR_SEGMENTS  => p_CSP_rec.LOCATOR_SEGMENTS,
254           p_CURRENT_LOCATOR_CONTROL_CODE  => p_CSP_rec.CURRENT_LOCATOR_CONTROL_CODE,
255           p_NUMBER_OF_LOTS_ENTERED  => p_CSP_rec.NUMBER_OF_LOTS_ENTERED,
256           p_WIP_COMMIT_FLAG  => p_CSP_rec.WIP_COMMIT_FLAG,
257           p_NEXT_LOT_NUMBER  => p_CSP_rec.NEXT_LOT_NUMBER,
258           p_LOT_ALPHA_PREFIX  => p_CSP_rec.LOT_ALPHA_PREFIX,
259           p_NEXT_SERIAL_NUMBER  => p_CSP_rec.NEXT_SERIAL_NUMBER,
260           p_SERIAL_ALPHA_PREFIX  => p_CSP_rec.SERIAL_ALPHA_PREFIX,
261           p_SHIPPABLE_FLAG  => p_CSP_rec.SHIPPABLE_FLAG,
262           p_POSTING_FLAG  => p_CSP_rec.POSTING_FLAG,
263           p_REQUIRED_FLAG  => p_CSP_rec.REQUIRED_FLAG,
264           p_PROCESS_FLAG  => p_CSP_rec.PROCESS_FLAG,
265           p_ERROR_CODE  => p_CSP_rec.ERROR_CODE,
266           p_ERROR_EXPLANATION  => p_CSP_rec.ERROR_EXPLANATION,
267           p_ATTRIBUTE_CATEGORY  => p_CSP_rec.ATTRIBUTE_CATEGORY,
268           p_ATTRIBUTE1  => p_CSP_rec.ATTRIBUTE1,
269           p_ATTRIBUTE2  => p_CSP_rec.ATTRIBUTE2,
270           p_ATTRIBUTE3  => p_CSP_rec.ATTRIBUTE3,
271           p_ATTRIBUTE4  => p_CSP_rec.ATTRIBUTE4,
272           p_ATTRIBUTE5  => p_CSP_rec.ATTRIBUTE5,
273           p_ATTRIBUTE6  => p_CSP_rec.ATTRIBUTE6,
274           p_ATTRIBUTE7  => p_CSP_rec.ATTRIBUTE7,
275           p_ATTRIBUTE8  => p_CSP_rec.ATTRIBUTE8,
276           p_ATTRIBUTE9  => p_CSP_rec.ATTRIBUTE9,
277           p_ATTRIBUTE10  => p_CSP_rec.ATTRIBUTE10,
278           p_ATTRIBUTE11  => p_CSP_rec.ATTRIBUTE11,
279           p_ATTRIBUTE12  => p_CSP_rec.ATTRIBUTE12,
280           p_ATTRIBUTE13  => p_CSP_rec.ATTRIBUTE13,
281           p_ATTRIBUTE14  => p_CSP_rec.ATTRIBUTE14,
282           p_ATTRIBUTE15  => p_CSP_rec.ATTRIBUTE15,
283           p_MOVEMENT_ID  => p_CSP_rec.MOVEMENT_ID,
284           p_RESERVATION_QUANTITY  => p_CSP_rec.RESERVATION_QUANTITY,
285           p_SHIPPED_QUANTITY  => p_CSP_rec.SHIPPED_QUANTITY,
286           p_TRANSACTION_LINE_NUMBER  => p_CSP_rec.TRANSACTION_LINE_NUMBER,
287           p_TASK_ID  => p_CSP_rec.TASK_ID,
288           p_TO_TASK_ID  => p_CSP_rec.TO_TASK_ID,
289           p_SOURCE_TASK_ID  => p_CSP_rec.SOURCE_TASK_ID,
290           p_PROJECT_ID  => p_CSP_rec.PROJECT_ID,
291           p_SOURCE_PROJECT_ID  => p_CSP_rec.SOURCE_PROJECT_ID,
292           p_PA_EXPENDITURE_ORG_ID  => p_CSP_rec.PA_EXPENDITURE_ORG_ID,
293           p_TO_PROJECT_ID  => p_CSP_rec.TO_PROJECT_ID,
294           p_EXPENDITURE_TYPE  => p_CSP_rec.EXPENDITURE_TYPE,
295           p_FINAL_COMPLETION_FLAG  => p_CSP_rec.FINAL_COMPLETION_FLAG,
296           p_TRANSFER_PERCENTAGE  => p_CSP_rec.TRANSFER_PERCENTAGE,
297           p_TRANSACTION_SEQUENCE_ID  => p_CSP_rec.TRANSACTION_SEQUENCE_ID,
298           p_MATERIAL_ACCOUNT  => p_CSP_rec.MATERIAL_ACCOUNT,
299           p_MATERIAL_OVERHEAD_ACCOUNT  => p_CSP_rec.MATERIAL_OVERHEAD_ACCOUNT,
300           p_RESOURCE_ACCOUNT  => p_CSP_rec.RESOURCE_ACCOUNT,
301           p_OUTSIDE_PROCESSING_ACCOUNT  => p_CSP_rec.OUTSIDE_PROCESSING_ACCOUNT,
302           p_OVERHEAD_ACCOUNT  => p_CSP_rec.OVERHEAD_ACCOUNT,
303           p_FLOW_SCHEDULE  => p_CSP_rec.FLOW_SCHEDULE,
304           p_COST_GROUP_ID  => p_CSP_rec.COST_GROUP_ID,
305           p_DEMAND_CLASS  => p_CSP_rec.DEMAND_CLASS,
306           p_QA_COLLECTION_ID  => p_CSP_rec.QA_COLLECTION_ID,
307           p_KANBAN_CARD_ID  => p_CSP_rec.KANBAN_CARD_ID,
308           p_OVERCOMPLETION_TXN_ID  => p_CSP_rec.OVERCOMPLETION_TRANSACTION_ID,
309           p_OVERCOMPLETION_PRIMARY_QTY  => p_CSP_rec.OVERCOMPLETION_PRIMARY_QTY,
310           p_OVERCOMPLETION_TXN_QTY  => p_CSP_rec.OVERCOMPLETION_TRANSACTION_QTY,
311           -- p_PROCESS_TYPE  => p_CSP_rec.PROCESS_TYPE,
312           p_END_ITEM_UNIT_NUMBER  => p_CSP_rec.END_ITEM_UNIT_NUMBER,
316           p_PUT_AWAY_STRATEGY_ID  => p_CSP_rec.PUT_AWAY_STRATEGY_ID,
313           p_SCHEDULED_PAYBACK_DATE  => p_CSP_rec.SCHEDULED_PAYBACK_DATE,
314           p_LINE_TYPE_CODE  => p_CSP_rec.LINE_TYPE_CODE,
315           p_PARENT_TRANSACTION_TEMP_ID  => p_CSP_rec.PARENT_TRANSACTION_TEMP_ID,
317           p_PUT_AWAY_RULE_ID  => p_CSP_rec.PUT_AWAY_RULE_ID,
318           p_PICK_STRATEGY_ID  => p_CSP_rec.PICK_STRATEGY_ID,
319           p_PICK_RULE_ID  => p_CSP_rec.PICK_RULE_ID,
320           p_COMMON_BOM_SEQ_ID  => p_CSP_rec.COMMON_BOM_SEQ_ID,
321           p_COMMON_ROUTING_SEQ_ID  => p_CSP_rec.COMMON_ROUTING_SEQ_ID,
322           p_COST_TYPE_ID  => p_CSP_rec.COST_TYPE_ID,
323           p_ORG_COST_GROUP_ID  => p_CSP_rec.ORG_COST_GROUP_ID,
324           p_MOVE_ORDER_LINE_ID  => p_CSP_rec.MOVE_ORDER_LINE_ID,
325           p_TASK_GROUP_ID  => p_CSP_rec.TASK_GROUP_ID,
326           p_PICK_SLIP_NUMBER  => p_CSP_rec.PICK_SLIP_NUMBER,
327           p_RESERVATION_ID  => p_CSP_rec.RESERVATION_ID,
328           p_TRANSACTION_STATUS  => p_CSP_rec.TRANSACTION_STATUS,
329           p_STANDARD_OPERATION_ID  => p_CSP_rec.STANDARD_OPERATION_ID,
330           p_TASK_PRIORITY  => p_CSP_rec.TASK_PRIORITY,
331           p_WMS_TASK_TYPE => p_CSP_rec.WMS_TASK_TYPE,
332           p_PARENT_LINE_ID => p_CSP_rec.PARENT_LINE_ID);
333 --        P_SOURCE_LOT_NUMBER => p_CSP_rec.SOURCE_LOT_NUMBER);
334       -- Hint: Primary key should be returned.
335       -- x_TRANSACTION_TEMP_ID := px_TRANSACTION_TEMP_ID;
336 
337       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
338           RAISE FND_API.G_EXC_ERROR;
339       END IF;
340 
341       --
342       -- End of API body
343       --
344 
345       -- Standard check for p_commit
346       IF FND_API.to_Boolean( p_commit )
347       THEN
348           COMMIT WORK;
349       END IF;
350 
351 
352       -- Debug Message
353       -- JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
354 
355 
356       -- Standard call to get message count and if count is 1, get message info.
357       FND_MSG_PUB.Count_And_Get
358       (  p_count          =>   x_msg_count,
359          p_data           =>   x_msg_data
360       );
361 
362 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
363 /*
364       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
365       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
366       THEN
367           AS_CALLOUT_PKG.Create_material_transactions_AC(
368                   p_api_version_number   =>  2.0,
369                   p_init_msg_list        =>  FND_API.G_FALSE,
370                   p_commit               =>  FND_API.G_FALSE,
371                   p_validation_level     =>  p_validation_level,
372                   P_CSP_Rec      =>  P_CSP_Rec,
373           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
374                   x_return_status        =>  x_return_status,
375                   x_msg_count            =>  x_msg_count,
376                   x_msg_data             =>  x_msg_data);
377       END IF;
378 */
379        EXCEPTION
380           WHEN FND_API.G_EXC_ERROR THEN
381               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
382                    P_API_NAME => L_API_NAME
383                   ,P_PKG_NAME => G_PKG_NAME
384                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
385                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
386                   ,X_MSG_COUNT => X_MSG_COUNT
387                   ,X_MSG_DATA => X_MSG_DATA
388                   ,X_RETURN_STATUS => X_RETURN_STATUS);
389 
390           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
391               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
392                    P_API_NAME => L_API_NAME
393                   ,P_PKG_NAME => G_PKG_NAME
394                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
395                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
396                   ,X_MSG_COUNT => X_MSG_COUNT
397                   ,X_MSG_DATA => X_MSG_DATA
398                   ,X_RETURN_STATUS => X_RETURN_STATUS);
399 
400           WHEN OTHERS THEN
401               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
402                    P_API_NAME => L_API_NAME
403                   ,P_PKG_NAME => G_PKG_NAME
404                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
405                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
406                   ,X_MSG_COUNT => X_MSG_COUNT
407                   ,X_MSG_DATA => X_MSG_DATA
408                   ,X_RETURN_STATUS => X_RETURN_STATUS);
409 End Create_material_transactions;
410 
411 
412 -- Hint: Add corresponding update detail table procedures if it's master-detail relationship.
413 PROCEDURE Update_material_transactions(
414     P_Api_Version_Number         IN   NUMBER,
415     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
416     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
417     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
418     P_CSP_Rec                    IN   CSP_Rec_Type,
419     X_Return_Status              OUT NOCOPY  VARCHAR2,
420     X_Msg_Count                  OUT NOCOPY  NUMBER,
421     X_Msg_Data                   OUT NOCOPY  VARCHAR2
422     )
423 
424  IS
425 /*
426 Cursor C_Get_material_transactions(TRANSACTION_HEADER_ID Number) IS
427     Select rowid,
428            TRANSACTION_HEADER_ID,
429            TRANSACTION_TEMP_ID,
430            SOURCE_CODE,
434            LAST_UPDATE_DATE,
431            SOURCE_LINE_ID,
432            TRANSACTION_MODE,
433            LOCK_FLAG,
435            LAST_UPDATED_BY,
436            CREATION_DATE,
437            CREATED_BY,
438            LAST_UPDATE_LOGIN,
439            REQUEST_ID,
440            PROGRAM_APPLICATION_ID,
441            PROGRAM_ID,
442            PROGRAM_UPDATE_DATE,
443            INVENTORY_ITEM_ID,
444            REVISION,
445            ORGANIZATION_ID,
446            SUBINVENTORY_CODE,
447            LOCATOR_ID,
448            TRANSACTION_QUANTITY,
449            PRIMARY_QUANTITY,
450            TRANSACTION_UOM,
451            TRANSACTION_COST,
452            TRANSACTION_TYPE_ID,
453            TRANSACTION_ACTION_ID,
454            TRANSACTION_SOURCE_TYPE_ID,
455            TRANSACTION_SOURCE_ID,
456            TRANSACTION_SOURCE_NAME,
457            TRANSACTION_DATE,
458            ACCT_PERIOD_ID,
459            DISTRIBUTION_ACCOUNT_ID,
460            TRANSACTION_REFERENCE,
461            REQUISITION_LINE_ID,
462            REQUISITION_DISTRIBUTION_ID,
463            REASON_ID,
464            LOT_NUMBER,
465            LOT_EXPIRATION_DATE,
466            SERIAL_NUMBER,
467            RECEIVING_DOCUMENT,
468            DEMAND_ID,
469            RCV_TRANSACTION_ID,
470            MOVE_TRANSACTION_ID,
471            COMPLETION_TRANSACTION_ID,
472            WIP_ENTITY_TYPE,
473            SCHEDULE_ID,
474            REPETITIVE_LINE_ID,
475            EMPLOYEE_CODE,
476            PRIMARY_SWITCH,
477            SCHEDULE_UPDATE_CODE,
478            SETUP_TEARDOWN_CODE,
479            ITEM_ORDERING,
480            NEGATIVE_REQ_FLAG,
481            OPERATION_SEQ_NUM,
482            PICKING_LINE_ID,
483            TRX_SOURCE_LINE_ID,
484            TRX_SOURCE_DELIVERY_ID,
485            PHYSICAL_ADJUSTMENT_ID,
486            CYCLE_COUNT_ID,
487            RMA_LINE_ID,
488            CUSTOMER_SHIP_ID,
489            CURRENCY_CODE,
490            CURRENCY_CONVERSION_RATE,
491            CURRENCY_CONVERSION_TYPE,
492            CURRENCY_CONVERSION_DATE,
493            USSGL_TRANSACTION_CODE,
494            VENDOR_LOT_NUMBER,
495            ENCUMBRANCE_ACCOUNT,
496            ENCUMBRANCE_AMOUNT,
497            SHIP_TO_LOCATION,
498            SHIPMENT_NUMBER,
499            TRANSFER_COST,
500            TRANSPORTATION_COST,
501            TRANSPORTATION_ACCOUNT,
502            FREIGHT_CODE,
503            CONTAINERS,
504            WAYBILL_AIRBILL,
505            EXPECTED_ARRIVAL_DATE,
506            TRANSFER_SUBINVENTORY,
507            TRANSFER_ORGANIZATION,
508            TRANSFER_TO_LOCATION,
509            NEW_AVERAGE_COST,
510            VALUE_CHANGE,
511            PERCENTAGE_CHANGE,
512            MATERIAL_ALLOCATION_TEMP_ID,
513            DEMAND_SOURCE_HEADER_ID,
514            DEMAND_SOURCE_LINE,
515            DEMAND_SOURCE_DELIVERY,
516            ITEM_SEGMENTS,
517            ITEM_DESCRIPTION,
518            ITEM_TRX_ENABLED_FLAG,
519            ITEM_LOCATION_CONTROL_CODE,
520            ITEM_RESTRICT_SUBINV_CODE,
521            ITEM_RESTRICT_LOCATORS_CODE,
522            ITEM_REVISION_QTY_CONTROL_CODE,
523            ITEM_PRIMARY_UOM_CODE,
524            ITEM_UOM_CLASS,
525            ITEM_SHELF_LIFE_CODE,
526            ITEM_SHELF_LIFE_DAYS,
527            ITEM_LOT_CONTROL_CODE,
528            ITEM_SERIAL_CONTROL_CODE,
529            ITEM_INVENTORY_ASSET_FLAG,
530            ALLOWED_UNITS_LOOKUP_CODE,
531            DEPARTMENT_ID,
532            DEPARTMENT_CODE,
533            WIP_SUPPLY_TYPE,
534            SUPPLY_SUBINVENTORY,
535            SUPPLY_LOCATOR_ID,
536            VALID_SUBINVENTORY_FLAG,
537            VALID_LOCATOR_FLAG,
538            LOCATOR_SEGMENTS,
539            CURRENT_LOCATOR_CONTROL_CODE,
540            NUMBER_OF_LOTS_ENTERED,
541            WIP_COMMIT_FLAG,
542            NEXT_LOT_NUMBER,
543            LOT_ALPHA_PREFIX,
544            NEXT_SERIAL_NUMBER,
545            SERIAL_ALPHA_PREFIX,
546            SHIPPABLE_FLAG,
547            POSTING_FLAG,
548            REQUIRED_FLAG,
549            PROCESS_FLAG,
550            ERROR_CODE,
551            ERROR_EXPLANATION,
552            ATTRIBUTE_CATEGORY,
553            ATTRIBUTE1,
554            ATTRIBUTE2,
555            ATTRIBUTE3,
556            ATTRIBUTE4,
557            ATTRIBUTE5,
558            ATTRIBUTE6,
559            ATTRIBUTE7,
560            ATTRIBUTE8,
561            ATTRIBUTE9,
562            ATTRIBUTE10,
563            ATTRIBUTE11,
564            ATTRIBUTE12,
565            ATTRIBUTE13,
566            ATTRIBUTE14,
567            ATTRIBUTE15,
568            MOVEMENT_ID,
569            RESERVATION_QUANTITY,
570            SHIPPED_QUANTITY,
571            TRANSACTION_LINE_NUMBER,
572            TASK_ID,
573            TO_TASK_ID,
574            SOURCE_TASK_ID,
575            PROJECT_ID,
576            SOURCE_PROJECT_ID,
577            PA_EXPENDITURE_ORG_ID,
578            TO_PROJECT_ID,
579            EXPENDITURE_TYPE,
580            FINAL_COMPLETION_FLAG,
581            TRANSFER_PERCENTAGE,
582            TRANSACTION_SEQUENCE_ID,
583            MATERIAL_ACCOUNT,
584            MATERIAL_OVERHEAD_ACCOUNT,
588            FLOW_SCHEDULE,
585            RESOURCE_ACCOUNT,
586            OUTSIDE_PROCESSING_ACCOUNT,
587            OVERHEAD_ACCOUNT,
589            COST_GROUP_ID,
590            DEMAND_CLASS,
591            QA_COLLECTION_ID,
592            KANBAN_CARD_ID,
593            OVERCOMPLETION_TRANSACTION_ID,
594            OVERCOMPLETION_PRIMARY_QTY,
595            OVERCOMPLETION_TRANSACTION_QTY,
596            PROCESS_TYPE,
597            END_ITEM_UNIT_NUMBER,
598            SCHEDULED_PAYBACK_DATE,
599            LINE_TYPE_CODE,
600            PARENT_TRANSACTION_TEMP_ID,
601            PUT_AWAY_STRATEGY_ID,
602            PUT_AWAY_RULE_ID,
603            PICK_STRATEGY_ID,
604            PICK_RULE_ID,
605            COMMON_BOM_SEQ_ID,
606            COMMON_ROUTING_SEQ_ID,
607            COST_TYPE_ID,
608            ORG_COST_GROUP_ID,
609            MOVE_ORDER_LINE_ID,
610            TASK_GROUP_ID,
611            PICK_SLIP_NUMBER,
612            RESERVATION_ID,
613            TRANSACTION_STATUS
614     From  MTL_MATERIAL_TRANSACTIONS_TEMP
615     -- Hint: Developer need to provide Where clause
616     For Update NOWAIT;
617 */
618 l_api_name                CONSTANT VARCHAR2(30) := 'UPDATE_MATERIAL_TXN';
619 l_api_version_number      CONSTANT NUMBER   := 1.0;
620 -- Local Variables
621 --l_identity_sales_member_rec   AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
622 l_ref_CSP_rec  CSP_material_transactions_PVT.CSP_Rec_Type;
623 l_tar_CSP_rec  CSP_material_transactions_PVT.CSP_Rec_Type := P_CSP_Rec;
624 l_rowid  ROWID;
625  BEGIN
626       -- Standard Start of API savepoint
627       SAVEPOINT UPDATE_MATERIAL_TXN_PVT;
628 
629       -- Standard call to check for call compatibility.
630       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
631                          	             p_api_version_number,
632                                            l_api_name,
633                                            G_PKG_NAME)
634       THEN
635           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
636       END IF;
637 
638 
639       -- Initialize message list if p_init_msg_list is set to TRUE.
640       IF FND_API.to_Boolean( p_init_msg_list )
641       THEN
642           FND_MSG_PUB.initialize;
643       END IF;
644 
645 
646       -- Debug Message
647       --JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
648 
649 
650       -- Initialize API return status to SUCCESS
651       x_return_status := FND_API.G_RET_STS_SUCCESS;
652 
653       --
654       -- Api body
655       --
656 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
657 /*
658       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
659       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
660       THEN
661           AS_CALLOUT_PKG.Update_material_transactions_BU(
662                   p_api_version_number   =>  2.0,
663                   p_init_msg_list        =>  FND_API.G_FALSE,
664                   p_commit               =>  FND_API.G_FALSE,
665                   p_validation_level     =>  p_validation_level,
666                   p_identity_salesforce_id => p_identity_salesforce_id,
667                   P_CSP_Rec      =>  P_CSP_Rec,
668           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
669                   x_return_status        =>  x_return_status,
670                   x_msg_count            =>  x_msg_count,
671                   x_msg_data             =>  x_msg_data);
672       END IF;
673 */
674 
675  /*     AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
676           p_api_version_number => 2.0
677          ,p_salesforce_id => p_identity_salesforce_id
678          ,x_return_status => x_return_status
679          ,x_msg_count => x_msg_count
680          ,x_msg_data => x_msg_data
681          ,x_sales_member_rec => l_identity_sales_member_rec);
682 
683       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
684           RAISE FND_API.G_EXC_ERROR;
685       END IF;
686 */
687       -- Debug Message
688      -- JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: - Open Cursor to Select');
689 
690 /*
691       Open C_Get_material_transactions( l_tar_CSP_rec.TRANSACTION_HEADER_ID);
692 
693       Fetch C_Get_material_transactions into
694                l_rowid,
695                l_ref_CSP_rec.TRANSACTION_HEADER_ID,
696                l_ref_CSP_rec.TRANSACTION_TEMP_ID,
697                l_ref_CSP_rec.SOURCE_CODE,
698                l_ref_CSP_rec.SOURCE_LINE_ID,
699                l_ref_CSP_rec.TRANSACTION_MODE,
700                l_ref_CSP_rec.LOCK_FLAG,
701                l_ref_CSP_rec.LAST_UPDATE_DATE,
702                l_ref_CSP_rec.LAST_UPDATED_BY,
703                l_ref_CSP_rec.CREATION_DATE,
704                l_ref_CSP_rec.CREATED_BY,
705                l_ref_CSP_rec.LAST_UPDATE_LOGIN,
706                l_ref_CSP_rec.REQUEST_ID,
707                l_ref_CSP_rec.PROGRAM_APPLICATION_ID,
708                l_ref_CSP_rec.PROGRAM_ID,
709                l_ref_CSP_rec.PROGRAM_UPDATE_DATE,
710                l_ref_CSP_rec.INVENTORY_ITEM_ID,
711                l_ref_CSP_rec.REVISION,
712                l_ref_CSP_rec.ORGANIZATION_ID,
713                l_ref_CSP_rec.SUBINVENTORY_CODE,
714                l_ref_CSP_rec.LOCATOR_ID,
715                l_ref_CSP_rec.TRANSACTION_QUANTITY,
719                l_ref_CSP_rec.TRANSACTION_TYPE_ID,
716                l_ref_CSP_rec.PRIMARY_QUANTITY,
717                l_ref_CSP_rec.TRANSACTION_UOM,
718                l_ref_CSP_rec.TRANSACTION_COST,
720                l_ref_CSP_rec.TRANSACTION_ACTION_ID,
721                l_ref_CSP_rec.TRANSACTION_SOURCE_TYPE_ID,
722                l_ref_CSP_rec.TRANSACTION_SOURCE_ID,
723                l_ref_CSP_rec.TRANSACTION_SOURCE_NAME,
724                l_ref_CSP_rec.TRANSACTION_DATE,
725                l_ref_CSP_rec.ACCT_PERIOD_ID,
726                l_ref_CSP_rec.DISTRIBUTION_ACCOUNT_ID,
727                l_ref_CSP_rec.TRANSACTION_REFERENCE,
728                l_ref_CSP_rec.REQUISITION_LINE_ID,
729                l_ref_CSP_rec.REQUISITION_DISTRIBUTION_ID,
730                l_ref_CSP_rec.REASON_ID,
731                l_ref_CSP_rec.LOT_NUMBER,
732                l_ref_CSP_rec.LOT_EXPIRATION_DATE,
733                l_ref_CSP_rec.SERIAL_NUMBER,
734                l_ref_CSP_rec.RECEIVING_DOCUMENT,
735                l_ref_CSP_rec.DEMAND_ID,
736                l_ref_CSP_rec.RCV_TRANSACTION_ID,
737                l_ref_CSP_rec.MOVE_TRANSACTION_ID,
738                l_ref_CSP_rec.COMPLETION_TRANSACTION_ID,
739                l_ref_CSP_rec.WIP_ENTITY_TYPE,
740                l_ref_CSP_rec.SCHEDULE_ID,
741                l_ref_CSP_rec.REPETITIVE_LINE_ID,
742                l_ref_CSP_rec.EMPLOYEE_CODE,
743                l_ref_CSP_rec.PRIMARY_SWITCH,
744                l_ref_CSP_rec.SCHEDULE_UPDATE_CODE,
745                l_ref_CSP_rec.SETUP_TEARDOWN_CODE,
746                l_ref_CSP_rec.ITEM_ORDERING,
747                l_ref_CSP_rec.NEGATIVE_REQ_FLAG,
748                l_ref_CSP_rec.OPERATION_SEQ_NUM,
749                l_ref_CSP_rec.PICKING_LINE_ID,
750                l_ref_CSP_rec.TRX_SOURCE_LINE_ID,
751                l_ref_CSP_rec.TRX_SOURCE_DELIVERY_ID,
752                l_ref_CSP_rec.PHYSICAL_ADJUSTMENT_ID,
753                l_ref_CSP_rec.CYCLE_COUNT_ID,
754                l_ref_CSP_rec.RMA_LINE_ID,
755                l_ref_CSP_rec.CUSTOMER_SHIP_ID,
756                l_ref_CSP_rec.CURRENCY_CODE,
757                l_ref_CSP_rec.CURRENCY_CONVERSION_RATE,
758                l_ref_CSP_rec.CURRENCY_CONVERSION_TYPE,
759                l_ref_CSP_rec.CURRENCY_CONVERSION_DATE,
760                l_ref_CSP_rec.USSGL_TRANSACTION_CODE,
761                l_ref_CSP_rec.VENDOR_LOT_NUMBER,
762                l_ref_CSP_rec.ENCUMBRANCE_ACCOUNT,
763                l_ref_CSP_rec.ENCUMBRANCE_AMOUNT,
764                l_ref_CSP_rec.SHIP_TO_LOCATION,
765                l_ref_CSP_rec.SHIPMENT_NUMBER,
766                l_ref_CSP_rec.TRANSFER_COST,
767                l_ref_CSP_rec.TRANSPORTATION_COST,
768                l_ref_CSP_rec.TRANSPORTATION_ACCOUNT,
769                l_ref_CSP_rec.FREIGHT_CODE,
770                l_ref_CSP_rec.CONTAINERS,
771                l_ref_CSP_rec.WAYBILL_AIRBILL,
772                l_ref_CSP_rec.EXPECTED_ARRIVAL_DATE,
773                l_ref_CSP_rec.TRANSFER_SUBINVENTORY,
774                l_ref_CSP_rec.TRANSFER_ORGANIZATION,
775                l_ref_CSP_rec.TRANSFER_TO_LOCATION,
776                l_ref_CSP_rec.NEW_AVERAGE_COST,
777                l_ref_CSP_rec.VALUE_CHANGE,
778                l_ref_CSP_rec.PERCENTAGE_CHANGE,
779                l_ref_CSP_rec.MATERIAL_ALLOCATION_TEMP_ID,
780                l_ref_CSP_rec.DEMAND_SOURCE_HEADER_ID,
781                l_ref_CSP_rec.DEMAND_SOURCE_LINE,
782                l_ref_CSP_rec.DEMAND_SOURCE_DELIVERY,
783                l_ref_CSP_rec.ITEM_SEGMENTS,
784                l_ref_CSP_rec.ITEM_DESCRIPTION,
785                l_ref_CSP_rec.ITEM_TRX_ENABLED_FLAG,
786                l_ref_CSP_rec.ITEM_LOCATION_CONTROL_CODE,
787                l_ref_CSP_rec.ITEM_RESTRICT_SUBINV_CODE,
788                l_ref_CSP_rec.ITEM_RESTRICT_LOCATORS_CODE,
789                l_ref_CSP_rec.ITEM_REVISION_QTY_CONTROL_CODE,
790                l_ref_CSP_rec.ITEM_PRIMARY_UOM_CODE,
791                l_ref_CSP_rec.ITEM_UOM_CLASS,
792                l_ref_CSP_rec.ITEM_SHELF_LIFE_CODE,
793                l_ref_CSP_rec.ITEM_SHELF_LIFE_DAYS,
794                l_ref_CSP_rec.ITEM_LOT_CONTROL_CODE,
795                l_ref_CSP_rec.ITEM_SERIAL_CONTROL_CODE,
796                l_ref_CSP_rec.ITEM_INVENTORY_ASSET_FLAG,
797                l_ref_CSP_rec.ALLOWED_UNITS_LOOKUP_CODE,
798                l_ref_CSP_rec.DEPARTMENT_ID,
799                l_ref_CSP_rec.DEPARTMENT_CODE,
800                l_ref_CSP_rec.WIP_SUPPLY_TYPE,
801                l_ref_CSP_rec.SUPPLY_SUBINVENTORY,
802                l_ref_CSP_rec.SUPPLY_LOCATOR_ID,
803                l_ref_CSP_rec.VALID_SUBINVENTORY_FLAG,
804                l_ref_CSP_rec.VALID_LOCATOR_FLAG,
805                l_ref_CSP_rec.LOCATOR_SEGMENTS,
806                l_ref_CSP_rec.CURRENT_LOCATOR_CONTROL_CODE,
807                l_ref_CSP_rec.NUMBER_OF_LOTS_ENTERED,
808                l_ref_CSP_rec.WIP_COMMIT_FLAG,
809                l_ref_CSP_rec.NEXT_LOT_NUMBER,
810                l_ref_CSP_rec.LOT_ALPHA_PREFIX,
811                l_ref_CSP_rec.NEXT_SERIAL_NUMBER,
812                l_ref_CSP_rec.SERIAL_ALPHA_PREFIX,
813                l_ref_CSP_rec.SHIPPABLE_FLAG,
814                l_ref_CSP_rec.POSTING_FLAG,
815                l_ref_CSP_rec.REQUIRED_FLAG,
816                l_ref_CSP_rec.PROCESS_FLAG,
817                l_ref_CSP_rec.ERROR_CODE,
818                l_ref_CSP_rec.ERROR_EXPLANATION,
819                l_ref_CSP_rec.ATTRIBUTE_CATEGORY,
820                l_ref_CSP_rec.ATTRIBUTE1,
821                l_ref_CSP_rec.ATTRIBUTE2,
822                l_ref_CSP_rec.ATTRIBUTE3,
823                l_ref_CSP_rec.ATTRIBUTE4,
827                l_ref_CSP_rec.ATTRIBUTE8,
824                l_ref_CSP_rec.ATTRIBUTE5,
825                l_ref_CSP_rec.ATTRIBUTE6,
826                l_ref_CSP_rec.ATTRIBUTE7,
828                l_ref_CSP_rec.ATTRIBUTE9,
829                l_ref_CSP_rec.ATTRIBUTE10,
830                l_ref_CSP_rec.ATTRIBUTE11,
831                l_ref_CSP_rec.ATTRIBUTE12,
832                l_ref_CSP_rec.ATTRIBUTE13,
833                l_ref_CSP_rec.ATTRIBUTE14,
834                l_ref_CSP_rec.ATTRIBUTE15,
835                l_ref_CSP_rec.MOVEMENT_ID,
836                l_ref_CSP_rec.RESERVATION_QUANTITY,
837                l_ref_CSP_rec.SHIPPED_QUANTITY,
838                l_ref_CSP_rec.TRANSACTION_LINE_NUMBER,
839                l_ref_CSP_rec.TASK_ID,
840                l_ref_CSP_rec.TO_TASK_ID,
841                l_ref_CSP_rec.SOURCE_TASK_ID,
842                l_ref_CSP_rec.PROJECT_ID,
843                l_ref_CSP_rec.SOURCE_PROJECT_ID,
844                l_ref_CSP_rec.PA_EXPENDITURE_ORG_ID,
845                l_ref_CSP_rec.TO_PROJECT_ID,
846                l_ref_CSP_rec.EXPENDITURE_TYPE,
847                l_ref_CSP_rec.FINAL_COMPLETION_FLAG,
848                l_ref_CSP_rec.TRANSFER_PERCENTAGE,
849                l_ref_CSP_rec.TRANSACTION_SEQUENCE_ID,
850                l_ref_CSP_rec.MATERIAL_ACCOUNT,
851                l_ref_CSP_rec.MATERIAL_OVERHEAD_ACCOUNT,
852                l_ref_CSP_rec.RESOURCE_ACCOUNT,
853                l_ref_CSP_rec.OUTSIDE_PROCESSING_ACCOUNT,
854                l_ref_CSP_rec.OVERHEAD_ACCOUNT,
855                l_ref_CSP_rec.FLOW_SCHEDULE,
856                l_ref_CSP_rec.COST_GROUP_ID,
857                l_ref_CSP_rec.DEMAND_CLASS,
858                l_ref_CSP_rec.QA_COLLECTION_ID,
859                l_ref_CSP_rec.KANBAN_CARD_ID,
860                l_ref_CSP_rec.OVERCOMPLETION_TRANSACTION_ID,
861                l_ref_CSP_rec.OVERCOMPLETION_PRIMARY_QTY,
862                l_ref_CSP_rec.OVERCOMPLETION_TRANSACTION_QTY,
863                l_ref_CSP_rec.PROCESS_TYPE,
864                l_ref_CSP_rec.END_ITEM_UNIT_NUMBER,
865                l_ref_CSP_rec.SCHEDULED_PAYBACK_DATE,
866                l_ref_CSP_rec.LINE_TYPE_CODE,
867                l_ref_CSP_rec.PARENT_TRANSACTION_TEMP_ID,
868                l_ref_CSP_rec.PUT_AWAY_STRATEGY_ID,
869                l_ref_CSP_rec.PUT_AWAY_RULE_ID,
870                l_ref_CSP_rec.PICK_STRATEGY_ID,
871                l_ref_CSP_rec.PICK_RULE_ID,
872                l_ref_CSP_rec.COMMON_BOM_SEQ_ID,
873                l_ref_CSP_rec.COMMON_ROUTING_SEQ_ID,
874                l_ref_CSP_rec.COST_TYPE_ID,
875                l_ref_CSP_rec.ORG_COST_GROUP_ID,
876                l_ref_CSP_rec.MOVE_ORDER_LINE_ID,
877                l_ref_CSP_rec.TASK_GROUP_ID,
878                l_ref_CSP_rec.PICK_SLIP_NUMBER,
879                l_ref_CSP_rec.RESERVATION_ID,
880                l_ref_CSP_rec.TRANSACTION_STATUS;
881 
882        If ( C_Get_material_transactions%NOTFOUND) Then
883            IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
884            THEN
885                FND_MESSAGE.Set_Name('CSP', 'API_MISSING_UPDATE_TARGET');
886                FND_MESSAGE.Set_Token ('INFO', 'material_transactions', FALSE);
887                FND_MSG_PUB.Add;
888            END IF;
889            raise FND_API.G_EXC_ERROR;
890        END IF;
891        -- Debug Message
892        JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: - Close Cursor');
893        Close     C_Get_material_transactions;
894 */
895 
896 
897 /*      If (l_tar_CSP_rec.last_update_date is NULL or
898           l_tar_CSP_rec.last_update_date = FND_API.G_MISS_Date ) Then
899           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
900           THEN
901               FND_MESSAGE.Set_Name('CSP', 'API_MISSING_ID');
902               FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
903               FND_MSG_PUB.ADD;
904           END IF;
905           raise FND_API.G_EXC_ERROR;
906       End if;
907       -- Check Whether record has been changed by someone else
908       If (l_tar_CSP_rec.last_update_date <> l_ref_CSP_rec.last_update_date) Then
909           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
910           THEN
911               FND_MESSAGE.Set_Name('CSP', 'API_RECORD_CHANGED');
912               FND_MESSAGE.Set_Token('INFO', 'material_transactions', FALSE);
913               FND_MSG_PUB.ADD;
914           END IF;
915           raise FND_API.G_EXC_ERROR;
916       End if;
917 */
918 
919 /*      IF ( P_validation_level >= FND_API.G_VALID_LEVEL_FULL)
920       THEN
921           -- Debug message
922           JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW,'Private API: Validate_material_transactions');
923 
924           -- Invoke validation procedures
925           Validate_material_transactions(
926               p_init_msg_list    => FND_API.G_FALSE,
927               p_validation_level => p_validation_level,
928               p_validation_mode  => JTF_PLSQL_API.G_UPDATE,
929               P_CSP_Rec  =>  P_CSP_Rec,
930               x_return_status    => x_return_status,
931               x_msg_count        => x_msg_count,
932               x_msg_data         => x_msg_data);
933       END IF;
934 
935       IF x_return_status<>FND_API.G_RET_STS_SUCCESS THEN
936           RAISE FND_API.G_EXC_ERROR;
937       END IF;
938 */
939       -- Hint: Add corresponding Master-Detail business logic here if necessary.
940 
941       -- Debug Message
945       CSP_MTL_TRANSACTIONS_PKG.Update_Row(
942     --  JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling update table handler');
943 
944       -- Invoke table handler(MTL_MATERIAL_TRANSACTIONS_TEMP_PKG.Update_Row)
946           p_TRANSACTION_HEADER_ID  => p_CSP_rec.TRANSACTION_HEADER_ID,
947           p_TRANSACTION_TEMP_ID  => p_CSP_rec.TRANSACTION_TEMP_ID,
948           p_SOURCE_CODE  => p_CSP_rec.SOURCE_CODE,
949           p_SOURCE_LINE_ID  => p_CSP_rec.SOURCE_LINE_ID,
950           p_TRANSACTION_MODE  => p_CSP_rec.TRANSACTION_MODE,
951           p_LOCK_FLAG  => p_CSP_rec.LOCK_FLAG,
952           p_LAST_UPDATE_DATE  => p_CSP_rec.LAST_UPDATE_DATE,
953           p_LAST_UPDATED_BY  => p_CSP_rec.LAST_UPDATED_BY,
954           p_CREATION_DATE  => p_CSP_rec.CREATION_DATE,
955           p_CREATED_BY  => p_CSP_rec.CREATED_BY,
956           p_LAST_UPDATE_LOGIN  => p_CSP_rec.LAST_UPDATE_LOGIN,
957           p_REQUEST_ID  => p_CSP_rec.REQUEST_ID,
958           p_PROGRAM_APPLICATION_ID  => p_CSP_rec.PROGRAM_APPLICATION_ID,
959           p_PROGRAM_ID  => p_CSP_rec.PROGRAM_ID,
960           p_PROGRAM_UPDATE_DATE  => p_CSP_rec.PROGRAM_UPDATE_DATE,
961           p_INVENTORY_ITEM_ID  => p_CSP_rec.INVENTORY_ITEM_ID,
962           p_REVISION  => p_CSP_rec.REVISION,
963           p_ORGANIZATION_ID  => p_CSP_rec.ORGANIZATION_ID,
964           p_SUBINVENTORY_CODE  => p_CSP_rec.SUBINVENTORY_CODE,
965           p_LOCATOR_ID  => p_CSP_rec.LOCATOR_ID,
966           p_TRANSACTION_QUANTITY  => p_CSP_rec.TRANSACTION_QUANTITY,
967           p_PRIMARY_QUANTITY  => p_CSP_rec.PRIMARY_QUANTITY,
968           p_TRANSACTION_UOM  => p_CSP_rec.TRANSACTION_UOM,
969           p_TRANSACTION_COST  => p_CSP_rec.TRANSACTION_COST,
970           p_TRANSACTION_TYPE_ID  => p_CSP_rec.TRANSACTION_TYPE_ID,
971           p_TRANSACTION_ACTION_ID  => p_CSP_rec.TRANSACTION_ACTION_ID,
972           p_TRANSACTION_SOURCE_TYPE_ID  => p_CSP_rec.TRANSACTION_SOURCE_TYPE_ID,
973           p_TRANSACTION_SOURCE_ID  => p_CSP_rec.TRANSACTION_SOURCE_ID,
974           p_TRANSACTION_SOURCE_NAME  => p_CSP_rec.TRANSACTION_SOURCE_NAME,
975           p_TRANSACTION_DATE  => p_CSP_rec.TRANSACTION_DATE,
976           p_ACCT_PERIOD_ID  => p_CSP_rec.ACCT_PERIOD_ID,
977           p_DISTRIBUTION_ACCOUNT_ID  => p_CSP_rec.DISTRIBUTION_ACCOUNT_ID,
978           p_TRANSACTION_REFERENCE  => p_CSP_rec.TRANSACTION_REFERENCE,
979           p_REQUISITION_LINE_ID  => p_CSP_rec.REQUISITION_LINE_ID,
980           p_REQUISITION_DISTRIBUTION_ID  => p_CSP_rec.REQUISITION_DISTRIBUTION_ID,
981           p_REASON_ID  => p_CSP_rec.REASON_ID,
982           p_LOT_NUMBER  => p_CSP_rec.LOT_NUMBER,
983           p_LOT_EXPIRATION_DATE  => p_CSP_rec.LOT_EXPIRATION_DATE,
984           p_SERIAL_NUMBER  => p_CSP_rec.SERIAL_NUMBER,
985           p_RECEIVING_DOCUMENT  => p_CSP_rec.RECEIVING_DOCUMENT,
986           p_DEMAND_ID  => p_CSP_rec.DEMAND_ID,
987           p_RCV_TRANSACTION_ID  => p_CSP_rec.RCV_TRANSACTION_ID,
988           p_MOVE_TRANSACTION_ID  => p_CSP_rec.MOVE_TRANSACTION_ID,
989           p_COMPLETION_TRANSACTION_ID  => p_CSP_rec.COMPLETION_TRANSACTION_ID,
990           p_WIP_ENTITY_TYPE  => p_CSP_rec.WIP_ENTITY_TYPE,
991           p_SCHEDULE_ID  => p_CSP_rec.SCHEDULE_ID,
992           p_REPETITIVE_LINE_ID  => p_CSP_rec.REPETITIVE_LINE_ID,
993           p_EMPLOYEE_CODE  => p_CSP_rec.EMPLOYEE_CODE,
994           p_PRIMARY_SWITCH  => p_CSP_rec.PRIMARY_SWITCH,
995           p_SCHEDULE_UPDATE_CODE  => p_CSP_rec.SCHEDULE_UPDATE_CODE,
996           p_SETUP_TEARDOWN_CODE  => p_CSP_rec.SETUP_TEARDOWN_CODE,
997           p_ITEM_ORDERING  => p_CSP_rec.ITEM_ORDERING,
998           p_NEGATIVE_REQ_FLAG  => p_CSP_rec.NEGATIVE_REQ_FLAG,
999           p_OPERATION_SEQ_NUM  => p_CSP_rec.OPERATION_SEQ_NUM,
1000           p_PICKING_LINE_ID  => p_CSP_rec.PICKING_LINE_ID,
1001           p_TRX_SOURCE_LINE_ID  => p_CSP_rec.TRX_SOURCE_LINE_ID,
1002           p_TRX_SOURCE_DELIVERY_ID  => p_CSP_rec.TRX_SOURCE_DELIVERY_ID,
1003           p_PHYSICAL_ADJUSTMENT_ID  => p_CSP_rec.PHYSICAL_ADJUSTMENT_ID,
1004           p_CYCLE_COUNT_ID  => p_CSP_rec.CYCLE_COUNT_ID,
1005           p_RMA_LINE_ID  => p_CSP_rec.RMA_LINE_ID,
1006           p_CUSTOMER_SHIP_ID  => p_CSP_rec.CUSTOMER_SHIP_ID,
1007           p_CURRENCY_CODE  => p_CSP_rec.CURRENCY_CODE,
1008           p_CURRENCY_CONVERSION_RATE  => p_CSP_rec.CURRENCY_CONVERSION_RATE,
1009           p_CURRENCY_CONVERSION_TYPE  => p_CSP_rec.CURRENCY_CONVERSION_TYPE,
1010           p_CURRENCY_CONVERSION_DATE  => p_CSP_rec.CURRENCY_CONVERSION_DATE,
1011           p_USSGL_TRANSACTION_CODE  => p_CSP_rec.USSGL_TRANSACTION_CODE,
1012           p_VENDOR_LOT_NUMBER  => p_CSP_rec.VENDOR_LOT_NUMBER,
1013           p_ENCUMBRANCE_ACCOUNT  => p_CSP_rec.ENCUMBRANCE_ACCOUNT,
1014           p_ENCUMBRANCE_AMOUNT  => p_CSP_rec.ENCUMBRANCE_AMOUNT,
1015           p_SHIP_TO_LOCATION  => p_CSP_rec.SHIP_TO_LOCATION,
1016           p_SHIPMENT_NUMBER  => p_CSP_rec.SHIPMENT_NUMBER,
1017           p_TRANSFER_COST  => p_CSP_rec.TRANSFER_COST,
1018           p_TRANSPORTATION_COST  => p_CSP_rec.TRANSPORTATION_COST,
1019           p_TRANSPORTATION_ACCOUNT  => p_CSP_rec.TRANSPORTATION_ACCOUNT,
1020           p_FREIGHT_CODE  => p_CSP_rec.FREIGHT_CODE,
1021           p_CONTAINERS  => p_CSP_rec.CONTAINERS,
1022           p_WAYBILL_AIRBILL  => p_CSP_rec.WAYBILL_AIRBILL,
1023           p_EXPECTED_ARRIVAL_DATE  => p_CSP_rec.EXPECTED_ARRIVAL_DATE,
1024           p_TRANSFER_SUBINVENTORY  => p_CSP_rec.TRANSFER_SUBINVENTORY,
1025           p_TRANSFER_ORGANIZATION  => p_CSP_rec.TRANSFER_ORGANIZATION,
1026           p_TRANSFER_TO_LOCATION  => p_CSP_rec.TRANSFER_TO_LOCATION,
1027           p_NEW_AVERAGE_COST  => p_CSP_rec.NEW_AVERAGE_COST,
1028           p_VALUE_CHANGE  => p_CSP_rec.VALUE_CHANGE,
1029           p_PERCENTAGE_CHANGE  => p_CSP_rec.PERCENTAGE_CHANGE,
1033           p_DEMAND_SOURCE_DELIVERY  => p_CSP_rec.DEMAND_SOURCE_DELIVERY,
1030           p_MATERIAL_ALLOCATION_TEMP_ID  => p_CSP_rec.MATERIAL_ALLOCATION_TEMP_ID,
1031           p_DEMAND_SOURCE_HEADER_ID  => p_CSP_rec.DEMAND_SOURCE_HEADER_ID,
1032           p_DEMAND_SOURCE_LINE  => p_CSP_rec.DEMAND_SOURCE_LINE,
1034           p_ITEM_SEGMENTS  => p_CSP_rec.ITEM_SEGMENTS,
1035           p_ITEM_DESCRIPTION  => p_CSP_rec.ITEM_DESCRIPTION,
1036           p_ITEM_TRX_ENABLED_FLAG  => p_CSP_rec.ITEM_TRX_ENABLED_FLAG,
1037           p_ITEM_LOCATION_CONTROL_CODE  => p_CSP_rec.ITEM_LOCATION_CONTROL_CODE,
1038           p_ITEM_RESTRICT_SUBINV_CODE  => p_CSP_rec.ITEM_RESTRICT_SUBINV_CODE,
1039           p_ITEM_RESTRICT_LOCATORS_CODE  => p_CSP_rec.ITEM_RESTRICT_LOCATORS_CODE,
1040           p_ITEM_REV_QTY_CONTROL_CODE  => p_CSP_rec.ITEM_REVISION_QTY_CONTROL_CODE,
1041           p_ITEM_PRIMARY_UOM_CODE  => p_CSP_rec.ITEM_PRIMARY_UOM_CODE,
1042           p_ITEM_UOM_CLASS  => p_CSP_rec.ITEM_UOM_CLASS,
1043           p_ITEM_SHELF_LIFE_CODE  => p_CSP_rec.ITEM_SHELF_LIFE_CODE,
1044           p_ITEM_SHELF_LIFE_DAYS  => p_CSP_rec.ITEM_SHELF_LIFE_DAYS,
1045           p_ITEM_LOT_CONTROL_CODE  => p_CSP_rec.ITEM_LOT_CONTROL_CODE,
1046           p_ITEM_SERIAL_CONTROL_CODE  => p_CSP_rec.ITEM_SERIAL_CONTROL_CODE,
1047           p_ITEM_INVENTORY_ASSET_FLAG  => p_CSP_rec.ITEM_INVENTORY_ASSET_FLAG,
1048           p_ALLOWED_UNITS_LOOKUP_CODE  => p_CSP_rec.ALLOWED_UNITS_LOOKUP_CODE,
1049           p_DEPARTMENT_ID  => p_CSP_rec.DEPARTMENT_ID,
1050           p_DEPARTMENT_CODE  => p_CSP_rec.DEPARTMENT_CODE,
1051           p_WIP_SUPPLY_TYPE  => p_CSP_rec.WIP_SUPPLY_TYPE,
1052           p_SUPPLY_SUBINVENTORY  => p_CSP_rec.SUPPLY_SUBINVENTORY,
1053           p_SUPPLY_LOCATOR_ID  => p_CSP_rec.SUPPLY_LOCATOR_ID,
1054           p_VALID_SUBINVENTORY_FLAG  => p_CSP_rec.VALID_SUBINVENTORY_FLAG,
1055           p_VALID_LOCATOR_FLAG  => p_CSP_rec.VALID_LOCATOR_FLAG,
1056           p_LOCATOR_SEGMENTS  => p_CSP_rec.LOCATOR_SEGMENTS,
1057           p_CURRENT_LOCATOR_CONTROL_CODE  => p_CSP_rec.CURRENT_LOCATOR_CONTROL_CODE,
1058           p_NUMBER_OF_LOTS_ENTERED  => p_CSP_rec.NUMBER_OF_LOTS_ENTERED,
1059           p_WIP_COMMIT_FLAG  => p_CSP_rec.WIP_COMMIT_FLAG,
1060           p_NEXT_LOT_NUMBER  => p_CSP_rec.NEXT_LOT_NUMBER,
1061           p_LOT_ALPHA_PREFIX  => p_CSP_rec.LOT_ALPHA_PREFIX,
1062           p_NEXT_SERIAL_NUMBER  => p_CSP_rec.NEXT_SERIAL_NUMBER,
1063           p_SERIAL_ALPHA_PREFIX  => p_CSP_rec.SERIAL_ALPHA_PREFIX,
1064           p_SHIPPABLE_FLAG  => p_CSP_rec.SHIPPABLE_FLAG,
1065           p_POSTING_FLAG  => p_CSP_rec.POSTING_FLAG,
1066           p_REQUIRED_FLAG  => p_CSP_rec.REQUIRED_FLAG,
1067           p_PROCESS_FLAG  => p_CSP_rec.PROCESS_FLAG,
1068           p_ERROR_CODE  => p_CSP_rec.ERROR_CODE,
1069           p_ERROR_EXPLANATION  => p_CSP_rec.ERROR_EXPLANATION,
1070           p_ATTRIBUTE_CATEGORY  => p_CSP_rec.ATTRIBUTE_CATEGORY,
1071           p_ATTRIBUTE1  => p_CSP_rec.ATTRIBUTE1,
1072           p_ATTRIBUTE2  => p_CSP_rec.ATTRIBUTE2,
1073           p_ATTRIBUTE3  => p_CSP_rec.ATTRIBUTE3,
1074           p_ATTRIBUTE4  => p_CSP_rec.ATTRIBUTE4,
1075           p_ATTRIBUTE5  => p_CSP_rec.ATTRIBUTE5,
1076           p_ATTRIBUTE6  => p_CSP_rec.ATTRIBUTE6,
1077           p_ATTRIBUTE7  => p_CSP_rec.ATTRIBUTE7,
1078           p_ATTRIBUTE8  => p_CSP_rec.ATTRIBUTE8,
1079           p_ATTRIBUTE9  => p_CSP_rec.ATTRIBUTE9,
1080           p_ATTRIBUTE10  => p_CSP_rec.ATTRIBUTE10,
1081           p_ATTRIBUTE11  => p_CSP_rec.ATTRIBUTE11,
1082           p_ATTRIBUTE12  => p_CSP_rec.ATTRIBUTE12,
1083           p_ATTRIBUTE13  => p_CSP_rec.ATTRIBUTE13,
1084           p_ATTRIBUTE14  => p_CSP_rec.ATTRIBUTE14,
1085           p_ATTRIBUTE15  => p_CSP_rec.ATTRIBUTE15,
1086           p_MOVEMENT_ID  => p_CSP_rec.MOVEMENT_ID,
1087           p_RESERVATION_QUANTITY  => p_CSP_rec.RESERVATION_QUANTITY,
1088           p_SHIPPED_QUANTITY  => p_CSP_rec.SHIPPED_QUANTITY,
1089           p_TRANSACTION_LINE_NUMBER  => p_CSP_rec.TRANSACTION_LINE_NUMBER,
1090           p_TASK_ID  => p_CSP_rec.TASK_ID,
1091           p_TO_TASK_ID  => p_CSP_rec.TO_TASK_ID,
1092           p_SOURCE_TASK_ID  => p_CSP_rec.SOURCE_TASK_ID,
1093           p_PROJECT_ID  => p_CSP_rec.PROJECT_ID,
1094           p_SOURCE_PROJECT_ID  => p_CSP_rec.SOURCE_PROJECT_ID,
1095           p_PA_EXPENDITURE_ORG_ID  => p_CSP_rec.PA_EXPENDITURE_ORG_ID,
1096           p_TO_PROJECT_ID  => p_CSP_rec.TO_PROJECT_ID,
1097           p_EXPENDITURE_TYPE  => p_CSP_rec.EXPENDITURE_TYPE,
1098           p_FINAL_COMPLETION_FLAG  => p_CSP_rec.FINAL_COMPLETION_FLAG,
1099           p_TRANSFER_PERCENTAGE  => p_CSP_rec.TRANSFER_PERCENTAGE,
1100           p_TRANSACTION_SEQUENCE_ID  => p_CSP_rec.TRANSACTION_SEQUENCE_ID,
1101           p_MATERIAL_ACCOUNT  => p_CSP_rec.MATERIAL_ACCOUNT,
1102           p_MATERIAL_OVERHEAD_ACCOUNT  => p_CSP_rec.MATERIAL_OVERHEAD_ACCOUNT,
1103           p_RESOURCE_ACCOUNT  => p_CSP_rec.RESOURCE_ACCOUNT,
1104           p_OUTSIDE_PROCESSING_ACCOUNT  => p_CSP_rec.OUTSIDE_PROCESSING_ACCOUNT,
1105           p_OVERHEAD_ACCOUNT  => p_CSP_rec.OVERHEAD_ACCOUNT,
1106           p_FLOW_SCHEDULE  => p_CSP_rec.FLOW_SCHEDULE,
1107           p_COST_GROUP_ID  => p_CSP_rec.COST_GROUP_ID,
1108           p_DEMAND_CLASS  => p_CSP_rec.DEMAND_CLASS,
1109           p_QA_COLLECTION_ID  => p_CSP_rec.QA_COLLECTION_ID,
1110           p_KANBAN_CARD_ID  => p_CSP_rec.KANBAN_CARD_ID,
1111           p_OVERCOMPLETION_TXN_ID  => p_CSP_rec.OVERCOMPLETION_TRANSACTION_ID,
1112           p_OVERCOMPLETION_PRIMARY_QTY  => p_CSP_rec.OVERCOMPLETION_PRIMARY_QTY,
1113           p_OVERCOMPLETION_TXN_QTY  => p_CSP_rec.OVERCOMPLETION_TRANSACTION_QTY,
1114          -- p_PROCESS_TYPE  => p_CSP_rec.PROCESS_TYPE,
1115           p_END_ITEM_UNIT_NUMBER  => p_CSP_rec.END_ITEM_UNIT_NUMBER,
1116           p_SCHEDULED_PAYBACK_DATE  => p_CSP_rec.SCHEDULED_PAYBACK_DATE,
1117           p_LINE_TYPE_CODE  => p_CSP_rec.LINE_TYPE_CODE,
1121           p_PICK_STRATEGY_ID  => p_CSP_rec.PICK_STRATEGY_ID,
1118           p_PARENT_TRANSACTION_TEMP_ID  => p_CSP_rec.PARENT_TRANSACTION_TEMP_ID,
1119           p_PUT_AWAY_STRATEGY_ID  => p_CSP_rec.PUT_AWAY_STRATEGY_ID,
1120           p_PUT_AWAY_RULE_ID  => p_CSP_rec.PUT_AWAY_RULE_ID,
1122           p_PICK_RULE_ID  => p_CSP_rec.PICK_RULE_ID,
1123           p_COMMON_BOM_SEQ_ID  => p_CSP_rec.COMMON_BOM_SEQ_ID,
1124           p_COMMON_ROUTING_SEQ_ID  => p_CSP_rec.COMMON_ROUTING_SEQ_ID,
1125           p_COST_TYPE_ID  => p_CSP_rec.COST_TYPE_ID,
1126           p_ORG_COST_GROUP_ID  => p_CSP_rec.ORG_COST_GROUP_ID,
1127           p_MOVE_ORDER_LINE_ID  => p_CSP_rec.MOVE_ORDER_LINE_ID,
1128           p_TASK_GROUP_ID  => p_CSP_rec.TASK_GROUP_ID,
1129           p_PICK_SLIP_NUMBER  => p_CSP_rec.PICK_SLIP_NUMBER,
1130           p_RESERVATION_ID  => p_CSP_rec.RESERVATION_ID,
1131           p_TRANSACTION_STATUS  => p_CSP_rec.TRANSACTION_STATUS,
1132           p_STANDARD_OPERATION_ID  => p_CSP_rec.STANDARD_OPERATION_ID,
1133           p_TASK_PRIORITY  => p_CSP_rec.TASK_PRIORITY,
1134           p_WMS_TASK_TYPE => p_CSP_rec.WMS_TASK_TYPE,
1135           p_PARENT_LINE_ID => p_CSP_rec.PARENT_LINE_ID);
1136 --          P_SOURCE_LOT_NUMBER => p_CSP_rec.SOURCE_LOT_NUMBER);
1137       --
1138       -- End of API body.
1139       --
1140 
1141       -- Standard check for p_commit
1142       IF FND_API.to_Boolean( p_commit )
1143       THEN
1144           COMMIT WORK;
1145       END IF;
1146 
1147 
1148       -- Debug Message
1149       --JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
1150 
1151 
1152       -- Standard call to get message count and if count is 1, get message info.
1153       FND_MSG_PUB.Count_And_Get
1154       (  p_count          =>   x_msg_count,
1155          p_data           =>   x_msg_data
1156       );
1157 
1158 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
1159 /*
1160       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
1161       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
1162       THEN
1163           AS_CALLOUT_PKG.Update_material_transactions_AU(
1164                   p_api_version_number   =>  2.0,
1165                   p_init_msg_list        =>  FND_API.G_FALSE,
1166                   p_commit               =>  FND_API.G_FALSE,
1167                   p_validation_level     =>  p_validation_level,
1168                   p_identity_salesforce_id => p_identity_salesforce_id,
1169                   P_CSP_Rec      =>  P_CSP_Rec,
1170           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
1171                   x_return_status        =>  x_return_status,
1172                   x_msg_count            =>  x_msg_count,
1173                   x_msg_data             =>  x_msg_data);
1174       END IF;
1175 */
1176       EXCEPTION
1177            WHEN FND_API.G_EXC_ERROR THEN
1178               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1179                    P_API_NAME => L_API_NAME
1180                   ,P_PKG_NAME => G_PKG_NAME
1181                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1182                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1183                   ,X_MSG_COUNT => X_MSG_COUNT
1184                   ,X_MSG_DATA => X_MSG_DATA
1185                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1186 
1187           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1188               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1189                    P_API_NAME => L_API_NAME
1190                   ,P_PKG_NAME => G_PKG_NAME
1191                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1192                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1193                   ,X_MSG_COUNT => X_MSG_COUNT
1194                   ,X_MSG_DATA => X_MSG_DATA
1195                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1196 
1197           WHEN OTHERS THEN
1198               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1199                    P_API_NAME => L_API_NAME
1200                   ,P_PKG_NAME => G_PKG_NAME
1201                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
1202                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1203                   ,X_MSG_COUNT => X_MSG_COUNT
1204                   ,X_MSG_DATA => X_MSG_DATA
1205                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1206 End Update_material_transactions;
1207 
1208 
1209 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
1210 --       The Master delete procedure may not be needed depends on different business requirements.
1211 PROCEDURE Delete_material_transactions(
1212     P_Api_Version_Number         IN   NUMBER,
1213     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
1214     P_Commit                     IN   VARCHAR2     := FND_API.G_FALSE,
1215     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
1216    -- P_identity_salesforce_id     IN   NUMBER       := NULL,
1217     P_CSP_Rec     IN CSP_Rec_Type,
1218     X_Return_Status              OUT NOCOPY  VARCHAR2,
1219     X_Msg_Count                  OUT NOCOPY  NUMBER,
1220     X_Msg_Data                   OUT NOCOPY  VARCHAR2
1221     )
1222 
1223  IS
1224 l_api_name                CONSTANT VARCHAR2(30) := 'DELETE_MATERIAL_TXN';
1225 l_api_version_number      CONSTANT NUMBER   := 1.0;
1226 l_identity_sales_member_rec  AS_SALES_MEMBER_PUB.Sales_member_rec_Type;
1227  BEGIN
1228  --dbms_output.put_line('START CSP_MATERIAL');
1229 
1230       -- Standard Start of API savepoint
1231       SAVEPOINT DELETE_MATERIAL_TXN_PVT;
1232 
1236                                            l_api_name,
1233       -- Standard call to check for call compatibility.
1234       IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1235                          	             p_api_version_number,
1237                                            G_PKG_NAME)
1238       THEN
1239           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1240       END IF;
1241 
1242 
1243       -- Initialize message list if p_init_msg_list is set to TRUE.
1244       IF FND_API.to_Boolean( p_init_msg_list )
1245       THEN
1246           FND_MSG_PUB.initialize;
1247       END IF;
1248 
1249 --dbms_output.put_line('in CSP MATERIAL');
1250 
1251       -- Debug Message
1252 --     JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
1253 
1254 
1255       -- Initialize API return status to SUCCESS
1256       x_return_status := FND_API.G_RET_STS_SUCCESS;
1257 
1258       --
1259       -- Api body
1260       --
1261 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
1262 /*
1263       -- if profile AS_PRE_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
1264       IF(FND_PROFILE.VALUE('AS_PRE_CUSTOM_ENABLED')='Y')
1265       THEN
1266           AS_CALLOUT_PKG.Delete_material_transactions_BD(
1267                   p_api_version_number   =>  2.0,
1268                   p_init_msg_list        =>  FND_API.G_FALSE,
1269                   p_commit               =>  FND_API.G_FALSE,
1270                   p_validation_level     =>  p_validation_level,
1271                   p_identity_salesforce_id => p_identity_salesforce_id,
1272                   P_CSP_Rec      =>  P_CSP_Rec,
1273           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
1274                   x_return_status        =>  x_return_status,
1275                   x_msg_count            =>  x_msg_count,
1276                   x_msg_data             =>  x_msg_data);
1277       END IF;
1278 */
1279 
1280 /*      AS_SALES_ORG_MANAGER_PVT.Get_CurrentUser(
1281           p_api_version_number => 2.0
1282          ,p_salesforce_id => p_identity_salesforce_id
1283          ,x_return_status => x_return_status
1284          ,x_msg_count => x_msg_count
1285          ,x_msg_data => x_msg_data
1286          ,x_sales_member_rec => l_identity_sales_member_rec);
1287 
1288       IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1289           RAISE FND_API.G_EXC_ERROR;
1290       END IF;
1291 */
1292       -- Debug Message
1293       --JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Calling delete table handler');
1294 
1295       -- Invoke table handler(MTL_MATERIAL_TRANSACTIONS_TEMP_PKG.Delete_Row)
1296 
1297 	 CSP_MTL_TRANSACTIONS_PKG.Delete_Row(
1298           p_TRANSACTION_TEMP_ID  => p_CSP_rec.TRANSACTION_TEMP_ID);
1299 
1300       -- Standard check for p_commit
1301       IF FND_API.to_Boolean( p_commit )
1302       THEN
1303           COMMIT WORK;
1304       END IF;
1305 
1306 
1307       -- Debug Message
1308      -- JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
1309 
1310 
1311       -- Standard call to get message count and if count is 1, get message info.
1312       FND_MSG_PUB.Count_And_Get
1313       (  p_count          =>   x_msg_count,
1314          p_data           =>   x_msg_data
1315       );
1316 
1317 -- Un-comment the following statements when AS_CALLOUT_PKG is ready.
1318 /*
1319       -- if profile AS_POST_CUSTOM_ENABLED is set to 'Y', callout procedure is invoked for customization purpose
1320       IF(FND_PROFILE.VALUE('AS_POST_CUSTOM_ENABLED')='Y')
1321       THEN
1322           AS_CALLOUT_PKG.Delete_material_transactions_AD(
1323                   p_api_version_number   =>  2.0,
1324                   p_init_msg_list        =>  FND_API.G_FALSE,
1325                   p_commit               =>  FND_API.G_FALSE,
1326                   p_validation_level     =>  p_validation_level,
1327                   p_identity_salesforce_id => p_identity_salesforce_id,
1328                   P_CSP_Rec      =>  P_CSP_Rec,
1329           -- Hint: Add detail tables as parameter lists if it's master-detail relationship.
1330                   x_return_status        =>  x_return_status,
1331                   x_msg_count            =>  x_msg_count,
1332                   x_msg_data             =>  x_msg_data);
1333       END IF;
1334 */
1335       EXCEPTION
1336            WHEN FND_API.G_EXC_ERROR THEN
1337               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1338                    P_API_NAME => L_API_NAME
1339                   ,P_PKG_NAME => G_PKG_NAME
1340                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
1341                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1342                   ,X_MSG_COUNT => X_MSG_COUNT
1343                   ,X_MSG_DATA => X_MSG_DATA
1344                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1345 
1346           WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1347               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1348                    P_API_NAME => L_API_NAME
1349                   ,P_PKG_NAME => G_PKG_NAME
1350                   ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
1351                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1352                   ,X_MSG_COUNT => X_MSG_COUNT
1353                   ,X_MSG_DATA => X_MSG_DATA
1354                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1355 
1356           WHEN OTHERS THEN
1357               JTF_PLSQL_API.HANDLE_EXCEPTIONS(
1361                   ,P_PACKAGE_TYPE => JTF_PLSQL_API.G_PVT
1358                    P_API_NAME => L_API_NAME
1359                   ,P_PKG_NAME => G_PKG_NAME
1360                   ,P_EXCEPTION_LEVEL => JTF_PLSQL_API.G_EXC_OTHERS
1362                   ,X_MSG_COUNT => X_MSG_COUNT
1363                   ,X_MSG_DATA => X_MSG_DATA
1364                   ,X_RETURN_STATUS => X_RETURN_STATUS);
1365 End Delete_material_transactions;
1366 
1367 /*
1368 -- This procudure defines the columns for the Dynamic SQL.
1369 PROCEDURE Define_Columns(
1370     P_CSP_Rec   IN  CSP_MATERIAL_TRANSACTIONS_PUB.CSP_Rec_Type,
1371     p_cur_get_CSP   IN   NUMBER
1372 )
1373 IS
1374 BEGIN
1375       -- Debug Message
1376       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Define Columns Begins');
1377 
1378       -- define all columns for CSP_MATERIAL_TRANSACTIONS_V view
1379       dbms_sql.define_column(p_cur_get_CSP, 1, P_CSP_Rec.TRANSACTION_HEADER_ID);
1380       dbms_sql.define_column(p_cur_get_CSP, 2, P_CSP_Rec.TRANSACTION_TEMP_ID);
1381       dbms_sql.define_column(p_cur_get_CSP, 3, P_CSP_Rec.SOURCE_CODE, 30);
1382       dbms_sql.define_column(p_cur_get_CSP, 4, P_CSP_Rec.SOURCE_LINE_ID);
1383       dbms_sql.define_column(p_cur_get_CSP, 5, P_CSP_Rec.TRANSACTION_MODE);
1384       dbms_sql.define_column(p_cur_get_CSP, 6, P_CSP_Rec.LOCK_FLAG, 1);
1385       dbms_sql.define_column(p_cur_get_CSP, 7, P_CSP_Rec.REQUEST_ID);
1386       dbms_sql.define_column(p_cur_get_CSP, 8, P_CSP_Rec.INVENTORY_ITEM_ID);
1387       dbms_sql.define_column(p_cur_get_CSP, 9, P_CSP_Rec.REVISION, 3);
1388       dbms_sql.define_column(p_cur_get_CSP, 10, P_CSP_Rec.ORGANIZATION_ID);
1389       dbms_sql.define_column(p_cur_get_CSP, 11, P_CSP_Rec.SUBINVENTORY_CODE, 10);
1390       dbms_sql.define_column(p_cur_get_CSP, 12, P_CSP_Rec.LOCATOR_ID);
1391       dbms_sql.define_column(p_cur_get_CSP, 13, P_CSP_Rec.TRANSACTION_QUANTITY);
1392       dbms_sql.define_column(p_cur_get_CSP, 14, P_CSP_Rec.PRIMARY_QUANTITY);
1393       dbms_sql.define_column(p_cur_get_CSP, 15, P_CSP_Rec.TRANSACTION_UOM, 3);
1394       dbms_sql.define_column(p_cur_get_CSP, 16, P_CSP_Rec.TRANSACTION_COST);
1395       dbms_sql.define_column(p_cur_get_CSP, 17, P_CSP_Rec.TRANSACTION_TYPE_ID);
1396       dbms_sql.define_column(p_cur_get_CSP, 18, P_CSP_Rec.TRANSACTION_ACTION_ID);
1397       dbms_sql.define_column(p_cur_get_CSP, 19, P_CSP_Rec.TRANSACTION_SOURCE_TYPE_ID);
1398       dbms_sql.define_column(p_cur_get_CSP, 20, P_CSP_Rec.TRANSACTION_SOURCE_ID);
1399       dbms_sql.define_column(p_cur_get_CSP, 21, P_CSP_Rec.TRANSACTION_SOURCE_NAME, 30);
1400       dbms_sql.define_column(p_cur_get_CSP, 22, P_CSP_Rec.TRANSACTION_DATE);
1401       dbms_sql.define_column(p_cur_get_CSP, 23, P_CSP_Rec.ACCT_PERIOD_ID);
1402       dbms_sql.define_column(p_cur_get_CSP, 24, P_CSP_Rec.DISTRIBUTION_ACCOUNT_ID);
1403       dbms_sql.define_column(p_cur_get_CSP, 25, P_CSP_Rec.TRANSACTION_REFERENCE, 240);
1404       dbms_sql.define_column(p_cur_get_CSP, 26, P_CSP_Rec.REQUISITION_LINE_ID);
1405       dbms_sql.define_column(p_cur_get_CSP, 27, P_CSP_Rec.REQUISITION_DISTRIBUTION_ID);
1406       dbms_sql.define_column(p_cur_get_CSP, 28, P_CSP_Rec.REASON_ID);
1407       dbms_sql.define_column(p_cur_get_CSP, 29, P_CSP_Rec.LOT_NUMBER, 80);
1408       dbms_sql.define_column(p_cur_get_CSP, 30, P_CSP_Rec.LOT_EXPIRATION_DATE);
1409       dbms_sql.define_column(p_cur_get_CSP, 31, P_CSP_Rec.SERIAL_NUMBER, 30);
1410       dbms_sql.define_column(p_cur_get_CSP, 32, P_CSP_Rec.RECEIVING_DOCUMENT, 10);
1411       dbms_sql.define_column(p_cur_get_CSP, 33, P_CSP_Rec.DEMAND_ID);
1412       dbms_sql.define_column(p_cur_get_CSP, 34, P_CSP_Rec.RCV_TRANSACTION_ID);
1413       dbms_sql.define_column(p_cur_get_CSP, 35, P_CSP_Rec.MOVE_TRANSACTION_ID);
1414       dbms_sql.define_column(p_cur_get_CSP, 36, P_CSP_Rec.COMPLETION_TRANSACTION_ID);
1415       dbms_sql.define_column(p_cur_get_CSP, 37, P_CSP_Rec.WIP_ENTITY_TYPE);
1416       dbms_sql.define_column(p_cur_get_CSP, 38, P_CSP_Rec.SCHEDULE_ID);
1417       dbms_sql.define_column(p_cur_get_CSP, 39, P_CSP_Rec.REPETITIVE_LINE_ID);
1418       dbms_sql.define_column(p_cur_get_CSP, 40, P_CSP_Rec.EMPLOYEE_CODE, 10);
1419       dbms_sql.define_column(p_cur_get_CSP, 41, P_CSP_Rec.PRIMARY_SWITCH);
1420       dbms_sql.define_column(p_cur_get_CSP, 42, P_CSP_Rec.SCHEDULE_UPDATE_CODE);
1421       dbms_sql.define_column(p_cur_get_CSP, 43, P_CSP_Rec.SETUP_TEARDOWN_CODE);
1422       dbms_sql.define_column(p_cur_get_CSP, 44, P_CSP_Rec.ITEM_ORDERING);
1423       dbms_sql.define_column(p_cur_get_CSP, 45, P_CSP_Rec.NEGATIVE_REQ_FLAG);
1424       dbms_sql.define_column(p_cur_get_CSP, 46, P_CSP_Rec.OPERATION_SEQ_NUM);
1425       dbms_sql.define_column(p_cur_get_CSP, 47, P_CSP_Rec.PICKING_LINE_ID);
1426       dbms_sql.define_column(p_cur_get_CSP, 48, P_CSP_Rec.TRX_SOURCE_LINE_ID);
1427       dbms_sql.define_column(p_cur_get_CSP, 49, P_CSP_Rec.TRX_SOURCE_DELIVERY_ID);
1428       dbms_sql.define_column(p_cur_get_CSP, 50, P_CSP_Rec.PHYSICAL_ADJUSTMENT_ID);
1429       dbms_sql.define_column(p_cur_get_CSP, 51, P_CSP_Rec.CYCLE_COUNT_ID);
1430       dbms_sql.define_column(p_cur_get_CSP, 52, P_CSP_Rec.RMA_LINE_ID);
1431       dbms_sql.define_column(p_cur_get_CSP, 53, P_CSP_Rec.CUSTOMER_SHIP_ID);
1432       dbms_sql.define_column(p_cur_get_CSP, 54, P_CSP_Rec.CURRENCY_CODE, 10);
1433       dbms_sql.define_column(p_cur_get_CSP, 55, P_CSP_Rec.CURRENCY_CONVERSION_RATE);
1434       dbms_sql.define_column(p_cur_get_CSP, 56, P_CSP_Rec.CURRENCY_CONVERSION_TYPE, 30);
1435       dbms_sql.define_column(p_cur_get_CSP, 57, P_CSP_Rec.CURRENCY_CONVERSION_DATE);
1436       dbms_sql.define_column(p_cur_get_CSP, 58, P_CSP_Rec.USSGL_TRANSACTION_CODE, 30);
1437       dbms_sql.define_column(p_cur_get_CSP, 59, P_CSP_Rec.VENDOR_LOT_NUMBER, 80);
1438       dbms_sql.define_column(p_cur_get_CSP, 60, P_CSP_Rec.ENCUMBRANCE_ACCOUNT);
1439       dbms_sql.define_column(p_cur_get_CSP, 61, P_CSP_Rec.ENCUMBRANCE_AMOUNT);
1443       dbms_sql.define_column(p_cur_get_CSP, 65, P_CSP_Rec.TRANSPORTATION_COST);
1440       dbms_sql.define_column(p_cur_get_CSP, 62, P_CSP_Rec.SHIP_TO_LOCATION);
1441       dbms_sql.define_column(p_cur_get_CSP, 63, P_CSP_Rec.SHIPMENT_NUMBER, 30);
1442       dbms_sql.define_column(p_cur_get_CSP, 64, P_CSP_Rec.TRANSFER_COST);
1444       dbms_sql.define_column(p_cur_get_CSP, 66, P_CSP_Rec.TRANSPORTATION_ACCOUNT);
1445       dbms_sql.define_column(p_cur_get_CSP, 67, P_CSP_Rec.FREIGHT_CODE, 25);
1446       dbms_sql.define_column(p_cur_get_CSP, 68, P_CSP_Rec.CONTAINERS);
1447       dbms_sql.define_column(p_cur_get_CSP, 69, P_CSP_Rec.WAYBILL_AIRBILL, 20);
1448       dbms_sql.define_column(p_cur_get_CSP, 70, P_CSP_Rec.EXPECTED_ARRIVAL_DATE);
1449       dbms_sql.define_column(p_cur_get_CSP, 71, P_CSP_Rec.TRANSFER_SUBINVENTORY, 10);
1450       dbms_sql.define_column(p_cur_get_CSP, 72, P_CSP_Rec.TRANSFER_ORGANIZATION);
1451       dbms_sql.define_column(p_cur_get_CSP, 73, P_CSP_Rec.TRANSFER_TO_LOCATION);
1452       dbms_sql.define_column(p_cur_get_CSP, 74, P_CSP_Rec.NEW_AVERAGE_COST);
1453       dbms_sql.define_column(p_cur_get_CSP, 75, P_CSP_Rec.VALUE_CHANGE);
1454       dbms_sql.define_column(p_cur_get_CSP, 76, P_CSP_Rec.PERCENTAGE_CHANGE);
1455       dbms_sql.define_column(p_cur_get_CSP, 77, P_CSP_Rec.MATERIAL_ALLOCATION_TEMP_ID);
1456       dbms_sql.define_column(p_cur_get_CSP, 78, P_CSP_Rec.DEMAND_SOURCE_HEADER_ID);
1457       dbms_sql.define_column(p_cur_get_CSP, 79, P_CSP_Rec.DEMAND_SOURCE_LINE, 30);
1458       dbms_sql.define_column(p_cur_get_CSP, 80, P_CSP_Rec.DEMAND_SOURCE_DELIVERY, 30);
1459       dbms_sql.define_column(p_cur_get_CSP, 81, P_CSP_Rec.ITEM_SEGMENTS, 240);
1460       dbms_sql.define_column(p_cur_get_CSP, 82, P_CSP_Rec.ITEM_DESCRIPTION, 240);
1461       dbms_sql.define_column(p_cur_get_CSP, 83, P_CSP_Rec.ITEM_TRX_ENABLED_FLAG, 1);
1462       dbms_sql.define_column(p_cur_get_CSP, 84, P_CSP_Rec.ITEM_LOCATION_CONTROL_CODE);
1463       dbms_sql.define_column(p_cur_get_CSP, 85, P_CSP_Rec.ITEM_RESTRICT_SUBINV_CODE);
1464       dbms_sql.define_column(p_cur_get_CSP, 86, P_CSP_Rec.ITEM_RESTRICT_LOCATORS_CODE);
1465       dbms_sql.define_column(p_cur_get_CSP, 87, P_CSP_Rec.ITEM_REVISION_QTY_CONTROL_CODE);
1466       dbms_sql.define_column(p_cur_get_CSP, 88, P_CSP_Rec.ITEM_PRIMARY_UOM_CODE, 3);
1467       dbms_sql.define_column(p_cur_get_CSP, 89, P_CSP_Rec.ITEM_UOM_CLASS, 10);
1468       dbms_sql.define_column(p_cur_get_CSP, 90, P_CSP_Rec.ITEM_SHELF_LIFE_CODE);
1469       dbms_sql.define_column(p_cur_get_CSP, 91, P_CSP_Rec.ITEM_SHELF_LIFE_DAYS);
1470       dbms_sql.define_column(p_cur_get_CSP, 92, P_CSP_Rec.ITEM_LOT_CONTROL_CODE);
1471       dbms_sql.define_column(p_cur_get_CSP, 93, P_CSP_Rec.ITEM_SERIAL_CONTROL_CODE);
1472       dbms_sql.define_column(p_cur_get_CSP, 94, P_CSP_Rec.ITEM_INVENTORY_ASSET_FLAG, 1);
1473       dbms_sql.define_column(p_cur_get_CSP, 95, P_CSP_Rec.ALLOWED_UNITS_LOOKUP_CODE);
1474       dbms_sql.define_column(p_cur_get_CSP, 96, P_CSP_Rec.DEPARTMENT_ID);
1475       dbms_sql.define_column(p_cur_get_CSP, 97, P_CSP_Rec.DEPARTMENT_CODE, 10);
1476       dbms_sql.define_column(p_cur_get_CSP, 98, P_CSP_Rec.WIP_SUPPLY_TYPE);
1477       dbms_sql.define_column(p_cur_get_CSP, 99, P_CSP_Rec.SUPPLY_SUBINVENTORY, 10);
1478       dbms_sql.define_column(p_cur_get_CSP, 100, P_CSP_Rec.SUPPLY_LOCATOR_ID);
1479       dbms_sql.define_column(p_cur_get_CSP, 101, P_CSP_Rec.VALID_SUBINVENTORY_FLAG, 1);
1480       dbms_sql.define_column(p_cur_get_CSP, 102, P_CSP_Rec.VALID_LOCATOR_FLAG, 1);
1481       dbms_sql.define_column(p_cur_get_CSP, 103, P_CSP_Rec.LOCATOR_SEGMENTS, 240);
1482       dbms_sql.define_column(p_cur_get_CSP, 104, P_CSP_Rec.CURRENT_LOCATOR_CONTROL_CODE);
1483       dbms_sql.define_column(p_cur_get_CSP, 105, P_CSP_Rec.NUMBER_OF_LOTS_ENTERED);
1484       dbms_sql.define_column(p_cur_get_CSP, 106, P_CSP_Rec.WIP_COMMIT_FLAG, 1);
1485       dbms_sql.define_column(p_cur_get_CSP, 107, P_CSP_Rec.NEXT_LOT_NUMBER, 80);
1486       dbms_sql.define_column(p_cur_get_CSP, 108, P_CSP_Rec.LOT_ALPHA_PREFIX, 30);
1487       dbms_sql.define_column(p_cur_get_CSP, 109, P_CSP_Rec.NEXT_SERIAL_NUMBER, 30);
1488       dbms_sql.define_column(p_cur_get_CSP, 110, P_CSP_Rec.SERIAL_ALPHA_PREFIX, 30);
1489       dbms_sql.define_column(p_cur_get_CSP, 111, P_CSP_Rec.SHIPPABLE_FLAG, 1);
1490       dbms_sql.define_column(p_cur_get_CSP, 112, P_CSP_Rec.POSTING_FLAG, 1);
1491       dbms_sql.define_column(p_cur_get_CSP, 113, P_CSP_Rec.REQUIRED_FLAG, 1);
1492       dbms_sql.define_column(p_cur_get_CSP, 114, P_CSP_Rec.PROCESS_FLAG, 1);
1493       dbms_sql.define_column(p_cur_get_CSP, 115, P_CSP_Rec.ERROR_CODE, 240);
1494       dbms_sql.define_column(p_cur_get_CSP, 116, P_CSP_Rec.ERROR_EXPLANATION, 240);
1495       dbms_sql.define_column(p_cur_get_CSP, 117, P_CSP_Rec.ATTRIBUTE_CATEGORY, 30);
1496       dbms_sql.define_column(p_cur_get_CSP, 118, P_CSP_Rec.ATTRIBUTE1, 150);
1497       dbms_sql.define_column(p_cur_get_CSP, 119, P_CSP_Rec.ATTRIBUTE2, 150);
1498       dbms_sql.define_column(p_cur_get_CSP, 120, P_CSP_Rec.ATTRIBUTE3, 150);
1499       dbms_sql.define_column(p_cur_get_CSP, 121, P_CSP_Rec.ATTRIBUTE4, 150);
1500       dbms_sql.define_column(p_cur_get_CSP, 122, P_CSP_Rec.ATTRIBUTE5, 150);
1501       dbms_sql.define_column(p_cur_get_CSP, 123, P_CSP_Rec.ATTRIBUTE6, 150);
1502       dbms_sql.define_column(p_cur_get_CSP, 124, P_CSP_Rec.ATTRIBUTE7, 150);
1503       dbms_sql.define_column(p_cur_get_CSP, 125, P_CSP_Rec.ATTRIBUTE8, 150);
1504       dbms_sql.define_column(p_cur_get_CSP, 126, P_CSP_Rec.ATTRIBUTE9, 150);
1505       dbms_sql.define_column(p_cur_get_CSP, 127, P_CSP_Rec.ATTRIBUTE10, 150);
1506       dbms_sql.define_column(p_cur_get_CSP, 128, P_CSP_Rec.ATTRIBUTE11, 150);
1507       dbms_sql.define_column(p_cur_get_CSP, 129, P_CSP_Rec.ATTRIBUTE12, 150);
1508       dbms_sql.define_column(p_cur_get_CSP, 130, P_CSP_Rec.ATTRIBUTE13, 150);
1509       dbms_sql.define_column(p_cur_get_CSP, 131, P_CSP_Rec.ATTRIBUTE14, 150);
1510       dbms_sql.define_column(p_cur_get_CSP, 132, P_CSP_Rec.ATTRIBUTE15, 150);
1511       dbms_sql.define_column(p_cur_get_CSP, 133, P_CSP_Rec.MOVEMENT_ID);
1515       dbms_sql.define_column(p_cur_get_CSP, 137, P_CSP_Rec.TASK_ID);
1512       dbms_sql.define_column(p_cur_get_CSP, 134, P_CSP_Rec.RESERVATION_QUANTITY);
1513       dbms_sql.define_column(p_cur_get_CSP, 135, P_CSP_Rec.SHIPPED_QUANTITY);
1514       dbms_sql.define_column(p_cur_get_CSP, 136, P_CSP_Rec.TRANSACTION_LINE_NUMBER);
1516       dbms_sql.define_column(p_cur_get_CSP, 138, P_CSP_Rec.TO_TASK_ID);
1517       dbms_sql.define_column(p_cur_get_CSP, 139, P_CSP_Rec.SOURCE_TASK_ID);
1518       dbms_sql.define_column(p_cur_get_CSP, 140, P_CSP_Rec.PROJECT_ID);
1519       dbms_sql.define_column(p_cur_get_CSP, 141, P_CSP_Rec.SOURCE_PROJECT_ID);
1520       dbms_sql.define_column(p_cur_get_CSP, 142, P_CSP_Rec.PA_EXPENDITURE_ORG_ID);
1521       dbms_sql.define_column(p_cur_get_CSP, 143, P_CSP_Rec.TO_PROJECT_ID);
1522       dbms_sql.define_column(p_cur_get_CSP, 144, P_CSP_Rec.EXPENDITURE_TYPE, 30);
1523       dbms_sql.define_column(p_cur_get_CSP, 145, P_CSP_Rec.FINAL_COMPLETION_FLAG, 1);
1524       dbms_sql.define_column(p_cur_get_CSP, 146, P_CSP_Rec.TRANSFER_PERCENTAGE);
1525       dbms_sql.define_column(p_cur_get_CSP, 147, P_CSP_Rec.TRANSACTION_SEQUENCE_ID);
1526       dbms_sql.define_column(p_cur_get_CSP, 148, P_CSP_Rec.MATERIAL_ACCOUNT);
1527       dbms_sql.define_column(p_cur_get_CSP, 149, P_CSP_Rec.MATERIAL_OVERHEAD_ACCOUNT);
1528       dbms_sql.define_column(p_cur_get_CSP, 150, P_CSP_Rec.RESOURCE_ACCOUNT);
1529       dbms_sql.define_column(p_cur_get_CSP, 151, P_CSP_Rec.OUTSIDE_PROCESSING_ACCOUNT);
1530       dbms_sql.define_column(p_cur_get_CSP, 152, P_CSP_Rec.OVERHEAD_ACCOUNT);
1531       dbms_sql.define_column(p_cur_get_CSP, 153, P_CSP_Rec.FLOW_SCHEDULE, 1);
1532       dbms_sql.define_column(p_cur_get_CSP, 154, P_CSP_Rec.COST_GROUP_ID);
1533       dbms_sql.define_column(p_cur_get_CSP, 155, P_CSP_Rec.DEMAND_CLASS, 30);
1534       dbms_sql.define_column(p_cur_get_CSP, 156, P_CSP_Rec.QA_COLLECTION_ID);
1535       dbms_sql.define_column(p_cur_get_CSP, 157, P_CSP_Rec.KANBAN_CARD_ID);
1536       dbms_sql.define_column(p_cur_get_CSP, 158, P_CSP_Rec.OVERCOMPLETION_TRANSACTION_ID);
1537       dbms_sql.define_column(p_cur_get_CSP, 159, P_CSP_Rec.OVERCOMPLETION_PRIMARY_QTY);
1538       dbms_sql.define_column(p_cur_get_CSP, 160, P_CSP_Rec.OVERCOMPLETION_TRANSACTION_QTY);
1539       dbms_sql.define_column(p_cur_get_CSP, 161, P_CSP_Rec.PROCESS_TYPE);
1540       dbms_sql.define_column(p_cur_get_CSP, 162, P_CSP_Rec.END_ITEM_UNIT_NUMBER, 60);
1541       dbms_sql.define_column(p_cur_get_CSP, 163, P_CSP_Rec.SCHEDULED_PAYBACK_DATE);
1542       dbms_sql.define_column(p_cur_get_CSP, 164, P_CSP_Rec.LINE_TYPE_CODE);
1543       dbms_sql.define_column(p_cur_get_CSP, 165, P_CSP_Rec.PARENT_TRANSACTION_TEMP_ID);
1544       dbms_sql.define_column(p_cur_get_CSP, 166, P_CSP_Rec.PUT_AWAY_STRATEGY_ID);
1545       dbms_sql.define_column(p_cur_get_CSP, 167, P_CSP_Rec.PUT_AWAY_RULE_ID);
1546       dbms_sql.define_column(p_cur_get_CSP, 168, P_CSP_Rec.PICK_STRATEGY_ID);
1547       dbms_sql.define_column(p_cur_get_CSP, 169, P_CSP_Rec.PICK_RULE_ID);
1548       dbms_sql.define_column(p_cur_get_CSP, 170, P_CSP_Rec.COMMON_BOM_SEQ_ID);
1549       dbms_sql.define_column(p_cur_get_CSP, 171, P_CSP_Rec.COMMON_ROUTING_SEQ_ID);
1550       dbms_sql.define_column(p_cur_get_CSP, 172, P_CSP_Rec.COST_TYPE_ID);
1551       dbms_sql.define_column(p_cur_get_CSP, 173, P_CSP_Rec.ORG_COST_GROUP_ID);
1552       dbms_sql.define_column(p_cur_get_CSP, 174, P_CSP_Rec.MOVE_ORDER_LINE_ID);
1553       dbms_sql.define_column(p_cur_get_CSP, 175, P_CSP_Rec.TASK_GROUP_ID);
1554       dbms_sql.define_column(p_cur_get_CSP, 176, P_CSP_Rec.PICK_SLIP_NUMBER);
1555       dbms_sql.define_column(p_cur_get_CSP, 177, P_CSP_Rec.RESERVATION_ID);
1556       dbms_sql.define_column(p_cur_get_CSP, 178, P_CSP_Rec.TRANSACTION_STATUS);
1557 
1558       -- Debug Message
1559       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Define Columns Ends');
1560 END Define_Columns;
1561 
1562 -- This procudure gets column values by the Dynamic SQL.
1563 PROCEDURE Get_Column_Values(
1564     p_cur_get_CSP   IN   NUMBER,
1565     X_CSP_Rec   OUT NOCOPY  CSP_MATERIAL_TRANSACTIONS_PUB.CSP_Rec_Type
1566 )
1567 IS
1568 BEGIN
1569       -- Debug Message
1570       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Get Column Values Begins');
1571 
1572       -- get all column values for CSP_MATERIAL_TRANSACTIONS_V table
1573       dbms_sql.column_value(p_cur_get_CSP, 1, X_CSP_Rec.TRANSACTION_HEADER_ID);
1574       dbms_sql.column_value(p_cur_get_CSP, 2, X_CSP_Rec.TRANSACTION_TEMP_ID);
1575       dbms_sql.column_value(p_cur_get_CSP, 3, X_CSP_Rec.SOURCE_CODE);
1576       dbms_sql.column_value(p_cur_get_CSP, 4, X_CSP_Rec.SOURCE_LINE_ID);
1577       dbms_sql.column_value(p_cur_get_CSP, 5, X_CSP_Rec.TRANSACTION_MODE);
1578       dbms_sql.column_value(p_cur_get_CSP, 6, X_CSP_Rec.LOCK_FLAG);
1579       dbms_sql.column_value(p_cur_get_CSP, 7, X_CSP_Rec.REQUEST_ID);
1580       dbms_sql.column_value(p_cur_get_CSP, 8, X_CSP_Rec.INVENTORY_ITEM_ID);
1581       dbms_sql.column_value(p_cur_get_CSP, 9, X_CSP_Rec.REVISION);
1582       dbms_sql.column_value(p_cur_get_CSP, 10, X_CSP_Rec.ORGANIZATION_ID);
1583       dbms_sql.column_value(p_cur_get_CSP, 11, X_CSP_Rec.SUBINVENTORY_CODE);
1584       dbms_sql.column_value(p_cur_get_CSP, 12, X_CSP_Rec.LOCATOR_ID);
1585       dbms_sql.column_value(p_cur_get_CSP, 13, X_CSP_Rec.TRANSACTION_QUANTITY);
1586       dbms_sql.column_value(p_cur_get_CSP, 14, X_CSP_Rec.PRIMARY_QUANTITY);
1587       dbms_sql.column_value(p_cur_get_CSP, 15, X_CSP_Rec.TRANSACTION_UOM);
1588       dbms_sql.column_value(p_cur_get_CSP, 16, X_CSP_Rec.TRANSACTION_COST);
1589       dbms_sql.column_value(p_cur_get_CSP, 17, X_CSP_Rec.TRANSACTION_TYPE_ID);
1590       dbms_sql.column_value(p_cur_get_CSP, 18, X_CSP_Rec.TRANSACTION_ACTION_ID);
1591       dbms_sql.column_value(p_cur_get_CSP, 19, X_CSP_Rec.TRANSACTION_SOURCE_TYPE_ID);
1592       dbms_sql.column_value(p_cur_get_CSP, 20, X_CSP_Rec.TRANSACTION_SOURCE_ID);
1596       dbms_sql.column_value(p_cur_get_CSP, 24, X_CSP_Rec.DISTRIBUTION_ACCOUNT_ID);
1593       dbms_sql.column_value(p_cur_get_CSP, 21, X_CSP_Rec.TRANSACTION_SOURCE_NAME);
1594       dbms_sql.column_value(p_cur_get_CSP, 22, X_CSP_Rec.TRANSACTION_DATE);
1595       dbms_sql.column_value(p_cur_get_CSP, 23, X_CSP_Rec.ACCT_PERIOD_ID);
1597       dbms_sql.column_value(p_cur_get_CSP, 25, X_CSP_Rec.TRANSACTION_REFERENCE);
1598       dbms_sql.column_value(p_cur_get_CSP, 26, X_CSP_Rec.REQUISITION_LINE_ID);
1599       dbms_sql.column_value(p_cur_get_CSP, 27, X_CSP_Rec.REQUISITION_DISTRIBUTION_ID);
1600       dbms_sql.column_value(p_cur_get_CSP, 28, X_CSP_Rec.REASON_ID);
1601       dbms_sql.column_value(p_cur_get_CSP, 29, X_CSP_Rec.LOT_NUMBER);
1602       dbms_sql.column_value(p_cur_get_CSP, 30, X_CSP_Rec.LOT_EXPIRATION_DATE);
1603       dbms_sql.column_value(p_cur_get_CSP, 31, X_CSP_Rec.SERIAL_NUMBER);
1604       dbms_sql.column_value(p_cur_get_CSP, 32, X_CSP_Rec.RECEIVING_DOCUMENT);
1605       dbms_sql.column_value(p_cur_get_CSP, 33, X_CSP_Rec.DEMAND_ID);
1606       dbms_sql.column_value(p_cur_get_CSP, 34, X_CSP_Rec.RCV_TRANSACTION_ID);
1607       dbms_sql.column_value(p_cur_get_CSP, 35, X_CSP_Rec.MOVE_TRANSACTION_ID);
1608       dbms_sql.column_value(p_cur_get_CSP, 36, X_CSP_Rec.COMPLETION_TRANSACTION_ID);
1609       dbms_sql.column_value(p_cur_get_CSP, 37, X_CSP_Rec.WIP_ENTITY_TYPE);
1610       dbms_sql.column_value(p_cur_get_CSP, 38, X_CSP_Rec.SCHEDULE_ID);
1611       dbms_sql.column_value(p_cur_get_CSP, 39, X_CSP_Rec.REPETITIVE_LINE_ID);
1612       dbms_sql.column_value(p_cur_get_CSP, 40, X_CSP_Rec.EMPLOYEE_CODE);
1613       dbms_sql.column_value(p_cur_get_CSP, 41, X_CSP_Rec.PRIMARY_SWITCH);
1614       dbms_sql.column_value(p_cur_get_CSP, 42, X_CSP_Rec.SCHEDULE_UPDATE_CODE);
1615       dbms_sql.column_value(p_cur_get_CSP, 43, X_CSP_Rec.SETUP_TEARDOWN_CODE);
1616       dbms_sql.column_value(p_cur_get_CSP, 44, X_CSP_Rec.ITEM_ORDERING);
1617       dbms_sql.column_value(p_cur_get_CSP, 45, X_CSP_Rec.NEGATIVE_REQ_FLAG);
1618       dbms_sql.column_value(p_cur_get_CSP, 46, X_CSP_Rec.OPERATION_SEQ_NUM);
1619       dbms_sql.column_value(p_cur_get_CSP, 47, X_CSP_Rec.PICKING_LINE_ID);
1620       dbms_sql.column_value(p_cur_get_CSP, 48, X_CSP_Rec.TRX_SOURCE_LINE_ID);
1621       dbms_sql.column_value(p_cur_get_CSP, 49, X_CSP_Rec.TRX_SOURCE_DELIVERY_ID);
1622       dbms_sql.column_value(p_cur_get_CSP, 50, X_CSP_Rec.PHYSICAL_ADJUSTMENT_ID);
1623       dbms_sql.column_value(p_cur_get_CSP, 51, X_CSP_Rec.CYCLE_COUNT_ID);
1624       dbms_sql.column_value(p_cur_get_CSP, 52, X_CSP_Rec.RMA_LINE_ID);
1625       dbms_sql.column_value(p_cur_get_CSP, 53, X_CSP_Rec.CUSTOMER_SHIP_ID);
1626       dbms_sql.column_value(p_cur_get_CSP, 54, X_CSP_Rec.CURRENCY_CODE);
1627       dbms_sql.column_value(p_cur_get_CSP, 55, X_CSP_Rec.CURRENCY_CONVERSION_RATE);
1628       dbms_sql.column_value(p_cur_get_CSP, 56, X_CSP_Rec.CURRENCY_CONVERSION_TYPE);
1629       dbms_sql.column_value(p_cur_get_CSP, 57, X_CSP_Rec.CURRENCY_CONVERSION_DATE);
1630       dbms_sql.column_value(p_cur_get_CSP, 58, X_CSP_Rec.USSGL_TRANSACTION_CODE);
1631       dbms_sql.column_value(p_cur_get_CSP, 59, X_CSP_Rec.VENDOR_LOT_NUMBER);
1632       dbms_sql.column_value(p_cur_get_CSP, 60, X_CSP_Rec.ENCUMBRANCE_ACCOUNT);
1633       dbms_sql.column_value(p_cur_get_CSP, 61, X_CSP_Rec.ENCUMBRANCE_AMOUNT);
1634       dbms_sql.column_value(p_cur_get_CSP, 62, X_CSP_Rec.SHIP_TO_LOCATION);
1635       dbms_sql.column_value(p_cur_get_CSP, 63, X_CSP_Rec.SHIPMENT_NUMBER);
1636       dbms_sql.column_value(p_cur_get_CSP, 64, X_CSP_Rec.TRANSFER_COST);
1637       dbms_sql.column_value(p_cur_get_CSP, 65, X_CSP_Rec.TRANSPORTATION_COST);
1638       dbms_sql.column_value(p_cur_get_CSP, 66, X_CSP_Rec.TRANSPORTATION_ACCOUNT);
1639       dbms_sql.column_value(p_cur_get_CSP, 67, X_CSP_Rec.FREIGHT_CODE);
1640       dbms_sql.column_value(p_cur_get_CSP, 68, X_CSP_Rec.CONTAINERS);
1641       dbms_sql.column_value(p_cur_get_CSP, 69, X_CSP_Rec.WAYBILL_AIRBILL);
1642       dbms_sql.column_value(p_cur_get_CSP, 70, X_CSP_Rec.EXPECTED_ARRIVAL_DATE);
1643       dbms_sql.column_value(p_cur_get_CSP, 71, X_CSP_Rec.TRANSFER_SUBINVENTORY);
1644       dbms_sql.column_value(p_cur_get_CSP, 72, X_CSP_Rec.TRANSFER_ORGANIZATION);
1645       dbms_sql.column_value(p_cur_get_CSP, 73, X_CSP_Rec.TRANSFER_TO_LOCATION);
1646       dbms_sql.column_value(p_cur_get_CSP, 74, X_CSP_Rec.NEW_AVERAGE_COST);
1647       dbms_sql.column_value(p_cur_get_CSP, 75, X_CSP_Rec.VALUE_CHANGE);
1648       dbms_sql.column_value(p_cur_get_CSP, 76, X_CSP_Rec.PERCENTAGE_CHANGE);
1649       dbms_sql.column_value(p_cur_get_CSP, 77, X_CSP_Rec.MATERIAL_ALLOCATION_TEMP_ID);
1650       dbms_sql.column_value(p_cur_get_CSP, 78, X_CSP_Rec.DEMAND_SOURCE_HEADER_ID);
1651       dbms_sql.column_value(p_cur_get_CSP, 79, X_CSP_Rec.DEMAND_SOURCE_LINE);
1652       dbms_sql.column_value(p_cur_get_CSP, 80, X_CSP_Rec.DEMAND_SOURCE_DELIVERY);
1653       dbms_sql.column_value(p_cur_get_CSP, 81, X_CSP_Rec.ITEM_SEGMENTS);
1654       dbms_sql.column_value(p_cur_get_CSP, 82, X_CSP_Rec.ITEM_DESCRIPTION);
1655       dbms_sql.column_value(p_cur_get_CSP, 83, X_CSP_Rec.ITEM_TRX_ENABLED_FLAG);
1656       dbms_sql.column_value(p_cur_get_CSP, 84, X_CSP_Rec.ITEM_LOCATION_CONTROL_CODE);
1657       dbms_sql.column_value(p_cur_get_CSP, 85, X_CSP_Rec.ITEM_RESTRICT_SUBINV_CODE);
1658       dbms_sql.column_value(p_cur_get_CSP, 86, X_CSP_Rec.ITEM_RESTRICT_LOCATORS_CODE);
1659       dbms_sql.column_value(p_cur_get_CSP, 87, X_CSP_Rec.ITEM_REVISION_QTY_CONTROL_CODE);
1660       dbms_sql.column_value(p_cur_get_CSP, 88, X_CSP_Rec.ITEM_PRIMARY_UOM_CODE);
1661       dbms_sql.column_value(p_cur_get_CSP, 89, X_CSP_Rec.ITEM_UOM_CLASS);
1662       dbms_sql.column_value(p_cur_get_CSP, 90, X_CSP_Rec.ITEM_SHELF_LIFE_CODE);
1663       dbms_sql.column_value(p_cur_get_CSP, 91, X_CSP_Rec.ITEM_SHELF_LIFE_DAYS);
1664       dbms_sql.column_value(p_cur_get_CSP, 92, X_CSP_Rec.ITEM_LOT_CONTROL_CODE);
1665       dbms_sql.column_value(p_cur_get_CSP, 93, X_CSP_Rec.ITEM_SERIAL_CONTROL_CODE);
1669       dbms_sql.column_value(p_cur_get_CSP, 97, X_CSP_Rec.DEPARTMENT_CODE);
1666       dbms_sql.column_value(p_cur_get_CSP, 94, X_CSP_Rec.ITEM_INVENTORY_ASSET_FLAG);
1667       dbms_sql.column_value(p_cur_get_CSP, 95, X_CSP_Rec.ALLOWED_UNITS_LOOKUP_CODE);
1668       dbms_sql.column_value(p_cur_get_CSP, 96, X_CSP_Rec.DEPARTMENT_ID);
1670       dbms_sql.column_value(p_cur_get_CSP, 98, X_CSP_Rec.WIP_SUPPLY_TYPE);
1671       dbms_sql.column_value(p_cur_get_CSP, 99, X_CSP_Rec.SUPPLY_SUBINVENTORY);
1672       dbms_sql.column_value(p_cur_get_CSP, 100, X_CSP_Rec.SUPPLY_LOCATOR_ID);
1673       dbms_sql.column_value(p_cur_get_CSP, 101, X_CSP_Rec.VALID_SUBINVENTORY_FLAG);
1674       dbms_sql.column_value(p_cur_get_CSP, 102, X_CSP_Rec.VALID_LOCATOR_FLAG);
1675       dbms_sql.column_value(p_cur_get_CSP, 103, X_CSP_Rec.LOCATOR_SEGMENTS);
1676       dbms_sql.column_value(p_cur_get_CSP, 104, X_CSP_Rec.CURRENT_LOCATOR_CONTROL_CODE);
1677       dbms_sql.column_value(p_cur_get_CSP, 105, X_CSP_Rec.NUMBER_OF_LOTS_ENTERED);
1678       dbms_sql.column_value(p_cur_get_CSP, 106, X_CSP_Rec.WIP_COMMIT_FLAG);
1679       dbms_sql.column_value(p_cur_get_CSP, 107, X_CSP_Rec.NEXT_LOT_NUMBER);
1680       dbms_sql.column_value(p_cur_get_CSP, 108, X_CSP_Rec.LOT_ALPHA_PREFIX);
1681       dbms_sql.column_value(p_cur_get_CSP, 109, X_CSP_Rec.NEXT_SERIAL_NUMBER);
1682       dbms_sql.column_value(p_cur_get_CSP, 110, X_CSP_Rec.SERIAL_ALPHA_PREFIX);
1683       dbms_sql.column_value(p_cur_get_CSP, 111, X_CSP_Rec.SHIPPABLE_FLAG);
1684       dbms_sql.column_value(p_cur_get_CSP, 112, X_CSP_Rec.POSTING_FLAG);
1685       dbms_sql.column_value(p_cur_get_CSP, 113, X_CSP_Rec.REQUIRED_FLAG);
1686       dbms_sql.column_value(p_cur_get_CSP, 114, X_CSP_Rec.PROCESS_FLAG);
1687       dbms_sql.column_value(p_cur_get_CSP, 115, X_CSP_Rec.ERROR_CODE);
1688       dbms_sql.column_value(p_cur_get_CSP, 116, X_CSP_Rec.ERROR_EXPLANATION);
1689       dbms_sql.column_value(p_cur_get_CSP, 117, X_CSP_Rec.ATTRIBUTE_CATEGORY);
1690       dbms_sql.column_value(p_cur_get_CSP, 118, X_CSP_Rec.ATTRIBUTE1);
1691       dbms_sql.column_value(p_cur_get_CSP, 119, X_CSP_Rec.ATTRIBUTE2);
1692       dbms_sql.column_value(p_cur_get_CSP, 120, X_CSP_Rec.ATTRIBUTE3);
1693       dbms_sql.column_value(p_cur_get_CSP, 121, X_CSP_Rec.ATTRIBUTE4);
1694       dbms_sql.column_value(p_cur_get_CSP, 122, X_CSP_Rec.ATTRIBUTE5);
1695       dbms_sql.column_value(p_cur_get_CSP, 123, X_CSP_Rec.ATTRIBUTE6);
1696       dbms_sql.column_value(p_cur_get_CSP, 124, X_CSP_Rec.ATTRIBUTE7);
1697       dbms_sql.column_value(p_cur_get_CSP, 125, X_CSP_Rec.ATTRIBUTE8);
1698       dbms_sql.column_value(p_cur_get_CSP, 126, X_CSP_Rec.ATTRIBUTE9);
1699       dbms_sql.column_value(p_cur_get_CSP, 127, X_CSP_Rec.ATTRIBUTE10);
1700       dbms_sql.column_value(p_cur_get_CSP, 128, X_CSP_Rec.ATTRIBUTE11);
1701       dbms_sql.column_value(p_cur_get_CSP, 129, X_CSP_Rec.ATTRIBUTE12);
1702       dbms_sql.column_value(p_cur_get_CSP, 130, X_CSP_Rec.ATTRIBUTE13);
1703       dbms_sql.column_value(p_cur_get_CSP, 131, X_CSP_Rec.ATTRIBUTE14);
1704       dbms_sql.column_value(p_cur_get_CSP, 132, X_CSP_Rec.ATTRIBUTE15);
1705       dbms_sql.column_value(p_cur_get_CSP, 133, X_CSP_Rec.MOVEMENT_ID);
1706       dbms_sql.column_value(p_cur_get_CSP, 134, X_CSP_Rec.RESERVATION_QUANTITY);
1707       dbms_sql.column_value(p_cur_get_CSP, 135, X_CSP_Rec.SHIPPED_QUANTITY);
1708       dbms_sql.column_value(p_cur_get_CSP, 136, X_CSP_Rec.TRANSACTION_LINE_NUMBER);
1709       dbms_sql.column_value(p_cur_get_CSP, 137, X_CSP_Rec.TASK_ID);
1710       dbms_sql.column_value(p_cur_get_CSP, 138, X_CSP_Rec.TO_TASK_ID);
1711       dbms_sql.column_value(p_cur_get_CSP, 139, X_CSP_Rec.SOURCE_TASK_ID);
1712       dbms_sql.column_value(p_cur_get_CSP, 140, X_CSP_Rec.PROJECT_ID);
1713       dbms_sql.column_value(p_cur_get_CSP, 141, X_CSP_Rec.SOURCE_PROJECT_ID);
1714       dbms_sql.column_value(p_cur_get_CSP, 142, X_CSP_Rec.PA_EXPENDITURE_ORG_ID);
1715       dbms_sql.column_value(p_cur_get_CSP, 143, X_CSP_Rec.TO_PROJECT_ID);
1716       dbms_sql.column_value(p_cur_get_CSP, 144, X_CSP_Rec.EXPENDITURE_TYPE);
1717       dbms_sql.column_value(p_cur_get_CSP, 145, X_CSP_Rec.FINAL_COMPLETION_FLAG);
1718       dbms_sql.column_value(p_cur_get_CSP, 146, X_CSP_Rec.TRANSFER_PERCENTAGE);
1719       dbms_sql.column_value(p_cur_get_CSP, 147, X_CSP_Rec.TRANSACTION_SEQUENCE_ID);
1720       dbms_sql.column_value(p_cur_get_CSP, 148, X_CSP_Rec.MATERIAL_ACCOUNT);
1721       dbms_sql.column_value(p_cur_get_CSP, 149, X_CSP_Rec.MATERIAL_OVERHEAD_ACCOUNT);
1722       dbms_sql.column_value(p_cur_get_CSP, 150, X_CSP_Rec.RESOURCE_ACCOUNT);
1723       dbms_sql.column_value(p_cur_get_CSP, 151, X_CSP_Rec.OUTSIDE_PROCESSING_ACCOUNT);
1724       dbms_sql.column_value(p_cur_get_CSP, 152, X_CSP_Rec.OVERHEAD_ACCOUNT);
1725       dbms_sql.column_value(p_cur_get_CSP, 153, X_CSP_Rec.FLOW_SCHEDULE);
1726       dbms_sql.column_value(p_cur_get_CSP, 154, X_CSP_Rec.COST_GROUP_ID);
1727       dbms_sql.column_value(p_cur_get_CSP, 155, X_CSP_Rec.DEMAND_CLASS);
1728       dbms_sql.column_value(p_cur_get_CSP, 156, X_CSP_Rec.QA_COLLECTION_ID);
1729       dbms_sql.column_value(p_cur_get_CSP, 157, X_CSP_Rec.KANBAN_CARD_ID);
1730       dbms_sql.column_value(p_cur_get_CSP, 158, X_CSP_Rec.OVERCOMPLETION_TRANSACTION_ID);
1731       dbms_sql.column_value(p_cur_get_CSP, 159, X_CSP_Rec.OVERCOMPLETION_PRIMARY_QTY);
1732       dbms_sql.column_value(p_cur_get_CSP, 160, X_CSP_Rec.OVERCOMPLETION_TRANSACTION_QTY);
1733       dbms_sql.column_value(p_cur_get_CSP, 161, X_CSP_Rec.PROCESS_TYPE);
1734       dbms_sql.column_value(p_cur_get_CSP, 162, X_CSP_Rec.END_ITEM_UNIT_NUMBER);
1735       dbms_sql.column_value(p_cur_get_CSP, 163, X_CSP_Rec.SCHEDULED_PAYBACK_DATE);
1736       dbms_sql.column_value(p_cur_get_CSP, 164, X_CSP_Rec.LINE_TYPE_CODE);
1737       dbms_sql.column_value(p_cur_get_CSP, 165, X_CSP_Rec.PARENT_TRANSACTION_TEMP_ID);
1738       dbms_sql.column_value(p_cur_get_CSP, 166, X_CSP_Rec.PUT_AWAY_STRATEGY_ID);
1739       dbms_sql.column_value(p_cur_get_CSP, 167, X_CSP_Rec.PUT_AWAY_RULE_ID);
1743       dbms_sql.column_value(p_cur_get_CSP, 171, X_CSP_Rec.COMMON_ROUTING_SEQ_ID);
1740       dbms_sql.column_value(p_cur_get_CSP, 168, X_CSP_Rec.PICK_STRATEGY_ID);
1741       dbms_sql.column_value(p_cur_get_CSP, 169, X_CSP_Rec.PICK_RULE_ID);
1742       dbms_sql.column_value(p_cur_get_CSP, 170, X_CSP_Rec.COMMON_BOM_SEQ_ID);
1744       dbms_sql.column_value(p_cur_get_CSP, 172, X_CSP_Rec.COST_TYPE_ID);
1745       dbms_sql.column_value(p_cur_get_CSP, 173, X_CSP_Rec.ORG_COST_GROUP_ID);
1746       dbms_sql.column_value(p_cur_get_CSP, 174, X_CSP_Rec.MOVE_ORDER_LINE_ID);
1747       dbms_sql.column_value(p_cur_get_CSP, 175, X_CSP_Rec.TASK_GROUP_ID);
1748       dbms_sql.column_value(p_cur_get_CSP, 176, X_CSP_Rec.PICK_SLIP_NUMBER);
1749       dbms_sql.column_value(p_cur_get_CSP, 177, X_CSP_Rec.RESERVATION_ID);
1750       dbms_sql.column_value(p_cur_get_CSP, 178, X_CSP_Rec.TRANSACTION_STATUS);
1751 
1752       -- Debug Message
1753       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Get Column Values Ends');
1754 END Get_Column_Values;
1755 
1756 PROCEDURE Gen_CSP_order_cl(
1757     p_order_by_rec   IN   CSP_MATERIAL_TRANSACTIONS_PUB.CSP_sort_rec_type,
1758     x_order_by_cl    OUT NOCOPY  VARCHAR2,
1759     x_return_status  OUT NOCOPY  VARCHAR2,
1760     x_msg_count      OUT NOCOPY  NUMBER,
1761     x_msg_data       OUT NOCOPY  VARCHAR2
1762 )
1763 IS
1764 l_order_by_cl        VARCHAR2(1000)   := NULL;
1765 l_util_order_by_tbl  JTF_PLSQL_API.Util_order_by_tbl_type;
1766 BEGIN
1767       -- Debug Message
1768       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Order by Begins');
1769 
1770       -- Hint: Developer should add more statements according to CSP_sort_rec_type
1771       -- Ex:
1772       -- l_util_order_by_tbl(1).col_choice := p_order_by_rec.customer_name;
1773       -- l_util_order_by_tbl(1).col_name := 'Customer_Name';
1774 
1775       -- Debug Message
1776       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Invoke JTF_PLSQL_API.Translate_OrderBy');
1777 
1778       JTF_PLSQL_API.Translate_OrderBy(
1779           p_api_version_number   =>   1.0
1780          ,p_init_msg_list        =>   FND_API.G_FALSE
1781          ,p_validation_level     =>   FND_API.G_VALID_LEVEL_FULL
1782          ,p_order_by_tbl         =>   l_util_order_by_tbl
1783          ,x_order_by_clause      =>   l_order_by_cl
1784          ,x_return_status        =>   x_return_status
1785          ,x_msg_count            =>   x_msg_count
1786          ,x_msg_data             =>   x_msg_data);
1787 
1788       IF(l_order_by_cl IS NOT NULL) THEN
1789           x_order_by_cl := 'order by' || l_order_by_cl;
1790       ELSE
1791           x_order_by_cl := NULL;
1792       END IF;
1793 
1794       -- Debug Message
1795       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Order by Ends');
1796 END Gen_CSP_order_cl;
1797 
1798 -- This procedure bind the variables for the Dynamic SQL
1799 PROCEDURE Bind(
1800     P_CSP_Rec   IN   CSP_MATERIAL_TRANSACTIONS_PUB.CSP_Rec_Type,
1801     -- Hint: Add more binding variables here
1802     p_cur_get_CSP   IN   NUMBER
1803 )
1804 IS
1805 BEGIN
1806       -- Bind variables
1807       -- Only those that are not NULL
1808       -- Debug Message
1809       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Bind Variables Begins');
1810 
1811       -- The following example applies to all columns,
1812       -- developers can copy and paste them.
1813       IF( (P_CSP_Rec.TRANSACTION_HEADER_ID IS NOT NULL) AND (P_CSP_Rec.TRANSACTION_HEADER_ID <> FND_API.G_MISS_NUM) )
1814       THEN
1815           DBMS_SQL.BIND_VARIABLE(p_cur_get_CSP, ':p_TRANSACTION_HEADER_ID', P_CSP_Rec.TRANSACTION_HEADER_ID);
1816       END IF;
1817 
1818       -- Debug Message
1819       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Bind Variables Ends');
1820 END Bind;
1821 
1822 PROCEDURE Gen_Select(
1823     x_select_cl   OUT NOCOPY   VARCHAR2
1824 )
1825 IS
1826 BEGIN
1827       -- Debug Message
1828       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Select Begins');
1829 
1830       x_select_cl := 'Select ' ||
1831                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_HEADER_ID,' ||
1832                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_TEMP_ID,' ||
1833                 'CSP_MATERIAL_TRANSACTIONS_V.SOURCE_CODE,' ||
1834                 'CSP_MATERIAL_TRANSACTIONS_V.SOURCE_LINE_ID,' ||
1835                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_MODE,' ||
1836                 'CSP_MATERIAL_TRANSACTIONS_V.LOCK_FLAG,' ||
1837                 'CSP_MATERIAL_TRANSACTIONS_V.LAST_UPDATE_DATE,' ||
1838                 'CSP_MATERIAL_TRANSACTIONS_V.LAST_UPDATED_BY,' ||
1839                 'CSP_MATERIAL_TRANSACTIONS_V.CREATION_DATE,' ||
1840                 'CSP_MATERIAL_TRANSACTIONS_V.CREATED_BY,' ||
1841                 'CSP_MATERIAL_TRANSACTIONS_V.LAST_UPDATE_LOGIN,' ||
1842                 'CSP_MATERIAL_TRANSACTIONS_V.REQUEST_ID,' ||
1843                 'CSP_MATERIAL_TRANSACTIONS_V.PROGRAM_APPLICATION_ID,' ||
1844                 'CSP_MATERIAL_TRANSACTIONS_V.PROGRAM_ID,' ||
1845                 'CSP_MATERIAL_TRANSACTIONS_V.PROGRAM_UPDATE_DATE,' ||
1846                 'CSP_MATERIAL_TRANSACTIONS_V.INVENTORY_ITEM_ID,' ||
1847                 'CSP_MATERIAL_TRANSACTIONS_V.REVISION,' ||
1848                 'CSP_MATERIAL_TRANSACTIONS_V.ORGANIZATION_ID,' ||
1849                 'CSP_MATERIAL_TRANSACTIONS_V.SUBINVENTORY_CODE,' ||
1850                 'CSP_MATERIAL_TRANSACTIONS_V.LOCATOR_ID,' ||
1851                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_QUANTITY,' ||
1855                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_TYPE_ID,' ||
1852                 'CSP_MATERIAL_TRANSACTIONS_V.PRIMARY_QUANTITY,' ||
1853                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_UOM,' ||
1854                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_COST,' ||
1856                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_ACTION_ID,' ||
1857                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_SOURCE_TYPE_ID,' ||
1858                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_SOURCE_ID,' ||
1859                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_SOURCE_NAME,' ||
1860                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_DATE,' ||
1861                 'CSP_MATERIAL_TRANSACTIONS_V.ACCT_PERIOD_ID,' ||
1862                 'CSP_MATERIAL_TRANSACTIONS_V.DISTRIBUTION_ACCOUNT_ID,' ||
1863                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_REFERENCE,' ||
1864                 'CSP_MATERIAL_TRANSACTIONS_V.REQUISITION_LINE_ID,' ||
1865                 'CSP_MATERIAL_TRANSACTIONS_V.REQUISITION_DISTRIBUTION_ID,' ||
1866                 'CSP_MATERIAL_TRANSACTIONS_V.REASON_ID,' ||
1867                 'CSP_MATERIAL_TRANSACTIONS_V.LOT_NUMBER,' ||
1868                 'CSP_MATERIAL_TRANSACTIONS_V.LOT_EXPIRATION_DATE,' ||
1869                 'CSP_MATERIAL_TRANSACTIONS_V.SERIAL_NUMBER,' ||
1870                 'CSP_MATERIAL_TRANSACTIONS_V.RECEIVING_DOCUMENT,' ||
1871                 'CSP_MATERIAL_TRANSACTIONS_V.DEMAND_ID,' ||
1872                 'CSP_MATERIAL_TRANSACTIONS_V.RCV_TRANSACTION_ID,' ||
1873                 'CSP_MATERIAL_TRANSACTIONS_V.MOVE_TRANSACTION_ID,' ||
1874                 'CSP_MATERIAL_TRANSACTIONS_V.COMPLETION_TRANSACTION_ID,' ||
1875                 'CSP_MATERIAL_TRANSACTIONS_V.WIP_ENTITY_TYPE,' ||
1876                 'CSP_MATERIAL_TRANSACTIONS_V.SCHEDULE_ID,' ||
1877                 'CSP_MATERIAL_TRANSACTIONS_V.REPETITIVE_LINE_ID,' ||
1878                 'CSP_MATERIAL_TRANSACTIONS_V.EMPLOYEE_CODE,' ||
1879                 'CSP_MATERIAL_TRANSACTIONS_V.PRIMARY_SWITCH,' ||
1880                 'CSP_MATERIAL_TRANSACTIONS_V.SCHEDULE_UPDATE_CODE,' ||
1881                 'CSP_MATERIAL_TRANSACTIONS_V.SETUP_TEARDOWN_CODE,' ||
1882                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_ORDERING,' ||
1883                 'CSP_MATERIAL_TRANSACTIONS_V.NEGATIVE_REQ_FLAG,' ||
1884                 'CSP_MATERIAL_TRANSACTIONS_V.OPERATION_SEQ_NUM,' ||
1885                 'CSP_MATERIAL_TRANSACTIONS_V.PICKING_LINE_ID,' ||
1886                 'CSP_MATERIAL_TRANSACTIONS_V.TRX_SOURCE_LINE_ID,' ||
1887                 'CSP_MATERIAL_TRANSACTIONS_V.TRX_SOURCE_DELIVERY_ID,' ||
1888                 'CSP_MATERIAL_TRANSACTIONS_V.PHYSICAL_ADJUSTMENT_ID,' ||
1889                 'CSP_MATERIAL_TRANSACTIONS_V.CYCLE_COUNT_ID,' ||
1890                 'CSP_MATERIAL_TRANSACTIONS_V.RMA_LINE_ID,' ||
1891                 'CSP_MATERIAL_TRANSACTIONS_V.CUSTOMER_SHIP_ID,' ||
1892                 'CSP_MATERIAL_TRANSACTIONS_V.CURRENCY_CODE,' ||
1893                 'CSP_MATERIAL_TRANSACTIONS_V.CURRENCY_CONVERSION_RATE,' ||
1894                 'CSP_MATERIAL_TRANSACTIONS_V.CURRENCY_CONVERSION_TYPE,' ||
1895                 'CSP_MATERIAL_TRANSACTIONS_V.CURRENCY_CONVERSION_DATE,' ||
1896                 'CSP_MATERIAL_TRANSACTIONS_V.USSGL_TRANSACTION_CODE,' ||
1897                 'CSP_MATERIAL_TRANSACTIONS_V.VENDOR_LOT_NUMBER,' ||
1898                 'CSP_MATERIAL_TRANSACTIONS_V.ENCUMBRANCE_ACCOUNT,' ||
1899                 'CSP_MATERIAL_TRANSACTIONS_V.ENCUMBRANCE_AMOUNT,' ||
1900                 'CSP_MATERIAL_TRANSACTIONS_V.SHIP_TO_LOCATION,' ||
1901                 'CSP_MATERIAL_TRANSACTIONS_V.SHIPMENT_NUMBER,' ||
1902                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSFER_COST,' ||
1903                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSPORTATION_COST,' ||
1904                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSPORTATION_ACCOUNT,' ||
1905                 'CSP_MATERIAL_TRANSACTIONS_V.FREIGHT_CODE,' ||
1906                 'CSP_MATERIAL_TRANSACTIONS_V.CONTAINERS,' ||
1907                 'CSP_MATERIAL_TRANSACTIONS_V.WAYBILL_AIRBILL,' ||
1908                 'CSP_MATERIAL_TRANSACTIONS_V.EXPECTED_ARRIVAL_DATE,' ||
1909                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSFER_SUBINVENTORY,' ||
1910                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSFER_ORGANIZATION,' ||
1911                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSFER_TO_LOCATION,' ||
1912                 'CSP_MATERIAL_TRANSACTIONS_V.NEW_AVERAGE_COST,' ||
1913                 'CSP_MATERIAL_TRANSACTIONS_V.VALUE_CHANGE,' ||
1914                 'CSP_MATERIAL_TRANSACTIONS_V.PERCENTAGE_CHANGE,' ||
1915                 'CSP_MATERIAL_TRANSACTIONS_V.MATERIAL_ALLOCATION_TEMP_ID,' ||
1916                 'CSP_MATERIAL_TRANSACTIONS_V.DEMAND_SOURCE_HEADER_ID,' ||
1917                 'CSP_MATERIAL_TRANSACTIONS_V.DEMAND_SOURCE_LINE,' ||
1918                 'CSP_MATERIAL_TRANSACTIONS_V.DEMAND_SOURCE_DELIVERY,' ||
1919                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_SEGMENTS,' ||
1920                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_DESCRIPTION,' ||
1921                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_TRX_ENABLED_FLAG,' ||
1922                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_LOCATION_CONTROL_CODE,' ||
1923                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_RESTRICT_SUBINV_CODE,' ||
1924                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_RESTRICT_LOCATORS_CODE,' ||
1925                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_REVISION_QTY_CONTROL_CODE,' ||
1926                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_PRIMARY_UOM_CODE,' ||
1927                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_UOM_CLASS,' ||
1928                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_SHELF_LIFE_CODE,' ||
1929                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_SHELF_LIFE_DAYS,' ||
1930                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_LOT_CONTROL_CODE,' ||
1931                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_SERIAL_CONTROL_CODE,' ||
1932                 'CSP_MATERIAL_TRANSACTIONS_V.ITEM_INVENTORY_ASSET_FLAG,' ||
1936                 'CSP_MATERIAL_TRANSACTIONS_V.WIP_SUPPLY_TYPE,' ||
1933                 'CSP_MATERIAL_TRANSACTIONS_V.ALLOWED_UNITS_LOOKUP_CODE,' ||
1934                 'CSP_MATERIAL_TRANSACTIONS_V.DEPARTMENT_ID,' ||
1935                 'CSP_MATERIAL_TRANSACTIONS_V.DEPARTMENT_CODE,' ||
1937                 'CSP_MATERIAL_TRANSACTIONS_V.SUPPLY_SUBINVENTORY,' ||
1938                 'CSP_MATERIAL_TRANSACTIONS_V.SUPPLY_LOCATOR_ID,' ||
1939                 'CSP_MATERIAL_TRANSACTIONS_V.VALID_SUBINVENTORY_FLAG,' ||
1940                 'CSP_MATERIAL_TRANSACTIONS_V.VALID_LOCATOR_FLAG,' ||
1941                 'CSP_MATERIAL_TRANSACTIONS_V.LOCATOR_SEGMENTS,' ||
1942                 'CSP_MATERIAL_TRANSACTIONS_V.CURRENT_LOCATOR_CONTROL_CODE,' ||
1943                 'CSP_MATERIAL_TRANSACTIONS_V.NUMBER_OF_LOTS_ENTERED,' ||
1944                 'CSP_MATERIAL_TRANSACTIONS_V.WIP_COMMIT_FLAG,' ||
1945                 'CSP_MATERIAL_TRANSACTIONS_V.NEXT_LOT_NUMBER,' ||
1946                 'CSP_MATERIAL_TRANSACTIONS_V.LOT_ALPHA_PREFIX,' ||
1947                 'CSP_MATERIAL_TRANSACTIONS_V.NEXT_SERIAL_NUMBER,' ||
1948                 'CSP_MATERIAL_TRANSACTIONS_V.SERIAL_ALPHA_PREFIX,' ||
1949                 'CSP_MATERIAL_TRANSACTIONS_V.SHIPPABLE_FLAG,' ||
1950                 'CSP_MATERIAL_TRANSACTIONS_V.POSTING_FLAG,' ||
1951                 'CSP_MATERIAL_TRANSACTIONS_V.REQUIRED_FLAG,' ||
1952                 'CSP_MATERIAL_TRANSACTIONS_V.PROCESS_FLAG,' ||
1953                 'CSP_MATERIAL_TRANSACTIONS_V.ERROR_CODE,' ||
1954                 'CSP_MATERIAL_TRANSACTIONS_V.ERROR_EXPLANATION,' ||
1955                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE_CATEGORY,' ||
1956                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE1,' ||
1957                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE2,' ||
1958                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE3,' ||
1959                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE4,' ||
1960                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE5,' ||
1961                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE6,' ||
1962                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE7,' ||
1963                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE8,' ||
1964                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE9,' ||
1965                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE10,' ||
1966                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE11,' ||
1967                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE12,' ||
1968                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE13,' ||
1969                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE14,' ||
1970                 'CSP_MATERIAL_TRANSACTIONS_V.ATTRIBUTE15,' ||
1971                 'CSP_MATERIAL_TRANSACTIONS_V.MOVEMENT_ID,' ||
1972                 'CSP_MATERIAL_TRANSACTIONS_V.RESERVATION_QUANTITY,' ||
1973                 'CSP_MATERIAL_TRANSACTIONS_V.SHIPPED_QUANTITY,' ||
1974                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_LINE_NUMBER,' ||
1975                 'CSP_MATERIAL_TRANSACTIONS_V.TASK_ID,' ||
1976                 'CSP_MATERIAL_TRANSACTIONS_V.TO_TASK_ID,' ||
1977                 'CSP_MATERIAL_TRANSACTIONS_V.SOURCE_TASK_ID,' ||
1978                 'CSP_MATERIAL_TRANSACTIONS_V.PROJECT_ID,' ||
1979                 'CSP_MATERIAL_TRANSACTIONS_V.SOURCE_PROJECT_ID,' ||
1980                 'CSP_MATERIAL_TRANSACTIONS_V.PA_EXPENDITURE_ORG_ID,' ||
1981                 'CSP_MATERIAL_TRANSACTIONS_V.TO_PROJECT_ID,' ||
1982                 'CSP_MATERIAL_TRANSACTIONS_V.EXPENDITURE_TYPE,' ||
1983                 'CSP_MATERIAL_TRANSACTIONS_V.FINAL_COMPLETION_FLAG,' ||
1984                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSFER_PERCENTAGE,' ||
1985                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_SEQUENCE_ID,' ||
1986                 'CSP_MATERIAL_TRANSACTIONS_V.MATERIAL_ACCOUNT,' ||
1987                 'CSP_MATERIAL_TRANSACTIONS_V.MATERIAL_OVERHEAD_ACCOUNT,' ||
1988                 'CSP_MATERIAL_TRANSACTIONS_V.RESOURCE_ACCOUNT,' ||
1989                 'CSP_MATERIAL_TRANSACTIONS_V.OUTSIDE_PROCESSING_ACCOUNT,' ||
1990                 'CSP_MATERIAL_TRANSACTIONS_V.OVERHEAD_ACCOUNT,' ||
1991                 'CSP_MATERIAL_TRANSACTIONS_V.FLOW_SCHEDULE,' ||
1992                 'CSP_MATERIAL_TRANSACTIONS_V.COST_GROUP_ID,' ||
1993                 'CSP_MATERIAL_TRANSACTIONS_V.DEMAND_CLASS,' ||
1994                 'CSP_MATERIAL_TRANSACTIONS_V.QA_COLLECTION_ID,' ||
1995                 'CSP_MATERIAL_TRANSACTIONS_V.KANBAN_CARD_ID,' ||
1996                 'CSP_MATERIAL_TRANSACTIONS_V.OVERCOMPLETION_TRANSACTION_ID,' ||
1997                 'CSP_MATERIAL_TRANSACTIONS_V.OVERCOMPLETION_PRIMARY_QTY,' ||
1998                 'CSP_MATERIAL_TRANSACTIONS_V.OVERCOMPLETION_TRANSACTION_QTY,' ||
1999                 'CSP_MATERIAL_TRANSACTIONS_V.PROCESS_TYPE,' ||
2000                 'CSP_MATERIAL_TRANSACTIONS_V.END_ITEM_UNIT_NUMBER,' ||
2001                 'CSP_MATERIAL_TRANSACTIONS_V.SCHEDULED_PAYBACK_DATE,' ||
2002                 'CSP_MATERIAL_TRANSACTIONS_V.LINE_TYPE_CODE,' ||
2003                 'CSP_MATERIAL_TRANSACTIONS_V.PARENT_TRANSACTION_TEMP_ID,' ||
2004                 'CSP_MATERIAL_TRANSACTIONS_V.PUT_AWAY_STRATEGY_ID,' ||
2005                 'CSP_MATERIAL_TRANSACTIONS_V.PUT_AWAY_RULE_ID,' ||
2006                 'CSP_MATERIAL_TRANSACTIONS_V.PICK_STRATEGY_ID,' ||
2007                 'CSP_MATERIAL_TRANSACTIONS_V.PICK_RULE_ID,' ||
2008                 'CSP_MATERIAL_TRANSACTIONS_V.COMMON_BOM_SEQ_ID,' ||
2009                 'CSP_MATERIAL_TRANSACTIONS_V.COMMON_ROUTING_SEQ_ID,' ||
2010                 'CSP_MATERIAL_TRANSACTIONS_V.COST_TYPE_ID,' ||
2011                 'CSP_MATERIAL_TRANSACTIONS_V.ORG_COST_GROUP_ID,' ||
2012                 'CSP_MATERIAL_TRANSACTIONS_V.MOVE_ORDER_LINE_ID,' ||
2013                 'CSP_MATERIAL_TRANSACTIONS_V.TASK_GROUP_ID,' ||
2014                 'CSP_MATERIAL_TRANSACTIONS_V.PICK_SLIP_NUMBER,' ||
2015                 'CSP_MATERIAL_TRANSACTIONS_V.RESERVATION_ID,' ||
2016                 'CSP_MATERIAL_TRANSACTIONS_V.TRANSACTION_STATUS,' ||
2020 
2017                 'from CSP_MATERIAL_TRANSACTIONS_V';
2018       -- Debug Message
2019       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Select Ends');
2021 END Gen_Select;
2022 
2023 PROCEDURE Gen_CSP_Where(
2024     P_CSP_Rec     IN   CSP_MATERIAL_TRANSACTIONS_PUB.CSP_Rec_Type,
2025     x_CSP_where   OUT NOCOPY   VARCHAR2
2026 )
2027 IS
2028 -- cursors to check if wildcard values '%' and '_' have been passed
2029 -- as item values
2030 CURSOR c_chk_str1(p_rec_item VARCHAR2) IS
2031     SELECT INSTR(p_rec_item, '%', 1, 1)
2032     FROM DUAL;
2033 CURSOR c_chk_str2(p_rec_item VARCHAR2) IS
2034     SELECT INSTR(p_rec_item, '_', 1, 1)
2035     FROM DUAL;
2036 
2037 -- return values from cursors
2038 str_csr1   NUMBER;
2039 str_csr2   NUMBER;
2040 l_operator VARCHAR2(10);
2041 BEGIN
2042       -- Debug Message
2043       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Where Begins');
2044 
2045       -- There are three examples for each kind of datatype:
2046       -- NUMBER, DATE, VARCHAR2.
2047       -- Developer can copy and paste the following codes for your own record.
2048 
2049       -- example for NUMBER datatype
2050       IF( (P_CSP_Rec.TRANSACTION_HEADER_ID IS NOT NULL) AND (P_CSP_Rec.TRANSACTION_HEADER_ID <> FND_API.G_MISS_NUM) )
2051       THEN
2052           IF(x_CSP_where IS NULL) THEN
2053               x_CSP_where := 'Where';
2054           ELSE
2055               x_CSP_where := x_CSP_where || ' AND ';
2056           END IF;
2057           x_CSP_where := x_CSP_where || 'P_CSP_Rec.TRANSACTION_HEADER_ID = :p_TRANSACTION_HEADER_ID';
2058       END IF;
2059 
2060       -- example for DATE datatype
2061       IF( (P_CSP_Rec.LAST_UPDATE_DATE IS NOT NULL) AND (P_CSP_Rec.LAST_UPDATE_DATE <> FND_API.G_MISS_DATE) )
2062       THEN
2063           -- check if item value contains '%' wildcard
2064           OPEN c_chk_str1(P_CSP_Rec.LAST_UPDATE_DATE);
2065           FETCH c_chk_str1 INTO str_csr1;
2066           CLOSE c_chk_str1;
2067 
2068           IF(str_csr1 <> 0) THEN
2069               l_operator := ' LIKE ';
2070           ELSE
2071               l_operator := ' = ';
2072           END IF;
2073 
2074           -- check if item value contains '_' wildcard
2075           OPEN c_chk_str2(P_CSP_Rec.LAST_UPDATE_DATE);
2076           FETCH c_chk_str2 INTO str_csr2;
2077           CLOSE c_chk_str2;
2078 
2079           IF(str_csr2 <> 0) THEN
2080               l_operator := ' LIKE ';
2081           ELSE
2082               l_operator := ' = ';
2083           END IF;
2084 
2085           IF(x_CSP_where IS NULL) THEN
2086               x_CSP_where := 'Where ';
2087           ELSE
2088               x_CSP_where := x_CSP_where || ' AND ';
2089           END IF;
2090           x_CSP_where := x_CSP_where || 'P_CSP_Rec.LAST_UPDATE_DATE ' || l_operator || ' :p_LAST_UPDATE_DATE';
2091       END IF;
2092 
2093       -- example for VARCHAR2 datatype
2094       IF( (P_CSP_Rec.SOURCE_CODE IS NOT NULL) AND (P_CSP_Rec.SOURCE_CODE <> FND_API.G_MISS_CHAR) )
2095       THEN
2096           -- check if item value contains '%' wildcard
2097           OPEN c_chk_str1(P_CSP_Rec.SOURCE_CODE);
2098           FETCH c_chk_str1 INTO str_csr1;
2099           CLOSE c_chk_str1;
2100 
2101           IF(str_csr1 <> 0) THEN
2102               l_operator := ' LIKE ';
2103           ELSE
2104               l_operator := ' = ';
2105           END IF;
2106 
2107           -- check if item value contains '_' wildcard
2108           OPEN c_chk_str2(P_CSP_Rec.SOURCE_CODE);
2109           FETCH c_chk_str2 INTO str_csr2;
2110           CLOSE c_chk_str2;
2111 
2112           IF(str_csr2 <> 0) THEN
2113               l_operator := ' LIKE ';
2114           ELSE
2115               l_operator := ' = ';
2116           END IF;
2117 
2118           IF(x_CSP_where IS NULL) THEN
2119               x_CSP_where := 'Where ';
2120           ELSE
2121               x_CSP_where := x_CSP_where || ' AND ';
2122           END IF;
2123           x_CSP_where := x_CSP_where || 'P_CSP_Rec.SOURCE_CODE ' || l_operator || ' :p_SOURCE_CODE';
2124       END IF;
2125 
2126       -- Add more IF statements for each column below
2127 
2128       -- Debug Message
2129       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: Generate Where Ends');
2130 
2131 END Gen_CSP_Where;
2132 
2133 -- Item-level validation procedures
2134 PROCEDURE Validate_TRANSACTION_HEADER_ID (
2135     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2136     P_Validation_mode            IN   VARCHAR2,
2137     P_TRANSACTION_HEADER_ID                IN   NUMBER,
2138     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2139     X_Return_Status              OUT NOCOPY  VARCHAR2,
2140     X_Msg_Count                  OUT NOCOPY  NUMBER,
2141     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2142     )
2143 IS
2144 BEGIN
2145 
2146       -- Initialize message list if p_init_msg_list is set to TRUE.
2147       IF FND_API.to_Boolean( p_init_msg_list )
2148       THEN
2149           FND_MSG_PUB.initialize;
2150       END IF;
2151 
2152 
2153       -- Initialize API return status to SUCCESS
2154       x_return_status := FND_API.G_RET_STS_SUCCESS;
2155 
2156       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2160           -- verify if data is valid
2157       THEN
2158           -- Hint: Validate data
2159           -- IF p_TRANSACTION_HEADER_ID is not NULL and p_TRANSACTION_HEADER_ID <> G_MISS_CHAR
2161           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2162           NULL;
2163       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2164       THEN
2165           -- Hint: Validate data
2166           -- IF p_TRANSACTION_HEADER_ID <> G_MISS_CHAR
2167           -- verify if data is valid
2168           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2169           NULL;
2170       END IF;
2171 
2172       -- Standard call to get message count and if count is 1, get message info.
2173       FND_MSG_PUB.Count_And_Get
2174       (  p_count          =>   x_msg_count,
2175          p_data           =>   x_msg_data
2176       );
2177 
2178 END Validate_TRANSACTION_HEADER_ID;
2179 
2180 
2181 PROCEDURE Validate_TRANSACTION_TEMP_ID (
2182     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2183     P_Validation_mode            IN   VARCHAR2,
2184     P_TRANSACTION_TEMP_ID                IN   NUMBER,
2185     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2186     X_Return_Status              OUT NOCOPY  VARCHAR2,
2187     X_Msg_Count                  OUT NOCOPY  NUMBER,
2188     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2189     )
2190 IS
2191 BEGIN
2192 
2193       -- Initialize message list if p_init_msg_list is set to TRUE.
2194       IF FND_API.to_Boolean( p_init_msg_list )
2195       THEN
2196           FND_MSG_PUB.initialize;
2197       END IF;
2198 
2199 
2200       -- Initialize API return status to SUCCESS
2201       x_return_status := FND_API.G_RET_STS_SUCCESS;
2202 
2203       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2204       THEN
2205           -- Hint: Validate data
2206           -- IF p_TRANSACTION_TEMP_ID is not NULL and p_TRANSACTION_TEMP_ID <> G_MISS_CHAR
2207           -- verify if data is valid
2208           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2209           NULL;
2210       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2211       THEN
2212           -- Hint: Validate data
2213           -- IF p_TRANSACTION_TEMP_ID <> G_MISS_CHAR
2214           -- verify if data is valid
2215           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2216           NULL;
2217       END IF;
2218 
2219       -- Standard call to get message count and if count is 1, get message info.
2220       FND_MSG_PUB.Count_And_Get
2221       (  p_count          =>   x_msg_count,
2222          p_data           =>   x_msg_data
2223       );
2224 
2225 END Validate_TRANSACTION_TEMP_ID;
2226 
2227 
2228 PROCEDURE Validate_SOURCE_CODE (
2229     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2230     P_Validation_mode            IN   VARCHAR2,
2231     P_SOURCE_CODE                IN   VARCHAR2,
2232     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2233     X_Return_Status              OUT NOCOPY  VARCHAR2,
2234     X_Msg_Count                  OUT NOCOPY  NUMBER,
2235     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2236     )
2237 IS
2238 BEGIN
2239 
2240       -- Initialize message list if p_init_msg_list is set to TRUE.
2241       IF FND_API.to_Boolean( p_init_msg_list )
2242       THEN
2243           FND_MSG_PUB.initialize;
2244       END IF;
2245 
2246 
2247       -- Initialize API return status to SUCCESS
2248       x_return_status := FND_API.G_RET_STS_SUCCESS;
2249 
2250       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2251       THEN
2252           -- Hint: Validate data
2253           -- IF p_SOURCE_CODE is not NULL and p_SOURCE_CODE <> G_MISS_CHAR
2254           -- verify if data is valid
2255           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2256           NULL;
2257       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2258       THEN
2259           -- Hint: Validate data
2260           -- IF p_SOURCE_CODE <> G_MISS_CHAR
2261           -- verify if data is valid
2262           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2263           NULL;
2264       END IF;
2265 
2266       -- Standard call to get message count and if count is 1, get message info.
2267       FND_MSG_PUB.Count_And_Get
2268       (  p_count          =>   x_msg_count,
2269          p_data           =>   x_msg_data
2270       );
2271 
2272 END Validate_SOURCE_CODE;
2273 
2274 
2275 PROCEDURE Validate_SOURCE_LINE_ID (
2276     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2277     P_Validation_mode            IN   VARCHAR2,
2278     P_SOURCE_LINE_ID                IN   NUMBER,
2279     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2280     X_Return_Status              OUT NOCOPY  VARCHAR2,
2281     X_Msg_Count                  OUT NOCOPY  NUMBER,
2282     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2283     )
2284 IS
2285 BEGIN
2286 
2287       -- Initialize message list if p_init_msg_list is set to TRUE.
2291       END IF;
2288       IF FND_API.to_Boolean( p_init_msg_list )
2289       THEN
2290           FND_MSG_PUB.initialize;
2292 
2293 
2294       -- Initialize API return status to SUCCESS
2295       x_return_status := FND_API.G_RET_STS_SUCCESS;
2296 
2297       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2298       THEN
2299           -- Hint: Validate data
2300           -- IF p_SOURCE_LINE_ID is not NULL and p_SOURCE_LINE_ID <> G_MISS_CHAR
2301           -- verify if data is valid
2302           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2303           NULL;
2304       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2305       THEN
2306           -- Hint: Validate data
2307           -- IF p_SOURCE_LINE_ID <> G_MISS_CHAR
2308           -- verify if data is valid
2309           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2310           NULL;
2311       END IF;
2312 
2313       -- Standard call to get message count and if count is 1, get message info.
2314       FND_MSG_PUB.Count_And_Get
2315       (  p_count          =>   x_msg_count,
2316          p_data           =>   x_msg_data
2317       );
2318 
2319 END Validate_SOURCE_LINE_ID;
2320 
2321 
2322 PROCEDURE Validate_TRANSACTION_MODE (
2323     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2324     P_Validation_mode            IN   VARCHAR2,
2325     P_TRANSACTION_MODE                IN   NUMBER,
2326     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2327     X_Return_Status              OUT NOCOPY  VARCHAR2,
2328     X_Msg_Count                  OUT NOCOPY  NUMBER,
2329     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2330     )
2331 IS
2332 BEGIN
2333 
2334       -- Initialize message list if p_init_msg_list is set to TRUE.
2335       IF FND_API.to_Boolean( p_init_msg_list )
2336       THEN
2337           FND_MSG_PUB.initialize;
2338       END IF;
2339 
2340 
2341       -- Initialize API return status to SUCCESS
2342       x_return_status := FND_API.G_RET_STS_SUCCESS;
2343 
2344       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2345       THEN
2346           -- Hint: Validate data
2347           -- IF p_TRANSACTION_MODE is not NULL and p_TRANSACTION_MODE <> G_MISS_CHAR
2348           -- verify if data is valid
2349           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2350           NULL;
2351       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2352       THEN
2353           -- Hint: Validate data
2354           -- IF p_TRANSACTION_MODE <> G_MISS_CHAR
2355           -- verify if data is valid
2356           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2357           NULL;
2358       END IF;
2359 
2360       -- Standard call to get message count and if count is 1, get message info.
2361       FND_MSG_PUB.Count_And_Get
2362       (  p_count          =>   x_msg_count,
2363          p_data           =>   x_msg_data
2364       );
2365 
2366 END Validate_TRANSACTION_MODE;
2367 
2368 
2369 PROCEDURE Validate_LOCK_FLAG (
2370     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2371     P_Validation_mode            IN   VARCHAR2,
2372     P_LOCK_FLAG                IN   VARCHAR2,
2373     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2374     X_Return_Status              OUT NOCOPY  VARCHAR2,
2375     X_Msg_Count                  OUT NOCOPY  NUMBER,
2376     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2377     )
2378 IS
2379 BEGIN
2380 
2381       -- Initialize message list if p_init_msg_list is set to TRUE.
2382       IF FND_API.to_Boolean( p_init_msg_list )
2383       THEN
2384           FND_MSG_PUB.initialize;
2385       END IF;
2386 
2387 
2388       -- Initialize API return status to SUCCESS
2389       x_return_status := FND_API.G_RET_STS_SUCCESS;
2390 
2391       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2392       THEN
2393           -- Hint: Validate data
2394           -- IF p_LOCK_FLAG is not NULL and p_LOCK_FLAG <> G_MISS_CHAR
2395           -- verify if data is valid
2396           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2397           NULL;
2398       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2399       THEN
2400           -- Hint: Validate data
2401           -- IF p_LOCK_FLAG <> G_MISS_CHAR
2402           -- verify if data is valid
2403           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2404           NULL;
2405       END IF;
2406 
2407       -- Standard call to get message count and if count is 1, get message info.
2408       FND_MSG_PUB.Count_And_Get
2409       (  p_count          =>   x_msg_count,
2410          p_data           =>   x_msg_data
2411       );
2412 
2413 END Validate_LOCK_FLAG;
2414 
2415 
2416 PROCEDURE Validate_REQUEST_ID (
2417     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2418     P_Validation_mode            IN   VARCHAR2,
2419     P_REQUEST_ID                IN   NUMBER,
2420     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2421     X_Return_Status              OUT NOCOPY  VARCHAR2,
2425 IS
2422     X_Msg_Count                  OUT NOCOPY  NUMBER,
2423     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2424     )
2426 BEGIN
2427 
2428       -- Initialize message list if p_init_msg_list is set to TRUE.
2429       IF FND_API.to_Boolean( p_init_msg_list )
2430       THEN
2431           FND_MSG_PUB.initialize;
2432       END IF;
2433 
2434 
2435       -- Initialize API return status to SUCCESS
2436       x_return_status := FND_API.G_RET_STS_SUCCESS;
2437 
2438       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2439       THEN
2440           -- Hint: Validate data
2441           -- IF p_REQUEST_ID is not NULL and p_REQUEST_ID <> G_MISS_CHAR
2442           -- verify if data is valid
2443           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2444           NULL;
2445       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2446       THEN
2447           -- Hint: Validate data
2448           -- IF p_REQUEST_ID <> G_MISS_CHAR
2449           -- verify if data is valid
2450           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2451           NULL;
2452       END IF;
2453 
2454       -- Standard call to get message count and if count is 1, get message info.
2455       FND_MSG_PUB.Count_And_Get
2456       (  p_count          =>   x_msg_count,
2457          p_data           =>   x_msg_data
2458       );
2459 
2460 END Validate_REQUEST_ID;
2461 
2462 
2463 PROCEDURE Validate_INVENTORY_ITEM_ID (
2464     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2465     P_Validation_mode            IN   VARCHAR2,
2466     P_INVENTORY_ITEM_ID                IN   NUMBER,
2467     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2468     X_Return_Status              OUT NOCOPY  VARCHAR2,
2469     X_Msg_Count                  OUT NOCOPY  NUMBER,
2470     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2471     )
2472 IS
2473 BEGIN
2474 
2475       -- Initialize message list if p_init_msg_list is set to TRUE.
2476       IF FND_API.to_Boolean( p_init_msg_list )
2477       THEN
2478           FND_MSG_PUB.initialize;
2479       END IF;
2480 
2481 
2482       -- Initialize API return status to SUCCESS
2483       x_return_status := FND_API.G_RET_STS_SUCCESS;
2484 
2485       -- validate NOT NULL column
2486       IF(p_INVENTORY_ITEM_ID is NULL)
2487       THEN
2488           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(INVENTORY_ITEM_ID)');
2489           x_return_status := FND_API.G_RET_STS_ERROR;
2490       END IF;
2491 
2492       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2493       THEN
2494           -- Hint: Validate data
2495           -- IF p_INVENTORY_ITEM_ID is not NULL and p_INVENTORY_ITEM_ID <> G_MISS_CHAR
2496           -- verify if data is valid
2497           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2498           NULL;
2499       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2500       THEN
2501           -- Hint: Validate data
2502           -- IF p_INVENTORY_ITEM_ID <> G_MISS_CHAR
2503           -- verify if data is valid
2504           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2505           NULL;
2506       END IF;
2507 
2508       -- Standard call to get message count and if count is 1, get message info.
2509       FND_MSG_PUB.Count_And_Get
2510       (  p_count          =>   x_msg_count,
2511          p_data           =>   x_msg_data
2512       );
2513 
2514 END Validate_INVENTORY_ITEM_ID;
2515 
2516 
2517 PROCEDURE Validate_REVISION (
2518     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2519     P_Validation_mode            IN   VARCHAR2,
2520     P_REVISION                IN   VARCHAR2,
2521     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2522     X_Return_Status              OUT NOCOPY  VARCHAR2,
2523     X_Msg_Count                  OUT NOCOPY  NUMBER,
2524     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2525     )
2526 IS
2527 BEGIN
2528 
2529       -- Initialize message list if p_init_msg_list is set to TRUE.
2530       IF FND_API.to_Boolean( p_init_msg_list )
2531       THEN
2532           FND_MSG_PUB.initialize;
2533       END IF;
2534 
2535 
2536       -- Initialize API return status to SUCCESS
2537       x_return_status := FND_API.G_RET_STS_SUCCESS;
2538 
2539       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2540       THEN
2541           -- Hint: Validate data
2542           -- IF p_REVISION is not NULL and p_REVISION <> G_MISS_CHAR
2543           -- verify if data is valid
2544           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2545           NULL;
2546       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2547       THEN
2548           -- Hint: Validate data
2549           -- IF p_REVISION <> G_MISS_CHAR
2550           -- verify if data is valid
2551           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2552           NULL;
2553       END IF;
2554 
2555       -- Standard call to get message count and if count is 1, get message info.
2556       FND_MSG_PUB.Count_And_Get
2560 
2557       (  p_count          =>   x_msg_count,
2558          p_data           =>   x_msg_data
2559       );
2561 END Validate_REVISION;
2562 
2563 
2564 PROCEDURE Validate_ORGANIZATION_ID (
2565     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2566     P_Validation_mode            IN   VARCHAR2,
2567     P_ORGANIZATION_ID                IN   NUMBER,
2568     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2569     X_Return_Status              OUT NOCOPY  VARCHAR2,
2570     X_Msg_Count                  OUT NOCOPY  NUMBER,
2571     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2572     )
2573 IS
2574 BEGIN
2575 
2576       -- Initialize message list if p_init_msg_list is set to TRUE.
2577       IF FND_API.to_Boolean( p_init_msg_list )
2578       THEN
2579           FND_MSG_PUB.initialize;
2580       END IF;
2581 
2582 
2583       -- Initialize API return status to SUCCESS
2584       x_return_status := FND_API.G_RET_STS_SUCCESS;
2585 
2586       -- validate NOT NULL column
2587       IF(p_ORGANIZATION_ID is NULL)
2588       THEN
2589           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(ORGANIZATION_ID)');
2590           x_return_status := FND_API.G_RET_STS_ERROR;
2591       END IF;
2592 
2593       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2594       THEN
2595           -- Hint: Validate data
2596           -- IF p_ORGANIZATION_ID is not NULL and p_ORGANIZATION_ID <> G_MISS_CHAR
2597           -- verify if data is valid
2598           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2599           NULL;
2600       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2601       THEN
2602           -- Hint: Validate data
2603           -- IF p_ORGANIZATION_ID <> G_MISS_CHAR
2604           -- verify if data is valid
2605           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2606           NULL;
2607       END IF;
2608 
2609       -- Standard call to get message count and if count is 1, get message info.
2610       FND_MSG_PUB.Count_And_Get
2611       (  p_count          =>   x_msg_count,
2612          p_data           =>   x_msg_data
2613       );
2614 
2615 END Validate_ORGANIZATION_ID;
2616 
2617 
2618 PROCEDURE Validate_SUBINVENTORY_CODE (
2619     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2620     P_Validation_mode            IN   VARCHAR2,
2621     P_SUBINVENTORY_CODE                IN   VARCHAR2,
2622     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2623     X_Return_Status              OUT NOCOPY  VARCHAR2,
2624     X_Msg_Count                  OUT NOCOPY  NUMBER,
2625     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2626     )
2627 IS
2628 BEGIN
2629 
2630       -- Initialize message list if p_init_msg_list is set to TRUE.
2631       IF FND_API.to_Boolean( p_init_msg_list )
2632       THEN
2633           FND_MSG_PUB.initialize;
2634       END IF;
2635 
2636 
2637       -- Initialize API return status to SUCCESS
2638       x_return_status := FND_API.G_RET_STS_SUCCESS;
2639 
2640       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2641       THEN
2642           -- Hint: Validate data
2643           -- IF p_SUBINVENTORY_CODE is not NULL and p_SUBINVENTORY_CODE <> G_MISS_CHAR
2644           -- verify if data is valid
2645           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2646           NULL;
2647       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2648       THEN
2649           -- Hint: Validate data
2650           -- IF p_SUBINVENTORY_CODE <> G_MISS_CHAR
2651           -- verify if data is valid
2652           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2653           NULL;
2654       END IF;
2655 
2656       -- Standard call to get message count and if count is 1, get message info.
2657       FND_MSG_PUB.Count_And_Get
2658       (  p_count          =>   x_msg_count,
2659          p_data           =>   x_msg_data
2660       );
2661 
2662 END Validate_SUBINVENTORY_CODE;
2663 
2664 
2665 PROCEDURE Validate_LOCATOR_ID (
2666     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2667     P_Validation_mode            IN   VARCHAR2,
2668     P_LOCATOR_ID                IN   NUMBER,
2669     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2670     X_Return_Status              OUT NOCOPY  VARCHAR2,
2671     X_Msg_Count                  OUT NOCOPY  NUMBER,
2672     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2673     )
2674 IS
2675 BEGIN
2676 
2677       -- Initialize message list if p_init_msg_list is set to TRUE.
2678       IF FND_API.to_Boolean( p_init_msg_list )
2679       THEN
2680           FND_MSG_PUB.initialize;
2681       END IF;
2682 
2683 
2684       -- Initialize API return status to SUCCESS
2685       x_return_status := FND_API.G_RET_STS_SUCCESS;
2686 
2687       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2688       THEN
2689           -- Hint: Validate data
2690           -- IF p_LOCATOR_ID is not NULL and p_LOCATOR_ID <> G_MISS_CHAR
2694       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2691           -- verify if data is valid
2692           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2693           NULL;
2695       THEN
2696           -- Hint: Validate data
2697           -- IF p_LOCATOR_ID <> G_MISS_CHAR
2698           -- verify if data is valid
2699           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2700           NULL;
2701       END IF;
2702 
2703       -- Standard call to get message count and if count is 1, get message info.
2704       FND_MSG_PUB.Count_And_Get
2705       (  p_count          =>   x_msg_count,
2706          p_data           =>   x_msg_data
2707       );
2708 
2709 END Validate_LOCATOR_ID;
2710 
2711 
2712 PROCEDURE Validate_TRANSACTION_QUANTITY (
2713     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2714     P_Validation_mode            IN   VARCHAR2,
2715     P_TRANSACTION_QUANTITY                IN   NUMBER,
2716     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2717     X_Return_Status              OUT NOCOPY  VARCHAR2,
2718     X_Msg_Count                  OUT NOCOPY  NUMBER,
2719     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2720     )
2721 IS
2722 BEGIN
2723 
2724       -- Initialize message list if p_init_msg_list is set to TRUE.
2725       IF FND_API.to_Boolean( p_init_msg_list )
2726       THEN
2727           FND_MSG_PUB.initialize;
2728       END IF;
2729 
2730 
2731       -- Initialize API return status to SUCCESS
2732       x_return_status := FND_API.G_RET_STS_SUCCESS;
2733 
2734       -- validate NOT NULL column
2735       IF(p_TRANSACTION_QUANTITY is NULL)
2736       THEN
2737           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_QUANTITY)');
2738           x_return_status := FND_API.G_RET_STS_ERROR;
2739       END IF;
2740 
2741       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2742       THEN
2743           -- Hint: Validate data
2744           -- IF p_TRANSACTION_QUANTITY is not NULL and p_TRANSACTION_QUANTITY <> G_MISS_CHAR
2745           -- verify if data is valid
2746           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2747           NULL;
2748       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2749       THEN
2750           -- Hint: Validate data
2751           -- IF p_TRANSACTION_QUANTITY <> G_MISS_CHAR
2752           -- verify if data is valid
2753           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2754           NULL;
2755       END IF;
2756 
2757       -- Standard call to get message count and if count is 1, get message info.
2758       FND_MSG_PUB.Count_And_Get
2759       (  p_count          =>   x_msg_count,
2760          p_data           =>   x_msg_data
2761       );
2762 
2763 END Validate_TRANSACTION_QUANTITY;
2764 
2765 
2766 PROCEDURE Validate_PRIMARY_QUANTITY (
2767     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2768     P_Validation_mode            IN   VARCHAR2,
2769     P_PRIMARY_QUANTITY                IN   NUMBER,
2770     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2771     X_Return_Status              OUT NOCOPY  VARCHAR2,
2772     X_Msg_Count                  OUT NOCOPY  NUMBER,
2773     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2774     )
2775 IS
2776 BEGIN
2777 
2778       -- Initialize message list if p_init_msg_list is set to TRUE.
2779       IF FND_API.to_Boolean( p_init_msg_list )
2780       THEN
2781           FND_MSG_PUB.initialize;
2782       END IF;
2783 
2784 
2785       -- Initialize API return status to SUCCESS
2786       x_return_status := FND_API.G_RET_STS_SUCCESS;
2787 
2788       -- validate NOT NULL column
2789       IF(p_PRIMARY_QUANTITY is NULL)
2790       THEN
2791           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(PRIMARY_QUANTITY)');
2792           x_return_status := FND_API.G_RET_STS_ERROR;
2793       END IF;
2794 
2795       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2796       THEN
2797           -- Hint: Validate data
2798           -- IF p_PRIMARY_QUANTITY is not NULL and p_PRIMARY_QUANTITY <> G_MISS_CHAR
2799           -- verify if data is valid
2800           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2801           NULL;
2802       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2803       THEN
2804           -- Hint: Validate data
2805           -- IF p_PRIMARY_QUANTITY <> G_MISS_CHAR
2806           -- verify if data is valid
2807           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2808           NULL;
2809       END IF;
2810 
2811       -- Standard call to get message count and if count is 1, get message info.
2812       FND_MSG_PUB.Count_And_Get
2813       (  p_count          =>   x_msg_count,
2814          p_data           =>   x_msg_data
2815       );
2816 
2817 END Validate_PRIMARY_QUANTITY;
2818 
2819 
2820 PROCEDURE Validate_TRANSACTION_UOM (
2821     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2822     P_Validation_mode            IN   VARCHAR2,
2826     X_Msg_Count                  OUT NOCOPY  NUMBER,
2823     P_TRANSACTION_UOM                IN   VARCHAR2,
2824     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2825     X_Return_Status              OUT NOCOPY  VARCHAR2,
2827     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2828     )
2829 IS
2830 BEGIN
2831 
2832       -- Initialize message list if p_init_msg_list is set to TRUE.
2833       IF FND_API.to_Boolean( p_init_msg_list )
2834       THEN
2835           FND_MSG_PUB.initialize;
2836       END IF;
2837 
2838 
2839       -- Initialize API return status to SUCCESS
2840       x_return_status := FND_API.G_RET_STS_SUCCESS;
2841 
2842       -- validate NOT NULL column
2843       IF(p_TRANSACTION_UOM is NULL)
2844       THEN
2845           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_UOM)');
2846           x_return_status := FND_API.G_RET_STS_ERROR;
2847       END IF;
2848 
2849       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2850       THEN
2851           -- Hint: Validate data
2852           -- IF p_TRANSACTION_UOM is not NULL and p_TRANSACTION_UOM <> G_MISS_CHAR
2853           -- verify if data is valid
2854           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2855           NULL;
2856       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2857       THEN
2858           -- Hint: Validate data
2859           -- IF p_TRANSACTION_UOM <> G_MISS_CHAR
2860           -- verify if data is valid
2861           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2862           NULL;
2863       END IF;
2864 
2865       -- Standard call to get message count and if count is 1, get message info.
2866       FND_MSG_PUB.Count_And_Get
2867       (  p_count          =>   x_msg_count,
2868          p_data           =>   x_msg_data
2869       );
2870 
2871 END Validate_TRANSACTION_UOM;
2872 
2873 
2874 PROCEDURE Validate_TRANSACTION_COST (
2875     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2876     P_Validation_mode            IN   VARCHAR2,
2877     P_TRANSACTION_COST                IN   NUMBER,
2878     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2879     X_Return_Status              OUT NOCOPY  VARCHAR2,
2880     X_Msg_Count                  OUT NOCOPY  NUMBER,
2881     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2882     )
2883 IS
2884 BEGIN
2885 
2886       -- Initialize message list if p_init_msg_list is set to TRUE.
2887       IF FND_API.to_Boolean( p_init_msg_list )
2888       THEN
2889           FND_MSG_PUB.initialize;
2890       END IF;
2891 
2892 
2893       -- Initialize API return status to SUCCESS
2894       x_return_status := FND_API.G_RET_STS_SUCCESS;
2895 
2896       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2897       THEN
2898           -- Hint: Validate data
2899           -- IF p_TRANSACTION_COST is not NULL and p_TRANSACTION_COST <> G_MISS_CHAR
2900           -- verify if data is valid
2901           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2902           NULL;
2903       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2904       THEN
2905           -- Hint: Validate data
2906           -- IF p_TRANSACTION_COST <> G_MISS_CHAR
2907           -- verify if data is valid
2908           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2909           NULL;
2910       END IF;
2911 
2912       -- Standard call to get message count and if count is 1, get message info.
2913       FND_MSG_PUB.Count_And_Get
2914       (  p_count          =>   x_msg_count,
2915          p_data           =>   x_msg_data
2916       );
2917 
2918 END Validate_TRANSACTION_COST;
2919 
2920 
2921 PROCEDURE Validate_TRANSACTION_TYPE_ID (
2922     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2923     P_Validation_mode            IN   VARCHAR2,
2924     P_TRANSACTION_TYPE_ID                IN   NUMBER,
2925     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2926     X_Return_Status              OUT NOCOPY  VARCHAR2,
2927     X_Msg_Count                  OUT NOCOPY  NUMBER,
2928     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2929     )
2930 IS
2931 BEGIN
2932 
2933       -- Initialize message list if p_init_msg_list is set to TRUE.
2934       IF FND_API.to_Boolean( p_init_msg_list )
2935       THEN
2936           FND_MSG_PUB.initialize;
2937       END IF;
2938 
2939 
2940       -- Initialize API return status to SUCCESS
2941       x_return_status := FND_API.G_RET_STS_SUCCESS;
2942 
2943       -- validate NOT NULL column
2944       IF(p_TRANSACTION_TYPE_ID is NULL)
2945       THEN
2946           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_TYPE_ID)');
2947           x_return_status := FND_API.G_RET_STS_ERROR;
2948       END IF;
2949 
2950       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
2951       THEN
2952           -- Hint: Validate data
2953           -- IF p_TRANSACTION_TYPE_ID is not NULL and p_TRANSACTION_TYPE_ID <> G_MISS_CHAR
2957       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
2954           -- verify if data is valid
2955           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2956           NULL;
2958       THEN
2959           -- Hint: Validate data
2960           -- IF p_TRANSACTION_TYPE_ID <> G_MISS_CHAR
2961           -- verify if data is valid
2962           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
2963           NULL;
2964       END IF;
2965 
2966       -- Standard call to get message count and if count is 1, get message info.
2967       FND_MSG_PUB.Count_And_Get
2968       (  p_count          =>   x_msg_count,
2969          p_data           =>   x_msg_data
2970       );
2971 
2972 END Validate_TRANSACTION_TYPE_ID;
2973 
2974 
2975 PROCEDURE Validate_TRANSACTION_ACTION_ID (
2976     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
2977     P_Validation_mode            IN   VARCHAR2,
2978     P_TRANSACTION_ACTION_ID                IN   NUMBER,
2979     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
2980     X_Return_Status              OUT NOCOPY  VARCHAR2,
2981     X_Msg_Count                  OUT NOCOPY  NUMBER,
2982     X_Msg_Data                   OUT NOCOPY  VARCHAR2
2983     )
2984 IS
2985 BEGIN
2986 
2987       -- Initialize message list if p_init_msg_list is set to TRUE.
2988       IF FND_API.to_Boolean( p_init_msg_list )
2989       THEN
2990           FND_MSG_PUB.initialize;
2991       END IF;
2992 
2993 
2994       -- Initialize API return status to SUCCESS
2995       x_return_status := FND_API.G_RET_STS_SUCCESS;
2996 
2997       -- validate NOT NULL column
2998       IF(p_TRANSACTION_ACTION_ID is NULL)
2999       THEN
3000           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_ACTION_ID)');
3001           x_return_status := FND_API.G_RET_STS_ERROR;
3002       END IF;
3003 
3004       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3005       THEN
3006           -- Hint: Validate data
3007           -- IF p_TRANSACTION_ACTION_ID is not NULL and p_TRANSACTION_ACTION_ID <> G_MISS_CHAR
3008           -- verify if data is valid
3009           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3010           NULL;
3011       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3012       THEN
3013           -- Hint: Validate data
3014           -- IF p_TRANSACTION_ACTION_ID <> G_MISS_CHAR
3015           -- verify if data is valid
3016           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3017           NULL;
3018       END IF;
3019 
3020       -- Standard call to get message count and if count is 1, get message info.
3021       FND_MSG_PUB.Count_And_Get
3022       (  p_count          =>   x_msg_count,
3023          p_data           =>   x_msg_data
3024       );
3025 
3026 END Validate_TRANSACTION_ACTION_ID;
3027 
3028 
3029 PROCEDURE Validate_TRANSACTION_SOURCE_TYPE_ID (
3030     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3031     P_Validation_mode            IN   VARCHAR2,
3032     P_TRANSACTION_SOURCE_TYPE_ID                IN   NUMBER,
3033     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3034     X_Return_Status              OUT NOCOPY  VARCHAR2,
3035     X_Msg_Count                  OUT NOCOPY  NUMBER,
3036     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3037     )
3038 IS
3039 BEGIN
3040 
3041       -- Initialize message list if p_init_msg_list is set to TRUE.
3042       IF FND_API.to_Boolean( p_init_msg_list )
3043       THEN
3044           FND_MSG_PUB.initialize;
3045       END IF;
3046 
3047 
3048       -- Initialize API return status to SUCCESS
3049       x_return_status := FND_API.G_RET_STS_SUCCESS;
3050 
3051       -- validate NOT NULL column
3052       IF(p_TRANSACTION_SOURCE_TYPE_ID is NULL)
3053       THEN
3054           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_SOURCE_TYPE_ID)');
3055           x_return_status := FND_API.G_RET_STS_ERROR;
3056       END IF;
3057 
3058       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3059       THEN
3060           -- Hint: Validate data
3061           -- IF p_TRANSACTION_SOURCE_TYPE_ID is not NULL and p_TRANSACTION_SOURCE_TYPE_ID <> G_MISS_CHAR
3062           -- verify if data is valid
3063           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3064           NULL;
3065       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3066       THEN
3067           -- Hint: Validate data
3068           -- IF p_TRANSACTION_SOURCE_TYPE_ID <> G_MISS_CHAR
3069           -- verify if data is valid
3070           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3071           NULL;
3072       END IF;
3073 
3074       -- Standard call to get message count and if count is 1, get message info.
3075       FND_MSG_PUB.Count_And_Get
3076       (  p_count          =>   x_msg_count,
3077          p_data           =>   x_msg_data
3078       );
3079 
3080 END Validate_TRANSACTION_SOURCE_TYPE_ID;
3081 
3082 
3083 PROCEDURE Validate_TRANSACTION_SOURCE_ID (
3084     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3088     X_Return_Status              OUT NOCOPY  VARCHAR2,
3085     P_Validation_mode            IN   VARCHAR2,
3086     P_TRANSACTION_SOURCE_ID                IN   NUMBER,
3087     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3089     X_Msg_Count                  OUT NOCOPY  NUMBER,
3090     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3091     )
3092 IS
3093 BEGIN
3094 
3095       -- Initialize message list if p_init_msg_list is set to TRUE.
3096       IF FND_API.to_Boolean( p_init_msg_list )
3097       THEN
3098           FND_MSG_PUB.initialize;
3099       END IF;
3100 
3101 
3102       -- Initialize API return status to SUCCESS
3103       x_return_status := FND_API.G_RET_STS_SUCCESS;
3104 
3105       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3106       THEN
3107           -- Hint: Validate data
3108           -- IF p_TRANSACTION_SOURCE_ID is not NULL and p_TRANSACTION_SOURCE_ID <> G_MISS_CHAR
3109           -- verify if data is valid
3110           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3111           NULL;
3112       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3113       THEN
3114           -- Hint: Validate data
3115           -- IF p_TRANSACTION_SOURCE_ID <> G_MISS_CHAR
3116           -- verify if data is valid
3117           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3118           NULL;
3119       END IF;
3120 
3121       -- Standard call to get message count and if count is 1, get message info.
3122       FND_MSG_PUB.Count_And_Get
3123       (  p_count          =>   x_msg_count,
3124          p_data           =>   x_msg_data
3125       );
3126 
3127 END Validate_TRANSACTION_SOURCE_ID;
3128 
3129 
3130 PROCEDURE Validate_TRANSACTION_SOURCE_NAME (
3131     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3132     P_Validation_mode            IN   VARCHAR2,
3133     P_TRANSACTION_SOURCE_NAME                IN   VARCHAR2,
3134     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3135     X_Return_Status              OUT NOCOPY  VARCHAR2,
3136     X_Msg_Count                  OUT NOCOPY  NUMBER,
3137     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3138     )
3139 IS
3140 BEGIN
3141 
3142       -- Initialize message list if p_init_msg_list is set to TRUE.
3143       IF FND_API.to_Boolean( p_init_msg_list )
3144       THEN
3145           FND_MSG_PUB.initialize;
3146       END IF;
3147 
3148 
3149       -- Initialize API return status to SUCCESS
3150       x_return_status := FND_API.G_RET_STS_SUCCESS;
3151 
3152       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3153       THEN
3154           -- Hint: Validate data
3155           -- IF p_TRANSACTION_SOURCE_NAME is not NULL and p_TRANSACTION_SOURCE_NAME <> G_MISS_CHAR
3156           -- verify if data is valid
3157           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3158           NULL;
3159       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3160       THEN
3161           -- Hint: Validate data
3162           -- IF p_TRANSACTION_SOURCE_NAME <> G_MISS_CHAR
3163           -- verify if data is valid
3164           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3165           NULL;
3166       END IF;
3167 
3168       -- Standard call to get message count and if count is 1, get message info.
3169       FND_MSG_PUB.Count_And_Get
3170       (  p_count          =>   x_msg_count,
3171          p_data           =>   x_msg_data
3172       );
3173 
3174 END Validate_TRANSACTION_SOURCE_NAME;
3175 
3176 
3177 PROCEDURE Validate_TRANSACTION_DATE (
3178     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3179     P_Validation_mode            IN   VARCHAR2,
3180     P_TRANSACTION_DATE                IN   DATE,
3181     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3182     X_Return_Status              OUT NOCOPY  VARCHAR2,
3183     X_Msg_Count                  OUT NOCOPY  NUMBER,
3184     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3185     )
3186 IS
3187 BEGIN
3188 
3189       -- Initialize message list if p_init_msg_list is set to TRUE.
3190       IF FND_API.to_Boolean( p_init_msg_list )
3191       THEN
3192           FND_MSG_PUB.initialize;
3193       END IF;
3194 
3195 
3196       -- Initialize API return status to SUCCESS
3197       x_return_status := FND_API.G_RET_STS_SUCCESS;
3198 
3199       -- validate NOT NULL column
3200       IF(p_TRANSACTION_DATE is NULL)
3201       THEN
3202           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(TRANSACTION_DATE)');
3203           x_return_status := FND_API.G_RET_STS_ERROR;
3204       END IF;
3205 
3206       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3207       THEN
3208           -- Hint: Validate data
3209           -- IF p_TRANSACTION_DATE is not NULL and p_TRANSACTION_DATE <> G_MISS_CHAR
3210           -- verify if data is valid
3211           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3212           NULL;
3213       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3214       THEN
3218           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3215           -- Hint: Validate data
3216           -- IF p_TRANSACTION_DATE <> G_MISS_CHAR
3217           -- verify if data is valid
3219           NULL;
3220       END IF;
3221 
3222       -- Standard call to get message count and if count is 1, get message info.
3223       FND_MSG_PUB.Count_And_Get
3224       (  p_count          =>   x_msg_count,
3225          p_data           =>   x_msg_data
3226       );
3227 
3228 END Validate_TRANSACTION_DATE;
3229 
3230 
3231 PROCEDURE Validate_ACCT_PERIOD_ID (
3232     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3233     P_Validation_mode            IN   VARCHAR2,
3234     P_ACCT_PERIOD_ID                IN   NUMBER,
3235     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3236     X_Return_Status              OUT NOCOPY  VARCHAR2,
3237     X_Msg_Count                  OUT NOCOPY  NUMBER,
3238     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3239     )
3240 IS
3241 BEGIN
3242 
3243       -- Initialize message list if p_init_msg_list is set to TRUE.
3244       IF FND_API.to_Boolean( p_init_msg_list )
3245       THEN
3246           FND_MSG_PUB.initialize;
3247       END IF;
3248 
3249 
3250       -- Initialize API return status to SUCCESS
3251       x_return_status := FND_API.G_RET_STS_SUCCESS;
3252 
3253       -- validate NOT NULL column
3254       IF(p_ACCT_PERIOD_ID is NULL)
3255       THEN
3256           JTF_PLSQL_API.Debug_Message('ERROR', 'Private material_transactions API: -Violate NOT NULL constraint(ACCT_PERIOD_ID)');
3257           x_return_status := FND_API.G_RET_STS_ERROR;
3258       END IF;
3259 
3260       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3261       THEN
3262           -- Hint: Validate data
3263           -- IF p_ACCT_PERIOD_ID is not NULL and p_ACCT_PERIOD_ID <> G_MISS_CHAR
3264           -- verify if data is valid
3265           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3266           NULL;
3267       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3268       THEN
3269           -- Hint: Validate data
3270           -- IF p_ACCT_PERIOD_ID <> G_MISS_CHAR
3271           -- verify if data is valid
3272           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3273           NULL;
3274       END IF;
3275 
3276       -- Standard call to get message count and if count is 1, get message info.
3277       FND_MSG_PUB.Count_And_Get
3278       (  p_count          =>   x_msg_count,
3279          p_data           =>   x_msg_data
3280       );
3281 
3282 END Validate_ACCT_PERIOD_ID;
3283 
3284 
3285 PROCEDURE Validate_DISTRIBUTION_ACCOUNT_ID (
3286     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3287     P_Validation_mode            IN   VARCHAR2,
3288     P_DISTRIBUTION_ACCOUNT_ID                IN   NUMBER,
3289     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3290     X_Return_Status              OUT NOCOPY  VARCHAR2,
3291     X_Msg_Count                  OUT NOCOPY  NUMBER,
3292     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3293     )
3294 IS
3295 BEGIN
3296 
3297       -- Initialize message list if p_init_msg_list is set to TRUE.
3298       IF FND_API.to_Boolean( p_init_msg_list )
3299       THEN
3300           FND_MSG_PUB.initialize;
3301       END IF;
3302 
3303 
3304       -- Initialize API return status to SUCCESS
3305       x_return_status := FND_API.G_RET_STS_SUCCESS;
3306 
3307       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3308       THEN
3309           -- Hint: Validate data
3310           -- IF p_DISTRIBUTION_ACCOUNT_ID is not NULL and p_DISTRIBUTION_ACCOUNT_ID <> G_MISS_CHAR
3311           -- verify if data is valid
3312           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3313           NULL;
3314       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3315       THEN
3316           -- Hint: Validate data
3317           -- IF p_DISTRIBUTION_ACCOUNT_ID <> G_MISS_CHAR
3318           -- verify if data is valid
3319           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3320           NULL;
3321       END IF;
3322 
3323       -- Standard call to get message count and if count is 1, get message info.
3324       FND_MSG_PUB.Count_And_Get
3325       (  p_count          =>   x_msg_count,
3326          p_data           =>   x_msg_data
3327       );
3328 
3329 END Validate_DISTRIBUTION_ACCOUNT_ID;
3330 
3331 
3332 PROCEDURE Validate_TRANSACTION_REFERENCE (
3333     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3334     P_Validation_mode            IN   VARCHAR2,
3335     P_TRANSACTION_REFERENCE                IN   VARCHAR2,
3336     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3337     X_Return_Status              OUT NOCOPY  VARCHAR2,
3338     X_Msg_Count                  OUT NOCOPY  NUMBER,
3339     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3340     )
3341 IS
3342 BEGIN
3343 
3344       -- Initialize message list if p_init_msg_list is set to TRUE.
3345       IF FND_API.to_Boolean( p_init_msg_list )
3349 
3346       THEN
3347           FND_MSG_PUB.initialize;
3348       END IF;
3350 
3351       -- Initialize API return status to SUCCESS
3352       x_return_status := FND_API.G_RET_STS_SUCCESS;
3353 
3354       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3355       THEN
3356           -- Hint: Validate data
3357           -- IF p_TRANSACTION_REFERENCE is not NULL and p_TRANSACTION_REFERENCE <> G_MISS_CHAR
3358           -- verify if data is valid
3359           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3360           NULL;
3361       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3362       THEN
3363           -- Hint: Validate data
3364           -- IF p_TRANSACTION_REFERENCE <> G_MISS_CHAR
3365           -- verify if data is valid
3366           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3367           NULL;
3368       END IF;
3369 
3370       -- Standard call to get message count and if count is 1, get message info.
3371       FND_MSG_PUB.Count_And_Get
3372       (  p_count          =>   x_msg_count,
3373          p_data           =>   x_msg_data
3374       );
3375 
3376 END Validate_TRANSACTION_REFERENCE;
3377 
3378 
3379 PROCEDURE Validate_REQUISITION_LINE_ID (
3380     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3381     P_Validation_mode            IN   VARCHAR2,
3382     P_REQUISITION_LINE_ID                IN   NUMBER,
3383     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3384     X_Return_Status              OUT NOCOPY  VARCHAR2,
3385     X_Msg_Count                  OUT NOCOPY  NUMBER,
3386     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3387     )
3388 IS
3389 BEGIN
3390 
3391       -- Initialize message list if p_init_msg_list is set to TRUE.
3392       IF FND_API.to_Boolean( p_init_msg_list )
3393       THEN
3394           FND_MSG_PUB.initialize;
3395       END IF;
3396 
3397 
3398       -- Initialize API return status to SUCCESS
3399       x_return_status := FND_API.G_RET_STS_SUCCESS;
3400 
3401       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3402       THEN
3403           -- Hint: Validate data
3404           -- IF p_REQUISITION_LINE_ID is not NULL and p_REQUISITION_LINE_ID <> G_MISS_CHAR
3405           -- verify if data is valid
3406           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3407           NULL;
3408       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3409       THEN
3410           -- Hint: Validate data
3411           -- IF p_REQUISITION_LINE_ID <> G_MISS_CHAR
3412           -- verify if data is valid
3413           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3414           NULL;
3415       END IF;
3416 
3417       -- Standard call to get message count and if count is 1, get message info.
3418       FND_MSG_PUB.Count_And_Get
3419       (  p_count          =>   x_msg_count,
3420          p_data           =>   x_msg_data
3421       );
3422 
3423 END Validate_REQUISITION_LINE_ID;
3424 
3425 
3426 PROCEDURE Validate_REQUISITION_DISTRIBUTION_ID (
3427     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3428     P_Validation_mode            IN   VARCHAR2,
3429     P_REQUISITION_DISTRIBUTION_ID                IN   NUMBER,
3430     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3431     X_Return_Status              OUT NOCOPY  VARCHAR2,
3432     X_Msg_Count                  OUT NOCOPY  NUMBER,
3433     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3434     )
3435 IS
3436 BEGIN
3437 
3438       -- Initialize message list if p_init_msg_list is set to TRUE.
3439       IF FND_API.to_Boolean( p_init_msg_list )
3440       THEN
3441           FND_MSG_PUB.initialize;
3442       END IF;
3443 
3444 
3445       -- Initialize API return status to SUCCESS
3446       x_return_status := FND_API.G_RET_STS_SUCCESS;
3447 
3448       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3449       THEN
3450           -- Hint: Validate data
3451           -- IF p_REQUISITION_DISTRIBUTION_ID is not NULL and p_REQUISITION_DISTRIBUTION_ID <> G_MISS_CHAR
3452           -- verify if data is valid
3453           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3454           NULL;
3455       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3456       THEN
3457           -- Hint: Validate data
3458           -- IF p_REQUISITION_DISTRIBUTION_ID <> G_MISS_CHAR
3459           -- verify if data is valid
3460           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3461           NULL;
3462       END IF;
3463 
3464       -- Standard call to get message count and if count is 1, get message info.
3465       FND_MSG_PUB.Count_And_Get
3466       (  p_count          =>   x_msg_count,
3467          p_data           =>   x_msg_data
3468       );
3469 
3470 END Validate_REQUISITION_DISTRIBUTION_ID;
3471 
3472 
3473 PROCEDURE Validate_REASON_ID (
3474     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3475     P_Validation_mode            IN   VARCHAR2,
3476     P_REASON_ID                IN   NUMBER,
3480     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3477     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3478     X_Return_Status              OUT NOCOPY  VARCHAR2,
3479     X_Msg_Count                  OUT NOCOPY  NUMBER,
3481     )
3482 IS
3483 BEGIN
3484 
3485       -- Initialize message list if p_init_msg_list is set to TRUE.
3486       IF FND_API.to_Boolean( p_init_msg_list )
3487       THEN
3488           FND_MSG_PUB.initialize;
3489       END IF;
3490 
3491 
3492       -- Initialize API return status to SUCCESS
3493       x_return_status := FND_API.G_RET_STS_SUCCESS;
3494 
3495       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3496       THEN
3497           -- Hint: Validate data
3498           -- IF p_REASON_ID is not NULL and p_REASON_ID <> G_MISS_CHAR
3499           -- verify if data is valid
3500           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3501           NULL;
3502       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3503       THEN
3504           -- Hint: Validate data
3505           -- IF p_REASON_ID <> G_MISS_CHAR
3506           -- verify if data is valid
3507           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3508           NULL;
3509       END IF;
3510 
3511       -- Standard call to get message count and if count is 1, get message info.
3512       FND_MSG_PUB.Count_And_Get
3513       (  p_count          =>   x_msg_count,
3514          p_data           =>   x_msg_data
3515       );
3516 
3517 END Validate_REASON_ID;
3518 
3519 
3520 PROCEDURE Validate_LOT_NUMBER (
3521     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3522     P_Validation_mode            IN   VARCHAR2,
3523     P_LOT_NUMBER                IN   VARCHAR2,
3524     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3525     X_Return_Status              OUT NOCOPY  VARCHAR2,
3526     X_Msg_Count                  OUT NOCOPY  NUMBER,
3527     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3528     )
3529 IS
3530 BEGIN
3531 
3532       -- Initialize message list if p_init_msg_list is set to TRUE.
3533       IF FND_API.to_Boolean( p_init_msg_list )
3534       THEN
3535           FND_MSG_PUB.initialize;
3536       END IF;
3537 
3538 
3539       -- Initialize API return status to SUCCESS
3540       x_return_status := FND_API.G_RET_STS_SUCCESS;
3541 
3542       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3543       THEN
3544           -- Hint: Validate data
3545           -- IF p_LOT_NUMBER is not NULL and p_LOT_NUMBER <> G_MISS_CHAR
3546           -- verify if data is valid
3547           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3548           NULL;
3549       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3550       THEN
3551           -- Hint: Validate data
3552           -- IF p_LOT_NUMBER <> G_MISS_CHAR
3553           -- verify if data is valid
3554           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3555           NULL;
3556       END IF;
3557 
3558       -- Standard call to get message count and if count is 1, get message info.
3559       FND_MSG_PUB.Count_And_Get
3560       (  p_count          =>   x_msg_count,
3561          p_data           =>   x_msg_data
3562       );
3563 
3564 END Validate_LOT_NUMBER;
3565 
3566 
3567 PROCEDURE Validate_LOT_EXPIRATION_DATE (
3568     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3569     P_Validation_mode            IN   VARCHAR2,
3570     P_LOT_EXPIRATION_DATE                IN   DATE,
3571     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3572     X_Return_Status              OUT NOCOPY  VARCHAR2,
3573     X_Msg_Count                  OUT NOCOPY  NUMBER,
3574     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3575     )
3576 IS
3577 BEGIN
3578 
3579       -- Initialize message list if p_init_msg_list is set to TRUE.
3580       IF FND_API.to_Boolean( p_init_msg_list )
3581       THEN
3582           FND_MSG_PUB.initialize;
3583       END IF;
3584 
3585 
3586       -- Initialize API return status to SUCCESS
3587       x_return_status := FND_API.G_RET_STS_SUCCESS;
3588 
3589       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3590       THEN
3591           -- Hint: Validate data
3592           -- IF p_LOT_EXPIRATION_DATE is not NULL and p_LOT_EXPIRATION_DATE <> G_MISS_CHAR
3593           -- verify if data is valid
3594           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3595           NULL;
3596       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3597       THEN
3598           -- Hint: Validate data
3599           -- IF p_LOT_EXPIRATION_DATE <> G_MISS_CHAR
3600           -- verify if data is valid
3601           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3602           NULL;
3603       END IF;
3604 
3605       -- Standard call to get message count and if count is 1, get message info.
3606       FND_MSG_PUB.Count_And_Get
3607       (  p_count          =>   x_msg_count,
3608          p_data           =>   x_msg_data
3609       );
3610 
3614 PROCEDURE Validate_SERIAL_NUMBER (
3611 END Validate_LOT_EXPIRATION_DATE;
3612 
3613 
3615     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3616     P_Validation_mode            IN   VARCHAR2,
3617     P_SERIAL_NUMBER                IN   VARCHAR2,
3618     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3619     X_Return_Status              OUT NOCOPY  VARCHAR2,
3620     X_Msg_Count                  OUT NOCOPY  NUMBER,
3621     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3622     )
3623 IS
3624 BEGIN
3625 
3626       -- Initialize message list if p_init_msg_list is set to TRUE.
3627       IF FND_API.to_Boolean( p_init_msg_list )
3628       THEN
3629           FND_MSG_PUB.initialize;
3630       END IF;
3631 
3632 
3633       -- Initialize API return status to SUCCESS
3634       x_return_status := FND_API.G_RET_STS_SUCCESS;
3635 
3636       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3637       THEN
3638           -- Hint: Validate data
3639           -- IF p_SERIAL_NUMBER is not NULL and p_SERIAL_NUMBER <> G_MISS_CHAR
3640           -- verify if data is valid
3641           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3642           NULL;
3643       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3644       THEN
3645           -- Hint: Validate data
3646           -- IF p_SERIAL_NUMBER <> G_MISS_CHAR
3647           -- verify if data is valid
3648           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3649           NULL;
3650       END IF;
3651 
3652       -- Standard call to get message count and if count is 1, get message info.
3653       FND_MSG_PUB.Count_And_Get
3654       (  p_count          =>   x_msg_count,
3655          p_data           =>   x_msg_data
3656       );
3657 
3658 END Validate_SERIAL_NUMBER;
3659 
3660 
3661 PROCEDURE Validate_RECEIVING_DOCUMENT (
3662     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3663     P_Validation_mode            IN   VARCHAR2,
3664     P_RECEIVING_DOCUMENT                IN   VARCHAR2,
3665     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3666     X_Return_Status              OUT NOCOPY  VARCHAR2,
3667     X_Msg_Count                  OUT NOCOPY  NUMBER,
3668     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3669     )
3670 IS
3671 BEGIN
3672 
3673       -- Initialize message list if p_init_msg_list is set to TRUE.
3674       IF FND_API.to_Boolean( p_init_msg_list )
3675       THEN
3676           FND_MSG_PUB.initialize;
3677       END IF;
3678 
3679 
3680       -- Initialize API return status to SUCCESS
3681       x_return_status := FND_API.G_RET_STS_SUCCESS;
3682 
3683       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3684       THEN
3685           -- Hint: Validate data
3686           -- IF p_RECEIVING_DOCUMENT is not NULL and p_RECEIVING_DOCUMENT <> G_MISS_CHAR
3687           -- verify if data is valid
3688           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3689           NULL;
3690       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3691       THEN
3692           -- Hint: Validate data
3693           -- IF p_RECEIVING_DOCUMENT <> G_MISS_CHAR
3694           -- verify if data is valid
3695           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3696           NULL;
3697       END IF;
3698 
3699       -- Standard call to get message count and if count is 1, get message info.
3700       FND_MSG_PUB.Count_And_Get
3701       (  p_count          =>   x_msg_count,
3702          p_data           =>   x_msg_data
3703       );
3704 
3705 END Validate_RECEIVING_DOCUMENT;
3706 
3707 
3708 PROCEDURE Validate_DEMAND_ID (
3709     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3710     P_Validation_mode            IN   VARCHAR2,
3711     P_DEMAND_ID                IN   NUMBER,
3712     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3713     X_Return_Status              OUT NOCOPY  VARCHAR2,
3714     X_Msg_Count                  OUT NOCOPY  NUMBER,
3715     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3716     )
3717 IS
3718 BEGIN
3719 
3720       -- Initialize message list if p_init_msg_list is set to TRUE.
3721       IF FND_API.to_Boolean( p_init_msg_list )
3722       THEN
3723           FND_MSG_PUB.initialize;
3724       END IF;
3725 
3726 
3727       -- Initialize API return status to SUCCESS
3728       x_return_status := FND_API.G_RET_STS_SUCCESS;
3729 
3730       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3731       THEN
3732           -- Hint: Validate data
3733           -- IF p_DEMAND_ID is not NULL and p_DEMAND_ID <> G_MISS_CHAR
3734           -- verify if data is valid
3735           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3736           NULL;
3737       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3738       THEN
3739           -- Hint: Validate data
3740           -- IF p_DEMAND_ID <> G_MISS_CHAR
3741           -- verify if data is valid
3742           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3743           NULL;
3744       END IF;
3745 
3749          p_data           =>   x_msg_data
3746       -- Standard call to get message count and if count is 1, get message info.
3747       FND_MSG_PUB.Count_And_Get
3748       (  p_count          =>   x_msg_count,
3750       );
3751 
3752 END Validate_DEMAND_ID;
3753 
3754 
3755 PROCEDURE Validate_RCV_TRANSACTION_ID (
3756     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3757     P_Validation_mode            IN   VARCHAR2,
3758     P_RCV_TRANSACTION_ID                IN   NUMBER,
3759     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3760     X_Return_Status              OUT NOCOPY  VARCHAR2,
3761     X_Msg_Count                  OUT NOCOPY  NUMBER,
3762     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3763     )
3764 IS
3765 BEGIN
3766 
3767       -- Initialize message list if p_init_msg_list is set to TRUE.
3768       IF FND_API.to_Boolean( p_init_msg_list )
3769       THEN
3770           FND_MSG_PUB.initialize;
3771       END IF;
3772 
3773 
3774       -- Initialize API return status to SUCCESS
3775       x_return_status := FND_API.G_RET_STS_SUCCESS;
3776 
3777       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3778       THEN
3779           -- Hint: Validate data
3780           -- IF p_RCV_TRANSACTION_ID is not NULL and p_RCV_TRANSACTION_ID <> G_MISS_CHAR
3781           -- verify if data is valid
3782           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3783           NULL;
3784       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3785       THEN
3786           -- Hint: Validate data
3787           -- IF p_RCV_TRANSACTION_ID <> G_MISS_CHAR
3788           -- verify if data is valid
3789           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3790           NULL;
3791       END IF;
3792 
3793       -- Standard call to get message count and if count is 1, get message info.
3794       FND_MSG_PUB.Count_And_Get
3795       (  p_count          =>   x_msg_count,
3796          p_data           =>   x_msg_data
3797       );
3798 
3799 END Validate_RCV_TRANSACTION_ID;
3800 
3801 
3802 PROCEDURE Validate_MOVE_TRANSACTION_ID (
3803     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3804     P_Validation_mode            IN   VARCHAR2,
3805     P_MOVE_TRANSACTION_ID                IN   NUMBER,
3806     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3807     X_Return_Status              OUT NOCOPY  VARCHAR2,
3808     X_Msg_Count                  OUT NOCOPY  NUMBER,
3809     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3810     )
3811 IS
3812 BEGIN
3813 
3814       -- Initialize message list if p_init_msg_list is set to TRUE.
3815       IF FND_API.to_Boolean( p_init_msg_list )
3816       THEN
3817           FND_MSG_PUB.initialize;
3818       END IF;
3819 
3820 
3821       -- Initialize API return status to SUCCESS
3822       x_return_status := FND_API.G_RET_STS_SUCCESS;
3823 
3824       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3825       THEN
3826           -- Hint: Validate data
3827           -- IF p_MOVE_TRANSACTION_ID is not NULL and p_MOVE_TRANSACTION_ID <> G_MISS_CHAR
3828           -- verify if data is valid
3829           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3830           NULL;
3831       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3832       THEN
3833           -- Hint: Validate data
3834           -- IF p_MOVE_TRANSACTION_ID <> G_MISS_CHAR
3835           -- verify if data is valid
3836           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3837           NULL;
3838       END IF;
3839 
3840       -- Standard call to get message count and if count is 1, get message info.
3841       FND_MSG_PUB.Count_And_Get
3842       (  p_count          =>   x_msg_count,
3843          p_data           =>   x_msg_data
3844       );
3845 
3846 END Validate_MOVE_TRANSACTION_ID;
3847 
3848 
3849 PROCEDURE Validate_COMPLETION_TRANSACTION_ID (
3850     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3851     P_Validation_mode            IN   VARCHAR2,
3852     P_COMPLETION_TRANSACTION_ID                IN   NUMBER,
3853     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3854     X_Return_Status              OUT NOCOPY  VARCHAR2,
3855     X_Msg_Count                  OUT NOCOPY  NUMBER,
3856     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3857     )
3858 IS
3859 BEGIN
3860 
3861       -- Initialize message list if p_init_msg_list is set to TRUE.
3862       IF FND_API.to_Boolean( p_init_msg_list )
3863       THEN
3864           FND_MSG_PUB.initialize;
3865       END IF;
3866 
3867 
3868       -- Initialize API return status to SUCCESS
3869       x_return_status := FND_API.G_RET_STS_SUCCESS;
3870 
3871       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3872       THEN
3873           -- Hint: Validate data
3874           -- IF p_COMPLETION_TRANSACTION_ID is not NULL and p_COMPLETION_TRANSACTION_ID <> G_MISS_CHAR
3875           -- verify if data is valid
3876           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3877           NULL;
3881           -- IF p_COMPLETION_TRANSACTION_ID <> G_MISS_CHAR
3878       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3879       THEN
3880           -- Hint: Validate data
3882           -- verify if data is valid
3883           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3884           NULL;
3885       END IF;
3886 
3887       -- Standard call to get message count and if count is 1, get message info.
3888       FND_MSG_PUB.Count_And_Get
3889       (  p_count          =>   x_msg_count,
3890          p_data           =>   x_msg_data
3891       );
3892 
3893 END Validate_COMPLETION_TRANSACTION_ID;
3894 
3895 
3896 PROCEDURE Validate_WIP_ENTITY_TYPE (
3897     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3898     P_Validation_mode            IN   VARCHAR2,
3899     P_WIP_ENTITY_TYPE                IN   NUMBER,
3900     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3901     X_Return_Status              OUT NOCOPY  VARCHAR2,
3902     X_Msg_Count                  OUT NOCOPY  NUMBER,
3903     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3904     )
3905 IS
3906 BEGIN
3907 
3908       -- Initialize message list if p_init_msg_list is set to TRUE.
3909       IF FND_API.to_Boolean( p_init_msg_list )
3910       THEN
3911           FND_MSG_PUB.initialize;
3912       END IF;
3913 
3914 
3915       -- Initialize API return status to SUCCESS
3916       x_return_status := FND_API.G_RET_STS_SUCCESS;
3917 
3918       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3919       THEN
3920           -- Hint: Validate data
3921           -- IF p_WIP_ENTITY_TYPE is not NULL and p_WIP_ENTITY_TYPE <> G_MISS_CHAR
3922           -- verify if data is valid
3923           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3924           NULL;
3925       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3926       THEN
3927           -- Hint: Validate data
3928           -- IF p_WIP_ENTITY_TYPE <> G_MISS_CHAR
3929           -- verify if data is valid
3930           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3931           NULL;
3932       END IF;
3933 
3934       -- Standard call to get message count and if count is 1, get message info.
3935       FND_MSG_PUB.Count_And_Get
3936       (  p_count          =>   x_msg_count,
3937          p_data           =>   x_msg_data
3938       );
3939 
3940 END Validate_WIP_ENTITY_TYPE;
3941 
3942 
3943 PROCEDURE Validate_SCHEDULE_ID (
3944     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3945     P_Validation_mode            IN   VARCHAR2,
3946     P_SCHEDULE_ID                IN   NUMBER,
3947     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3948     X_Return_Status              OUT NOCOPY  VARCHAR2,
3949     X_Msg_Count                  OUT NOCOPY  NUMBER,
3950     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3951     )
3952 IS
3953 BEGIN
3954 
3955       -- Initialize message list if p_init_msg_list is set to TRUE.
3956       IF FND_API.to_Boolean( p_init_msg_list )
3957       THEN
3958           FND_MSG_PUB.initialize;
3959       END IF;
3960 
3961 
3962       -- Initialize API return status to SUCCESS
3963       x_return_status := FND_API.G_RET_STS_SUCCESS;
3964 
3965       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
3966       THEN
3967           -- Hint: Validate data
3968           -- IF p_SCHEDULE_ID is not NULL and p_SCHEDULE_ID <> G_MISS_CHAR
3969           -- verify if data is valid
3970           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3971           NULL;
3972       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
3973       THEN
3974           -- Hint: Validate data
3975           -- IF p_SCHEDULE_ID <> G_MISS_CHAR
3976           -- verify if data is valid
3977           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
3978           NULL;
3979       END IF;
3980 
3981       -- Standard call to get message count and if count is 1, get message info.
3982       FND_MSG_PUB.Count_And_Get
3983       (  p_count          =>   x_msg_count,
3984          p_data           =>   x_msg_data
3985       );
3986 
3987 END Validate_SCHEDULE_ID;
3988 
3989 
3990 PROCEDURE Validate_REPETITIVE_LINE_ID (
3991     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
3992     P_Validation_mode            IN   VARCHAR2,
3993     P_REPETITIVE_LINE_ID                IN   NUMBER,
3994     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
3995     X_Return_Status              OUT NOCOPY  VARCHAR2,
3996     X_Msg_Count                  OUT NOCOPY  NUMBER,
3997     X_Msg_Data                   OUT NOCOPY  VARCHAR2
3998     )
3999 IS
4000 BEGIN
4001 
4002       -- Initialize message list if p_init_msg_list is set to TRUE.
4003       IF FND_API.to_Boolean( p_init_msg_list )
4004       THEN
4005           FND_MSG_PUB.initialize;
4006       END IF;
4007 
4008 
4009       -- Initialize API return status to SUCCESS
4010       x_return_status := FND_API.G_RET_STS_SUCCESS;
4011 
4012       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4016           -- verify if data is valid
4013       THEN
4014           -- Hint: Validate data
4015           -- IF p_REPETITIVE_LINE_ID is not NULL and p_REPETITIVE_LINE_ID <> G_MISS_CHAR
4017           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4018           NULL;
4019       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4020       THEN
4021           -- Hint: Validate data
4022           -- IF p_REPETITIVE_LINE_ID <> G_MISS_CHAR
4023           -- verify if data is valid
4024           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4025           NULL;
4026       END IF;
4027 
4028       -- Standard call to get message count and if count is 1, get message info.
4029       FND_MSG_PUB.Count_And_Get
4030       (  p_count          =>   x_msg_count,
4031          p_data           =>   x_msg_data
4032       );
4033 
4034 END Validate_REPETITIVE_LINE_ID;
4035 
4036 
4037 PROCEDURE Validate_EMPLOYEE_CODE (
4038     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4039     P_Validation_mode            IN   VARCHAR2,
4040     P_EMPLOYEE_CODE                IN   VARCHAR2,
4041     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4042     X_Return_Status              OUT NOCOPY  VARCHAR2,
4043     X_Msg_Count                  OUT NOCOPY  NUMBER,
4044     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4045     )
4046 IS
4047 BEGIN
4048 
4049       -- Initialize message list if p_init_msg_list is set to TRUE.
4050       IF FND_API.to_Boolean( p_init_msg_list )
4051       THEN
4052           FND_MSG_PUB.initialize;
4053       END IF;
4054 
4055 
4056       -- Initialize API return status to SUCCESS
4057       x_return_status := FND_API.G_RET_STS_SUCCESS;
4058 
4059       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4060       THEN
4061           -- Hint: Validate data
4062           -- IF p_EMPLOYEE_CODE is not NULL and p_EMPLOYEE_CODE <> G_MISS_CHAR
4063           -- verify if data is valid
4064           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4065           NULL;
4066       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4067       THEN
4068           -- Hint: Validate data
4069           -- IF p_EMPLOYEE_CODE <> G_MISS_CHAR
4070           -- verify if data is valid
4071           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4072           NULL;
4073       END IF;
4074 
4075       -- Standard call to get message count and if count is 1, get message info.
4076       FND_MSG_PUB.Count_And_Get
4077       (  p_count          =>   x_msg_count,
4078          p_data           =>   x_msg_data
4079       );
4080 
4081 END Validate_EMPLOYEE_CODE;
4082 
4083 
4084 PROCEDURE Validate_PRIMARY_SWITCH (
4085     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4086     P_Validation_mode            IN   VARCHAR2,
4087     P_PRIMARY_SWITCH                IN   NUMBER,
4088     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4089     X_Return_Status              OUT NOCOPY  VARCHAR2,
4090     X_Msg_Count                  OUT NOCOPY  NUMBER,
4091     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4092     )
4093 IS
4094 BEGIN
4095 
4096       -- Initialize message list if p_init_msg_list is set to TRUE.
4097       IF FND_API.to_Boolean( p_init_msg_list )
4098       THEN
4099           FND_MSG_PUB.initialize;
4100       END IF;
4101 
4102 
4103       -- Initialize API return status to SUCCESS
4104       x_return_status := FND_API.G_RET_STS_SUCCESS;
4105 
4106       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4107       THEN
4108           -- Hint: Validate data
4109           -- IF p_PRIMARY_SWITCH is not NULL and p_PRIMARY_SWITCH <> G_MISS_CHAR
4110           -- verify if data is valid
4111           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4112           NULL;
4113       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4114       THEN
4115           -- Hint: Validate data
4116           -- IF p_PRIMARY_SWITCH <> G_MISS_CHAR
4117           -- verify if data is valid
4118           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4119           NULL;
4120       END IF;
4121 
4122       -- Standard call to get message count and if count is 1, get message info.
4123       FND_MSG_PUB.Count_And_Get
4124       (  p_count          =>   x_msg_count,
4125          p_data           =>   x_msg_data
4126       );
4127 
4128 END Validate_PRIMARY_SWITCH;
4129 
4130 
4131 PROCEDURE Validate_SCHEDULE_UPDATE_CODE (
4132     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4133     P_Validation_mode            IN   VARCHAR2,
4134     P_SCHEDULE_UPDATE_CODE                IN   NUMBER,
4135     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4136     X_Return_Status              OUT NOCOPY  VARCHAR2,
4137     X_Msg_Count                  OUT NOCOPY  NUMBER,
4138     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4139     )
4140 IS
4141 BEGIN
4142 
4143       -- Initialize message list if p_init_msg_list is set to TRUE.
4144       IF FND_API.to_Boolean( p_init_msg_list )
4148 
4145       THEN
4146           FND_MSG_PUB.initialize;
4147       END IF;
4149 
4150       -- Initialize API return status to SUCCESS
4151       x_return_status := FND_API.G_RET_STS_SUCCESS;
4152 
4153       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4154       THEN
4155           -- Hint: Validate data
4156           -- IF p_SCHEDULE_UPDATE_CODE is not NULL and p_SCHEDULE_UPDATE_CODE <> G_MISS_CHAR
4157           -- verify if data is valid
4158           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4159           NULL;
4160       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4161       THEN
4162           -- Hint: Validate data
4163           -- IF p_SCHEDULE_UPDATE_CODE <> G_MISS_CHAR
4164           -- verify if data is valid
4165           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4166           NULL;
4167       END IF;
4168 
4169       -- Standard call to get message count and if count is 1, get message info.
4170       FND_MSG_PUB.Count_And_Get
4171       (  p_count          =>   x_msg_count,
4172          p_data           =>   x_msg_data
4173       );
4174 
4175 END Validate_SCHEDULE_UPDATE_CODE;
4176 
4177 
4178 PROCEDURE Validate_SETUP_TEARDOWN_CODE (
4179     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4180     P_Validation_mode            IN   VARCHAR2,
4181     P_SETUP_TEARDOWN_CODE                IN   NUMBER,
4182     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4183     X_Return_Status              OUT NOCOPY  VARCHAR2,
4184     X_Msg_Count                  OUT NOCOPY  NUMBER,
4185     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4186     )
4187 IS
4188 BEGIN
4189 
4190       -- Initialize message list if p_init_msg_list is set to TRUE.
4191       IF FND_API.to_Boolean( p_init_msg_list )
4192       THEN
4193           FND_MSG_PUB.initialize;
4194       END IF;
4195 
4196 
4197       -- Initialize API return status to SUCCESS
4198       x_return_status := FND_API.G_RET_STS_SUCCESS;
4199 
4200       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4201       THEN
4202           -- Hint: Validate data
4203           -- IF p_SETUP_TEARDOWN_CODE is not NULL and p_SETUP_TEARDOWN_CODE <> G_MISS_CHAR
4204           -- verify if data is valid
4205           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4206           NULL;
4207       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4208       THEN
4209           -- Hint: Validate data
4210           -- IF p_SETUP_TEARDOWN_CODE <> G_MISS_CHAR
4211           -- verify if data is valid
4212           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4213           NULL;
4214       END IF;
4215 
4216       -- Standard call to get message count and if count is 1, get message info.
4217       FND_MSG_PUB.Count_And_Get
4218       (  p_count          =>   x_msg_count,
4219          p_data           =>   x_msg_data
4220       );
4221 
4222 END Validate_SETUP_TEARDOWN_CODE;
4223 
4224 
4225 PROCEDURE Validate_ITEM_ORDERING (
4226     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4227     P_Validation_mode            IN   VARCHAR2,
4228     P_ITEM_ORDERING                IN   NUMBER,
4229     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4230     X_Return_Status              OUT NOCOPY  VARCHAR2,
4231     X_Msg_Count                  OUT NOCOPY  NUMBER,
4232     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4233     )
4234 IS
4235 BEGIN
4236 
4237       -- Initialize message list if p_init_msg_list is set to TRUE.
4238       IF FND_API.to_Boolean( p_init_msg_list )
4239       THEN
4240           FND_MSG_PUB.initialize;
4241       END IF;
4242 
4243 
4244       -- Initialize API return status to SUCCESS
4245       x_return_status := FND_API.G_RET_STS_SUCCESS;
4246 
4247       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4248       THEN
4249           -- Hint: Validate data
4250           -- IF p_ITEM_ORDERING is not NULL and p_ITEM_ORDERING <> G_MISS_CHAR
4251           -- verify if data is valid
4252           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4253           NULL;
4254       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4255       THEN
4256           -- Hint: Validate data
4257           -- IF p_ITEM_ORDERING <> G_MISS_CHAR
4258           -- verify if data is valid
4259           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4260           NULL;
4261       END IF;
4262 
4263       -- Standard call to get message count and if count is 1, get message info.
4264       FND_MSG_PUB.Count_And_Get
4265       (  p_count          =>   x_msg_count,
4266          p_data           =>   x_msg_data
4267       );
4268 
4269 END Validate_ITEM_ORDERING;
4270 
4271 
4272 PROCEDURE Validate_NEGATIVE_REQ_FLAG (
4273     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4274     P_Validation_mode            IN   VARCHAR2,
4275     P_NEGATIVE_REQ_FLAG                IN   NUMBER,
4276     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4280     )
4277     X_Return_Status              OUT NOCOPY  VARCHAR2,
4278     X_Msg_Count                  OUT NOCOPY  NUMBER,
4279     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4281 IS
4282 BEGIN
4283 
4284       -- Initialize message list if p_init_msg_list is set to TRUE.
4285       IF FND_API.to_Boolean( p_init_msg_list )
4286       THEN
4287           FND_MSG_PUB.initialize;
4288       END IF;
4289 
4290 
4291       -- Initialize API return status to SUCCESS
4292       x_return_status := FND_API.G_RET_STS_SUCCESS;
4293 
4294       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4295       THEN
4296           -- Hint: Validate data
4297           -- IF p_NEGATIVE_REQ_FLAG is not NULL and p_NEGATIVE_REQ_FLAG <> G_MISS_CHAR
4298           -- verify if data is valid
4299           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4300           NULL;
4301       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4302       THEN
4303           -- Hint: Validate data
4304           -- IF p_NEGATIVE_REQ_FLAG <> G_MISS_CHAR
4305           -- verify if data is valid
4306           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4307           NULL;
4308       END IF;
4309 
4310       -- Standard call to get message count and if count is 1, get message info.
4311       FND_MSG_PUB.Count_And_Get
4312       (  p_count          =>   x_msg_count,
4313          p_data           =>   x_msg_data
4314       );
4315 
4316 END Validate_NEGATIVE_REQ_FLAG;
4317 
4318 
4319 PROCEDURE Validate_OPERATION_SEQ_NUM (
4320     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4321     P_Validation_mode            IN   VARCHAR2,
4322     P_OPERATION_SEQ_NUM                IN   NUMBER,
4323     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4324     X_Return_Status              OUT NOCOPY  VARCHAR2,
4325     X_Msg_Count                  OUT NOCOPY  NUMBER,
4326     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4327     )
4328 IS
4329 BEGIN
4330 
4331       -- Initialize message list if p_init_msg_list is set to TRUE.
4332       IF FND_API.to_Boolean( p_init_msg_list )
4333       THEN
4334           FND_MSG_PUB.initialize;
4335       END IF;
4336 
4337 
4338       -- Initialize API return status to SUCCESS
4339       x_return_status := FND_API.G_RET_STS_SUCCESS;
4340 
4341       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4342       THEN
4343           -- Hint: Validate data
4344           -- IF p_OPERATION_SEQ_NUM is not NULL and p_OPERATION_SEQ_NUM <> G_MISS_CHAR
4345           -- verify if data is valid
4346           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4347           NULL;
4348       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4349       THEN
4350           -- Hint: Validate data
4351           -- IF p_OPERATION_SEQ_NUM <> G_MISS_CHAR
4352           -- verify if data is valid
4353           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4354           NULL;
4355       END IF;
4356 
4357       -- Standard call to get message count and if count is 1, get message info.
4358       FND_MSG_PUB.Count_And_Get
4359       (  p_count          =>   x_msg_count,
4360          p_data           =>   x_msg_data
4361       );
4362 
4363 END Validate_OPERATION_SEQ_NUM;
4364 
4365 
4366 PROCEDURE Validate_PICKING_LINE_ID (
4367     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4368     P_Validation_mode            IN   VARCHAR2,
4369     P_PICKING_LINE_ID                IN   NUMBER,
4370     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4371     X_Return_Status              OUT NOCOPY  VARCHAR2,
4372     X_Msg_Count                  OUT NOCOPY  NUMBER,
4373     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4374     )
4375 IS
4376 BEGIN
4377 
4378       -- Initialize message list if p_init_msg_list is set to TRUE.
4379       IF FND_API.to_Boolean( p_init_msg_list )
4380       THEN
4381           FND_MSG_PUB.initialize;
4382       END IF;
4383 
4384 
4385       -- Initialize API return status to SUCCESS
4386       x_return_status := FND_API.G_RET_STS_SUCCESS;
4387 
4388       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4389       THEN
4390           -- Hint: Validate data
4391           -- IF p_PICKING_LINE_ID is not NULL and p_PICKING_LINE_ID <> G_MISS_CHAR
4392           -- verify if data is valid
4393           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4394           NULL;
4395       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4396       THEN
4397           -- Hint: Validate data
4398           -- IF p_PICKING_LINE_ID <> G_MISS_CHAR
4399           -- verify if data is valid
4400           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4401           NULL;
4402       END IF;
4403 
4404       -- Standard call to get message count and if count is 1, get message info.
4405       FND_MSG_PUB.Count_And_Get
4406       (  p_count          =>   x_msg_count,
4407          p_data           =>   x_msg_data
4408       );
4409 
4410 END Validate_PICKING_LINE_ID;
4411 
4412 
4413 PROCEDURE Validate_TRX_SOURCE_LINE_ID (
4417     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4414     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4415     P_Validation_mode            IN   VARCHAR2,
4416     P_TRX_SOURCE_LINE_ID                IN   NUMBER,
4418     X_Return_Status              OUT NOCOPY  VARCHAR2,
4419     X_Msg_Count                  OUT NOCOPY  NUMBER,
4420     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4421     )
4422 IS
4423 BEGIN
4424 
4425       -- Initialize message list if p_init_msg_list is set to TRUE.
4426       IF FND_API.to_Boolean( p_init_msg_list )
4427       THEN
4428           FND_MSG_PUB.initialize;
4429       END IF;
4430 
4431 
4432       -- Initialize API return status to SUCCESS
4433       x_return_status := FND_API.G_RET_STS_SUCCESS;
4434 
4435       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4436       THEN
4437           -- Hint: Validate data
4438           -- IF p_TRX_SOURCE_LINE_ID is not NULL and p_TRX_SOURCE_LINE_ID <> G_MISS_CHAR
4439           -- verify if data is valid
4440           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4441           NULL;
4442       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4443       THEN
4444           -- Hint: Validate data
4445           -- IF p_TRX_SOURCE_LINE_ID <> G_MISS_CHAR
4446           -- verify if data is valid
4447           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4448           NULL;
4449       END IF;
4450 
4451       -- Standard call to get message count and if count is 1, get message info.
4452       FND_MSG_PUB.Count_And_Get
4453       (  p_count          =>   x_msg_count,
4454          p_data           =>   x_msg_data
4455       );
4456 
4457 END Validate_TRX_SOURCE_LINE_ID;
4458 
4459 
4460 PROCEDURE Validate_TRX_SOURCE_DELIVERY_ID (
4461     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4462     P_Validation_mode            IN   VARCHAR2,
4463     P_TRX_SOURCE_DELIVERY_ID                IN   NUMBER,
4464     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4465     X_Return_Status              OUT NOCOPY  VARCHAR2,
4466     X_Msg_Count                  OUT NOCOPY  NUMBER,
4467     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4468     )
4469 IS
4470 BEGIN
4471 
4472       -- Initialize message list if p_init_msg_list is set to TRUE.
4473       IF FND_API.to_Boolean( p_init_msg_list )
4474       THEN
4475           FND_MSG_PUB.initialize;
4476       END IF;
4477 
4478 
4479       -- Initialize API return status to SUCCESS
4480       x_return_status := FND_API.G_RET_STS_SUCCESS;
4481 
4482       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4483       THEN
4484           -- Hint: Validate data
4485           -- IF p_TRX_SOURCE_DELIVERY_ID is not NULL and p_TRX_SOURCE_DELIVERY_ID <> G_MISS_CHAR
4486           -- verify if data is valid
4487           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4488           NULL;
4489       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4490       THEN
4491           -- Hint: Validate data
4492           -- IF p_TRX_SOURCE_DELIVERY_ID <> G_MISS_CHAR
4493           -- verify if data is valid
4494           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4495           NULL;
4496       END IF;
4497 
4498       -- Standard call to get message count and if count is 1, get message info.
4499       FND_MSG_PUB.Count_And_Get
4500       (  p_count          =>   x_msg_count,
4501          p_data           =>   x_msg_data
4502       );
4503 
4504 END Validate_TRX_SOURCE_DELIVERY_ID;
4505 
4506 
4507 PROCEDURE Validate_PHYSICAL_ADJUSTMENT_ID (
4508     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4509     P_Validation_mode            IN   VARCHAR2,
4510     P_PHYSICAL_ADJUSTMENT_ID                IN   NUMBER,
4511     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4512     X_Return_Status              OUT NOCOPY  VARCHAR2,
4513     X_Msg_Count                  OUT NOCOPY  NUMBER,
4514     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4515     )
4516 IS
4517 BEGIN
4518 
4519       -- Initialize message list if p_init_msg_list is set to TRUE.
4520       IF FND_API.to_Boolean( p_init_msg_list )
4521       THEN
4522           FND_MSG_PUB.initialize;
4523       END IF;
4524 
4525 
4526       -- Initialize API return status to SUCCESS
4527       x_return_status := FND_API.G_RET_STS_SUCCESS;
4528 
4529       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4530       THEN
4531           -- Hint: Validate data
4532           -- IF p_PHYSICAL_ADJUSTMENT_ID is not NULL and p_PHYSICAL_ADJUSTMENT_ID <> G_MISS_CHAR
4533           -- verify if data is valid
4534           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4535           NULL;
4536       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4537       THEN
4538           -- Hint: Validate data
4539           -- IF p_PHYSICAL_ADJUSTMENT_ID <> G_MISS_CHAR
4540           -- verify if data is valid
4541           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4542           NULL;
4543       END IF;
4544 
4548          p_data           =>   x_msg_data
4545       -- Standard call to get message count and if count is 1, get message info.
4546       FND_MSG_PUB.Count_And_Get
4547       (  p_count          =>   x_msg_count,
4549       );
4550 
4551 END Validate_PHYSICAL_ADJUSTMENT_ID;
4552 
4553 
4554 PROCEDURE Validate_CYCLE_COUNT_ID (
4555     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4556     P_Validation_mode            IN   VARCHAR2,
4557     P_CYCLE_COUNT_ID                IN   NUMBER,
4558     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4559     X_Return_Status              OUT NOCOPY  VARCHAR2,
4560     X_Msg_Count                  OUT NOCOPY  NUMBER,
4561     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4562     )
4563 IS
4564 BEGIN
4565 
4566       -- Initialize message list if p_init_msg_list is set to TRUE.
4567       IF FND_API.to_Boolean( p_init_msg_list )
4568       THEN
4569           FND_MSG_PUB.initialize;
4570       END IF;
4571 
4572 
4573       -- Initialize API return status to SUCCESS
4574       x_return_status := FND_API.G_RET_STS_SUCCESS;
4575 
4576       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4577       THEN
4578           -- Hint: Validate data
4579           -- IF p_CYCLE_COUNT_ID is not NULL and p_CYCLE_COUNT_ID <> G_MISS_CHAR
4580           -- verify if data is valid
4581           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4582           NULL;
4583       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4584       THEN
4585           -- Hint: Validate data
4586           -- IF p_CYCLE_COUNT_ID <> G_MISS_CHAR
4587           -- verify if data is valid
4588           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4589           NULL;
4590       END IF;
4591 
4592       -- Standard call to get message count and if count is 1, get message info.
4593       FND_MSG_PUB.Count_And_Get
4594       (  p_count          =>   x_msg_count,
4595          p_data           =>   x_msg_data
4596       );
4597 
4598 END Validate_CYCLE_COUNT_ID;
4599 
4600 
4601 PROCEDURE Validate_RMA_LINE_ID (
4602     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4603     P_Validation_mode            IN   VARCHAR2,
4604     P_RMA_LINE_ID                IN   NUMBER,
4605     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4606     X_Return_Status              OUT NOCOPY  VARCHAR2,
4607     X_Msg_Count                  OUT NOCOPY  NUMBER,
4608     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4609     )
4610 IS
4611 BEGIN
4612 
4613       -- Initialize message list if p_init_msg_list is set to TRUE.
4614       IF FND_API.to_Boolean( p_init_msg_list )
4615       THEN
4616           FND_MSG_PUB.initialize;
4617       END IF;
4618 
4619 
4620       -- Initialize API return status to SUCCESS
4621       x_return_status := FND_API.G_RET_STS_SUCCESS;
4622 
4623       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4624       THEN
4625           -- Hint: Validate data
4626           -- IF p_RMA_LINE_ID is not NULL and p_RMA_LINE_ID <> G_MISS_CHAR
4627           -- verify if data is valid
4628           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4629           NULL;
4630       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4631       THEN
4632           -- Hint: Validate data
4633           -- IF p_RMA_LINE_ID <> G_MISS_CHAR
4634           -- verify if data is valid
4635           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4636           NULL;
4637       END IF;
4638 
4639       -- Standard call to get message count and if count is 1, get message info.
4640       FND_MSG_PUB.Count_And_Get
4641       (  p_count          =>   x_msg_count,
4642          p_data           =>   x_msg_data
4643       );
4644 
4645 END Validate_RMA_LINE_ID;
4646 
4647 
4648 PROCEDURE Validate_CUSTOMER_SHIP_ID (
4649     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4650     P_Validation_mode            IN   VARCHAR2,
4651     P_CUSTOMER_SHIP_ID                IN   NUMBER,
4652     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4653     X_Return_Status              OUT NOCOPY  VARCHAR2,
4654     X_Msg_Count                  OUT NOCOPY  NUMBER,
4655     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4656     )
4657 IS
4658 BEGIN
4659 
4660       -- Initialize message list if p_init_msg_list is set to TRUE.
4661       IF FND_API.to_Boolean( p_init_msg_list )
4662       THEN
4663           FND_MSG_PUB.initialize;
4664       END IF;
4665 
4666 
4667       -- Initialize API return status to SUCCESS
4668       x_return_status := FND_API.G_RET_STS_SUCCESS;
4669 
4670       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4671       THEN
4672           -- Hint: Validate data
4673           -- IF p_CUSTOMER_SHIP_ID is not NULL and p_CUSTOMER_SHIP_ID <> G_MISS_CHAR
4674           -- verify if data is valid
4675           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4676           NULL;
4677       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4678       THEN
4682           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4679           -- Hint: Validate data
4680           -- IF p_CUSTOMER_SHIP_ID <> G_MISS_CHAR
4681           -- verify if data is valid
4683           NULL;
4684       END IF;
4685 
4686       -- Standard call to get message count and if count is 1, get message info.
4687       FND_MSG_PUB.Count_And_Get
4688       (  p_count          =>   x_msg_count,
4689          p_data           =>   x_msg_data
4690       );
4691 
4692 END Validate_CUSTOMER_SHIP_ID;
4693 
4694 
4695 PROCEDURE Validate_CURRENCY_CODE (
4696     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4697     P_Validation_mode            IN   VARCHAR2,
4698     P_CURRENCY_CODE                IN   VARCHAR2,
4699     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4700     X_Return_Status              OUT NOCOPY  VARCHAR2,
4701     X_Msg_Count                  OUT NOCOPY  NUMBER,
4702     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4703     )
4704 IS
4705 BEGIN
4706 
4707       -- Initialize message list if p_init_msg_list is set to TRUE.
4708       IF FND_API.to_Boolean( p_init_msg_list )
4709       THEN
4710           FND_MSG_PUB.initialize;
4711       END IF;
4712 
4713 
4714       -- Initialize API return status to SUCCESS
4715       x_return_status := FND_API.G_RET_STS_SUCCESS;
4716 
4717       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4718       THEN
4719           -- Hint: Validate data
4720           -- IF p_CURRENCY_CODE is not NULL and p_CURRENCY_CODE <> G_MISS_CHAR
4721           -- verify if data is valid
4722           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4723           NULL;
4724       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4725       THEN
4726           -- Hint: Validate data
4727           -- IF p_CURRENCY_CODE <> G_MISS_CHAR
4728           -- verify if data is valid
4729           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4730           NULL;
4731       END IF;
4732 
4733       -- Standard call to get message count and if count is 1, get message info.
4734       FND_MSG_PUB.Count_And_Get
4735       (  p_count          =>   x_msg_count,
4736          p_data           =>   x_msg_data
4737       );
4738 
4739 END Validate_CURRENCY_CODE;
4740 
4741 
4742 PROCEDURE Validate_CURRENCY_CONVERSION_RATE (
4743     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4744     P_Validation_mode            IN   VARCHAR2,
4745     P_CURRENCY_CONVERSION_RATE                IN   NUMBER,
4746     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4747     X_Return_Status              OUT NOCOPY  VARCHAR2,
4748     X_Msg_Count                  OUT NOCOPY  NUMBER,
4749     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4750     )
4751 IS
4752 BEGIN
4753 
4754       -- Initialize message list if p_init_msg_list is set to TRUE.
4755       IF FND_API.to_Boolean( p_init_msg_list )
4756       THEN
4757           FND_MSG_PUB.initialize;
4758       END IF;
4759 
4760 
4761       -- Initialize API return status to SUCCESS
4762       x_return_status := FND_API.G_RET_STS_SUCCESS;
4763 
4764       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4765       THEN
4766           -- Hint: Validate data
4767           -- IF p_CURRENCY_CONVERSION_RATE is not NULL and p_CURRENCY_CONVERSION_RATE <> G_MISS_CHAR
4768           -- verify if data is valid
4769           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4770           NULL;
4771       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4772       THEN
4773           -- Hint: Validate data
4774           -- IF p_CURRENCY_CONVERSION_RATE <> G_MISS_CHAR
4775           -- verify if data is valid
4776           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4777           NULL;
4778       END IF;
4779 
4780       -- Standard call to get message count and if count is 1, get message info.
4781       FND_MSG_PUB.Count_And_Get
4782       (  p_count          =>   x_msg_count,
4783          p_data           =>   x_msg_data
4784       );
4785 
4786 END Validate_CURRENCY_CONVERSION_RATE;
4787 
4788 
4789 PROCEDURE Validate_CURRENCY_CONVERSION_TYPE (
4790     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4791     P_Validation_mode            IN   VARCHAR2,
4792     P_CURRENCY_CONVERSION_TYPE                IN   VARCHAR2,
4793     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4794     X_Return_Status              OUT NOCOPY  VARCHAR2,
4795     X_Msg_Count                  OUT NOCOPY  NUMBER,
4796     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4797     )
4798 IS
4799 BEGIN
4800 
4801       -- Initialize message list if p_init_msg_list is set to TRUE.
4802       IF FND_API.to_Boolean( p_init_msg_list )
4803       THEN
4804           FND_MSG_PUB.initialize;
4805       END IF;
4806 
4807 
4808       -- Initialize API return status to SUCCESS
4809       x_return_status := FND_API.G_RET_STS_SUCCESS;
4810 
4811       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4812       THEN
4816           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4813           -- Hint: Validate data
4814           -- IF p_CURRENCY_CONVERSION_TYPE is not NULL and p_CURRENCY_CONVERSION_TYPE <> G_MISS_CHAR
4815           -- verify if data is valid
4817           NULL;
4818       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4819       THEN
4820           -- Hint: Validate data
4821           -- IF p_CURRENCY_CONVERSION_TYPE <> G_MISS_CHAR
4822           -- verify if data is valid
4823           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4824           NULL;
4825       END IF;
4826 
4827       -- Standard call to get message count and if count is 1, get message info.
4828       FND_MSG_PUB.Count_And_Get
4829       (  p_count          =>   x_msg_count,
4830          p_data           =>   x_msg_data
4831       );
4832 
4833 END Validate_CURRENCY_CONVERSION_TYPE;
4834 
4835 
4836 PROCEDURE Validate_CURRENCY_CONVERSION_DATE (
4837     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4838     P_Validation_mode            IN   VARCHAR2,
4839     P_CURRENCY_CONVERSION_DATE                IN   DATE,
4840     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4841     X_Return_Status              OUT NOCOPY  VARCHAR2,
4842     X_Msg_Count                  OUT NOCOPY  NUMBER,
4843     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4844     )
4845 IS
4846 BEGIN
4847 
4848       -- Initialize message list if p_init_msg_list is set to TRUE.
4849       IF FND_API.to_Boolean( p_init_msg_list )
4850       THEN
4851           FND_MSG_PUB.initialize;
4852       END IF;
4853 
4854 
4855       -- Initialize API return status to SUCCESS
4856       x_return_status := FND_API.G_RET_STS_SUCCESS;
4857 
4858       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4859       THEN
4860           -- Hint: Validate data
4861           -- IF p_CURRENCY_CONVERSION_DATE is not NULL and p_CURRENCY_CONVERSION_DATE <> G_MISS_CHAR
4862           -- verify if data is valid
4863           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4864           NULL;
4865       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4866       THEN
4867           -- Hint: Validate data
4868           -- IF p_CURRENCY_CONVERSION_DATE <> G_MISS_CHAR
4869           -- verify if data is valid
4870           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4871           NULL;
4872       END IF;
4873 
4874       -- Standard call to get message count and if count is 1, get message info.
4875       FND_MSG_PUB.Count_And_Get
4876       (  p_count          =>   x_msg_count,
4877          p_data           =>   x_msg_data
4878       );
4879 
4880 END Validate_CURRENCY_CONVERSION_DATE;
4881 
4882 
4883 PROCEDURE Validate_USSGL_TRANSACTION_CODE (
4884     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4885     P_Validation_mode            IN   VARCHAR2,
4886     P_USSGL_TRANSACTION_CODE                IN   VARCHAR2,
4887     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4888     X_Return_Status              OUT NOCOPY  VARCHAR2,
4889     X_Msg_Count                  OUT NOCOPY  NUMBER,
4890     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4891     )
4892 IS
4893 BEGIN
4894 
4895       -- Initialize message list if p_init_msg_list is set to TRUE.
4896       IF FND_API.to_Boolean( p_init_msg_list )
4897       THEN
4898           FND_MSG_PUB.initialize;
4899       END IF;
4900 
4901 
4902       -- Initialize API return status to SUCCESS
4903       x_return_status := FND_API.G_RET_STS_SUCCESS;
4904 
4905       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4906       THEN
4907           -- Hint: Validate data
4908           -- IF p_USSGL_TRANSACTION_CODE is not NULL and p_USSGL_TRANSACTION_CODE <> G_MISS_CHAR
4909           -- verify if data is valid
4910           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4911           NULL;
4912       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4913       THEN
4914           -- Hint: Validate data
4915           -- IF p_USSGL_TRANSACTION_CODE <> G_MISS_CHAR
4916           -- verify if data is valid
4917           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4918           NULL;
4919       END IF;
4920 
4921       -- Standard call to get message count and if count is 1, get message info.
4922       FND_MSG_PUB.Count_And_Get
4923       (  p_count          =>   x_msg_count,
4924          p_data           =>   x_msg_data
4925       );
4926 
4927 END Validate_USSGL_TRANSACTION_CODE;
4928 
4929 
4930 PROCEDURE Validate_VENDOR_LOT_NUMBER (
4931     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4932     P_Validation_mode            IN   VARCHAR2,
4933     P_VENDOR_LOT_NUMBER                IN   VARCHAR2,
4934     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4935     X_Return_Status              OUT NOCOPY  VARCHAR2,
4936     X_Msg_Count                  OUT NOCOPY  NUMBER,
4937     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4938     )
4939 IS
4940 BEGIN
4941 
4945           FND_MSG_PUB.initialize;
4942       -- Initialize message list if p_init_msg_list is set to TRUE.
4943       IF FND_API.to_Boolean( p_init_msg_list )
4944       THEN
4946       END IF;
4947 
4948 
4949       -- Initialize API return status to SUCCESS
4950       x_return_status := FND_API.G_RET_STS_SUCCESS;
4951 
4952       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
4953       THEN
4954           -- Hint: Validate data
4955           -- IF p_VENDOR_LOT_NUMBER is not NULL and p_VENDOR_LOT_NUMBER <> G_MISS_CHAR
4956           -- verify if data is valid
4957           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4958           NULL;
4959       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
4960       THEN
4961           -- Hint: Validate data
4962           -- IF p_VENDOR_LOT_NUMBER <> G_MISS_CHAR
4963           -- verify if data is valid
4964           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
4965           NULL;
4966       END IF;
4967 
4968       -- Standard call to get message count and if count is 1, get message info.
4969       FND_MSG_PUB.Count_And_Get
4970       (  p_count          =>   x_msg_count,
4971          p_data           =>   x_msg_data
4972       );
4973 
4974 END Validate_VENDOR_LOT_NUMBER;
4975 
4976 
4977 PROCEDURE Validate_ENCUMBRANCE_ACCOUNT (
4978     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
4979     P_Validation_mode            IN   VARCHAR2,
4980     P_ENCUMBRANCE_ACCOUNT                IN   NUMBER,
4981     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
4982     X_Return_Status              OUT NOCOPY  VARCHAR2,
4983     X_Msg_Count                  OUT NOCOPY  NUMBER,
4984     X_Msg_Data                   OUT NOCOPY  VARCHAR2
4985     )
4986 IS
4987 BEGIN
4988 
4989       -- Initialize message list if p_init_msg_list is set to TRUE.
4990       IF FND_API.to_Boolean( p_init_msg_list )
4991       THEN
4992           FND_MSG_PUB.initialize;
4993       END IF;
4994 
4995 
4996       -- Initialize API return status to SUCCESS
4997       x_return_status := FND_API.G_RET_STS_SUCCESS;
4998 
4999       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5000       THEN
5001           -- Hint: Validate data
5002           -- IF p_ENCUMBRANCE_ACCOUNT is not NULL and p_ENCUMBRANCE_ACCOUNT <> G_MISS_CHAR
5003           -- verify if data is valid
5004           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5005           NULL;
5006       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5007       THEN
5008           -- Hint: Validate data
5009           -- IF p_ENCUMBRANCE_ACCOUNT <> G_MISS_CHAR
5010           -- verify if data is valid
5011           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5012           NULL;
5013       END IF;
5014 
5015       -- Standard call to get message count and if count is 1, get message info.
5016       FND_MSG_PUB.Count_And_Get
5017       (  p_count          =>   x_msg_count,
5018          p_data           =>   x_msg_data
5019       );
5020 
5021 END Validate_ENCUMBRANCE_ACCOUNT;
5022 
5023 
5024 PROCEDURE Validate_ENCUMBRANCE_AMOUNT (
5025     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5026     P_Validation_mode            IN   VARCHAR2,
5027     P_ENCUMBRANCE_AMOUNT                IN   NUMBER,
5028     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5029     X_Return_Status              OUT NOCOPY  VARCHAR2,
5030     X_Msg_Count                  OUT NOCOPY  NUMBER,
5031     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5032     )
5033 IS
5034 BEGIN
5035 
5036       -- Initialize message list if p_init_msg_list is set to TRUE.
5037       IF FND_API.to_Boolean( p_init_msg_list )
5038       THEN
5039           FND_MSG_PUB.initialize;
5040       END IF;
5041 
5042 
5043       -- Initialize API return status to SUCCESS
5044       x_return_status := FND_API.G_RET_STS_SUCCESS;
5045 
5046       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5047       THEN
5048           -- Hint: Validate data
5049           -- IF p_ENCUMBRANCE_AMOUNT is not NULL and p_ENCUMBRANCE_AMOUNT <> G_MISS_CHAR
5050           -- verify if data is valid
5051           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5052           NULL;
5053       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5054       THEN
5055           -- Hint: Validate data
5056           -- IF p_ENCUMBRANCE_AMOUNT <> G_MISS_CHAR
5057           -- verify if data is valid
5058           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5059           NULL;
5060       END IF;
5061 
5062       -- Standard call to get message count and if count is 1, get message info.
5063       FND_MSG_PUB.Count_And_Get
5064       (  p_count          =>   x_msg_count,
5065          p_data           =>   x_msg_data
5066       );
5067 
5068 END Validate_ENCUMBRANCE_AMOUNT;
5069 
5070 
5071 PROCEDURE Validate_SHIP_TO_LOCATION (
5072     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5073     P_Validation_mode            IN   VARCHAR2,
5074     P_SHIP_TO_LOCATION                IN   NUMBER,
5078     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5075     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5076     X_Return_Status              OUT NOCOPY  VARCHAR2,
5077     X_Msg_Count                  OUT NOCOPY  NUMBER,
5079     )
5080 IS
5081 BEGIN
5082 
5083       -- Initialize message list if p_init_msg_list is set to TRUE.
5084       IF FND_API.to_Boolean( p_init_msg_list )
5085       THEN
5086           FND_MSG_PUB.initialize;
5087       END IF;
5088 
5089 
5090       -- Initialize API return status to SUCCESS
5091       x_return_status := FND_API.G_RET_STS_SUCCESS;
5092 
5093       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5094       THEN
5095           -- Hint: Validate data
5096           -- IF p_SHIP_TO_LOCATION is not NULL and p_SHIP_TO_LOCATION <> G_MISS_CHAR
5097           -- verify if data is valid
5098           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5099           NULL;
5100       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5101       THEN
5102           -- Hint: Validate data
5103           -- IF p_SHIP_TO_LOCATION <> G_MISS_CHAR
5104           -- verify if data is valid
5105           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5106           NULL;
5107       END IF;
5108 
5109       -- Standard call to get message count and if count is 1, get message info.
5110       FND_MSG_PUB.Count_And_Get
5111       (  p_count          =>   x_msg_count,
5112          p_data           =>   x_msg_data
5113       );
5114 
5115 END Validate_SHIP_TO_LOCATION;
5116 
5117 
5118 PROCEDURE Validate_SHIPMENT_NUMBER (
5119     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5120     P_Validation_mode            IN   VARCHAR2,
5121     P_SHIPMENT_NUMBER                IN   VARCHAR2,
5122     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5123     X_Return_Status              OUT NOCOPY  VARCHAR2,
5124     X_Msg_Count                  OUT NOCOPY  NUMBER,
5125     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5126     )
5127 IS
5128 BEGIN
5129 
5130       -- Initialize message list if p_init_msg_list is set to TRUE.
5131       IF FND_API.to_Boolean( p_init_msg_list )
5132       THEN
5133           FND_MSG_PUB.initialize;
5134       END IF;
5135 
5136 
5137       -- Initialize API return status to SUCCESS
5138       x_return_status := FND_API.G_RET_STS_SUCCESS;
5139 
5140       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5141       THEN
5142           -- Hint: Validate data
5143           -- IF p_SHIPMENT_NUMBER is not NULL and p_SHIPMENT_NUMBER <> G_MISS_CHAR
5144           -- verify if data is valid
5145           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5146           NULL;
5147       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5148       THEN
5149           -- Hint: Validate data
5150           -- IF p_SHIPMENT_NUMBER <> G_MISS_CHAR
5151           -- verify if data is valid
5152           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5153           NULL;
5154       END IF;
5155 
5156       -- Standard call to get message count and if count is 1, get message info.
5157       FND_MSG_PUB.Count_And_Get
5158       (  p_count          =>   x_msg_count,
5159          p_data           =>   x_msg_data
5160       );
5161 
5162 END Validate_SHIPMENT_NUMBER;
5163 
5164 
5165 PROCEDURE Validate_TRANSFER_COST (
5166     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5167     P_Validation_mode            IN   VARCHAR2,
5168     P_TRANSFER_COST                IN   NUMBER,
5169     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5170     X_Return_Status              OUT NOCOPY  VARCHAR2,
5171     X_Msg_Count                  OUT NOCOPY  NUMBER,
5172     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5173     )
5174 IS
5175 BEGIN
5176 
5177       -- Initialize message list if p_init_msg_list is set to TRUE.
5178       IF FND_API.to_Boolean( p_init_msg_list )
5179       THEN
5180           FND_MSG_PUB.initialize;
5181       END IF;
5182 
5183 
5184       -- Initialize API return status to SUCCESS
5185       x_return_status := FND_API.G_RET_STS_SUCCESS;
5186 
5187       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5188       THEN
5189           -- Hint: Validate data
5190           -- IF p_TRANSFER_COST is not NULL and p_TRANSFER_COST <> G_MISS_CHAR
5191           -- verify if data is valid
5192           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5193           NULL;
5194       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5195       THEN
5196           -- Hint: Validate data
5197           -- IF p_TRANSFER_COST <> G_MISS_CHAR
5198           -- verify if data is valid
5199           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5200           NULL;
5201       END IF;
5202 
5203       -- Standard call to get message count and if count is 1, get message info.
5204       FND_MSG_PUB.Count_And_Get
5205       (  p_count          =>   x_msg_count,
5206          p_data           =>   x_msg_data
5207       );
5208 
5212 PROCEDURE Validate_TRANSPORTATION_COST (
5209 END Validate_TRANSFER_COST;
5210 
5211 
5213     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5214     P_Validation_mode            IN   VARCHAR2,
5215     P_TRANSPORTATION_COST                IN   NUMBER,
5216     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5217     X_Return_Status              OUT NOCOPY  VARCHAR2,
5218     X_Msg_Count                  OUT NOCOPY  NUMBER,
5219     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5220     )
5221 IS
5222 BEGIN
5223 
5224       -- Initialize message list if p_init_msg_list is set to TRUE.
5225       IF FND_API.to_Boolean( p_init_msg_list )
5226       THEN
5227           FND_MSG_PUB.initialize;
5228       END IF;
5229 
5230 
5231       -- Initialize API return status to SUCCESS
5232       x_return_status := FND_API.G_RET_STS_SUCCESS;
5233 
5234       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5235       THEN
5236           -- Hint: Validate data
5237           -- IF p_TRANSPORTATION_COST is not NULL and p_TRANSPORTATION_COST <> G_MISS_CHAR
5238           -- verify if data is valid
5239           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5240           NULL;
5241       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5242       THEN
5243           -- Hint: Validate data
5244           -- IF p_TRANSPORTATION_COST <> G_MISS_CHAR
5245           -- verify if data is valid
5246           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5247           NULL;
5248       END IF;
5249 
5250       -- Standard call to get message count and if count is 1, get message info.
5251       FND_MSG_PUB.Count_And_Get
5252       (  p_count          =>   x_msg_count,
5253          p_data           =>   x_msg_data
5254       );
5255 
5256 END Validate_TRANSPORTATION_COST;
5257 
5258 
5259 PROCEDURE Validate_TRANSPORTATION_ACCOUNT (
5260     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5261     P_Validation_mode            IN   VARCHAR2,
5262     P_TRANSPORTATION_ACCOUNT                IN   NUMBER,
5263     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5264     X_Return_Status              OUT NOCOPY  VARCHAR2,
5265     X_Msg_Count                  OUT NOCOPY  NUMBER,
5266     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5267     )
5268 IS
5269 BEGIN
5270 
5271       -- Initialize message list if p_init_msg_list is set to TRUE.
5272       IF FND_API.to_Boolean( p_init_msg_list )
5273       THEN
5274           FND_MSG_PUB.initialize;
5275       END IF;
5276 
5277 
5278       -- Initialize API return status to SUCCESS
5279       x_return_status := FND_API.G_RET_STS_SUCCESS;
5280 
5281       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5282       THEN
5283           -- Hint: Validate data
5284           -- IF p_TRANSPORTATION_ACCOUNT is not NULL and p_TRANSPORTATION_ACCOUNT <> G_MISS_CHAR
5285           -- verify if data is valid
5286           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5287           NULL;
5288       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5289       THEN
5290           -- Hint: Validate data
5291           -- IF p_TRANSPORTATION_ACCOUNT <> G_MISS_CHAR
5292           -- verify if data is valid
5293           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5294           NULL;
5295       END IF;
5296 
5297       -- Standard call to get message count and if count is 1, get message info.
5298       FND_MSG_PUB.Count_And_Get
5299       (  p_count          =>   x_msg_count,
5300          p_data           =>   x_msg_data
5301       );
5302 
5303 END Validate_TRANSPORTATION_ACCOUNT;
5304 
5305 
5306 PROCEDURE Validate_FREIGHT_CODE (
5307     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5308     P_Validation_mode            IN   VARCHAR2,
5309     P_FREIGHT_CODE                IN   VARCHAR2,
5310     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5311     X_Return_Status              OUT NOCOPY  VARCHAR2,
5312     X_Msg_Count                  OUT NOCOPY  NUMBER,
5313     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5314     )
5315 IS
5316 BEGIN
5317 
5318       -- Initialize message list if p_init_msg_list is set to TRUE.
5319       IF FND_API.to_Boolean( p_init_msg_list )
5320       THEN
5321           FND_MSG_PUB.initialize;
5322       END IF;
5323 
5324 
5325       -- Initialize API return status to SUCCESS
5326       x_return_status := FND_API.G_RET_STS_SUCCESS;
5327 
5328       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5329       THEN
5330           -- Hint: Validate data
5331           -- IF p_FREIGHT_CODE is not NULL and p_FREIGHT_CODE <> G_MISS_CHAR
5332           -- verify if data is valid
5333           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5334           NULL;
5335       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5336       THEN
5337           -- Hint: Validate data
5338           -- IF p_FREIGHT_CODE <> G_MISS_CHAR
5339           -- verify if data is valid
5343 
5340           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5341           NULL;
5342       END IF;
5344       -- Standard call to get message count and if count is 1, get message info.
5345       FND_MSG_PUB.Count_And_Get
5346       (  p_count          =>   x_msg_count,
5347          p_data           =>   x_msg_data
5348       );
5349 
5350 END Validate_FREIGHT_CODE;
5351 
5352 
5353 PROCEDURE Validate_CONTAINERS (
5354     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5355     P_Validation_mode            IN   VARCHAR2,
5356     P_CONTAINERS                IN   NUMBER,
5357     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5358     X_Return_Status              OUT NOCOPY  VARCHAR2,
5359     X_Msg_Count                  OUT NOCOPY  NUMBER,
5360     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5361     )
5362 IS
5363 BEGIN
5364 
5365       -- Initialize message list if p_init_msg_list is set to TRUE.
5366       IF FND_API.to_Boolean( p_init_msg_list )
5367       THEN
5368           FND_MSG_PUB.initialize;
5369       END IF;
5370 
5371 
5372       -- Initialize API return status to SUCCESS
5373       x_return_status := FND_API.G_RET_STS_SUCCESS;
5374 
5375       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5376       THEN
5377           -- Hint: Validate data
5378           -- IF p_CONTAINERS is not NULL and p_CONTAINERS <> G_MISS_CHAR
5379           -- verify if data is valid
5380           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5381           NULL;
5382       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5383       THEN
5384           -- Hint: Validate data
5385           -- IF p_CONTAINERS <> G_MISS_CHAR
5386           -- verify if data is valid
5387           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5388           NULL;
5389       END IF;
5390 
5391       -- Standard call to get message count and if count is 1, get message info.
5392       FND_MSG_PUB.Count_And_Get
5393       (  p_count          =>   x_msg_count,
5394          p_data           =>   x_msg_data
5395       );
5396 
5397 END Validate_CONTAINERS;
5398 
5399 
5400 PROCEDURE Validate_WAYBILL_AIRBILL (
5401     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5402     P_Validation_mode            IN   VARCHAR2,
5403     P_WAYBILL_AIRBILL                IN   VARCHAR2,
5404     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5405     X_Return_Status              OUT NOCOPY  VARCHAR2,
5406     X_Msg_Count                  OUT NOCOPY  NUMBER,
5407     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5408     )
5409 IS
5410 BEGIN
5411 
5412       -- Initialize message list if p_init_msg_list is set to TRUE.
5413       IF FND_API.to_Boolean( p_init_msg_list )
5414       THEN
5415           FND_MSG_PUB.initialize;
5416       END IF;
5417 
5418 
5419       -- Initialize API return status to SUCCESS
5420       x_return_status := FND_API.G_RET_STS_SUCCESS;
5421 
5422       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5423       THEN
5424           -- Hint: Validate data
5425           -- IF p_WAYBILL_AIRBILL is not NULL and p_WAYBILL_AIRBILL <> G_MISS_CHAR
5426           -- verify if data is valid
5427           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5428           NULL;
5429       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5430       THEN
5431           -- Hint: Validate data
5432           -- IF p_WAYBILL_AIRBILL <> G_MISS_CHAR
5433           -- verify if data is valid
5434           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5435           NULL;
5436       END IF;
5437 
5438       -- Standard call to get message count and if count is 1, get message info.
5439       FND_MSG_PUB.Count_And_Get
5440       (  p_count          =>   x_msg_count,
5441          p_data           =>   x_msg_data
5442       );
5443 
5444 END Validate_WAYBILL_AIRBILL;
5445 
5446 
5447 PROCEDURE Validate_EXPECTED_ARRIVAL_DATE (
5448     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5449     P_Validation_mode            IN   VARCHAR2,
5450     P_EXPECTED_ARRIVAL_DATE                IN   DATE,
5451     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5452     X_Return_Status              OUT NOCOPY  VARCHAR2,
5453     X_Msg_Count                  OUT NOCOPY  NUMBER,
5454     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5455     )
5456 IS
5457 BEGIN
5458 
5459       -- Initialize message list if p_init_msg_list is set to TRUE.
5460       IF FND_API.to_Boolean( p_init_msg_list )
5461       THEN
5462           FND_MSG_PUB.initialize;
5463       END IF;
5464 
5465 
5466       -- Initialize API return status to SUCCESS
5467       x_return_status := FND_API.G_RET_STS_SUCCESS;
5468 
5469       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5470       THEN
5471           -- Hint: Validate data
5472           -- IF p_EXPECTED_ARRIVAL_DATE is not NULL and p_EXPECTED_ARRIVAL_DATE <> G_MISS_CHAR
5473           -- verify if data is valid
5477       THEN
5474           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5475           NULL;
5476       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5478           -- Hint: Validate data
5479           -- IF p_EXPECTED_ARRIVAL_DATE <> G_MISS_CHAR
5480           -- verify if data is valid
5481           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5482           NULL;
5483       END IF;
5484 
5485       -- Standard call to get message count and if count is 1, get message info.
5486       FND_MSG_PUB.Count_And_Get
5487       (  p_count          =>   x_msg_count,
5488          p_data           =>   x_msg_data
5489       );
5490 
5491 END Validate_EXPECTED_ARRIVAL_DATE;
5492 
5493 
5494 PROCEDURE Validate_TRANSFER_SUBINVENTORY (
5495     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5496     P_Validation_mode            IN   VARCHAR2,
5497     P_TRANSFER_SUBINVENTORY                IN   VARCHAR2,
5498     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5499     X_Return_Status              OUT NOCOPY  VARCHAR2,
5500     X_Msg_Count                  OUT NOCOPY  NUMBER,
5501     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5502     )
5503 IS
5504 BEGIN
5505 
5506       -- Initialize message list if p_init_msg_list is set to TRUE.
5507       IF FND_API.to_Boolean( p_init_msg_list )
5508       THEN
5509           FND_MSG_PUB.initialize;
5510       END IF;
5511 
5512 
5513       -- Initialize API return status to SUCCESS
5514       x_return_status := FND_API.G_RET_STS_SUCCESS;
5515 
5516       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5517       THEN
5518           -- Hint: Validate data
5519           -- IF p_TRANSFER_SUBINVENTORY is not NULL and p_TRANSFER_SUBINVENTORY <> G_MISS_CHAR
5520           -- verify if data is valid
5521           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5522           NULL;
5523       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5524       THEN
5525           -- Hint: Validate data
5526           -- IF p_TRANSFER_SUBINVENTORY <> G_MISS_CHAR
5527           -- verify if data is valid
5528           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5529           NULL;
5530       END IF;
5531 
5532       -- Standard call to get message count and if count is 1, get message info.
5533       FND_MSG_PUB.Count_And_Get
5534       (  p_count          =>   x_msg_count,
5535          p_data           =>   x_msg_data
5536       );
5537 
5538 END Validate_TRANSFER_SUBINVENTORY;
5539 
5540 
5541 PROCEDURE Validate_TRANSFER_ORGANIZATION (
5542     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5543     P_Validation_mode            IN   VARCHAR2,
5544     P_TRANSFER_ORGANIZATION                IN   NUMBER,
5545     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5546     X_Return_Status              OUT NOCOPY  VARCHAR2,
5547     X_Msg_Count                  OUT NOCOPY  NUMBER,
5548     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5549     )
5550 IS
5551 BEGIN
5552 
5553       -- Initialize message list if p_init_msg_list is set to TRUE.
5554       IF FND_API.to_Boolean( p_init_msg_list )
5555       THEN
5556           FND_MSG_PUB.initialize;
5557       END IF;
5558 
5559 
5560       -- Initialize API return status to SUCCESS
5561       x_return_status := FND_API.G_RET_STS_SUCCESS;
5562 
5563       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5564       THEN
5565           -- Hint: Validate data
5566           -- IF p_TRANSFER_ORGANIZATION is not NULL and p_TRANSFER_ORGANIZATION <> G_MISS_CHAR
5567           -- verify if data is valid
5568           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5569           NULL;
5570       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5571       THEN
5572           -- Hint: Validate data
5573           -- IF p_TRANSFER_ORGANIZATION <> G_MISS_CHAR
5574           -- verify if data is valid
5575           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5576           NULL;
5577       END IF;
5578 
5579       -- Standard call to get message count and if count is 1, get message info.
5580       FND_MSG_PUB.Count_And_Get
5581       (  p_count          =>   x_msg_count,
5582          p_data           =>   x_msg_data
5583       );
5584 
5585 END Validate_TRANSFER_ORGANIZATION;
5586 
5587 
5588 PROCEDURE Validate_TRANSFER_TO_LOCATION (
5589     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5590     P_Validation_mode            IN   VARCHAR2,
5591     P_TRANSFER_TO_LOCATION                IN   NUMBER,
5592     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5593     X_Return_Status              OUT NOCOPY  VARCHAR2,
5594     X_Msg_Count                  OUT NOCOPY  NUMBER,
5595     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5596     )
5597 IS
5598 BEGIN
5599 
5600       -- Initialize message list if p_init_msg_list is set to TRUE.
5601       IF FND_API.to_Boolean( p_init_msg_list )
5602       THEN
5603           FND_MSG_PUB.initialize;
5604       END IF;
5605 
5606 
5610       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5607       -- Initialize API return status to SUCCESS
5608       x_return_status := FND_API.G_RET_STS_SUCCESS;
5609 
5611       THEN
5612           -- Hint: Validate data
5613           -- IF p_TRANSFER_TO_LOCATION is not NULL and p_TRANSFER_TO_LOCATION <> G_MISS_CHAR
5614           -- verify if data is valid
5615           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5616           NULL;
5617       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5618       THEN
5619           -- Hint: Validate data
5620           -- IF p_TRANSFER_TO_LOCATION <> G_MISS_CHAR
5621           -- verify if data is valid
5622           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5623           NULL;
5624       END IF;
5625 
5626       -- Standard call to get message count and if count is 1, get message info.
5627       FND_MSG_PUB.Count_And_Get
5628       (  p_count          =>   x_msg_count,
5629          p_data           =>   x_msg_data
5630       );
5631 
5632 END Validate_TRANSFER_TO_LOCATION;
5633 
5634 
5635 PROCEDURE Validate_NEW_AVERAGE_COST (
5636     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5637     P_Validation_mode            IN   VARCHAR2,
5638     P_NEW_AVERAGE_COST                IN   NUMBER,
5639     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5640     X_Return_Status              OUT NOCOPY  VARCHAR2,
5641     X_Msg_Count                  OUT NOCOPY  NUMBER,
5642     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5643     )
5644 IS
5645 BEGIN
5646 
5647       -- Initialize message list if p_init_msg_list is set to TRUE.
5648       IF FND_API.to_Boolean( p_init_msg_list )
5649       THEN
5650           FND_MSG_PUB.initialize;
5651       END IF;
5652 
5653 
5654       -- Initialize API return status to SUCCESS
5655       x_return_status := FND_API.G_RET_STS_SUCCESS;
5656 
5657       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5658       THEN
5659           -- Hint: Validate data
5660           -- IF p_NEW_AVERAGE_COST is not NULL and p_NEW_AVERAGE_COST <> G_MISS_CHAR
5661           -- verify if data is valid
5662           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5663           NULL;
5664       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5665       THEN
5666           -- Hint: Validate data
5667           -- IF p_NEW_AVERAGE_COST <> G_MISS_CHAR
5668           -- verify if data is valid
5669           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5670           NULL;
5671       END IF;
5672 
5673       -- Standard call to get message count and if count is 1, get message info.
5674       FND_MSG_PUB.Count_And_Get
5675       (  p_count          =>   x_msg_count,
5676          p_data           =>   x_msg_data
5677       );
5678 
5679 END Validate_NEW_AVERAGE_COST;
5680 
5681 
5682 PROCEDURE Validate_VALUE_CHANGE (
5683     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5684     P_Validation_mode            IN   VARCHAR2,
5685     P_VALUE_CHANGE                IN   NUMBER,
5686     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5687     X_Return_Status              OUT NOCOPY  VARCHAR2,
5688     X_Msg_Count                  OUT NOCOPY  NUMBER,
5689     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5690     )
5691 IS
5692 BEGIN
5693 
5694       -- Initialize message list if p_init_msg_list is set to TRUE.
5695       IF FND_API.to_Boolean( p_init_msg_list )
5696       THEN
5697           FND_MSG_PUB.initialize;
5698       END IF;
5699 
5700 
5701       -- Initialize API return status to SUCCESS
5702       x_return_status := FND_API.G_RET_STS_SUCCESS;
5703 
5704       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5705       THEN
5706           -- Hint: Validate data
5707           -- IF p_VALUE_CHANGE is not NULL and p_VALUE_CHANGE <> G_MISS_CHAR
5708           -- verify if data is valid
5709           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5710           NULL;
5711       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5712       THEN
5713           -- Hint: Validate data
5714           -- IF p_VALUE_CHANGE <> G_MISS_CHAR
5715           -- verify if data is valid
5716           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5717           NULL;
5718       END IF;
5719 
5720       -- Standard call to get message count and if count is 1, get message info.
5721       FND_MSG_PUB.Count_And_Get
5722       (  p_count          =>   x_msg_count,
5723          p_data           =>   x_msg_data
5724       );
5725 
5726 END Validate_VALUE_CHANGE;
5727 
5728 
5729 PROCEDURE Validate_PERCENTAGE_CHANGE (
5730     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5731     P_Validation_mode            IN   VARCHAR2,
5732     P_PERCENTAGE_CHANGE                IN   NUMBER,
5733     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5734     X_Return_Status              OUT NOCOPY  VARCHAR2,
5735     X_Msg_Count                  OUT NOCOPY  NUMBER,
5736     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5737     )
5741       -- Initialize message list if p_init_msg_list is set to TRUE.
5738 IS
5739 BEGIN
5740 
5742       IF FND_API.to_Boolean( p_init_msg_list )
5743       THEN
5744           FND_MSG_PUB.initialize;
5745       END IF;
5746 
5747 
5748       -- Initialize API return status to SUCCESS
5749       x_return_status := FND_API.G_RET_STS_SUCCESS;
5750 
5751       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5752       THEN
5753           -- Hint: Validate data
5754           -- IF p_PERCENTAGE_CHANGE is not NULL and p_PERCENTAGE_CHANGE <> G_MISS_CHAR
5755           -- verify if data is valid
5756           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5757           NULL;
5758       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5759       THEN
5760           -- Hint: Validate data
5761           -- IF p_PERCENTAGE_CHANGE <> G_MISS_CHAR
5762           -- verify if data is valid
5763           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5764           NULL;
5765       END IF;
5766 
5767       -- Standard call to get message count and if count is 1, get message info.
5768       FND_MSG_PUB.Count_And_Get
5769       (  p_count          =>   x_msg_count,
5770          p_data           =>   x_msg_data
5771       );
5772 
5773 END Validate_PERCENTAGE_CHANGE;
5774 
5775 
5776 PROCEDURE Validate_MATERIAL_ALLOCATION_TEMP_ID (
5777     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5778     P_Validation_mode            IN   VARCHAR2,
5779     P_MATERIAL_ALLOCATION_TEMP_ID                IN   NUMBER,
5780     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5781     X_Return_Status              OUT NOCOPY  VARCHAR2,
5782     X_Msg_Count                  OUT NOCOPY  NUMBER,
5783     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5784     )
5785 IS
5786 BEGIN
5787 
5788       -- Initialize message list if p_init_msg_list is set to TRUE.
5789       IF FND_API.to_Boolean( p_init_msg_list )
5790       THEN
5791           FND_MSG_PUB.initialize;
5792       END IF;
5793 
5794 
5795       -- Initialize API return status to SUCCESS
5796       x_return_status := FND_API.G_RET_STS_SUCCESS;
5797 
5798       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5799       THEN
5800           -- Hint: Validate data
5801           -- IF p_MATERIAL_ALLOCATION_TEMP_ID is not NULL and p_MATERIAL_ALLOCATION_TEMP_ID <> G_MISS_CHAR
5802           -- verify if data is valid
5803           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5804           NULL;
5805       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5806       THEN
5807           -- Hint: Validate data
5808           -- IF p_MATERIAL_ALLOCATION_TEMP_ID <> G_MISS_CHAR
5809           -- verify if data is valid
5810           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5811           NULL;
5812       END IF;
5813 
5814       -- Standard call to get message count and if count is 1, get message info.
5815       FND_MSG_PUB.Count_And_Get
5816       (  p_count          =>   x_msg_count,
5817          p_data           =>   x_msg_data
5818       );
5819 
5820 END Validate_MATERIAL_ALLOCATION_TEMP_ID;
5821 
5822 
5823 PROCEDURE Validate_DEMAND_SOURCE_HEADER_ID (
5824     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5825     P_Validation_mode            IN   VARCHAR2,
5826     P_DEMAND_SOURCE_HEADER_ID                IN   NUMBER,
5827     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5828     X_Return_Status              OUT NOCOPY  VARCHAR2,
5829     X_Msg_Count                  OUT NOCOPY  NUMBER,
5830     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5831     )
5832 IS
5833 BEGIN
5834 
5835       -- Initialize message list if p_init_msg_list is set to TRUE.
5836       IF FND_API.to_Boolean( p_init_msg_list )
5837       THEN
5838           FND_MSG_PUB.initialize;
5839       END IF;
5840 
5841 
5842       -- Initialize API return status to SUCCESS
5843       x_return_status := FND_API.G_RET_STS_SUCCESS;
5844 
5845       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5846       THEN
5847           -- Hint: Validate data
5848           -- IF p_DEMAND_SOURCE_HEADER_ID is not NULL and p_DEMAND_SOURCE_HEADER_ID <> G_MISS_CHAR
5849           -- verify if data is valid
5850           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5851           NULL;
5852       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5853       THEN
5854           -- Hint: Validate data
5855           -- IF p_DEMAND_SOURCE_HEADER_ID <> G_MISS_CHAR
5856           -- verify if data is valid
5857           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5858           NULL;
5859       END IF;
5860 
5861       -- Standard call to get message count and if count is 1, get message info.
5862       FND_MSG_PUB.Count_And_Get
5863       (  p_count          =>   x_msg_count,
5864          p_data           =>   x_msg_data
5865       );
5866 
5867 END Validate_DEMAND_SOURCE_HEADER_ID;
5868 
5869 
5870 PROCEDURE Validate_DEMAND_SOURCE_LINE (
5871     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5872     P_Validation_mode            IN   VARCHAR2,
5876     X_Msg_Count                  OUT NOCOPY  NUMBER,
5873     P_DEMAND_SOURCE_LINE                IN   VARCHAR2,
5874     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5875     X_Return_Status              OUT NOCOPY  VARCHAR2,
5877     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5878     )
5879 IS
5880 BEGIN
5881 
5882       -- Initialize message list if p_init_msg_list is set to TRUE.
5883       IF FND_API.to_Boolean( p_init_msg_list )
5884       THEN
5885           FND_MSG_PUB.initialize;
5886       END IF;
5887 
5888 
5889       -- Initialize API return status to SUCCESS
5890       x_return_status := FND_API.G_RET_STS_SUCCESS;
5891 
5892       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5893       THEN
5894           -- Hint: Validate data
5895           -- IF p_DEMAND_SOURCE_LINE is not NULL and p_DEMAND_SOURCE_LINE <> G_MISS_CHAR
5896           -- verify if data is valid
5897           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5898           NULL;
5899       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5900       THEN
5901           -- Hint: Validate data
5902           -- IF p_DEMAND_SOURCE_LINE <> G_MISS_CHAR
5903           -- verify if data is valid
5904           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5905           NULL;
5906       END IF;
5907 
5908       -- Standard call to get message count and if count is 1, get message info.
5909       FND_MSG_PUB.Count_And_Get
5910       (  p_count          =>   x_msg_count,
5911          p_data           =>   x_msg_data
5912       );
5913 
5914 END Validate_DEMAND_SOURCE_LINE;
5915 
5916 
5917 PROCEDURE Validate_DEMAND_SOURCE_DELIVERY (
5918     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5919     P_Validation_mode            IN   VARCHAR2,
5920     P_DEMAND_SOURCE_DELIVERY                IN   VARCHAR2,
5921     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5922     X_Return_Status              OUT NOCOPY  VARCHAR2,
5923     X_Msg_Count                  OUT NOCOPY  NUMBER,
5924     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5925     )
5926 IS
5927 BEGIN
5928 
5929       -- Initialize message list if p_init_msg_list is set to TRUE.
5930       IF FND_API.to_Boolean( p_init_msg_list )
5931       THEN
5932           FND_MSG_PUB.initialize;
5933       END IF;
5934 
5935 
5936       -- Initialize API return status to SUCCESS
5937       x_return_status := FND_API.G_RET_STS_SUCCESS;
5938 
5939       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5940       THEN
5941           -- Hint: Validate data
5942           -- IF p_DEMAND_SOURCE_DELIVERY is not NULL and p_DEMAND_SOURCE_DELIVERY <> G_MISS_CHAR
5943           -- verify if data is valid
5944           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5945           NULL;
5946       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5947       THEN
5948           -- Hint: Validate data
5949           -- IF p_DEMAND_SOURCE_DELIVERY <> G_MISS_CHAR
5950           -- verify if data is valid
5951           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5952           NULL;
5953       END IF;
5954 
5955       -- Standard call to get message count and if count is 1, get message info.
5956       FND_MSG_PUB.Count_And_Get
5957       (  p_count          =>   x_msg_count,
5958          p_data           =>   x_msg_data
5959       );
5960 
5961 END Validate_DEMAND_SOURCE_DELIVERY;
5962 
5963 
5964 PROCEDURE Validate_ITEM_SEGMENTS (
5965     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
5966     P_Validation_mode            IN   VARCHAR2,
5967     P_ITEM_SEGMENTS                IN   VARCHAR2,
5968     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
5969     X_Return_Status              OUT NOCOPY  VARCHAR2,
5970     X_Msg_Count                  OUT NOCOPY  NUMBER,
5971     X_Msg_Data                   OUT NOCOPY  VARCHAR2
5972     )
5973 IS
5974 BEGIN
5975 
5976       -- Initialize message list if p_init_msg_list is set to TRUE.
5977       IF FND_API.to_Boolean( p_init_msg_list )
5978       THEN
5979           FND_MSG_PUB.initialize;
5980       END IF;
5981 
5982 
5983       -- Initialize API return status to SUCCESS
5984       x_return_status := FND_API.G_RET_STS_SUCCESS;
5985 
5986       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
5987       THEN
5988           -- Hint: Validate data
5989           -- IF p_ITEM_SEGMENTS is not NULL and p_ITEM_SEGMENTS <> G_MISS_CHAR
5990           -- verify if data is valid
5991           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5992           NULL;
5993       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
5994       THEN
5995           -- Hint: Validate data
5996           -- IF p_ITEM_SEGMENTS <> G_MISS_CHAR
5997           -- verify if data is valid
5998           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
5999           NULL;
6000       END IF;
6001 
6002       -- Standard call to get message count and if count is 1, get message info.
6003       FND_MSG_PUB.Count_And_Get
6007 
6004       (  p_count          =>   x_msg_count,
6005          p_data           =>   x_msg_data
6006       );
6008 END Validate_ITEM_SEGMENTS;
6009 
6010 
6011 PROCEDURE Validate_ITEM_DESCRIPTION (
6012     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6013     P_Validation_mode            IN   VARCHAR2,
6014     P_ITEM_DESCRIPTION                IN   VARCHAR2,
6015     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6016     X_Return_Status              OUT NOCOPY  VARCHAR2,
6017     X_Msg_Count                  OUT NOCOPY  NUMBER,
6018     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6019     )
6020 IS
6021 BEGIN
6022 
6023       -- Initialize message list if p_init_msg_list is set to TRUE.
6024       IF FND_API.to_Boolean( p_init_msg_list )
6025       THEN
6026           FND_MSG_PUB.initialize;
6027       END IF;
6028 
6029 
6030       -- Initialize API return status to SUCCESS
6031       x_return_status := FND_API.G_RET_STS_SUCCESS;
6032 
6033       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6034       THEN
6035           -- Hint: Validate data
6036           -- IF p_ITEM_DESCRIPTION is not NULL and p_ITEM_DESCRIPTION <> G_MISS_CHAR
6037           -- verify if data is valid
6038           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6039           NULL;
6040       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6041       THEN
6042           -- Hint: Validate data
6043           -- IF p_ITEM_DESCRIPTION <> G_MISS_CHAR
6044           -- verify if data is valid
6045           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6046           NULL;
6047       END IF;
6048 
6049       -- Standard call to get message count and if count is 1, get message info.
6050       FND_MSG_PUB.Count_And_Get
6051       (  p_count          =>   x_msg_count,
6052          p_data           =>   x_msg_data
6053       );
6054 
6055 END Validate_ITEM_DESCRIPTION;
6056 
6057 
6058 PROCEDURE Validate_ITEM_TRX_ENABLED_FLAG (
6059     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6060     P_Validation_mode            IN   VARCHAR2,
6061     P_ITEM_TRX_ENABLED_FLAG                IN   VARCHAR2,
6062     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6063     X_Return_Status              OUT NOCOPY  VARCHAR2,
6064     X_Msg_Count                  OUT NOCOPY  NUMBER,
6065     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6066     )
6067 IS
6068 BEGIN
6069 
6070       -- Initialize message list if p_init_msg_list is set to TRUE.
6071       IF FND_API.to_Boolean( p_init_msg_list )
6072       THEN
6073           FND_MSG_PUB.initialize;
6074       END IF;
6075 
6076 
6077       -- Initialize API return status to SUCCESS
6078       x_return_status := FND_API.G_RET_STS_SUCCESS;
6079 
6080       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6081       THEN
6082           -- Hint: Validate data
6083           -- IF p_ITEM_TRX_ENABLED_FLAG is not NULL and p_ITEM_TRX_ENABLED_FLAG <> G_MISS_CHAR
6084           -- verify if data is valid
6085           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6086           NULL;
6087       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6088       THEN
6089           -- Hint: Validate data
6090           -- IF p_ITEM_TRX_ENABLED_FLAG <> G_MISS_CHAR
6091           -- verify if data is valid
6092           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6093           NULL;
6094       END IF;
6095 
6096       -- Standard call to get message count and if count is 1, get message info.
6097       FND_MSG_PUB.Count_And_Get
6098       (  p_count          =>   x_msg_count,
6099          p_data           =>   x_msg_data
6100       );
6101 
6102 END Validate_ITEM_TRX_ENABLED_FLAG;
6103 
6104 
6105 PROCEDURE Validate_ITEM_LOCATION_CONTROL_CODE (
6106     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6107     P_Validation_mode            IN   VARCHAR2,
6108     P_ITEM_LOCATION_CONTROL_CODE                IN   NUMBER,
6109     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6110     X_Return_Status              OUT NOCOPY  VARCHAR2,
6111     X_Msg_Count                  OUT NOCOPY  NUMBER,
6112     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6113     )
6114 IS
6115 BEGIN
6116 
6117       -- Initialize message list if p_init_msg_list is set to TRUE.
6118       IF FND_API.to_Boolean( p_init_msg_list )
6119       THEN
6120           FND_MSG_PUB.initialize;
6121       END IF;
6122 
6123 
6124       -- Initialize API return status to SUCCESS
6125       x_return_status := FND_API.G_RET_STS_SUCCESS;
6126 
6127       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6128       THEN
6129           -- Hint: Validate data
6130           -- IF p_ITEM_LOCATION_CONTROL_CODE is not NULL and p_ITEM_LOCATION_CONTROL_CODE <> G_MISS_CHAR
6131           -- verify if data is valid
6132           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6133           NULL;
6134       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6135       THEN
6136           -- Hint: Validate data
6140           NULL;
6137           -- IF p_ITEM_LOCATION_CONTROL_CODE <> G_MISS_CHAR
6138           -- verify if data is valid
6139           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6141       END IF;
6142 
6143       -- Standard call to get message count and if count is 1, get message info.
6144       FND_MSG_PUB.Count_And_Get
6145       (  p_count          =>   x_msg_count,
6146          p_data           =>   x_msg_data
6147       );
6148 
6149 END Validate_ITEM_LOCATION_CONTROL_CODE;
6150 
6151 
6152 PROCEDURE Validate_ITEM_RESTRICT_SUBINV_CODE (
6153     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6154     P_Validation_mode            IN   VARCHAR2,
6155     P_ITEM_RESTRICT_SUBINV_CODE                IN   NUMBER,
6156     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6157     X_Return_Status              OUT NOCOPY  VARCHAR2,
6158     X_Msg_Count                  OUT NOCOPY  NUMBER,
6159     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6160     )
6161 IS
6162 BEGIN
6163 
6164       -- Initialize message list if p_init_msg_list is set to TRUE.
6165       IF FND_API.to_Boolean( p_init_msg_list )
6166       THEN
6167           FND_MSG_PUB.initialize;
6168       END IF;
6169 
6170 
6171       -- Initialize API return status to SUCCESS
6172       x_return_status := FND_API.G_RET_STS_SUCCESS;
6173 
6174       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6175       THEN
6176           -- Hint: Validate data
6177           -- IF p_ITEM_RESTRICT_SUBINV_CODE is not NULL and p_ITEM_RESTRICT_SUBINV_CODE <> G_MISS_CHAR
6178           -- verify if data is valid
6179           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6180           NULL;
6181       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6182       THEN
6183           -- Hint: Validate data
6184           -- IF p_ITEM_RESTRICT_SUBINV_CODE <> G_MISS_CHAR
6185           -- verify if data is valid
6186           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6187           NULL;
6188       END IF;
6189 
6190       -- Standard call to get message count and if count is 1, get message info.
6191       FND_MSG_PUB.Count_And_Get
6192       (  p_count          =>   x_msg_count,
6193          p_data           =>   x_msg_data
6194       );
6195 
6196 END Validate_ITEM_RESTRICT_SUBINV_CODE;
6197 
6198 
6199 PROCEDURE Validate_ITEM_RESTRICT_LOCATORS_CODE (
6200     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6201     P_Validation_mode            IN   VARCHAR2,
6202     P_ITEM_RESTRICT_LOCATORS_CODE                IN   NUMBER,
6203     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6204     X_Return_Status              OUT NOCOPY  VARCHAR2,
6205     X_Msg_Count                  OUT NOCOPY  NUMBER,
6206     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6207     )
6208 IS
6209 BEGIN
6210 
6211       -- Initialize message list if p_init_msg_list is set to TRUE.
6212       IF FND_API.to_Boolean( p_init_msg_list )
6213       THEN
6214           FND_MSG_PUB.initialize;
6215       END IF;
6216 
6217 
6218       -- Initialize API return status to SUCCESS
6219       x_return_status := FND_API.G_RET_STS_SUCCESS;
6220 
6221       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6222       THEN
6223           -- Hint: Validate data
6224           -- IF p_ITEM_RESTRICT_LOCATORS_CODE is not NULL and p_ITEM_RESTRICT_LOCATORS_CODE <> G_MISS_CHAR
6225           -- verify if data is valid
6226           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6227           NULL;
6228       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6229       THEN
6230           -- Hint: Validate data
6231           -- IF p_ITEM_RESTRICT_LOCATORS_CODE <> G_MISS_CHAR
6232           -- verify if data is valid
6233           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6234           NULL;
6235       END IF;
6236 
6237       -- Standard call to get message count and if count is 1, get message info.
6238       FND_MSG_PUB.Count_And_Get
6239       (  p_count          =>   x_msg_count,
6240          p_data           =>   x_msg_data
6241       );
6242 
6243 END Validate_ITEM_RESTRICT_LOCATORS_CODE;
6244 
6245 
6246 PROCEDURE Validate_ITEM_REVISION_QTY_CONTROL_CODE (
6247     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6248     P_Validation_mode            IN   VARCHAR2,
6249     P_ITEM_REVISION_QTY_CONTROL_CODE                IN   NUMBER,
6250     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6251     X_Return_Status              OUT NOCOPY  VARCHAR2,
6252     X_Msg_Count                  OUT NOCOPY  NUMBER,
6253     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6254     )
6255 IS
6256 BEGIN
6257 
6258       -- Initialize message list if p_init_msg_list is set to TRUE.
6259       IF FND_API.to_Boolean( p_init_msg_list )
6260       THEN
6261           FND_MSG_PUB.initialize;
6262       END IF;
6263 
6264 
6265       -- Initialize API return status to SUCCESS
6266       x_return_status := FND_API.G_RET_STS_SUCCESS;
6267 
6271           -- IF p_ITEM_REVISION_QTY_CONTROL_CODE is not NULL and p_ITEM_REVISION_QTY_CONTROL_CODE <> G_MISS_CHAR
6268       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6269       THEN
6270           -- Hint: Validate data
6272           -- verify if data is valid
6273           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6274           NULL;
6275       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6276       THEN
6277           -- Hint: Validate data
6278           -- IF p_ITEM_REVISION_QTY_CONTROL_CODE <> G_MISS_CHAR
6279           -- verify if data is valid
6280           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6281           NULL;
6282       END IF;
6283 
6284       -- Standard call to get message count and if count is 1, get message info.
6285       FND_MSG_PUB.Count_And_Get
6286       (  p_count          =>   x_msg_count,
6287          p_data           =>   x_msg_data
6288       );
6289 
6290 END Validate_ITEM_REVISION_QTY_CONTROL_CODE;
6291 
6292 
6293 PROCEDURE Validate_ITEM_PRIMARY_UOM_CODE (
6294     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6295     P_Validation_mode            IN   VARCHAR2,
6296     P_ITEM_PRIMARY_UOM_CODE                IN   VARCHAR2,
6297     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6298     X_Return_Status              OUT NOCOPY  VARCHAR2,
6299     X_Msg_Count                  OUT NOCOPY  NUMBER,
6300     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6301     )
6302 IS
6303 BEGIN
6304 
6305       -- Initialize message list if p_init_msg_list is set to TRUE.
6306       IF FND_API.to_Boolean( p_init_msg_list )
6307       THEN
6308           FND_MSG_PUB.initialize;
6309       END IF;
6310 
6311 
6312       -- Initialize API return status to SUCCESS
6313       x_return_status := FND_API.G_RET_STS_SUCCESS;
6314 
6315       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6316       THEN
6317           -- Hint: Validate data
6318           -- IF p_ITEM_PRIMARY_UOM_CODE is not NULL and p_ITEM_PRIMARY_UOM_CODE <> G_MISS_CHAR
6319           -- verify if data is valid
6320           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6321           NULL;
6322       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6323       THEN
6324           -- Hint: Validate data
6325           -- IF p_ITEM_PRIMARY_UOM_CODE <> G_MISS_CHAR
6326           -- verify if data is valid
6327           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6328           NULL;
6329       END IF;
6330 
6331       -- Standard call to get message count and if count is 1, get message info.
6332       FND_MSG_PUB.Count_And_Get
6333       (  p_count          =>   x_msg_count,
6334          p_data           =>   x_msg_data
6335       );
6336 
6337 END Validate_ITEM_PRIMARY_UOM_CODE;
6338 
6339 
6340 PROCEDURE Validate_ITEM_UOM_CLASS (
6341     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6342     P_Validation_mode            IN   VARCHAR2,
6343     P_ITEM_UOM_CLASS                IN   VARCHAR2,
6344     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6345     X_Return_Status              OUT NOCOPY  VARCHAR2,
6346     X_Msg_Count                  OUT NOCOPY  NUMBER,
6347     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6348     )
6349 IS
6350 BEGIN
6351 
6352       -- Initialize message list if p_init_msg_list is set to TRUE.
6353       IF FND_API.to_Boolean( p_init_msg_list )
6354       THEN
6355           FND_MSG_PUB.initialize;
6356       END IF;
6357 
6358 
6359       -- Initialize API return status to SUCCESS
6360       x_return_status := FND_API.G_RET_STS_SUCCESS;
6361 
6362       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6363       THEN
6364           -- Hint: Validate data
6365           -- IF p_ITEM_UOM_CLASS is not NULL and p_ITEM_UOM_CLASS <> G_MISS_CHAR
6366           -- verify if data is valid
6367           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6368           NULL;
6369       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6370       THEN
6371           -- Hint: Validate data
6372           -- IF p_ITEM_UOM_CLASS <> G_MISS_CHAR
6373           -- verify if data is valid
6374           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6375           NULL;
6376       END IF;
6377 
6378       -- Standard call to get message count and if count is 1, get message info.
6379       FND_MSG_PUB.Count_And_Get
6380       (  p_count          =>   x_msg_count,
6381          p_data           =>   x_msg_data
6382       );
6383 
6384 END Validate_ITEM_UOM_CLASS;
6385 
6386 
6387 PROCEDURE Validate_ITEM_SHELF_LIFE_CODE (
6388     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6389     P_Validation_mode            IN   VARCHAR2,
6390     P_ITEM_SHELF_LIFE_CODE                IN   NUMBER,
6391     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6392     X_Return_Status              OUT NOCOPY  VARCHAR2,
6393     X_Msg_Count                  OUT NOCOPY  NUMBER,
6394     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6395     )
6396 IS
6400       IF FND_API.to_Boolean( p_init_msg_list )
6397 BEGIN
6398 
6399       -- Initialize message list if p_init_msg_list is set to TRUE.
6401       THEN
6402           FND_MSG_PUB.initialize;
6403       END IF;
6404 
6405 
6406       -- Initialize API return status to SUCCESS
6407       x_return_status := FND_API.G_RET_STS_SUCCESS;
6408 
6409       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6410       THEN
6411           -- Hint: Validate data
6412           -- IF p_ITEM_SHELF_LIFE_CODE is not NULL and p_ITEM_SHELF_LIFE_CODE <> G_MISS_CHAR
6413           -- verify if data is valid
6414           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6415           NULL;
6416       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6417       THEN
6418           -- Hint: Validate data
6419           -- IF p_ITEM_SHELF_LIFE_CODE <> G_MISS_CHAR
6420           -- verify if data is valid
6421           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6422           NULL;
6423       END IF;
6424 
6425       -- Standard call to get message count and if count is 1, get message info.
6426       FND_MSG_PUB.Count_And_Get
6427       (  p_count          =>   x_msg_count,
6428          p_data           =>   x_msg_data
6429       );
6430 
6431 END Validate_ITEM_SHELF_LIFE_CODE;
6432 
6433 
6434 PROCEDURE Validate_ITEM_SHELF_LIFE_DAYS (
6435     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6436     P_Validation_mode            IN   VARCHAR2,
6437     P_ITEM_SHELF_LIFE_DAYS                IN   NUMBER,
6438     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6439     X_Return_Status              OUT NOCOPY  VARCHAR2,
6440     X_Msg_Count                  OUT NOCOPY  NUMBER,
6441     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6442     )
6443 IS
6444 BEGIN
6445 
6446       -- Initialize message list if p_init_msg_list is set to TRUE.
6447       IF FND_API.to_Boolean( p_init_msg_list )
6448       THEN
6449           FND_MSG_PUB.initialize;
6450       END IF;
6451 
6452 
6453       -- Initialize API return status to SUCCESS
6454       x_return_status := FND_API.G_RET_STS_SUCCESS;
6455 
6456       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6457       THEN
6458           -- Hint: Validate data
6459           -- IF p_ITEM_SHELF_LIFE_DAYS is not NULL and p_ITEM_SHELF_LIFE_DAYS <> G_MISS_CHAR
6460           -- verify if data is valid
6461           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6462           NULL;
6463       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6464       THEN
6465           -- Hint: Validate data
6466           -- IF p_ITEM_SHELF_LIFE_DAYS <> G_MISS_CHAR
6467           -- verify if data is valid
6468           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6469           NULL;
6470       END IF;
6471 
6472       -- Standard call to get message count and if count is 1, get message info.
6473       FND_MSG_PUB.Count_And_Get
6474       (  p_count          =>   x_msg_count,
6475          p_data           =>   x_msg_data
6476       );
6477 
6478 END Validate_ITEM_SHELF_LIFE_DAYS;
6479 
6480 
6481 PROCEDURE Validate_ITEM_LOT_CONTROL_CODE (
6482     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6483     P_Validation_mode            IN   VARCHAR2,
6484     P_ITEM_LOT_CONTROL_CODE                IN   NUMBER,
6485     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6486     X_Return_Status              OUT NOCOPY  VARCHAR2,
6487     X_Msg_Count                  OUT NOCOPY  NUMBER,
6488     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6489     )
6490 IS
6491 BEGIN
6492 
6493       -- Initialize message list if p_init_msg_list is set to TRUE.
6494       IF FND_API.to_Boolean( p_init_msg_list )
6495       THEN
6496           FND_MSG_PUB.initialize;
6497       END IF;
6498 
6499 
6500       -- Initialize API return status to SUCCESS
6501       x_return_status := FND_API.G_RET_STS_SUCCESS;
6502 
6503       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6504       THEN
6505           -- Hint: Validate data
6506           -- IF p_ITEM_LOT_CONTROL_CODE is not NULL and p_ITEM_LOT_CONTROL_CODE <> G_MISS_CHAR
6507           -- verify if data is valid
6508           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6509           NULL;
6510       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6511       THEN
6512           -- Hint: Validate data
6513           -- IF p_ITEM_LOT_CONTROL_CODE <> G_MISS_CHAR
6514           -- verify if data is valid
6515           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6516           NULL;
6517       END IF;
6518 
6519       -- Standard call to get message count and if count is 1, get message info.
6520       FND_MSG_PUB.Count_And_Get
6521       (  p_count          =>   x_msg_count,
6522          p_data           =>   x_msg_data
6523       );
6524 
6525 END Validate_ITEM_LOT_CONTROL_CODE;
6526 
6527 
6528 PROCEDURE Validate_ITEM_SERIAL_CONTROL_CODE (
6529     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6530     P_Validation_mode            IN   VARCHAR2,
6534     X_Msg_Count                  OUT NOCOPY  NUMBER,
6531     P_ITEM_SERIAL_CONTROL_CODE                IN   NUMBER,
6532     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6533     X_Return_Status              OUT NOCOPY  VARCHAR2,
6535     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6536     )
6537 IS
6538 BEGIN
6539 
6540       -- Initialize message list if p_init_msg_list is set to TRUE.
6541       IF FND_API.to_Boolean( p_init_msg_list )
6542       THEN
6543           FND_MSG_PUB.initialize;
6544       END IF;
6545 
6546 
6547       -- Initialize API return status to SUCCESS
6548       x_return_status := FND_API.G_RET_STS_SUCCESS;
6549 
6550       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6551       THEN
6552           -- Hint: Validate data
6553           -- IF p_ITEM_SERIAL_CONTROL_CODE is not NULL and p_ITEM_SERIAL_CONTROL_CODE <> G_MISS_CHAR
6554           -- verify if data is valid
6555           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6556           NULL;
6557       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6558       THEN
6559           -- Hint: Validate data
6560           -- IF p_ITEM_SERIAL_CONTROL_CODE <> G_MISS_CHAR
6561           -- verify if data is valid
6562           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6563           NULL;
6564       END IF;
6565 
6566       -- Standard call to get message count and if count is 1, get message info.
6567       FND_MSG_PUB.Count_And_Get
6568       (  p_count          =>   x_msg_count,
6569          p_data           =>   x_msg_data
6570       );
6571 
6572 END Validate_ITEM_SERIAL_CONTROL_CODE;
6573 
6574 
6575 PROCEDURE Validate_ITEM_INVENTORY_ASSET_FLAG (
6576     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6577     P_Validation_mode            IN   VARCHAR2,
6578     P_ITEM_INVENTORY_ASSET_FLAG                IN   VARCHAR2,
6579     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6580     X_Return_Status              OUT NOCOPY  VARCHAR2,
6581     X_Msg_Count                  OUT NOCOPY  NUMBER,
6582     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6583     )
6584 IS
6585 BEGIN
6586 
6587       -- Initialize message list if p_init_msg_list is set to TRUE.
6588       IF FND_API.to_Boolean( p_init_msg_list )
6589       THEN
6590           FND_MSG_PUB.initialize;
6591       END IF;
6592 
6593 
6594       -- Initialize API return status to SUCCESS
6595       x_return_status := FND_API.G_RET_STS_SUCCESS;
6596 
6597       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6598       THEN
6599           -- Hint: Validate data
6600           -- IF p_ITEM_INVENTORY_ASSET_FLAG is not NULL and p_ITEM_INVENTORY_ASSET_FLAG <> G_MISS_CHAR
6601           -- verify if data is valid
6602           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6603           NULL;
6604       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6605       THEN
6606           -- Hint: Validate data
6607           -- IF p_ITEM_INVENTORY_ASSET_FLAG <> G_MISS_CHAR
6608           -- verify if data is valid
6609           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6610           NULL;
6611       END IF;
6612 
6613       -- Standard call to get message count and if count is 1, get message info.
6614       FND_MSG_PUB.Count_And_Get
6615       (  p_count          =>   x_msg_count,
6616          p_data           =>   x_msg_data
6617       );
6618 
6619 END Validate_ITEM_INVENTORY_ASSET_FLAG;
6620 
6621 
6622 PROCEDURE Validate_ALLOWED_UNITS_LOOKUP_CODE (
6623     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6624     P_Validation_mode            IN   VARCHAR2,
6625     P_ALLOWED_UNITS_LOOKUP_CODE                IN   NUMBER,
6626     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6627     X_Return_Status              OUT NOCOPY  VARCHAR2,
6628     X_Msg_Count                  OUT NOCOPY  NUMBER,
6629     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6630     )
6631 IS
6632 BEGIN
6633 
6634       -- Initialize message list if p_init_msg_list is set to TRUE.
6635       IF FND_API.to_Boolean( p_init_msg_list )
6636       THEN
6637           FND_MSG_PUB.initialize;
6638       END IF;
6639 
6640 
6641       -- Initialize API return status to SUCCESS
6642       x_return_status := FND_API.G_RET_STS_SUCCESS;
6643 
6644       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6645       THEN
6646           -- Hint: Validate data
6647           -- IF p_ALLOWED_UNITS_LOOKUP_CODE is not NULL and p_ALLOWED_UNITS_LOOKUP_CODE <> G_MISS_CHAR
6648           -- verify if data is valid
6649           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6650           NULL;
6651       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6652       THEN
6653           -- Hint: Validate data
6654           -- IF p_ALLOWED_UNITS_LOOKUP_CODE <> G_MISS_CHAR
6655           -- verify if data is valid
6656           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6657           NULL;
6658       END IF;
6659 
6663          p_data           =>   x_msg_data
6660       -- Standard call to get message count and if count is 1, get message info.
6661       FND_MSG_PUB.Count_And_Get
6662       (  p_count          =>   x_msg_count,
6664       );
6665 
6666 END Validate_ALLOWED_UNITS_LOOKUP_CODE;
6667 
6668 
6669 PROCEDURE Validate_DEPARTMENT_ID (
6670     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6671     P_Validation_mode            IN   VARCHAR2,
6672     P_DEPARTMENT_ID                IN   NUMBER,
6673     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6674     X_Return_Status              OUT NOCOPY  VARCHAR2,
6675     X_Msg_Count                  OUT NOCOPY  NUMBER,
6676     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6677     )
6678 IS
6679 BEGIN
6680 
6681       -- Initialize message list if p_init_msg_list is set to TRUE.
6682       IF FND_API.to_Boolean( p_init_msg_list )
6683       THEN
6684           FND_MSG_PUB.initialize;
6685       END IF;
6686 
6687 
6688       -- Initialize API return status to SUCCESS
6689       x_return_status := FND_API.G_RET_STS_SUCCESS;
6690 
6691       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6692       THEN
6693           -- Hint: Validate data
6694           -- IF p_DEPARTMENT_ID is not NULL and p_DEPARTMENT_ID <> G_MISS_CHAR
6695           -- verify if data is valid
6696           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6697           NULL;
6698       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6699       THEN
6700           -- Hint: Validate data
6701           -- IF p_DEPARTMENT_ID <> G_MISS_CHAR
6702           -- verify if data is valid
6703           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6704           NULL;
6705       END IF;
6706 
6707       -- Standard call to get message count and if count is 1, get message info.
6708       FND_MSG_PUB.Count_And_Get
6709       (  p_count          =>   x_msg_count,
6710          p_data           =>   x_msg_data
6711       );
6712 
6713 END Validate_DEPARTMENT_ID;
6714 
6715 
6716 PROCEDURE Validate_DEPARTMENT_CODE (
6717     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6718     P_Validation_mode            IN   VARCHAR2,
6719     P_DEPARTMENT_CODE                IN   VARCHAR2,
6720     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6721     X_Return_Status              OUT NOCOPY  VARCHAR2,
6722     X_Msg_Count                  OUT NOCOPY  NUMBER,
6723     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6724     )
6725 IS
6726 BEGIN
6727 
6728       -- Initialize message list if p_init_msg_list is set to TRUE.
6729       IF FND_API.to_Boolean( p_init_msg_list )
6730       THEN
6731           FND_MSG_PUB.initialize;
6732       END IF;
6733 
6734 
6735       -- Initialize API return status to SUCCESS
6736       x_return_status := FND_API.G_RET_STS_SUCCESS;
6737 
6738       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6739       THEN
6740           -- Hint: Validate data
6741           -- IF p_DEPARTMENT_CODE is not NULL and p_DEPARTMENT_CODE <> G_MISS_CHAR
6742           -- verify if data is valid
6743           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6744           NULL;
6745       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6746       THEN
6747           -- Hint: Validate data
6748           -- IF p_DEPARTMENT_CODE <> G_MISS_CHAR
6749           -- verify if data is valid
6750           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6751           NULL;
6752       END IF;
6753 
6754       -- Standard call to get message count and if count is 1, get message info.
6755       FND_MSG_PUB.Count_And_Get
6756       (  p_count          =>   x_msg_count,
6757          p_data           =>   x_msg_data
6758       );
6759 
6760 END Validate_DEPARTMENT_CODE;
6761 
6762 
6763 PROCEDURE Validate_WIP_SUPPLY_TYPE (
6764     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6765     P_Validation_mode            IN   VARCHAR2,
6766     P_WIP_SUPPLY_TYPE                IN   NUMBER,
6767     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6768     X_Return_Status              OUT NOCOPY  VARCHAR2,
6769     X_Msg_Count                  OUT NOCOPY  NUMBER,
6770     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6771     )
6772 IS
6773 BEGIN
6774 
6775       -- Initialize message list if p_init_msg_list is set to TRUE.
6776       IF FND_API.to_Boolean( p_init_msg_list )
6777       THEN
6778           FND_MSG_PUB.initialize;
6779       END IF;
6780 
6781 
6782       -- Initialize API return status to SUCCESS
6783       x_return_status := FND_API.G_RET_STS_SUCCESS;
6784 
6785       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6786       THEN
6787           -- Hint: Validate data
6788           -- IF p_WIP_SUPPLY_TYPE is not NULL and p_WIP_SUPPLY_TYPE <> G_MISS_CHAR
6789           -- verify if data is valid
6790           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6791           NULL;
6792       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6793       THEN
6797           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6794           -- Hint: Validate data
6795           -- IF p_WIP_SUPPLY_TYPE <> G_MISS_CHAR
6796           -- verify if data is valid
6798           NULL;
6799       END IF;
6800 
6801       -- Standard call to get message count and if count is 1, get message info.
6802       FND_MSG_PUB.Count_And_Get
6803       (  p_count          =>   x_msg_count,
6804          p_data           =>   x_msg_data
6805       );
6806 
6807 END Validate_WIP_SUPPLY_TYPE;
6808 
6809 
6810 PROCEDURE Validate_SUPPLY_SUBINVENTORY (
6811     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6812     P_Validation_mode            IN   VARCHAR2,
6813     P_SUPPLY_SUBINVENTORY                IN   VARCHAR2,
6814     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6815     X_Return_Status              OUT NOCOPY  VARCHAR2,
6816     X_Msg_Count                  OUT NOCOPY  NUMBER,
6817     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6818     )
6819 IS
6820 BEGIN
6821 
6822       -- Initialize message list if p_init_msg_list is set to TRUE.
6823       IF FND_API.to_Boolean( p_init_msg_list )
6824       THEN
6825           FND_MSG_PUB.initialize;
6826       END IF;
6827 
6828 
6829       -- Initialize API return status to SUCCESS
6830       x_return_status := FND_API.G_RET_STS_SUCCESS;
6831 
6832       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6833       THEN
6834           -- Hint: Validate data
6835           -- IF p_SUPPLY_SUBINVENTORY is not NULL and p_SUPPLY_SUBINVENTORY <> G_MISS_CHAR
6836           -- verify if data is valid
6837           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6838           NULL;
6839       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6840       THEN
6841           -- Hint: Validate data
6842           -- IF p_SUPPLY_SUBINVENTORY <> G_MISS_CHAR
6843           -- verify if data is valid
6844           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6845           NULL;
6846       END IF;
6847 
6848       -- Standard call to get message count and if count is 1, get message info.
6849       FND_MSG_PUB.Count_And_Get
6850       (  p_count          =>   x_msg_count,
6851          p_data           =>   x_msg_data
6852       );
6853 
6854 END Validate_SUPPLY_SUBINVENTORY;
6855 
6856 
6857 PROCEDURE Validate_SUPPLY_LOCATOR_ID (
6858     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6859     P_Validation_mode            IN   VARCHAR2,
6860     P_SUPPLY_LOCATOR_ID                IN   NUMBER,
6861     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6862     X_Return_Status              OUT NOCOPY  VARCHAR2,
6863     X_Msg_Count                  OUT NOCOPY  NUMBER,
6864     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6865     )
6866 IS
6867 BEGIN
6868 
6869       -- Initialize message list if p_init_msg_list is set to TRUE.
6870       IF FND_API.to_Boolean( p_init_msg_list )
6871       THEN
6872           FND_MSG_PUB.initialize;
6873       END IF;
6874 
6875 
6876       -- Initialize API return status to SUCCESS
6877       x_return_status := FND_API.G_RET_STS_SUCCESS;
6878 
6879       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6880       THEN
6881           -- Hint: Validate data
6882           -- IF p_SUPPLY_LOCATOR_ID is not NULL and p_SUPPLY_LOCATOR_ID <> G_MISS_CHAR
6883           -- verify if data is valid
6884           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6885           NULL;
6886       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6887       THEN
6888           -- Hint: Validate data
6889           -- IF p_SUPPLY_LOCATOR_ID <> G_MISS_CHAR
6890           -- verify if data is valid
6891           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6892           NULL;
6893       END IF;
6894 
6895       -- Standard call to get message count and if count is 1, get message info.
6896       FND_MSG_PUB.Count_And_Get
6897       (  p_count          =>   x_msg_count,
6898          p_data           =>   x_msg_data
6899       );
6900 
6901 END Validate_SUPPLY_LOCATOR_ID;
6902 
6903 
6904 PROCEDURE Validate_VALID_SUBINVENTORY_FLAG (
6905     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6906     P_Validation_mode            IN   VARCHAR2,
6907     P_VALID_SUBINVENTORY_FLAG                IN   VARCHAR2,
6908     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6909     X_Return_Status              OUT NOCOPY  VARCHAR2,
6910     X_Msg_Count                  OUT NOCOPY  NUMBER,
6911     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6912     )
6913 IS
6914 BEGIN
6915 
6916       -- Initialize message list if p_init_msg_list is set to TRUE.
6917       IF FND_API.to_Boolean( p_init_msg_list )
6918       THEN
6919           FND_MSG_PUB.initialize;
6920       END IF;
6921 
6922 
6923       -- Initialize API return status to SUCCESS
6924       x_return_status := FND_API.G_RET_STS_SUCCESS;
6925 
6926       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6927       THEN
6931           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6928           -- Hint: Validate data
6929           -- IF p_VALID_SUBINVENTORY_FLAG is not NULL and p_VALID_SUBINVENTORY_FLAG <> G_MISS_CHAR
6930           -- verify if data is valid
6932           NULL;
6933       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6934       THEN
6935           -- Hint: Validate data
6936           -- IF p_VALID_SUBINVENTORY_FLAG <> G_MISS_CHAR
6937           -- verify if data is valid
6938           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6939           NULL;
6940       END IF;
6941 
6942       -- Standard call to get message count and if count is 1, get message info.
6943       FND_MSG_PUB.Count_And_Get
6944       (  p_count          =>   x_msg_count,
6945          p_data           =>   x_msg_data
6946       );
6947 
6948 END Validate_VALID_SUBINVENTORY_FLAG;
6949 
6950 
6951 PROCEDURE Validate_VALID_LOCATOR_FLAG (
6952     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
6953     P_Validation_mode            IN   VARCHAR2,
6954     P_VALID_LOCATOR_FLAG                IN   VARCHAR2,
6955     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
6956     X_Return_Status              OUT NOCOPY  VARCHAR2,
6957     X_Msg_Count                  OUT NOCOPY  NUMBER,
6958     X_Msg_Data                   OUT NOCOPY  VARCHAR2
6959     )
6960 IS
6961 BEGIN
6962 
6963       -- Initialize message list if p_init_msg_list is set to TRUE.
6964       IF FND_API.to_Boolean( p_init_msg_list )
6965       THEN
6966           FND_MSG_PUB.initialize;
6967       END IF;
6968 
6969 
6970       -- Initialize API return status to SUCCESS
6971       x_return_status := FND_API.G_RET_STS_SUCCESS;
6972 
6973       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
6974       THEN
6975           -- Hint: Validate data
6976           -- IF p_VALID_LOCATOR_FLAG is not NULL and p_VALID_LOCATOR_FLAG <> G_MISS_CHAR
6977           -- verify if data is valid
6978           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6979           NULL;
6980       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
6981       THEN
6982           -- Hint: Validate data
6983           -- IF p_VALID_LOCATOR_FLAG <> G_MISS_CHAR
6984           -- verify if data is valid
6985           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
6986           NULL;
6987       END IF;
6988 
6989       -- Standard call to get message count and if count is 1, get message info.
6990       FND_MSG_PUB.Count_And_Get
6991       (  p_count          =>   x_msg_count,
6992          p_data           =>   x_msg_data
6993       );
6994 
6995 END Validate_VALID_LOCATOR_FLAG;
6996 
6997 
6998 PROCEDURE Validate_LOCATOR_SEGMENTS (
6999     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7000     P_Validation_mode            IN   VARCHAR2,
7001     P_LOCATOR_SEGMENTS                IN   VARCHAR2,
7002     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7003     X_Return_Status              OUT NOCOPY  VARCHAR2,
7004     X_Msg_Count                  OUT NOCOPY  NUMBER,
7005     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7006     )
7007 IS
7008 BEGIN
7009 
7010       -- Initialize message list if p_init_msg_list is set to TRUE.
7011       IF FND_API.to_Boolean( p_init_msg_list )
7012       THEN
7013           FND_MSG_PUB.initialize;
7014       END IF;
7015 
7016 
7017       -- Initialize API return status to SUCCESS
7018       x_return_status := FND_API.G_RET_STS_SUCCESS;
7019 
7020       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7021       THEN
7022           -- Hint: Validate data
7023           -- IF p_LOCATOR_SEGMENTS is not NULL and p_LOCATOR_SEGMENTS <> G_MISS_CHAR
7024           -- verify if data is valid
7025           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7026           NULL;
7027       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7028       THEN
7029           -- Hint: Validate data
7030           -- IF p_LOCATOR_SEGMENTS <> G_MISS_CHAR
7031           -- verify if data is valid
7032           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7033           NULL;
7034       END IF;
7035 
7036       -- Standard call to get message count and if count is 1, get message info.
7037       FND_MSG_PUB.Count_And_Get
7038       (  p_count          =>   x_msg_count,
7039          p_data           =>   x_msg_data
7040       );
7041 
7042 END Validate_LOCATOR_SEGMENTS;
7043 
7044 
7045 PROCEDURE Validate_CURRENT_LOCATOR_CONTROL_CODE (
7046     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7047     P_Validation_mode            IN   VARCHAR2,
7048     P_CURRENT_LOCATOR_CONTROL_CODE                IN   NUMBER,
7049     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7050     X_Return_Status              OUT NOCOPY  VARCHAR2,
7051     X_Msg_Count                  OUT NOCOPY  NUMBER,
7052     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7053     )
7054 IS
7055 BEGIN
7056 
7057       -- Initialize message list if p_init_msg_list is set to TRUE.
7061       END IF;
7058       IF FND_API.to_Boolean( p_init_msg_list )
7059       THEN
7060           FND_MSG_PUB.initialize;
7062 
7063 
7064       -- Initialize API return status to SUCCESS
7065       x_return_status := FND_API.G_RET_STS_SUCCESS;
7066 
7067       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7068       THEN
7069           -- Hint: Validate data
7070           -- IF p_CURRENT_LOCATOR_CONTROL_CODE is not NULL and p_CURRENT_LOCATOR_CONTROL_CODE <> G_MISS_CHAR
7071           -- verify if data is valid
7072           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7073           NULL;
7074       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7075       THEN
7076           -- Hint: Validate data
7077           -- IF p_CURRENT_LOCATOR_CONTROL_CODE <> G_MISS_CHAR
7078           -- verify if data is valid
7079           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7080           NULL;
7081       END IF;
7082 
7083       -- Standard call to get message count and if count is 1, get message info.
7084       FND_MSG_PUB.Count_And_Get
7085       (  p_count          =>   x_msg_count,
7086          p_data           =>   x_msg_data
7087       );
7088 
7089 END Validate_CURRENT_LOCATOR_CONTROL_CODE;
7090 
7091 
7092 PROCEDURE Validate_NUMBER_OF_LOTS_ENTERED (
7093     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7094     P_Validation_mode            IN   VARCHAR2,
7095     P_NUMBER_OF_LOTS_ENTERED                IN   NUMBER,
7096     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7097     X_Return_Status              OUT NOCOPY  VARCHAR2,
7098     X_Msg_Count                  OUT NOCOPY  NUMBER,
7099     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7100     )
7101 IS
7102 BEGIN
7103 
7104       -- Initialize message list if p_init_msg_list is set to TRUE.
7105       IF FND_API.to_Boolean( p_init_msg_list )
7106       THEN
7107           FND_MSG_PUB.initialize;
7108       END IF;
7109 
7110 
7111       -- Initialize API return status to SUCCESS
7112       x_return_status := FND_API.G_RET_STS_SUCCESS;
7113 
7114       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7115       THEN
7116           -- Hint: Validate data
7117           -- IF p_NUMBER_OF_LOTS_ENTERED is not NULL and p_NUMBER_OF_LOTS_ENTERED <> G_MISS_CHAR
7118           -- verify if data is valid
7119           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7120           NULL;
7121       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7122       THEN
7123           -- Hint: Validate data
7124           -- IF p_NUMBER_OF_LOTS_ENTERED <> G_MISS_CHAR
7125           -- verify if data is valid
7126           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7127           NULL;
7128       END IF;
7129 
7130       -- Standard call to get message count and if count is 1, get message info.
7131       FND_MSG_PUB.Count_And_Get
7132       (  p_count          =>   x_msg_count,
7133          p_data           =>   x_msg_data
7134       );
7135 
7136 END Validate_NUMBER_OF_LOTS_ENTERED;
7137 
7138 
7139 PROCEDURE Validate_WIP_COMMIT_FLAG (
7140     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7141     P_Validation_mode            IN   VARCHAR2,
7142     P_WIP_COMMIT_FLAG                IN   VARCHAR2,
7143     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7144     X_Return_Status              OUT NOCOPY  VARCHAR2,
7145     X_Msg_Count                  OUT NOCOPY  NUMBER,
7146     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7147     )
7148 IS
7149 BEGIN
7150 
7151       -- Initialize message list if p_init_msg_list is set to TRUE.
7152       IF FND_API.to_Boolean( p_init_msg_list )
7153       THEN
7154           FND_MSG_PUB.initialize;
7155       END IF;
7156 
7157 
7158       -- Initialize API return status to SUCCESS
7159       x_return_status := FND_API.G_RET_STS_SUCCESS;
7160 
7161       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7162       THEN
7163           -- Hint: Validate data
7164           -- IF p_WIP_COMMIT_FLAG is not NULL and p_WIP_COMMIT_FLAG <> G_MISS_CHAR
7165           -- verify if data is valid
7166           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7167           NULL;
7168       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7169       THEN
7170           -- Hint: Validate data
7171           -- IF p_WIP_COMMIT_FLAG <> G_MISS_CHAR
7172           -- verify if data is valid
7173           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7174           NULL;
7175       END IF;
7176 
7177       -- Standard call to get message count and if count is 1, get message info.
7178       FND_MSG_PUB.Count_And_Get
7179       (  p_count          =>   x_msg_count,
7180          p_data           =>   x_msg_data
7181       );
7182 
7183 END Validate_WIP_COMMIT_FLAG;
7184 
7185 
7186 PROCEDURE Validate_NEXT_LOT_NUMBER (
7187     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7188     P_Validation_mode            IN   VARCHAR2,
7189     P_NEXT_LOT_NUMBER                IN   VARCHAR2,
7193     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7190     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7191     X_Return_Status              OUT NOCOPY  VARCHAR2,
7192     X_Msg_Count                  OUT NOCOPY  NUMBER,
7194     )
7195 IS
7196 BEGIN
7197 
7198       -- Initialize message list if p_init_msg_list is set to TRUE.
7199       IF FND_API.to_Boolean( p_init_msg_list )
7200       THEN
7201           FND_MSG_PUB.initialize;
7202       END IF;
7203 
7204 
7205       -- Initialize API return status to SUCCESS
7206       x_return_status := FND_API.G_RET_STS_SUCCESS;
7207 
7208       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7209       THEN
7210           -- Hint: Validate data
7211           -- IF p_NEXT_LOT_NUMBER is not NULL and p_NEXT_LOT_NUMBER <> G_MISS_CHAR
7212           -- verify if data is valid
7213           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7214           NULL;
7215       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7216       THEN
7217           -- Hint: Validate data
7218           -- IF p_NEXT_LOT_NUMBER <> G_MISS_CHAR
7219           -- verify if data is valid
7220           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7221           NULL;
7222       END IF;
7223 
7224       -- Standard call to get message count and if count is 1, get message info.
7225       FND_MSG_PUB.Count_And_Get
7226       (  p_count          =>   x_msg_count,
7227          p_data           =>   x_msg_data
7228       );
7229 
7230 END Validate_NEXT_LOT_NUMBER;
7231 
7232 
7233 PROCEDURE Validate_LOT_ALPHA_PREFIX (
7234     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7235     P_Validation_mode            IN   VARCHAR2,
7236     P_LOT_ALPHA_PREFIX                IN   VARCHAR2,
7237     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7238     X_Return_Status              OUT NOCOPY  VARCHAR2,
7239     X_Msg_Count                  OUT NOCOPY  NUMBER,
7240     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7241     )
7242 IS
7243 BEGIN
7244 
7245       -- Initialize message list if p_init_msg_list is set to TRUE.
7246       IF FND_API.to_Boolean( p_init_msg_list )
7247       THEN
7248           FND_MSG_PUB.initialize;
7249       END IF;
7250 
7251 
7252       -- Initialize API return status to SUCCESS
7253       x_return_status := FND_API.G_RET_STS_SUCCESS;
7254 
7255       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7256       THEN
7257           -- Hint: Validate data
7258           -- IF p_LOT_ALPHA_PREFIX is not NULL and p_LOT_ALPHA_PREFIX <> G_MISS_CHAR
7259           -- verify if data is valid
7260           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7261           NULL;
7262       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7263       THEN
7264           -- Hint: Validate data
7265           -- IF p_LOT_ALPHA_PREFIX <> G_MISS_CHAR
7266           -- verify if data is valid
7267           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7268           NULL;
7269       END IF;
7270 
7271       -- Standard call to get message count and if count is 1, get message info.
7272       FND_MSG_PUB.Count_And_Get
7273       (  p_count          =>   x_msg_count,
7274          p_data           =>   x_msg_data
7275       );
7276 
7277 END Validate_LOT_ALPHA_PREFIX;
7278 
7279 
7280 PROCEDURE Validate_NEXT_SERIAL_NUMBER (
7281     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7282     P_Validation_mode            IN   VARCHAR2,
7283     P_NEXT_SERIAL_NUMBER                IN   VARCHAR2,
7284     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7285     X_Return_Status              OUT NOCOPY  VARCHAR2,
7286     X_Msg_Count                  OUT NOCOPY  NUMBER,
7287     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7288     )
7289 IS
7290 BEGIN
7291 
7292       -- Initialize message list if p_init_msg_list is set to TRUE.
7293       IF FND_API.to_Boolean( p_init_msg_list )
7294       THEN
7295           FND_MSG_PUB.initialize;
7296       END IF;
7297 
7298 
7299       -- Initialize API return status to SUCCESS
7300       x_return_status := FND_API.G_RET_STS_SUCCESS;
7301 
7302       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7303       THEN
7304           -- Hint: Validate data
7305           -- IF p_NEXT_SERIAL_NUMBER is not NULL and p_NEXT_SERIAL_NUMBER <> G_MISS_CHAR
7306           -- verify if data is valid
7307           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7308           NULL;
7309       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7310       THEN
7311           -- Hint: Validate data
7312           -- IF p_NEXT_SERIAL_NUMBER <> G_MISS_CHAR
7313           -- verify if data is valid
7314           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7315           NULL;
7316       END IF;
7317 
7318       -- Standard call to get message count and if count is 1, get message info.
7319       FND_MSG_PUB.Count_And_Get
7320       (  p_count          =>   x_msg_count,
7321          p_data           =>   x_msg_data
7322       );
7326 
7323 
7324 END Validate_NEXT_SERIAL_NUMBER;
7325 
7327 PROCEDURE Validate_SERIAL_ALPHA_PREFIX (
7328     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7329     P_Validation_mode            IN   VARCHAR2,
7330     P_SERIAL_ALPHA_PREFIX                IN   VARCHAR2,
7331     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7332     X_Return_Status              OUT NOCOPY  VARCHAR2,
7333     X_Msg_Count                  OUT NOCOPY  NUMBER,
7334     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7335     )
7336 IS
7337 BEGIN
7338 
7339       -- Initialize message list if p_init_msg_list is set to TRUE.
7340       IF FND_API.to_Boolean( p_init_msg_list )
7341       THEN
7342           FND_MSG_PUB.initialize;
7343       END IF;
7344 
7345 
7346       -- Initialize API return status to SUCCESS
7347       x_return_status := FND_API.G_RET_STS_SUCCESS;
7348 
7349       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7350       THEN
7351           -- Hint: Validate data
7352           -- IF p_SERIAL_ALPHA_PREFIX is not NULL and p_SERIAL_ALPHA_PREFIX <> G_MISS_CHAR
7353           -- verify if data is valid
7354           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7355           NULL;
7356       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7357       THEN
7358           -- Hint: Validate data
7359           -- IF p_SERIAL_ALPHA_PREFIX <> G_MISS_CHAR
7360           -- verify if data is valid
7361           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7362           NULL;
7363       END IF;
7364 
7365       -- Standard call to get message count and if count is 1, get message info.
7366       FND_MSG_PUB.Count_And_Get
7367       (  p_count          =>   x_msg_count,
7368          p_data           =>   x_msg_data
7369       );
7370 
7371 END Validate_SERIAL_ALPHA_PREFIX;
7372 
7373 
7374 PROCEDURE Validate_SHIPPABLE_FLAG (
7375     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7376     P_Validation_mode            IN   VARCHAR2,
7377     P_SHIPPABLE_FLAG                IN   VARCHAR2,
7378     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7379     X_Return_Status              OUT NOCOPY  VARCHAR2,
7380     X_Msg_Count                  OUT NOCOPY  NUMBER,
7381     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7382     )
7383 IS
7384 BEGIN
7385 
7386       -- Initialize message list if p_init_msg_list is set to TRUE.
7387       IF FND_API.to_Boolean( p_init_msg_list )
7388       THEN
7389           FND_MSG_PUB.initialize;
7390       END IF;
7391 
7392 
7393       -- Initialize API return status to SUCCESS
7394       x_return_status := FND_API.G_RET_STS_SUCCESS;
7395 
7396       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7397       THEN
7398           -- Hint: Validate data
7399           -- IF p_SHIPPABLE_FLAG is not NULL and p_SHIPPABLE_FLAG <> G_MISS_CHAR
7400           -- verify if data is valid
7401           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7402           NULL;
7403       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7404       THEN
7405           -- Hint: Validate data
7406           -- IF p_SHIPPABLE_FLAG <> G_MISS_CHAR
7407           -- verify if data is valid
7408           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7409           NULL;
7410       END IF;
7411 
7412       -- Standard call to get message count and if count is 1, get message info.
7413       FND_MSG_PUB.Count_And_Get
7414       (  p_count          =>   x_msg_count,
7415          p_data           =>   x_msg_data
7416       );
7417 
7418 END Validate_SHIPPABLE_FLAG;
7419 
7420 
7421 PROCEDURE Validate_POSTING_FLAG (
7422     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7423     P_Validation_mode            IN   VARCHAR2,
7424     P_POSTING_FLAG                IN   VARCHAR2,
7425     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7426     X_Return_Status              OUT NOCOPY  VARCHAR2,
7427     X_Msg_Count                  OUT NOCOPY  NUMBER,
7428     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7429     )
7430 IS
7431 BEGIN
7432 
7433       -- Initialize message list if p_init_msg_list is set to TRUE.
7434       IF FND_API.to_Boolean( p_init_msg_list )
7435       THEN
7436           FND_MSG_PUB.initialize;
7437       END IF;
7438 
7439 
7440       -- Initialize API return status to SUCCESS
7441       x_return_status := FND_API.G_RET_STS_SUCCESS;
7442 
7443       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7444       THEN
7445           -- Hint: Validate data
7446           -- IF p_POSTING_FLAG is not NULL and p_POSTING_FLAG <> G_MISS_CHAR
7447           -- verify if data is valid
7448           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7449           NULL;
7450       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7451       THEN
7452           -- Hint: Validate data
7453           -- IF p_POSTING_FLAG <> G_MISS_CHAR
7454           -- verify if data is valid
7455           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7459       -- Standard call to get message count and if count is 1, get message info.
7456           NULL;
7457       END IF;
7458 
7460       FND_MSG_PUB.Count_And_Get
7461       (  p_count          =>   x_msg_count,
7462          p_data           =>   x_msg_data
7463       );
7464 
7465 END Validate_POSTING_FLAG;
7466 
7467 
7468 PROCEDURE Validate_REQUIRED_FLAG (
7469     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7470     P_Validation_mode            IN   VARCHAR2,
7471     P_REQUIRED_FLAG                IN   VARCHAR2,
7472     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7473     X_Return_Status              OUT NOCOPY  VARCHAR2,
7474     X_Msg_Count                  OUT NOCOPY  NUMBER,
7475     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7476     )
7477 IS
7478 BEGIN
7479 
7480       -- Initialize message list if p_init_msg_list is set to TRUE.
7481       IF FND_API.to_Boolean( p_init_msg_list )
7482       THEN
7483           FND_MSG_PUB.initialize;
7484       END IF;
7485 
7486 
7487       -- Initialize API return status to SUCCESS
7488       x_return_status := FND_API.G_RET_STS_SUCCESS;
7489 
7490       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7491       THEN
7492           -- Hint: Validate data
7493           -- IF p_REQUIRED_FLAG is not NULL and p_REQUIRED_FLAG <> G_MISS_CHAR
7494           -- verify if data is valid
7495           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7496           NULL;
7497       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7498       THEN
7499           -- Hint: Validate data
7500           -- IF p_REQUIRED_FLAG <> G_MISS_CHAR
7501           -- verify if data is valid
7502           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7503           NULL;
7504       END IF;
7505 
7506       -- Standard call to get message count and if count is 1, get message info.
7507       FND_MSG_PUB.Count_And_Get
7508       (  p_count          =>   x_msg_count,
7509          p_data           =>   x_msg_data
7510       );
7511 
7512 END Validate_REQUIRED_FLAG;
7513 
7514 
7515 PROCEDURE Validate_PROCESS_FLAG (
7516     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7517     P_Validation_mode            IN   VARCHAR2,
7518     P_PROCESS_FLAG                IN   VARCHAR2,
7519     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7520     X_Return_Status              OUT NOCOPY  VARCHAR2,
7521     X_Msg_Count                  OUT NOCOPY  NUMBER,
7522     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7523     )
7524 IS
7525 BEGIN
7526 
7527       -- Initialize message list if p_init_msg_list is set to TRUE.
7528       IF FND_API.to_Boolean( p_init_msg_list )
7529       THEN
7530           FND_MSG_PUB.initialize;
7531       END IF;
7532 
7533 
7534       -- Initialize API return status to SUCCESS
7535       x_return_status := FND_API.G_RET_STS_SUCCESS;
7536 
7537       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7538       THEN
7539           -- Hint: Validate data
7540           -- IF p_PROCESS_FLAG is not NULL and p_PROCESS_FLAG <> G_MISS_CHAR
7541           -- verify if data is valid
7542           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7543           NULL;
7544       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7545       THEN
7546           -- Hint: Validate data
7547           -- IF p_PROCESS_FLAG <> G_MISS_CHAR
7548           -- verify if data is valid
7549           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7550           NULL;
7551       END IF;
7552 
7553       -- Standard call to get message count and if count is 1, get message info.
7554       FND_MSG_PUB.Count_And_Get
7555       (  p_count          =>   x_msg_count,
7556          p_data           =>   x_msg_data
7557       );
7558 
7559 END Validate_PROCESS_FLAG;
7560 
7561 
7562 PROCEDURE Validate_ERROR_CODE (
7563     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7564     P_Validation_mode            IN   VARCHAR2,
7565     P_ERROR_CODE                IN   VARCHAR2,
7566     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7567     X_Return_Status              OUT NOCOPY  VARCHAR2,
7568     X_Msg_Count                  OUT NOCOPY  NUMBER,
7569     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7570     )
7571 IS
7572 BEGIN
7573 
7574       -- Initialize message list if p_init_msg_list is set to TRUE.
7575       IF FND_API.to_Boolean( p_init_msg_list )
7576       THEN
7577           FND_MSG_PUB.initialize;
7578       END IF;
7579 
7580 
7581       -- Initialize API return status to SUCCESS
7582       x_return_status := FND_API.G_RET_STS_SUCCESS;
7583 
7584       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7585       THEN
7586           -- Hint: Validate data
7587           -- IF p_ERROR_CODE is not NULL and p_ERROR_CODE <> G_MISS_CHAR
7588           -- verify if data is valid
7589           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7590           NULL;
7591       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7595           -- verify if data is valid
7592       THEN
7593           -- Hint: Validate data
7594           -- IF p_ERROR_CODE <> G_MISS_CHAR
7596           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7597           NULL;
7598       END IF;
7599 
7600       -- Standard call to get message count and if count is 1, get message info.
7601       FND_MSG_PUB.Count_And_Get
7602       (  p_count          =>   x_msg_count,
7603          p_data           =>   x_msg_data
7604       );
7605 
7606 END Validate_ERROR_CODE;
7607 
7608 
7609 PROCEDURE Validate_ERROR_EXPLANATION (
7610     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7611     P_Validation_mode            IN   VARCHAR2,
7612     P_ERROR_EXPLANATION                IN   VARCHAR2,
7613     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7614     X_Return_Status              OUT NOCOPY  VARCHAR2,
7615     X_Msg_Count                  OUT NOCOPY  NUMBER,
7616     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7617     )
7618 IS
7619 BEGIN
7620 
7621       -- Initialize message list if p_init_msg_list is set to TRUE.
7622       IF FND_API.to_Boolean( p_init_msg_list )
7623       THEN
7624           FND_MSG_PUB.initialize;
7625       END IF;
7626 
7627 
7628       -- Initialize API return status to SUCCESS
7629       x_return_status := FND_API.G_RET_STS_SUCCESS;
7630 
7631       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7632       THEN
7633           -- Hint: Validate data
7634           -- IF p_ERROR_EXPLANATION is not NULL and p_ERROR_EXPLANATION <> G_MISS_CHAR
7635           -- verify if data is valid
7636           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7637           NULL;
7638       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7639       THEN
7640           -- Hint: Validate data
7641           -- IF p_ERROR_EXPLANATION <> G_MISS_CHAR
7642           -- verify if data is valid
7643           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7644           NULL;
7645       END IF;
7646 
7647       -- Standard call to get message count and if count is 1, get message info.
7648       FND_MSG_PUB.Count_And_Get
7649       (  p_count          =>   x_msg_count,
7650          p_data           =>   x_msg_data
7651       );
7652 
7653 END Validate_ERROR_EXPLANATION;
7654 
7655 
7656 PROCEDURE Validate_MOVEMENT_ID (
7657     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7658     P_Validation_mode            IN   VARCHAR2,
7659     P_MOVEMENT_ID                IN   NUMBER,
7660     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7661     X_Return_Status              OUT NOCOPY  VARCHAR2,
7662     X_Msg_Count                  OUT NOCOPY  NUMBER,
7663     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7664     )
7665 IS
7666 BEGIN
7667 
7668       -- Initialize message list if p_init_msg_list is set to TRUE.
7669       IF FND_API.to_Boolean( p_init_msg_list )
7670       THEN
7671           FND_MSG_PUB.initialize;
7672       END IF;
7673 
7674 
7675       -- Initialize API return status to SUCCESS
7676       x_return_status := FND_API.G_RET_STS_SUCCESS;
7677 
7678       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7679       THEN
7680           -- Hint: Validate data
7681           -- IF p_MOVEMENT_ID is not NULL and p_MOVEMENT_ID <> G_MISS_CHAR
7682           -- verify if data is valid
7683           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7684           NULL;
7685       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7686       THEN
7687           -- Hint: Validate data
7688           -- IF p_MOVEMENT_ID <> G_MISS_CHAR
7689           -- verify if data is valid
7690           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7691           NULL;
7692       END IF;
7693 
7694       -- Standard call to get message count and if count is 1, get message info.
7695       FND_MSG_PUB.Count_And_Get
7696       (  p_count          =>   x_msg_count,
7697          p_data           =>   x_msg_data
7698       );
7699 
7700 END Validate_MOVEMENT_ID;
7701 
7702 
7703 PROCEDURE Validate_RESERVATION_QUANTITY (
7704     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7705     P_Validation_mode            IN   VARCHAR2,
7706     P_RESERVATION_QUANTITY                IN   NUMBER,
7707     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7708     X_Return_Status              OUT NOCOPY  VARCHAR2,
7709     X_Msg_Count                  OUT NOCOPY  NUMBER,
7710     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7711     )
7712 IS
7713 BEGIN
7714 
7715       -- Initialize message list if p_init_msg_list is set to TRUE.
7716       IF FND_API.to_Boolean( p_init_msg_list )
7717       THEN
7718           FND_MSG_PUB.initialize;
7719       END IF;
7720 
7721 
7722       -- Initialize API return status to SUCCESS
7723       x_return_status := FND_API.G_RET_STS_SUCCESS;
7724 
7725       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7726       THEN
7727           -- Hint: Validate data
7731           NULL;
7728           -- IF p_RESERVATION_QUANTITY is not NULL and p_RESERVATION_QUANTITY <> G_MISS_CHAR
7729           -- verify if data is valid
7730           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7732       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7733       THEN
7734           -- Hint: Validate data
7735           -- IF p_RESERVATION_QUANTITY <> G_MISS_CHAR
7736           -- verify if data is valid
7737           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7738           NULL;
7739       END IF;
7740 
7741       -- Standard call to get message count and if count is 1, get message info.
7742       FND_MSG_PUB.Count_And_Get
7743       (  p_count          =>   x_msg_count,
7744          p_data           =>   x_msg_data
7745       );
7746 
7747 END Validate_RESERVATION_QUANTITY;
7748 
7749 
7750 PROCEDURE Validate_SHIPPED_QUANTITY (
7751     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7752     P_Validation_mode            IN   VARCHAR2,
7753     P_SHIPPED_QUANTITY                IN   NUMBER,
7754     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7755     X_Return_Status              OUT NOCOPY  VARCHAR2,
7756     X_Msg_Count                  OUT NOCOPY  NUMBER,
7757     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7758     )
7759 IS
7760 BEGIN
7761 
7762       -- Initialize message list if p_init_msg_list is set to TRUE.
7763       IF FND_API.to_Boolean( p_init_msg_list )
7764       THEN
7765           FND_MSG_PUB.initialize;
7766       END IF;
7767 
7768 
7769       -- Initialize API return status to SUCCESS
7770       x_return_status := FND_API.G_RET_STS_SUCCESS;
7771 
7772       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7773       THEN
7774           -- Hint: Validate data
7775           -- IF p_SHIPPED_QUANTITY is not NULL and p_SHIPPED_QUANTITY <> G_MISS_CHAR
7776           -- verify if data is valid
7777           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7778           NULL;
7779       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7780       THEN
7781           -- Hint: Validate data
7782           -- IF p_SHIPPED_QUANTITY <> G_MISS_CHAR
7783           -- verify if data is valid
7784           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7785           NULL;
7786       END IF;
7787 
7788       -- Standard call to get message count and if count is 1, get message info.
7789       FND_MSG_PUB.Count_And_Get
7790       (  p_count          =>   x_msg_count,
7791          p_data           =>   x_msg_data
7792       );
7793 
7794 END Validate_SHIPPED_QUANTITY;
7795 
7796 
7797 PROCEDURE Validate_TRANSACTION_LINE_NUMBER (
7798     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7799     P_Validation_mode            IN   VARCHAR2,
7800     P_TRANSACTION_LINE_NUMBER                IN   NUMBER,
7801     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7802     X_Return_Status              OUT NOCOPY  VARCHAR2,
7803     X_Msg_Count                  OUT NOCOPY  NUMBER,
7804     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7805     )
7806 IS
7807 BEGIN
7808 
7809       -- Initialize message list if p_init_msg_list is set to TRUE.
7810       IF FND_API.to_Boolean( p_init_msg_list )
7811       THEN
7812           FND_MSG_PUB.initialize;
7813       END IF;
7814 
7815 
7816       -- Initialize API return status to SUCCESS
7817       x_return_status := FND_API.G_RET_STS_SUCCESS;
7818 
7819       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7820       THEN
7821           -- Hint: Validate data
7822           -- IF p_TRANSACTION_LINE_NUMBER is not NULL and p_TRANSACTION_LINE_NUMBER <> G_MISS_CHAR
7823           -- verify if data is valid
7824           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7825           NULL;
7826       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7827       THEN
7828           -- Hint: Validate data
7829           -- IF p_TRANSACTION_LINE_NUMBER <> G_MISS_CHAR
7830           -- verify if data is valid
7831           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7832           NULL;
7833       END IF;
7834 
7835       -- Standard call to get message count and if count is 1, get message info.
7836       FND_MSG_PUB.Count_And_Get
7837       (  p_count          =>   x_msg_count,
7838          p_data           =>   x_msg_data
7839       );
7840 
7841 END Validate_TRANSACTION_LINE_NUMBER;
7842 
7843 
7844 PROCEDURE Validate_TASK_ID (
7845     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7846     P_Validation_mode            IN   VARCHAR2,
7847     P_TASK_ID                IN   NUMBER,
7848     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7849     X_Return_Status              OUT NOCOPY  VARCHAR2,
7850     X_Msg_Count                  OUT NOCOPY  NUMBER,
7851     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7852     )
7853 IS
7854 BEGIN
7855 
7856       -- Initialize message list if p_init_msg_list is set to TRUE.
7857       IF FND_API.to_Boolean( p_init_msg_list )
7861 
7858       THEN
7859           FND_MSG_PUB.initialize;
7860       END IF;
7862 
7863       -- Initialize API return status to SUCCESS
7864       x_return_status := FND_API.G_RET_STS_SUCCESS;
7865 
7866       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7867       THEN
7868           -- Hint: Validate data
7869           -- IF p_TASK_ID is not NULL and p_TASK_ID <> G_MISS_CHAR
7870           -- verify if data is valid
7871           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7872           NULL;
7873       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7874       THEN
7875           -- Hint: Validate data
7876           -- IF p_TASK_ID <> G_MISS_CHAR
7877           -- verify if data is valid
7878           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7879           NULL;
7880       END IF;
7881 
7882       -- Standard call to get message count and if count is 1, get message info.
7883       FND_MSG_PUB.Count_And_Get
7884       (  p_count          =>   x_msg_count,
7885          p_data           =>   x_msg_data
7886       );
7887 
7888 END Validate_TASK_ID;
7889 
7890 
7891 PROCEDURE Validate_TO_TASK_ID (
7892     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7893     P_Validation_mode            IN   VARCHAR2,
7894     P_TO_TASK_ID                IN   NUMBER,
7895     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7896     X_Return_Status              OUT NOCOPY  VARCHAR2,
7897     X_Msg_Count                  OUT NOCOPY  NUMBER,
7898     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7899     )
7900 IS
7901 BEGIN
7902 
7903       -- Initialize message list if p_init_msg_list is set to TRUE.
7904       IF FND_API.to_Boolean( p_init_msg_list )
7905       THEN
7906           FND_MSG_PUB.initialize;
7907       END IF;
7908 
7909 
7910       -- Initialize API return status to SUCCESS
7911       x_return_status := FND_API.G_RET_STS_SUCCESS;
7912 
7913       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7914       THEN
7915           -- Hint: Validate data
7916           -- IF p_TO_TASK_ID is not NULL and p_TO_TASK_ID <> G_MISS_CHAR
7917           -- verify if data is valid
7918           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7919           NULL;
7920       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7921       THEN
7922           -- Hint: Validate data
7923           -- IF p_TO_TASK_ID <> G_MISS_CHAR
7924           -- verify if data is valid
7925           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7926           NULL;
7927       END IF;
7928 
7929       -- Standard call to get message count and if count is 1, get message info.
7930       FND_MSG_PUB.Count_And_Get
7931       (  p_count          =>   x_msg_count,
7932          p_data           =>   x_msg_data
7933       );
7934 
7935 END Validate_TO_TASK_ID;
7936 
7937 
7938 PROCEDURE Validate_SOURCE_TASK_ID (
7939     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7940     P_Validation_mode            IN   VARCHAR2,
7941     P_SOURCE_TASK_ID                IN   NUMBER,
7942     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7943     X_Return_Status              OUT NOCOPY  VARCHAR2,
7944     X_Msg_Count                  OUT NOCOPY  NUMBER,
7945     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7946     )
7947 IS
7948 BEGIN
7949 
7950       -- Initialize message list if p_init_msg_list is set to TRUE.
7951       IF FND_API.to_Boolean( p_init_msg_list )
7952       THEN
7953           FND_MSG_PUB.initialize;
7954       END IF;
7955 
7956 
7957       -- Initialize API return status to SUCCESS
7958       x_return_status := FND_API.G_RET_STS_SUCCESS;
7959 
7960       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
7961       THEN
7962           -- Hint: Validate data
7963           -- IF p_SOURCE_TASK_ID is not NULL and p_SOURCE_TASK_ID <> G_MISS_CHAR
7964           -- verify if data is valid
7965           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7966           NULL;
7967       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
7968       THEN
7969           -- Hint: Validate data
7970           -- IF p_SOURCE_TASK_ID <> G_MISS_CHAR
7971           -- verify if data is valid
7972           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
7973           NULL;
7974       END IF;
7975 
7976       -- Standard call to get message count and if count is 1, get message info.
7977       FND_MSG_PUB.Count_And_Get
7978       (  p_count          =>   x_msg_count,
7979          p_data           =>   x_msg_data
7980       );
7981 
7982 END Validate_SOURCE_TASK_ID;
7983 
7984 
7985 PROCEDURE Validate_PROJECT_ID (
7986     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
7987     P_Validation_mode            IN   VARCHAR2,
7988     P_PROJECT_ID                IN   NUMBER,
7989     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
7990     X_Return_Status              OUT NOCOPY  VARCHAR2,
7991     X_Msg_Count                  OUT NOCOPY  NUMBER,
7995 BEGIN
7992     X_Msg_Data                   OUT NOCOPY  VARCHAR2
7993     )
7994 IS
7996 
7997       -- Initialize message list if p_init_msg_list is set to TRUE.
7998       IF FND_API.to_Boolean( p_init_msg_list )
7999       THEN
8000           FND_MSG_PUB.initialize;
8001       END IF;
8002 
8003 
8004       -- Initialize API return status to SUCCESS
8005       x_return_status := FND_API.G_RET_STS_SUCCESS;
8006 
8007       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8008       THEN
8009           -- Hint: Validate data
8010           -- IF p_PROJECT_ID is not NULL and p_PROJECT_ID <> G_MISS_CHAR
8011           -- verify if data is valid
8012           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8013           NULL;
8014       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8015       THEN
8016           -- Hint: Validate data
8017           -- IF p_PROJECT_ID <> G_MISS_CHAR
8018           -- verify if data is valid
8019           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8020           NULL;
8021       END IF;
8022 
8023       -- Standard call to get message count and if count is 1, get message info.
8024       FND_MSG_PUB.Count_And_Get
8025       (  p_count          =>   x_msg_count,
8026          p_data           =>   x_msg_data
8027       );
8028 
8029 END Validate_PROJECT_ID;
8030 
8031 
8032 PROCEDURE Validate_SOURCE_PROJECT_ID (
8033     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8034     P_Validation_mode            IN   VARCHAR2,
8035     P_SOURCE_PROJECT_ID                IN   NUMBER,
8036     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8037     X_Return_Status              OUT NOCOPY  VARCHAR2,
8038     X_Msg_Count                  OUT NOCOPY  NUMBER,
8039     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8040     )
8041 IS
8042 BEGIN
8043 
8044       -- Initialize message list if p_init_msg_list is set to TRUE.
8045       IF FND_API.to_Boolean( p_init_msg_list )
8046       THEN
8047           FND_MSG_PUB.initialize;
8048       END IF;
8049 
8050 
8051       -- Initialize API return status to SUCCESS
8052       x_return_status := FND_API.G_RET_STS_SUCCESS;
8053 
8054       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8055       THEN
8056           -- Hint: Validate data
8057           -- IF p_SOURCE_PROJECT_ID is not NULL and p_SOURCE_PROJECT_ID <> G_MISS_CHAR
8058           -- verify if data is valid
8059           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8060           NULL;
8061       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8062       THEN
8063           -- Hint: Validate data
8064           -- IF p_SOURCE_PROJECT_ID <> G_MISS_CHAR
8065           -- verify if data is valid
8066           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8067           NULL;
8068       END IF;
8069 
8070       -- Standard call to get message count and if count is 1, get message info.
8071       FND_MSG_PUB.Count_And_Get
8072       (  p_count          =>   x_msg_count,
8073          p_data           =>   x_msg_data
8074       );
8075 
8076 END Validate_SOURCE_PROJECT_ID;
8077 
8078 
8079 PROCEDURE Validate_PA_EXPENDITURE_ORG_ID (
8080     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8081     P_Validation_mode            IN   VARCHAR2,
8082     P_PA_EXPENDITURE_ORG_ID                IN   NUMBER,
8083     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8084     X_Return_Status              OUT NOCOPY  VARCHAR2,
8085     X_Msg_Count                  OUT NOCOPY  NUMBER,
8086     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8087     )
8088 IS
8089 BEGIN
8090 
8091       -- Initialize message list if p_init_msg_list is set to TRUE.
8092       IF FND_API.to_Boolean( p_init_msg_list )
8093       THEN
8094           FND_MSG_PUB.initialize;
8095       END IF;
8096 
8097 
8098       -- Initialize API return status to SUCCESS
8099       x_return_status := FND_API.G_RET_STS_SUCCESS;
8100 
8101       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8102       THEN
8103           -- Hint: Validate data
8104           -- IF p_PA_EXPENDITURE_ORG_ID is not NULL and p_PA_EXPENDITURE_ORG_ID <> G_MISS_CHAR
8105           -- verify if data is valid
8106           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8107           NULL;
8108       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8109       THEN
8110           -- Hint: Validate data
8111           -- IF p_PA_EXPENDITURE_ORG_ID <> G_MISS_CHAR
8112           -- verify if data is valid
8113           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8114           NULL;
8115       END IF;
8116 
8117       -- Standard call to get message count and if count is 1, get message info.
8118       FND_MSG_PUB.Count_And_Get
8119       (  p_count          =>   x_msg_count,
8120          p_data           =>   x_msg_data
8121       );
8122 
8123 END Validate_PA_EXPENDITURE_ORG_ID;
8124 
8125 
8126 PROCEDURE Validate_TO_PROJECT_ID (
8127     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8128     P_Validation_mode            IN   VARCHAR2,
8132     X_Msg_Count                  OUT NOCOPY  NUMBER,
8129     P_TO_PROJECT_ID                IN   NUMBER,
8130     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8131     X_Return_Status              OUT NOCOPY  VARCHAR2,
8133     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8134     )
8135 IS
8136 BEGIN
8137 
8138       -- Initialize message list if p_init_msg_list is set to TRUE.
8139       IF FND_API.to_Boolean( p_init_msg_list )
8140       THEN
8141           FND_MSG_PUB.initialize;
8142       END IF;
8143 
8144 
8145       -- Initialize API return status to SUCCESS
8146       x_return_status := FND_API.G_RET_STS_SUCCESS;
8147 
8148       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8149       THEN
8150           -- Hint: Validate data
8151           -- IF p_TO_PROJECT_ID is not NULL and p_TO_PROJECT_ID <> G_MISS_CHAR
8152           -- verify if data is valid
8153           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8154           NULL;
8155       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8156       THEN
8157           -- Hint: Validate data
8158           -- IF p_TO_PROJECT_ID <> G_MISS_CHAR
8159           -- verify if data is valid
8160           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8161           NULL;
8162       END IF;
8163 
8164       -- Standard call to get message count and if count is 1, get message info.
8165       FND_MSG_PUB.Count_And_Get
8166       (  p_count          =>   x_msg_count,
8167          p_data           =>   x_msg_data
8168       );
8169 
8170 END Validate_TO_PROJECT_ID;
8171 
8172 
8173 PROCEDURE Validate_EXPENDITURE_TYPE (
8174     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8175     P_Validation_mode            IN   VARCHAR2,
8176     P_EXPENDITURE_TYPE                IN   VARCHAR2,
8177     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8178     X_Return_Status              OUT NOCOPY  VARCHAR2,
8179     X_Msg_Count                  OUT NOCOPY  NUMBER,
8180     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8181     )
8182 IS
8183 BEGIN
8184 
8185       -- Initialize message list if p_init_msg_list is set to TRUE.
8186       IF FND_API.to_Boolean( p_init_msg_list )
8187       THEN
8188           FND_MSG_PUB.initialize;
8189       END IF;
8190 
8191 
8192       -- Initialize API return status to SUCCESS
8193       x_return_status := FND_API.G_RET_STS_SUCCESS;
8194 
8195       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8196       THEN
8197           -- Hint: Validate data
8198           -- IF p_EXPENDITURE_TYPE is not NULL and p_EXPENDITURE_TYPE <> G_MISS_CHAR
8199           -- verify if data is valid
8200           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8201           NULL;
8202       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8203       THEN
8204           -- Hint: Validate data
8205           -- IF p_EXPENDITURE_TYPE <> G_MISS_CHAR
8206           -- verify if data is valid
8207           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8208           NULL;
8209       END IF;
8210 
8211       -- Standard call to get message count and if count is 1, get message info.
8212       FND_MSG_PUB.Count_And_Get
8213       (  p_count          =>   x_msg_count,
8214          p_data           =>   x_msg_data
8215       );
8216 
8217 END Validate_EXPENDITURE_TYPE;
8218 
8219 
8220 PROCEDURE Validate_FINAL_COMPLETION_FLAG (
8221     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8222     P_Validation_mode            IN   VARCHAR2,
8223     P_FINAL_COMPLETION_FLAG                IN   VARCHAR2,
8224     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8225     X_Return_Status              OUT NOCOPY  VARCHAR2,
8226     X_Msg_Count                  OUT NOCOPY  NUMBER,
8227     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8228     )
8229 IS
8230 BEGIN
8231 
8232       -- Initialize message list if p_init_msg_list is set to TRUE.
8233       IF FND_API.to_Boolean( p_init_msg_list )
8234       THEN
8235           FND_MSG_PUB.initialize;
8236       END IF;
8237 
8238 
8239       -- Initialize API return status to SUCCESS
8240       x_return_status := FND_API.G_RET_STS_SUCCESS;
8241 
8242       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8243       THEN
8244           -- Hint: Validate data
8245           -- IF p_FINAL_COMPLETION_FLAG is not NULL and p_FINAL_COMPLETION_FLAG <> G_MISS_CHAR
8246           -- verify if data is valid
8247           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8248           NULL;
8249       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8250       THEN
8251           -- Hint: Validate data
8252           -- IF p_FINAL_COMPLETION_FLAG <> G_MISS_CHAR
8253           -- verify if data is valid
8254           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8255           NULL;
8256       END IF;
8257 
8258       -- Standard call to get message count and if count is 1, get message info.
8259       FND_MSG_PUB.Count_And_Get
8260       (  p_count          =>   x_msg_count,
8264 END Validate_FINAL_COMPLETION_FLAG;
8261          p_data           =>   x_msg_data
8262       );
8263 
8265 
8266 
8267 PROCEDURE Validate_TRANSFER_PERCENTAGE (
8268     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8269     P_Validation_mode            IN   VARCHAR2,
8270     P_TRANSFER_PERCENTAGE                IN   NUMBER,
8271     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8272     X_Return_Status              OUT NOCOPY  VARCHAR2,
8273     X_Msg_Count                  OUT NOCOPY  NUMBER,
8274     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8275     )
8276 IS
8277 BEGIN
8278 
8279       -- Initialize message list if p_init_msg_list is set to TRUE.
8280       IF FND_API.to_Boolean( p_init_msg_list )
8281       THEN
8282           FND_MSG_PUB.initialize;
8283       END IF;
8284 
8285 
8286       -- Initialize API return status to SUCCESS
8287       x_return_status := FND_API.G_RET_STS_SUCCESS;
8288 
8289       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8290       THEN
8291           -- Hint: Validate data
8292           -- IF p_TRANSFER_PERCENTAGE is not NULL and p_TRANSFER_PERCENTAGE <> G_MISS_CHAR
8293           -- verify if data is valid
8294           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8295           NULL;
8296       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8297       THEN
8298           -- Hint: Validate data
8299           -- IF p_TRANSFER_PERCENTAGE <> G_MISS_CHAR
8300           -- verify if data is valid
8301           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8302           NULL;
8303       END IF;
8304 
8305       -- Standard call to get message count and if count is 1, get message info.
8306       FND_MSG_PUB.Count_And_Get
8307       (  p_count          =>   x_msg_count,
8308          p_data           =>   x_msg_data
8309       );
8310 
8311 END Validate_TRANSFER_PERCENTAGE;
8312 
8313 
8314 PROCEDURE Validate_TRANSACTION_SEQUENCE_ID (
8315     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8316     P_Validation_mode            IN   VARCHAR2,
8317     P_TRANSACTION_SEQUENCE_ID                IN   NUMBER,
8318     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8319     X_Return_Status              OUT NOCOPY  VARCHAR2,
8320     X_Msg_Count                  OUT NOCOPY  NUMBER,
8321     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8322     )
8323 IS
8324 BEGIN
8325 
8326       -- Initialize message list if p_init_msg_list is set to TRUE.
8327       IF FND_API.to_Boolean( p_init_msg_list )
8328       THEN
8329           FND_MSG_PUB.initialize;
8330       END IF;
8331 
8332 
8333       -- Initialize API return status to SUCCESS
8334       x_return_status := FND_API.G_RET_STS_SUCCESS;
8335 
8336       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8337       THEN
8338           -- Hint: Validate data
8339           -- IF p_TRANSACTION_SEQUENCE_ID is not NULL and p_TRANSACTION_SEQUENCE_ID <> G_MISS_CHAR
8340           -- verify if data is valid
8341           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8342           NULL;
8343       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8344       THEN
8345           -- Hint: Validate data
8346           -- IF p_TRANSACTION_SEQUENCE_ID <> G_MISS_CHAR
8347           -- verify if data is valid
8348           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8349           NULL;
8350       END IF;
8351 
8352       -- Standard call to get message count and if count is 1, get message info.
8353       FND_MSG_PUB.Count_And_Get
8354       (  p_count          =>   x_msg_count,
8355          p_data           =>   x_msg_data
8356       );
8357 
8358 END Validate_TRANSACTION_SEQUENCE_ID;
8359 
8360 
8361 PROCEDURE Validate_MATERIAL_ACCOUNT (
8362     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8363     P_Validation_mode            IN   VARCHAR2,
8364     P_MATERIAL_ACCOUNT                IN   NUMBER,
8365     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8366     X_Return_Status              OUT NOCOPY  VARCHAR2,
8367     X_Msg_Count                  OUT NOCOPY  NUMBER,
8368     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8369     )
8370 IS
8371 BEGIN
8372 
8373       -- Initialize message list if p_init_msg_list is set to TRUE.
8374       IF FND_API.to_Boolean( p_init_msg_list )
8375       THEN
8376           FND_MSG_PUB.initialize;
8377       END IF;
8378 
8379 
8380       -- Initialize API return status to SUCCESS
8381       x_return_status := FND_API.G_RET_STS_SUCCESS;
8382 
8383       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8384       THEN
8385           -- Hint: Validate data
8386           -- IF p_MATERIAL_ACCOUNT is not NULL and p_MATERIAL_ACCOUNT <> G_MISS_CHAR
8387           -- verify if data is valid
8388           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8389           NULL;
8390       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8391       THEN
8392           -- Hint: Validate data
8393           -- IF p_MATERIAL_ACCOUNT <> G_MISS_CHAR
8397       END IF;
8394           -- verify if data is valid
8395           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8396           NULL;
8398 
8399       -- Standard call to get message count and if count is 1, get message info.
8400       FND_MSG_PUB.Count_And_Get
8401       (  p_count          =>   x_msg_count,
8402          p_data           =>   x_msg_data
8403       );
8404 
8405 END Validate_MATERIAL_ACCOUNT;
8406 
8407 
8408 PROCEDURE Validate_MATERIAL_OVERHEAD_ACCOUNT (
8409     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8410     P_Validation_mode            IN   VARCHAR2,
8411     P_MATERIAL_OVERHEAD_ACCOUNT                IN   NUMBER,
8412     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8413     X_Return_Status              OUT NOCOPY  VARCHAR2,
8414     X_Msg_Count                  OUT NOCOPY  NUMBER,
8415     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8416     )
8417 IS
8418 BEGIN
8419 
8420       -- Initialize message list if p_init_msg_list is set to TRUE.
8421       IF FND_API.to_Boolean( p_init_msg_list )
8422       THEN
8423           FND_MSG_PUB.initialize;
8424       END IF;
8425 
8426 
8427       -- Initialize API return status to SUCCESS
8428       x_return_status := FND_API.G_RET_STS_SUCCESS;
8429 
8430       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8431       THEN
8432           -- Hint: Validate data
8433           -- IF p_MATERIAL_OVERHEAD_ACCOUNT is not NULL and p_MATERIAL_OVERHEAD_ACCOUNT <> G_MISS_CHAR
8434           -- verify if data is valid
8435           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8436           NULL;
8437       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8438       THEN
8439           -- Hint: Validate data
8440           -- IF p_MATERIAL_OVERHEAD_ACCOUNT <> G_MISS_CHAR
8441           -- verify if data is valid
8442           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8443           NULL;
8444       END IF;
8445 
8446       -- Standard call to get message count and if count is 1, get message info.
8447       FND_MSG_PUB.Count_And_Get
8448       (  p_count          =>   x_msg_count,
8449          p_data           =>   x_msg_data
8450       );
8451 
8452 END Validate_MATERIAL_OVERHEAD_ACCOUNT;
8453 
8454 
8455 PROCEDURE Validate_RESOURCE_ACCOUNT (
8456     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8457     P_Validation_mode            IN   VARCHAR2,
8458     P_RESOURCE_ACCOUNT                IN   NUMBER,
8459     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8460     X_Return_Status              OUT NOCOPY  VARCHAR2,
8461     X_Msg_Count                  OUT NOCOPY  NUMBER,
8462     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8463     )
8464 IS
8465 BEGIN
8466 
8467       -- Initialize message list if p_init_msg_list is set to TRUE.
8468       IF FND_API.to_Boolean( p_init_msg_list )
8469       THEN
8470           FND_MSG_PUB.initialize;
8471       END IF;
8472 
8473 
8474       -- Initialize API return status to SUCCESS
8475       x_return_status := FND_API.G_RET_STS_SUCCESS;
8476 
8477       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8478       THEN
8479           -- Hint: Validate data
8480           -- IF p_RESOURCE_ACCOUNT is not NULL and p_RESOURCE_ACCOUNT <> G_MISS_CHAR
8481           -- verify if data is valid
8482           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8483           NULL;
8484       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8485       THEN
8486           -- Hint: Validate data
8487           -- IF p_RESOURCE_ACCOUNT <> G_MISS_CHAR
8488           -- verify if data is valid
8489           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8490           NULL;
8491       END IF;
8492 
8493       -- Standard call to get message count and if count is 1, get message info.
8494       FND_MSG_PUB.Count_And_Get
8495       (  p_count          =>   x_msg_count,
8496          p_data           =>   x_msg_data
8497       );
8498 
8499 END Validate_RESOURCE_ACCOUNT;
8500 
8501 
8502 PROCEDURE Validate_OUTSIDE_PROCESSING_ACCOUNT (
8503     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8504     P_Validation_mode            IN   VARCHAR2,
8505     P_OUTSIDE_PROCESSING_ACCOUNT                IN   NUMBER,
8506     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8507     X_Return_Status              OUT NOCOPY  VARCHAR2,
8508     X_Msg_Count                  OUT NOCOPY  NUMBER,
8509     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8510     )
8511 IS
8512 BEGIN
8513 
8514       -- Initialize message list if p_init_msg_list is set to TRUE.
8515       IF FND_API.to_Boolean( p_init_msg_list )
8516       THEN
8517           FND_MSG_PUB.initialize;
8518       END IF;
8519 
8520 
8521       -- Initialize API return status to SUCCESS
8522       x_return_status := FND_API.G_RET_STS_SUCCESS;
8523 
8524       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8525       THEN
8526           -- Hint: Validate data
8530           NULL;
8527           -- IF p_OUTSIDE_PROCESSING_ACCOUNT is not NULL and p_OUTSIDE_PROCESSING_ACCOUNT <> G_MISS_CHAR
8528           -- verify if data is valid
8529           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8531       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8532       THEN
8533           -- Hint: Validate data
8534           -- IF p_OUTSIDE_PROCESSING_ACCOUNT <> G_MISS_CHAR
8535           -- verify if data is valid
8536           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8537           NULL;
8538       END IF;
8539 
8540       -- Standard call to get message count and if count is 1, get message info.
8541       FND_MSG_PUB.Count_And_Get
8542       (  p_count          =>   x_msg_count,
8543          p_data           =>   x_msg_data
8544       );
8545 
8546 END Validate_OUTSIDE_PROCESSING_ACCOUNT;
8547 
8548 
8549 PROCEDURE Validate_OVERHEAD_ACCOUNT (
8550     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8551     P_Validation_mode            IN   VARCHAR2,
8552     P_OVERHEAD_ACCOUNT                IN   NUMBER,
8553     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8554     X_Return_Status              OUT NOCOPY  VARCHAR2,
8555     X_Msg_Count                  OUT NOCOPY  NUMBER,
8556     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8557     )
8558 IS
8559 BEGIN
8560 
8561       -- Initialize message list if p_init_msg_list is set to TRUE.
8562       IF FND_API.to_Boolean( p_init_msg_list )
8563       THEN
8564           FND_MSG_PUB.initialize;
8565       END IF;
8566 
8567 
8568       -- Initialize API return status to SUCCESS
8569       x_return_status := FND_API.G_RET_STS_SUCCESS;
8570 
8571       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8572       THEN
8573           -- Hint: Validate data
8574           -- IF p_OVERHEAD_ACCOUNT is not NULL and p_OVERHEAD_ACCOUNT <> G_MISS_CHAR
8575           -- verify if data is valid
8576           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8577           NULL;
8578       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8579       THEN
8580           -- Hint: Validate data
8581           -- IF p_OVERHEAD_ACCOUNT <> G_MISS_CHAR
8582           -- verify if data is valid
8583           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8584           NULL;
8585       END IF;
8586 
8587       -- Standard call to get message count and if count is 1, get message info.
8588       FND_MSG_PUB.Count_And_Get
8589       (  p_count          =>   x_msg_count,
8590          p_data           =>   x_msg_data
8591       );
8592 
8593 END Validate_OVERHEAD_ACCOUNT;
8594 
8595 
8596 PROCEDURE Validate_FLOW_SCHEDULE (
8597     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8598     P_Validation_mode            IN   VARCHAR2,
8599     P_FLOW_SCHEDULE                IN   VARCHAR2,
8600     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8601     X_Return_Status              OUT NOCOPY  VARCHAR2,
8602     X_Msg_Count                  OUT NOCOPY  NUMBER,
8603     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8604     )
8605 IS
8606 BEGIN
8607 
8608       -- Initialize message list if p_init_msg_list is set to TRUE.
8609       IF FND_API.to_Boolean( p_init_msg_list )
8610       THEN
8611           FND_MSG_PUB.initialize;
8612       END IF;
8613 
8614 
8615       -- Initialize API return status to SUCCESS
8616       x_return_status := FND_API.G_RET_STS_SUCCESS;
8617 
8618       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8619       THEN
8620           -- Hint: Validate data
8621           -- IF p_FLOW_SCHEDULE is not NULL and p_FLOW_SCHEDULE <> G_MISS_CHAR
8622           -- verify if data is valid
8623           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8624           NULL;
8625       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8626       THEN
8627           -- Hint: Validate data
8628           -- IF p_FLOW_SCHEDULE <> G_MISS_CHAR
8629           -- verify if data is valid
8630           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8631           NULL;
8632       END IF;
8633 
8634       -- Standard call to get message count and if count is 1, get message info.
8635       FND_MSG_PUB.Count_And_Get
8636       (  p_count          =>   x_msg_count,
8637          p_data           =>   x_msg_data
8638       );
8639 
8640 END Validate_FLOW_SCHEDULE;
8641 
8642 
8643 PROCEDURE Validate_COST_GROUP_ID (
8644     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8645     P_Validation_mode            IN   VARCHAR2,
8646     P_COST_GROUP_ID                IN   NUMBER,
8647     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8648     X_Return_Status              OUT NOCOPY  VARCHAR2,
8649     X_Msg_Count                  OUT NOCOPY  NUMBER,
8650     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8651     )
8652 IS
8653 BEGIN
8654 
8655       -- Initialize message list if p_init_msg_list is set to TRUE.
8656       IF FND_API.to_Boolean( p_init_msg_list )
8657       THEN
8661 
8658           FND_MSG_PUB.initialize;
8659       END IF;
8660 
8662       -- Initialize API return status to SUCCESS
8663       x_return_status := FND_API.G_RET_STS_SUCCESS;
8664 
8665       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8666       THEN
8667           -- Hint: Validate data
8668           -- IF p_COST_GROUP_ID is not NULL and p_COST_GROUP_ID <> G_MISS_CHAR
8669           -- verify if data is valid
8670           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8671           NULL;
8672       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8673       THEN
8674           -- Hint: Validate data
8675           -- IF p_COST_GROUP_ID <> G_MISS_CHAR
8676           -- verify if data is valid
8677           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8678           NULL;
8679       END IF;
8680 
8681       -- Standard call to get message count and if count is 1, get message info.
8682       FND_MSG_PUB.Count_And_Get
8683       (  p_count          =>   x_msg_count,
8684          p_data           =>   x_msg_data
8685       );
8686 
8687 END Validate_COST_GROUP_ID;
8688 
8689 
8690 PROCEDURE Validate_DEMAND_CLASS (
8691     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8692     P_Validation_mode            IN   VARCHAR2,
8693     P_DEMAND_CLASS                IN   VARCHAR2,
8694     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8695     X_Return_Status              OUT NOCOPY  VARCHAR2,
8696     X_Msg_Count                  OUT NOCOPY  NUMBER,
8697     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8698     )
8699 IS
8700 BEGIN
8701 
8702       -- Initialize message list if p_init_msg_list is set to TRUE.
8703       IF FND_API.to_Boolean( p_init_msg_list )
8704       THEN
8705           FND_MSG_PUB.initialize;
8706       END IF;
8707 
8708 
8709       -- Initialize API return status to SUCCESS
8710       x_return_status := FND_API.G_RET_STS_SUCCESS;
8711 
8712       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8713       THEN
8714           -- Hint: Validate data
8715           -- IF p_DEMAND_CLASS is not NULL and p_DEMAND_CLASS <> G_MISS_CHAR
8716           -- verify if data is valid
8717           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8718           NULL;
8719       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8720       THEN
8721           -- Hint: Validate data
8722           -- IF p_DEMAND_CLASS <> G_MISS_CHAR
8723           -- verify if data is valid
8724           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8725           NULL;
8726       END IF;
8727 
8728       -- Standard call to get message count and if count is 1, get message info.
8729       FND_MSG_PUB.Count_And_Get
8730       (  p_count          =>   x_msg_count,
8731          p_data           =>   x_msg_data
8732       );
8733 
8734 END Validate_DEMAND_CLASS;
8735 
8736 
8737 PROCEDURE Validate_QA_COLLECTION_ID (
8738     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8739     P_Validation_mode            IN   VARCHAR2,
8740     P_QA_COLLECTION_ID                IN   NUMBER,
8741     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8742     X_Return_Status              OUT NOCOPY  VARCHAR2,
8743     X_Msg_Count                  OUT NOCOPY  NUMBER,
8744     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8745     )
8746 IS
8747 BEGIN
8748 
8749       -- Initialize message list if p_init_msg_list is set to TRUE.
8750       IF FND_API.to_Boolean( p_init_msg_list )
8751       THEN
8752           FND_MSG_PUB.initialize;
8753       END IF;
8754 
8755 
8756       -- Initialize API return status to SUCCESS
8757       x_return_status := FND_API.G_RET_STS_SUCCESS;
8758 
8759       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8760       THEN
8761           -- Hint: Validate data
8762           -- IF p_QA_COLLECTION_ID is not NULL and p_QA_COLLECTION_ID <> G_MISS_CHAR
8763           -- verify if data is valid
8764           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8765           NULL;
8766       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8767       THEN
8768           -- Hint: Validate data
8769           -- IF p_QA_COLLECTION_ID <> G_MISS_CHAR
8770           -- verify if data is valid
8771           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8772           NULL;
8773       END IF;
8774 
8775       -- Standard call to get message count and if count is 1, get message info.
8776       FND_MSG_PUB.Count_And_Get
8777       (  p_count          =>   x_msg_count,
8778          p_data           =>   x_msg_data
8779       );
8780 
8781 END Validate_QA_COLLECTION_ID;
8782 
8783 
8784 PROCEDURE Validate_KANBAN_CARD_ID (
8785     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8786     P_Validation_mode            IN   VARCHAR2,
8787     P_KANBAN_CARD_ID                IN   NUMBER,
8788     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8789     X_Return_Status              OUT NOCOPY  VARCHAR2,
8790     X_Msg_Count                  OUT NOCOPY  NUMBER,
8794 BEGIN
8791     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8792     )
8793 IS
8795 
8796       -- Initialize message list if p_init_msg_list is set to TRUE.
8797       IF FND_API.to_Boolean( p_init_msg_list )
8798       THEN
8799           FND_MSG_PUB.initialize;
8800       END IF;
8801 
8802 
8803       -- Initialize API return status to SUCCESS
8804       x_return_status := FND_API.G_RET_STS_SUCCESS;
8805 
8806       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8807       THEN
8808           -- Hint: Validate data
8809           -- IF p_KANBAN_CARD_ID is not NULL and p_KANBAN_CARD_ID <> G_MISS_CHAR
8810           -- verify if data is valid
8811           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8812           NULL;
8813       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8814       THEN
8815           -- Hint: Validate data
8816           -- IF p_KANBAN_CARD_ID <> G_MISS_CHAR
8817           -- verify if data is valid
8818           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8819           NULL;
8820       END IF;
8821 
8822       -- Standard call to get message count and if count is 1, get message info.
8823       FND_MSG_PUB.Count_And_Get
8824       (  p_count          =>   x_msg_count,
8825          p_data           =>   x_msg_data
8826       );
8827 
8828 END Validate_KANBAN_CARD_ID;
8829 
8830 
8831 PROCEDURE Validate_OVERCOMPLETION_TRANSACTION_ID (
8832     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8833     P_Validation_mode            IN   VARCHAR2,
8834     P_OVERCOMPLETION_TRANSACTION_ID                IN   NUMBER,
8835     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8836     X_Return_Status              OUT NOCOPY  VARCHAR2,
8837     X_Msg_Count                  OUT NOCOPY  NUMBER,
8838     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8839     )
8840 IS
8841 BEGIN
8842 
8843       -- Initialize message list if p_init_msg_list is set to TRUE.
8844       IF FND_API.to_Boolean( p_init_msg_list )
8845       THEN
8846           FND_MSG_PUB.initialize;
8847       END IF;
8848 
8849 
8850       -- Initialize API return status to SUCCESS
8851       x_return_status := FND_API.G_RET_STS_SUCCESS;
8852 
8853       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8854       THEN
8855           -- Hint: Validate data
8856           -- IF p_OVERCOMPLETION_TRANSACTION_ID is not NULL and p_OVERCOMPLETION_TRANSACTION_ID <> G_MISS_CHAR
8857           -- verify if data is valid
8858           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8859           NULL;
8860       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8861       THEN
8862           -- Hint: Validate data
8863           -- IF p_OVERCOMPLETION_TRANSACTION_ID <> G_MISS_CHAR
8864           -- verify if data is valid
8865           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8866           NULL;
8867       END IF;
8868 
8869       -- Standard call to get message count and if count is 1, get message info.
8870       FND_MSG_PUB.Count_And_Get
8871       (  p_count          =>   x_msg_count,
8872          p_data           =>   x_msg_data
8873       );
8874 
8875 END Validate_OVERCOMPLETION_TRANSACTION_ID;
8876 
8877 
8878 PROCEDURE Validate_OVERCOMPLETION_PRIMARY_QTY (
8879     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8880     P_Validation_mode            IN   VARCHAR2,
8881     P_OVERCOMPLETION_PRIMARY_QTY                IN   NUMBER,
8882     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8883     X_Return_Status              OUT NOCOPY  VARCHAR2,
8884     X_Msg_Count                  OUT NOCOPY  NUMBER,
8885     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8886     )
8887 IS
8888 BEGIN
8889 
8890       -- Initialize message list if p_init_msg_list is set to TRUE.
8891       IF FND_API.to_Boolean( p_init_msg_list )
8892       THEN
8893           FND_MSG_PUB.initialize;
8894       END IF;
8895 
8896 
8897       -- Initialize API return status to SUCCESS
8898       x_return_status := FND_API.G_RET_STS_SUCCESS;
8899 
8900       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8901       THEN
8902           -- Hint: Validate data
8903           -- IF p_OVERCOMPLETION_PRIMARY_QTY is not NULL and p_OVERCOMPLETION_PRIMARY_QTY <> G_MISS_CHAR
8904           -- verify if data is valid
8905           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8906           NULL;
8907       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8908       THEN
8909           -- Hint: Validate data
8910           -- IF p_OVERCOMPLETION_PRIMARY_QTY <> G_MISS_CHAR
8911           -- verify if data is valid
8912           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8913           NULL;
8914       END IF;
8915 
8916       -- Standard call to get message count and if count is 1, get message info.
8917       FND_MSG_PUB.Count_And_Get
8918       (  p_count          =>   x_msg_count,
8919          p_data           =>   x_msg_data
8920       );
8921 
8922 END Validate_OVERCOMPLETION_PRIMARY_QTY;
8923 
8924 
8928     P_OVERCOMPLETION_TRANSACTION_QTY                IN   NUMBER,
8925 PROCEDURE Validate_OVERCOMPLETION_TRANSACTION_QTY (
8926     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8927     P_Validation_mode            IN   VARCHAR2,
8929     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8930     X_Return_Status              OUT NOCOPY  VARCHAR2,
8931     X_Msg_Count                  OUT NOCOPY  NUMBER,
8932     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8933     )
8934 IS
8935 BEGIN
8936 
8937       -- Initialize message list if p_init_msg_list is set to TRUE.
8938       IF FND_API.to_Boolean( p_init_msg_list )
8939       THEN
8940           FND_MSG_PUB.initialize;
8941       END IF;
8942 
8943 
8944       -- Initialize API return status to SUCCESS
8945       x_return_status := FND_API.G_RET_STS_SUCCESS;
8946 
8947       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8948       THEN
8949           -- Hint: Validate data
8950           -- IF p_OVERCOMPLETION_TRANSACTION_QTY is not NULL and p_OVERCOMPLETION_TRANSACTION_QTY <> G_MISS_CHAR
8951           -- verify if data is valid
8952           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8953           NULL;
8954       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
8955       THEN
8956           -- Hint: Validate data
8957           -- IF p_OVERCOMPLETION_TRANSACTION_QTY <> G_MISS_CHAR
8958           -- verify if data is valid
8959           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
8960           NULL;
8961       END IF;
8962 
8963       -- Standard call to get message count and if count is 1, get message info.
8964       FND_MSG_PUB.Count_And_Get
8965       (  p_count          =>   x_msg_count,
8966          p_data           =>   x_msg_data
8967       );
8968 
8969 END Validate_OVERCOMPLETION_TRANSACTION_QTY;
8970 
8971 
8972 PROCEDURE Validate_PROCESS_TYPE (
8973     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
8974     P_Validation_mode            IN   VARCHAR2,
8975     P_PROCESS_TYPE                IN   NUMBER,
8976     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
8977     X_Return_Status              OUT NOCOPY  VARCHAR2,
8978     X_Msg_Count                  OUT NOCOPY  NUMBER,
8979     X_Msg_Data                   OUT NOCOPY  VARCHAR2
8980     )
8981 IS
8982 BEGIN
8983 
8984       -- Initialize message list if p_init_msg_list is set to TRUE.
8985       IF FND_API.to_Boolean( p_init_msg_list )
8986       THEN
8987           FND_MSG_PUB.initialize;
8988       END IF;
8989 
8990 
8991       -- Initialize API return status to SUCCESS
8992       x_return_status := FND_API.G_RET_STS_SUCCESS;
8993 
8994       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
8995       THEN
8996           -- Hint: Validate data
8997           -- IF p_PROCESS_TYPE is not NULL and p_PROCESS_TYPE <> G_MISS_CHAR
8998           -- verify if data is valid
8999           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9000           NULL;
9001       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9002       THEN
9003           -- Hint: Validate data
9004           -- IF p_PROCESS_TYPE <> G_MISS_CHAR
9005           -- verify if data is valid
9006           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9007           NULL;
9008       END IF;
9009 
9010       -- Standard call to get message count and if count is 1, get message info.
9011       FND_MSG_PUB.Count_And_Get
9012       (  p_count          =>   x_msg_count,
9013          p_data           =>   x_msg_data
9014       );
9015 
9016 END Validate_PROCESS_TYPE;
9017 
9018 
9019 PROCEDURE Validate_END_ITEM_UNIT_NUMBER (
9020     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9021     P_Validation_mode            IN   VARCHAR2,
9022     P_END_ITEM_UNIT_NUMBER                IN   VARCHAR2,
9023     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9024     X_Return_Status              OUT NOCOPY  VARCHAR2,
9025     X_Msg_Count                  OUT NOCOPY  NUMBER,
9026     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9027     )
9028 IS
9029 BEGIN
9030 
9031       -- Initialize message list if p_init_msg_list is set to TRUE.
9032       IF FND_API.to_Boolean( p_init_msg_list )
9033       THEN
9034           FND_MSG_PUB.initialize;
9035       END IF;
9036 
9037 
9038       -- Initialize API return status to SUCCESS
9039       x_return_status := FND_API.G_RET_STS_SUCCESS;
9040 
9041       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9042       THEN
9043           -- Hint: Validate data
9044           -- IF p_END_ITEM_UNIT_NUMBER is not NULL and p_END_ITEM_UNIT_NUMBER <> G_MISS_CHAR
9045           -- verify if data is valid
9046           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9047           NULL;
9048       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9049       THEN
9050           -- Hint: Validate data
9051           -- IF p_END_ITEM_UNIT_NUMBER <> G_MISS_CHAR
9052           -- verify if data is valid
9053           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9057       -- Standard call to get message count and if count is 1, get message info.
9054           NULL;
9055       END IF;
9056 
9058       FND_MSG_PUB.Count_And_Get
9059       (  p_count          =>   x_msg_count,
9060          p_data           =>   x_msg_data
9061       );
9062 
9063 END Validate_END_ITEM_UNIT_NUMBER;
9064 
9065 
9066 PROCEDURE Validate_SCHEDULED_PAYBACK_DATE (
9067     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9068     P_Validation_mode            IN   VARCHAR2,
9069     P_SCHEDULED_PAYBACK_DATE                IN   DATE,
9070     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9071     X_Return_Status              OUT NOCOPY  VARCHAR2,
9072     X_Msg_Count                  OUT NOCOPY  NUMBER,
9073     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9074     )
9075 IS
9076 BEGIN
9077 
9078       -- Initialize message list if p_init_msg_list is set to TRUE.
9079       IF FND_API.to_Boolean( p_init_msg_list )
9080       THEN
9081           FND_MSG_PUB.initialize;
9082       END IF;
9083 
9084 
9085       -- Initialize API return status to SUCCESS
9086       x_return_status := FND_API.G_RET_STS_SUCCESS;
9087 
9088       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9089       THEN
9090           -- Hint: Validate data
9091           -- IF p_SCHEDULED_PAYBACK_DATE is not NULL and p_SCHEDULED_PAYBACK_DATE <> G_MISS_CHAR
9092           -- verify if data is valid
9093           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9094           NULL;
9095       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9096       THEN
9097           -- Hint: Validate data
9098           -- IF p_SCHEDULED_PAYBACK_DATE <> G_MISS_CHAR
9099           -- verify if data is valid
9100           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9101           NULL;
9102       END IF;
9103 
9104       -- Standard call to get message count and if count is 1, get message info.
9105       FND_MSG_PUB.Count_And_Get
9106       (  p_count          =>   x_msg_count,
9107          p_data           =>   x_msg_data
9108       );
9109 
9110 END Validate_SCHEDULED_PAYBACK_DATE;
9111 
9112 
9113 PROCEDURE Validate_LINE_TYPE_CODE (
9114     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9115     P_Validation_mode            IN   VARCHAR2,
9116     P_LINE_TYPE_CODE                IN   NUMBER,
9117     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9118     X_Return_Status              OUT NOCOPY  VARCHAR2,
9119     X_Msg_Count                  OUT NOCOPY  NUMBER,
9120     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9121     )
9122 IS
9123 BEGIN
9124 
9125       -- Initialize message list if p_init_msg_list is set to TRUE.
9126       IF FND_API.to_Boolean( p_init_msg_list )
9127       THEN
9128           FND_MSG_PUB.initialize;
9129       END IF;
9130 
9131 
9132       -- Initialize API return status to SUCCESS
9133       x_return_status := FND_API.G_RET_STS_SUCCESS;
9134 
9135       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9136       THEN
9137           -- Hint: Validate data
9138           -- IF p_LINE_TYPE_CODE is not NULL and p_LINE_TYPE_CODE <> G_MISS_CHAR
9139           -- verify if data is valid
9140           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9141           NULL;
9142       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9143       THEN
9144           -- Hint: Validate data
9145           -- IF p_LINE_TYPE_CODE <> G_MISS_CHAR
9146           -- verify if data is valid
9147           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9148           NULL;
9149       END IF;
9150 
9151       -- Standard call to get message count and if count is 1, get message info.
9152       FND_MSG_PUB.Count_And_Get
9153       (  p_count          =>   x_msg_count,
9154          p_data           =>   x_msg_data
9155       );
9156 
9157 END Validate_LINE_TYPE_CODE;
9158 
9159 
9160 PROCEDURE Validate_PARENT_TRANSACTION_TEMP_ID (
9161     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9162     P_Validation_mode            IN   VARCHAR2,
9163     P_PARENT_TRANSACTION_TEMP_ID                IN   NUMBER,
9164     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9165     X_Return_Status              OUT NOCOPY  VARCHAR2,
9166     X_Msg_Count                  OUT NOCOPY  NUMBER,
9167     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9168     )
9169 IS
9170 BEGIN
9171 
9172       -- Initialize message list if p_init_msg_list is set to TRUE.
9173       IF FND_API.to_Boolean( p_init_msg_list )
9174       THEN
9175           FND_MSG_PUB.initialize;
9176       END IF;
9177 
9178 
9179       -- Initialize API return status to SUCCESS
9180       x_return_status := FND_API.G_RET_STS_SUCCESS;
9181 
9182       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9183       THEN
9184           -- Hint: Validate data
9185           -- IF p_PARENT_TRANSACTION_TEMP_ID is not NULL and p_PARENT_TRANSACTION_TEMP_ID <> G_MISS_CHAR
9186           -- verify if data is valid
9190       THEN
9187           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9188           NULL;
9189       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9191           -- Hint: Validate data
9192           -- IF p_PARENT_TRANSACTION_TEMP_ID <> G_MISS_CHAR
9193           -- verify if data is valid
9194           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9195           NULL;
9196       END IF;
9197 
9198       -- Standard call to get message count and if count is 1, get message info.
9199       FND_MSG_PUB.Count_And_Get
9200       (  p_count          =>   x_msg_count,
9201          p_data           =>   x_msg_data
9202       );
9203 
9204 END Validate_PARENT_TRANSACTION_TEMP_ID;
9205 
9206 
9207 PROCEDURE Validate_PUT_AWAY_STRATEGY_ID (
9208     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9209     P_Validation_mode            IN   VARCHAR2,
9210     P_PUT_AWAY_STRATEGY_ID                IN   NUMBER,
9211     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9212     X_Return_Status              OUT NOCOPY  VARCHAR2,
9213     X_Msg_Count                  OUT NOCOPY  NUMBER,
9214     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9215     )
9216 IS
9217 BEGIN
9218 
9219       -- Initialize message list if p_init_msg_list is set to TRUE.
9220       IF FND_API.to_Boolean( p_init_msg_list )
9221       THEN
9222           FND_MSG_PUB.initialize;
9223       END IF;
9224 
9225 
9226       -- Initialize API return status to SUCCESS
9227       x_return_status := FND_API.G_RET_STS_SUCCESS;
9228 
9229       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9230       THEN
9231           -- Hint: Validate data
9232           -- IF p_PUT_AWAY_STRATEGY_ID is not NULL and p_PUT_AWAY_STRATEGY_ID <> G_MISS_CHAR
9233           -- verify if data is valid
9234           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9235           NULL;
9236       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9237       THEN
9238           -- Hint: Validate data
9239           -- IF p_PUT_AWAY_STRATEGY_ID <> G_MISS_CHAR
9240           -- verify if data is valid
9241           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9242           NULL;
9243       END IF;
9244 
9245       -- Standard call to get message count and if count is 1, get message info.
9246       FND_MSG_PUB.Count_And_Get
9247       (  p_count          =>   x_msg_count,
9248          p_data           =>   x_msg_data
9249       );
9250 
9251 END Validate_PUT_AWAY_STRATEGY_ID;
9252 
9253 
9254 PROCEDURE Validate_PUT_AWAY_RULE_ID (
9255     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9256     P_Validation_mode            IN   VARCHAR2,
9257     P_PUT_AWAY_RULE_ID                IN   NUMBER,
9258     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9259     X_Return_Status              OUT NOCOPY  VARCHAR2,
9260     X_Msg_Count                  OUT NOCOPY  NUMBER,
9261     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9262     )
9263 IS
9264 BEGIN
9265 
9266       -- Initialize message list if p_init_msg_list is set to TRUE.
9267       IF FND_API.to_Boolean( p_init_msg_list )
9268       THEN
9269           FND_MSG_PUB.initialize;
9270       END IF;
9271 
9272 
9273       -- Initialize API return status to SUCCESS
9274       x_return_status := FND_API.G_RET_STS_SUCCESS;
9275 
9276       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9277       THEN
9278           -- Hint: Validate data
9279           -- IF p_PUT_AWAY_RULE_ID is not NULL and p_PUT_AWAY_RULE_ID <> G_MISS_CHAR
9280           -- verify if data is valid
9281           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9282           NULL;
9283       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9284       THEN
9285           -- Hint: Validate data
9286           -- IF p_PUT_AWAY_RULE_ID <> G_MISS_CHAR
9287           -- verify if data is valid
9288           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9289           NULL;
9290       END IF;
9291 
9292       -- Standard call to get message count and if count is 1, get message info.
9293       FND_MSG_PUB.Count_And_Get
9294       (  p_count          =>   x_msg_count,
9295          p_data           =>   x_msg_data
9296       );
9297 
9298 END Validate_PUT_AWAY_RULE_ID;
9299 
9300 
9301 PROCEDURE Validate_PICK_STRATEGY_ID (
9302     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9303     P_Validation_mode            IN   VARCHAR2,
9304     P_PICK_STRATEGY_ID                IN   NUMBER,
9305     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9306     X_Return_Status              OUT NOCOPY  VARCHAR2,
9307     X_Msg_Count                  OUT NOCOPY  NUMBER,
9308     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9309     )
9310 IS
9311 BEGIN
9312 
9313       -- Initialize message list if p_init_msg_list is set to TRUE.
9314       IF FND_API.to_Boolean( p_init_msg_list )
9315       THEN
9316           FND_MSG_PUB.initialize;
9317       END IF;
9318 
9322 
9319 
9320       -- Initialize API return status to SUCCESS
9321       x_return_status := FND_API.G_RET_STS_SUCCESS;
9323       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9324       THEN
9325           -- Hint: Validate data
9326           -- IF p_PICK_STRATEGY_ID is not NULL and p_PICK_STRATEGY_ID <> G_MISS_CHAR
9327           -- verify if data is valid
9328           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9329           NULL;
9330       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9331       THEN
9332           -- Hint: Validate data
9333           -- IF p_PICK_STRATEGY_ID <> G_MISS_CHAR
9334           -- verify if data is valid
9335           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9336           NULL;
9337       END IF;
9338 
9339       -- Standard call to get message count and if count is 1, get message info.
9340       FND_MSG_PUB.Count_And_Get
9341       (  p_count          =>   x_msg_count,
9342          p_data           =>   x_msg_data
9343       );
9344 
9345 END Validate_PICK_STRATEGY_ID;
9346 
9347 
9348 PROCEDURE Validate_PICK_RULE_ID (
9349     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9350     P_Validation_mode            IN   VARCHAR2,
9351     P_PICK_RULE_ID                IN   NUMBER,
9352     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9353     X_Return_Status              OUT NOCOPY  VARCHAR2,
9354     X_Msg_Count                  OUT NOCOPY  NUMBER,
9355     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9356     )
9357 IS
9358 BEGIN
9359 
9360       -- Initialize message list if p_init_msg_list is set to TRUE.
9361       IF FND_API.to_Boolean( p_init_msg_list )
9362       THEN
9363           FND_MSG_PUB.initialize;
9364       END IF;
9365 
9366 
9367       -- Initialize API return status to SUCCESS
9368       x_return_status := FND_API.G_RET_STS_SUCCESS;
9369 
9370       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9371       THEN
9372           -- Hint: Validate data
9373           -- IF p_PICK_RULE_ID is not NULL and p_PICK_RULE_ID <> G_MISS_CHAR
9374           -- verify if data is valid
9375           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9376           NULL;
9377       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9378       THEN
9379           -- Hint: Validate data
9380           -- IF p_PICK_RULE_ID <> G_MISS_CHAR
9381           -- verify if data is valid
9382           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9383           NULL;
9384       END IF;
9385 
9386       -- Standard call to get message count and if count is 1, get message info.
9387       FND_MSG_PUB.Count_And_Get
9388       (  p_count          =>   x_msg_count,
9389          p_data           =>   x_msg_data
9390       );
9391 
9392 END Validate_PICK_RULE_ID;
9393 
9394 
9395 PROCEDURE Validate_COMMON_BOM_SEQ_ID (
9396     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9397     P_Validation_mode            IN   VARCHAR2,
9398     P_COMMON_BOM_SEQ_ID                IN   NUMBER,
9399     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9400     X_Return_Status              OUT NOCOPY  VARCHAR2,
9401     X_Msg_Count                  OUT NOCOPY  NUMBER,
9402     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9403     )
9404 IS
9405 BEGIN
9406 
9407       -- Initialize message list if p_init_msg_list is set to TRUE.
9408       IF FND_API.to_Boolean( p_init_msg_list )
9409       THEN
9410           FND_MSG_PUB.initialize;
9411       END IF;
9412 
9413 
9414       -- Initialize API return status to SUCCESS
9415       x_return_status := FND_API.G_RET_STS_SUCCESS;
9416 
9417       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9418       THEN
9419           -- Hint: Validate data
9420           -- IF p_COMMON_BOM_SEQ_ID is not NULL and p_COMMON_BOM_SEQ_ID <> G_MISS_CHAR
9421           -- verify if data is valid
9422           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9423           NULL;
9424       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9425       THEN
9426           -- Hint: Validate data
9427           -- IF p_COMMON_BOM_SEQ_ID <> G_MISS_CHAR
9428           -- verify if data is valid
9429           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9430           NULL;
9431       END IF;
9432 
9433       -- Standard call to get message count and if count is 1, get message info.
9434       FND_MSG_PUB.Count_And_Get
9435       (  p_count          =>   x_msg_count,
9436          p_data           =>   x_msg_data
9437       );
9438 
9439 END Validate_COMMON_BOM_SEQ_ID;
9440 
9441 
9442 PROCEDURE Validate_COMMON_ROUTING_SEQ_ID (
9443     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9444     P_Validation_mode            IN   VARCHAR2,
9445     P_COMMON_ROUTING_SEQ_ID                IN   NUMBER,
9446     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9447     X_Return_Status              OUT NOCOPY  VARCHAR2,
9448     X_Msg_Count                  OUT NOCOPY  NUMBER,
9452 BEGIN
9449     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9450     )
9451 IS
9453 
9454       -- Initialize message list if p_init_msg_list is set to TRUE.
9455       IF FND_API.to_Boolean( p_init_msg_list )
9456       THEN
9457           FND_MSG_PUB.initialize;
9458       END IF;
9459 
9460 
9461       -- Initialize API return status to SUCCESS
9462       x_return_status := FND_API.G_RET_STS_SUCCESS;
9463 
9464       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9465       THEN
9466           -- Hint: Validate data
9467           -- IF p_COMMON_ROUTING_SEQ_ID is not NULL and p_COMMON_ROUTING_SEQ_ID <> G_MISS_CHAR
9468           -- verify if data is valid
9469           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9470           NULL;
9471       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9472       THEN
9473           -- Hint: Validate data
9474           -- IF p_COMMON_ROUTING_SEQ_ID <> G_MISS_CHAR
9475           -- verify if data is valid
9476           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9477           NULL;
9478       END IF;
9479 
9480       -- Standard call to get message count and if count is 1, get message info.
9481       FND_MSG_PUB.Count_And_Get
9482       (  p_count          =>   x_msg_count,
9483          p_data           =>   x_msg_data
9484       );
9485 
9486 END Validate_COMMON_ROUTING_SEQ_ID;
9487 
9488 
9489 PROCEDURE Validate_COST_TYPE_ID (
9490     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9491     P_Validation_mode            IN   VARCHAR2,
9492     P_COST_TYPE_ID                IN   NUMBER,
9493     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9494     X_Return_Status              OUT NOCOPY  VARCHAR2,
9495     X_Msg_Count                  OUT NOCOPY  NUMBER,
9496     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9497     )
9498 IS
9499 BEGIN
9500 
9501       -- Initialize message list if p_init_msg_list is set to TRUE.
9502       IF FND_API.to_Boolean( p_init_msg_list )
9503       THEN
9504           FND_MSG_PUB.initialize;
9505       END IF;
9506 
9507 
9508       -- Initialize API return status to SUCCESS
9509       x_return_status := FND_API.G_RET_STS_SUCCESS;
9510 
9511       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9512       THEN
9513           -- Hint: Validate data
9514           -- IF p_COST_TYPE_ID is not NULL and p_COST_TYPE_ID <> G_MISS_CHAR
9515           -- verify if data is valid
9516           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9517           NULL;
9518       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9519       THEN
9520           -- Hint: Validate data
9521           -- IF p_COST_TYPE_ID <> G_MISS_CHAR
9522           -- verify if data is valid
9523           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9524           NULL;
9525       END IF;
9526 
9527       -- Standard call to get message count and if count is 1, get message info.
9528       FND_MSG_PUB.Count_And_Get
9529       (  p_count          =>   x_msg_count,
9530          p_data           =>   x_msg_data
9531       );
9532 
9533 END Validate_COST_TYPE_ID;
9534 
9535 
9536 PROCEDURE Validate_ORG_COST_GROUP_ID (
9537     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9538     P_Validation_mode            IN   VARCHAR2,
9539     P_ORG_COST_GROUP_ID                IN   NUMBER,
9540     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9541     X_Return_Status              OUT NOCOPY  VARCHAR2,
9542     X_Msg_Count                  OUT NOCOPY  NUMBER,
9543     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9544     )
9545 IS
9546 BEGIN
9547 
9548       -- Initialize message list if p_init_msg_list is set to TRUE.
9549       IF FND_API.to_Boolean( p_init_msg_list )
9550       THEN
9551           FND_MSG_PUB.initialize;
9552       END IF;
9553 
9554 
9555       -- Initialize API return status to SUCCESS
9556       x_return_status := FND_API.G_RET_STS_SUCCESS;
9557 
9558       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9559       THEN
9560           -- Hint: Validate data
9561           -- IF p_ORG_COST_GROUP_ID is not NULL and p_ORG_COST_GROUP_ID <> G_MISS_CHAR
9562           -- verify if data is valid
9563           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9564           NULL;
9565       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9566       THEN
9567           -- Hint: Validate data
9568           -- IF p_ORG_COST_GROUP_ID <> G_MISS_CHAR
9569           -- verify if data is valid
9570           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9571           NULL;
9572       END IF;
9573 
9574       -- Standard call to get message count and if count is 1, get message info.
9575       FND_MSG_PUB.Count_And_Get
9576       (  p_count          =>   x_msg_count,
9577          p_data           =>   x_msg_data
9578       );
9579 
9580 END Validate_ORG_COST_GROUP_ID;
9581 
9582 
9583 PROCEDURE Validate_MOVE_ORDER_LINE_ID (
9584     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9588     X_Return_Status              OUT NOCOPY  VARCHAR2,
9585     P_Validation_mode            IN   VARCHAR2,
9586     P_MOVE_ORDER_LINE_ID                IN   NUMBER,
9587     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9589     X_Msg_Count                  OUT NOCOPY  NUMBER,
9590     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9591     )
9592 IS
9593 BEGIN
9594 
9595       -- Initialize message list if p_init_msg_list is set to TRUE.
9596       IF FND_API.to_Boolean( p_init_msg_list )
9597       THEN
9598           FND_MSG_PUB.initialize;
9599       END IF;
9600 
9601 
9602       -- Initialize API return status to SUCCESS
9603       x_return_status := FND_API.G_RET_STS_SUCCESS;
9604 
9605       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9606       THEN
9607           -- Hint: Validate data
9608           -- IF p_MOVE_ORDER_LINE_ID is not NULL and p_MOVE_ORDER_LINE_ID <> G_MISS_CHAR
9609           -- verify if data is valid
9610           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9611           NULL;
9612       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9613       THEN
9614           -- Hint: Validate data
9615           -- IF p_MOVE_ORDER_LINE_ID <> G_MISS_CHAR
9616           -- verify if data is valid
9617           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9618           NULL;
9619       END IF;
9620 
9621       -- Standard call to get message count and if count is 1, get message info.
9622       FND_MSG_PUB.Count_And_Get
9623       (  p_count          =>   x_msg_count,
9624          p_data           =>   x_msg_data
9625       );
9626 
9627 END Validate_MOVE_ORDER_LINE_ID;
9628 
9629 
9630 PROCEDURE Validate_TASK_GROUP_ID (
9631     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9632     P_Validation_mode            IN   VARCHAR2,
9633     P_TASK_GROUP_ID                IN   NUMBER,
9634     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9635     X_Return_Status              OUT NOCOPY  VARCHAR2,
9636     X_Msg_Count                  OUT NOCOPY  NUMBER,
9637     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9638     )
9639 IS
9640 BEGIN
9641 
9642       -- Initialize message list if p_init_msg_list is set to TRUE.
9643       IF FND_API.to_Boolean( p_init_msg_list )
9644       THEN
9645           FND_MSG_PUB.initialize;
9646       END IF;
9647 
9648 
9649       -- Initialize API return status to SUCCESS
9650       x_return_status := FND_API.G_RET_STS_SUCCESS;
9651 
9652       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9653       THEN
9654           -- Hint: Validate data
9655           -- IF p_TASK_GROUP_ID is not NULL and p_TASK_GROUP_ID <> G_MISS_CHAR
9656           -- verify if data is valid
9657           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9658           NULL;
9659       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9660       THEN
9661           -- Hint: Validate data
9662           -- IF p_TASK_GROUP_ID <> G_MISS_CHAR
9663           -- verify if data is valid
9664           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9665           NULL;
9666       END IF;
9667 
9668       -- Standard call to get message count and if count is 1, get message info.
9669       FND_MSG_PUB.Count_And_Get
9670       (  p_count          =>   x_msg_count,
9671          p_data           =>   x_msg_data
9672       );
9673 
9674 END Validate_TASK_GROUP_ID;
9675 
9676 
9677 PROCEDURE Validate_PICK_SLIP_NUMBER (
9678     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9679     P_Validation_mode            IN   VARCHAR2,
9680     P_PICK_SLIP_NUMBER                IN   NUMBER,
9681     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9682     X_Return_Status              OUT NOCOPY  VARCHAR2,
9683     X_Msg_Count                  OUT NOCOPY  NUMBER,
9684     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9685     )
9686 IS
9687 BEGIN
9688 
9689       -- Initialize message list if p_init_msg_list is set to TRUE.
9690       IF FND_API.to_Boolean( p_init_msg_list )
9691       THEN
9692           FND_MSG_PUB.initialize;
9693       END IF;
9694 
9695 
9696       -- Initialize API return status to SUCCESS
9697       x_return_status := FND_API.G_RET_STS_SUCCESS;
9698 
9699       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9700       THEN
9701           -- Hint: Validate data
9702           -- IF p_PICK_SLIP_NUMBER is not NULL and p_PICK_SLIP_NUMBER <> G_MISS_CHAR
9703           -- verify if data is valid
9704           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9705           NULL;
9706       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9707       THEN
9708           -- Hint: Validate data
9709           -- IF p_PICK_SLIP_NUMBER <> G_MISS_CHAR
9710           -- verify if data is valid
9711           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9712           NULL;
9713       END IF;
9714 
9715       -- Standard call to get message count and if count is 1, get message info.
9719       );
9716       FND_MSG_PUB.Count_And_Get
9717       (  p_count          =>   x_msg_count,
9718          p_data           =>   x_msg_data
9720 
9721 END Validate_PICK_SLIP_NUMBER;
9722 
9723 
9724 PROCEDURE Validate_RESERVATION_ID (
9725     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9726     P_Validation_mode            IN   VARCHAR2,
9727     P_RESERVATION_ID                IN   NUMBER,
9728     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9729     X_Return_Status              OUT NOCOPY  VARCHAR2,
9730     X_Msg_Count                  OUT NOCOPY  NUMBER,
9731     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9732     )
9733 IS
9734 BEGIN
9735 
9736       -- Initialize message list if p_init_msg_list is set to TRUE.
9737       IF FND_API.to_Boolean( p_init_msg_list )
9738       THEN
9739           FND_MSG_PUB.initialize;
9740       END IF;
9741 
9742 
9743       -- Initialize API return status to SUCCESS
9744       x_return_status := FND_API.G_RET_STS_SUCCESS;
9745 
9746       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9747       THEN
9748           -- Hint: Validate data
9749           -- IF p_RESERVATION_ID is not NULL and p_RESERVATION_ID <> G_MISS_CHAR
9750           -- verify if data is valid
9751           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9752           NULL;
9753       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9754       THEN
9755           -- Hint: Validate data
9756           -- IF p_RESERVATION_ID <> G_MISS_CHAR
9757           -- verify if data is valid
9758           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9759           NULL;
9760       END IF;
9761 
9762       -- Standard call to get message count and if count is 1, get message info.
9763       FND_MSG_PUB.Count_And_Get
9764       (  p_count          =>   x_msg_count,
9765          p_data           =>   x_msg_data
9766       );
9767 
9768 END Validate_RESERVATION_ID;
9769 
9770 
9771 PROCEDURE Validate_TRANSACTION_STATUS (
9772     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9773     P_Validation_mode            IN   VARCHAR2,
9774     P_TRANSACTION_STATUS                IN   NUMBER,
9775     -- Hint: You may add 'X_Item_Property_Rec  OUT NOCOPY     JTF_PLSQL_API.ITEM_PROPERTY_REC_TYPE' here if you'd like to pass back item property.
9776     X_Return_Status              OUT NOCOPY  VARCHAR2,
9777     X_Msg_Count                  OUT NOCOPY  NUMBER,
9778     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9779     )
9780 IS
9781 BEGIN
9782 
9783       -- Initialize message list if p_init_msg_list is set to TRUE.
9784       IF FND_API.to_Boolean( p_init_msg_list )
9785       THEN
9786           FND_MSG_PUB.initialize;
9787       END IF;
9788 
9789 
9790       -- Initialize API return status to SUCCESS
9791       x_return_status := FND_API.G_RET_STS_SUCCESS;
9792 
9793       IF(p_validation_mode = JTF_PLSQL_API.G_CREATE)
9794       THEN
9795           -- Hint: Validate data
9796           -- IF p_TRANSACTION_STATUS is not NULL and p_TRANSACTION_STATUS <> G_MISS_CHAR
9797           -- verify if data is valid
9798           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9799           NULL;
9800       ELSIF(p_validation_mode = JTF_PLSQL_API.G_UPDATE)
9801       THEN
9802           -- Hint: Validate data
9803           -- IF p_TRANSACTION_STATUS <> G_MISS_CHAR
9804           -- verify if data is valid
9805           -- if data is not valid : x_return_status := FND_API.G_RET_STS_ERROR;
9806           NULL;
9807       END IF;
9808 
9809       -- Standard call to get message count and if count is 1, get message info.
9810       FND_MSG_PUB.Count_And_Get
9811       (  p_count          =>   x_msg_count,
9812          p_data           =>   x_msg_data
9813       );
9814 
9815 END Validate_TRANSACTION_STATUS;
9816 
9817 
9818 -- Hint: inter-field level validation can be added here.
9819 -- Hint: If p_validation_mode = JTF_PLSQL_API.G_VALIDATE_UPDATE, we should use cursor
9820 --       to get old values for all fields used in inter-field validation and set all G_MISS_XXX fields to original value
9821 --       stored in database table.
9822 PROCEDURE Validate_CSP_rec(
9823     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9824     P_Validation_mode            IN   VARCHAR2,
9825     P_CSP_Rec     IN    CSP_Rec_Type,
9826     X_Return_Status              OUT NOCOPY  VARCHAR2,
9827     X_Msg_Count                  OUT NOCOPY  NUMBER,
9828     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9829     )
9830 IS
9831 BEGIN
9832 
9833       -- Initialize message list if p_init_msg_list is set to TRUE.
9834       IF FND_API.to_Boolean( p_init_msg_list )
9835       THEN
9836           FND_MSG_PUB.initialize;
9837       END IF;
9838 
9839 
9840       -- Initialize API return status to SUCCESS
9841       x_return_status := FND_API.G_RET_STS_SUCCESS;
9842 
9843       -- Hint: Validate data
9844       -- If data not valid
9845       -- THEN
9846       -- x_return_status := FND_API.G_RET_STS_ERROR;
9847 
9848       -- Debug Message
9849       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'API_INVALID_RECORD');
9850 
9854          p_data           =>   x_msg_data
9851       -- Standard call to get message count and if count is 1, get message info.
9852       FND_MSG_PUB.Count_And_Get
9853       (  p_count          =>   x_msg_count,
9855       );
9856 
9857 END Validate_CSP_Rec;
9858 
9859 PROCEDURE Validate_material_transactions(
9860     P_Init_Msg_List              IN   VARCHAR2     := FND_API.G_FALSE,
9861     P_Validation_level           IN   NUMBER := FND_API.G_VALID_LEVEL_FULL,
9862     P_Validation_mode            IN   VARCHAR2,
9863     P_CSP_Rec     IN    CSP_Rec_Type,
9864     X_Return_Status              OUT NOCOPY  VARCHAR2,
9865     X_Msg_Count                  OUT NOCOPY  NUMBER,
9866     X_Msg_Data                   OUT NOCOPY  VARCHAR2
9867     )
9868 IS
9869 l_api_name   CONSTANT VARCHAR2(30) := 'Validate_material_transactions';
9870  BEGIN
9871 
9872       -- Debug Message
9873       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'start');
9874 
9875 
9876       -- Initialize API return status to SUCCESS
9877       x_return_status := FND_API.G_RET_STS_SUCCESS;
9878 
9879       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_ITEM) THEN
9880           -- Hint: We provide validation procedure for every column. Developer should delete
9881           --       unnecessary validation procedures.
9882           Validate_TRANSACTION_HEADER_ID(
9883               p_init_msg_list          => FND_API.G_FALSE,
9884               p_validation_mode        => p_validation_mode,
9885               p_TRANSACTION_HEADER_ID   => P_CSP_Rec.TRANSACTION_HEADER_ID,
9886               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9887               x_return_status          => x_return_status,
9888               x_msg_count              => x_msg_count,
9889               x_msg_data               => x_msg_data);
9890           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9891               raise FND_API.G_EXC_ERROR;
9892           END IF;
9893 
9894           Validate_TRANSACTION_TEMP_ID(
9895               p_init_msg_list          => FND_API.G_FALSE,
9896               p_validation_mode        => p_validation_mode,
9897               p_TRANSACTION_TEMP_ID   => P_CSP_Rec.TRANSACTION_TEMP_ID,
9898               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9899               x_return_status          => x_return_status,
9900               x_msg_count              => x_msg_count,
9901               x_msg_data               => x_msg_data);
9902           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9903               raise FND_API.G_EXC_ERROR;
9904           END IF;
9905 
9906           Validate_SOURCE_CODE(
9907               p_init_msg_list          => FND_API.G_FALSE,
9908               p_validation_mode        => p_validation_mode,
9909               p_SOURCE_CODE   => P_CSP_Rec.SOURCE_CODE,
9910               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9911               x_return_status          => x_return_status,
9912               x_msg_count              => x_msg_count,
9913               x_msg_data               => x_msg_data);
9914           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9915               raise FND_API.G_EXC_ERROR;
9916           END IF;
9917 
9918           Validate_SOURCE_LINE_ID(
9919               p_init_msg_list          => FND_API.G_FALSE,
9920               p_validation_mode        => p_validation_mode,
9921               p_SOURCE_LINE_ID   => P_CSP_Rec.SOURCE_LINE_ID,
9922               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9923               x_return_status          => x_return_status,
9924               x_msg_count              => x_msg_count,
9925               x_msg_data               => x_msg_data);
9926           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9927               raise FND_API.G_EXC_ERROR;
9928           END IF;
9929 
9930           Validate_TRANSACTION_MODE(
9931               p_init_msg_list          => FND_API.G_FALSE,
9932               p_validation_mode        => p_validation_mode,
9933               p_TRANSACTION_MODE   => P_CSP_Rec.TRANSACTION_MODE,
9934               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9935               x_return_status          => x_return_status,
9936               x_msg_count              => x_msg_count,
9937               x_msg_data               => x_msg_data);
9938           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9939               raise FND_API.G_EXC_ERROR;
9940           END IF;
9941 
9942           Validate_LOCK_FLAG(
9943               p_init_msg_list          => FND_API.G_FALSE,
9944               p_validation_mode        => p_validation_mode,
9945               p_LOCK_FLAG   => P_CSP_Rec.LOCK_FLAG,
9946               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9947               x_return_status          => x_return_status,
9948               x_msg_count              => x_msg_count,
9949               x_msg_data               => x_msg_data);
9950           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9951               raise FND_API.G_EXC_ERROR;
9952           END IF;
9953 
9954           Validate_REQUEST_ID(
9958               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9955               p_init_msg_list          => FND_API.G_FALSE,
9956               p_validation_mode        => p_validation_mode,
9957               p_REQUEST_ID   => P_CSP_Rec.REQUEST_ID,
9959               x_return_status          => x_return_status,
9960               x_msg_count              => x_msg_count,
9961               x_msg_data               => x_msg_data);
9962           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9963               raise FND_API.G_EXC_ERROR;
9964           END IF;
9965 
9966           Validate_INVENTORY_ITEM_ID(
9967               p_init_msg_list          => FND_API.G_FALSE,
9968               p_validation_mode        => p_validation_mode,
9969               p_INVENTORY_ITEM_ID   => P_CSP_Rec.INVENTORY_ITEM_ID,
9970               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9971               x_return_status          => x_return_status,
9972               x_msg_count              => x_msg_count,
9973               x_msg_data               => x_msg_data);
9974           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9975               raise FND_API.G_EXC_ERROR;
9976           END IF;
9977 
9978           Validate_REVISION(
9979               p_init_msg_list          => FND_API.G_FALSE,
9980               p_validation_mode        => p_validation_mode,
9981               p_REVISION   => P_CSP_Rec.REVISION,
9982               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9983               x_return_status          => x_return_status,
9984               x_msg_count              => x_msg_count,
9985               x_msg_data               => x_msg_data);
9986           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9987               raise FND_API.G_EXC_ERROR;
9988           END IF;
9989 
9990           Validate_ORGANIZATION_ID(
9991               p_init_msg_list          => FND_API.G_FALSE,
9992               p_validation_mode        => p_validation_mode,
9993               p_ORGANIZATION_ID   => P_CSP_Rec.ORGANIZATION_ID,
9994               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
9995               x_return_status          => x_return_status,
9996               x_msg_count              => x_msg_count,
9997               x_msg_data               => x_msg_data);
9998           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
9999               raise FND_API.G_EXC_ERROR;
10000           END IF;
10001 
10002           Validate_SUBINVENTORY_CODE(
10003               p_init_msg_list          => FND_API.G_FALSE,
10004               p_validation_mode        => p_validation_mode,
10005               p_SUBINVENTORY_CODE   => P_CSP_Rec.SUBINVENTORY_CODE,
10006               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10007               x_return_status          => x_return_status,
10008               x_msg_count              => x_msg_count,
10009               x_msg_data               => x_msg_data);
10010           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10011               raise FND_API.G_EXC_ERROR;
10012           END IF;
10013 
10014           Validate_LOCATOR_ID(
10015               p_init_msg_list          => FND_API.G_FALSE,
10016               p_validation_mode        => p_validation_mode,
10017               p_LOCATOR_ID   => P_CSP_Rec.LOCATOR_ID,
10018               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10019               x_return_status          => x_return_status,
10020               x_msg_count              => x_msg_count,
10021               x_msg_data               => x_msg_data);
10022           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10023               raise FND_API.G_EXC_ERROR;
10024           END IF;
10025 
10026           Validate_TRANSACTION_QUANTITY(
10027               p_init_msg_list          => FND_API.G_FALSE,
10028               p_validation_mode        => p_validation_mode,
10029               p_TRANSACTION_QUANTITY   => P_CSP_Rec.TRANSACTION_QUANTITY,
10030               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10031               x_return_status          => x_return_status,
10032               x_msg_count              => x_msg_count,
10033               x_msg_data               => x_msg_data);
10034           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10035               raise FND_API.G_EXC_ERROR;
10036           END IF;
10037 
10038           Validate_PRIMARY_QUANTITY(
10039               p_init_msg_list          => FND_API.G_FALSE,
10040               p_validation_mode        => p_validation_mode,
10041               p_PRIMARY_QUANTITY   => P_CSP_Rec.PRIMARY_QUANTITY,
10042               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10043               x_return_status          => x_return_status,
10044               x_msg_count              => x_msg_count,
10045               x_msg_data               => x_msg_data);
10046           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10047               raise FND_API.G_EXC_ERROR;
10048           END IF;
10049 
10050           Validate_TRANSACTION_UOM(
10051               p_init_msg_list          => FND_API.G_FALSE,
10052               p_validation_mode        => p_validation_mode,
10053               p_TRANSACTION_UOM   => P_CSP_Rec.TRANSACTION_UOM,
10057               x_msg_data               => x_msg_data);
10054               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10055               x_return_status          => x_return_status,
10056               x_msg_count              => x_msg_count,
10058           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10059               raise FND_API.G_EXC_ERROR;
10060           END IF;
10061 
10062           Validate_TRANSACTION_COST(
10063               p_init_msg_list          => FND_API.G_FALSE,
10064               p_validation_mode        => p_validation_mode,
10065               p_TRANSACTION_COST   => P_CSP_Rec.TRANSACTION_COST,
10066               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10067               x_return_status          => x_return_status,
10068               x_msg_count              => x_msg_count,
10069               x_msg_data               => x_msg_data);
10070           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10071               raise FND_API.G_EXC_ERROR;
10072           END IF;
10073 
10074           Validate_TRANSACTION_TYPE_ID(
10075               p_init_msg_list          => FND_API.G_FALSE,
10076               p_validation_mode        => p_validation_mode,
10077               p_TRANSACTION_TYPE_ID   => P_CSP_Rec.TRANSACTION_TYPE_ID,
10078               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10079               x_return_status          => x_return_status,
10080               x_msg_count              => x_msg_count,
10081               x_msg_data               => x_msg_data);
10082           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10083               raise FND_API.G_EXC_ERROR;
10084           END IF;
10085 
10086           Validate_TRANSACTION_ACTION_ID(
10087               p_init_msg_list          => FND_API.G_FALSE,
10088               p_validation_mode        => p_validation_mode,
10089               p_TRANSACTION_ACTION_ID   => P_CSP_Rec.TRANSACTION_ACTION_ID,
10090               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10091               x_return_status          => x_return_status,
10092               x_msg_count              => x_msg_count,
10093               x_msg_data               => x_msg_data);
10094           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10095               raise FND_API.G_EXC_ERROR;
10096           END IF;
10097 
10098           Validate_TRANSACTION_SOURCE_TYPE_ID(
10099               p_init_msg_list          => FND_API.G_FALSE,
10100               p_validation_mode        => p_validation_mode,
10101               p_TRANSACTION_SOURCE_TYPE_ID   => P_CSP_Rec.TRANSACTION_SOURCE_TYPE_ID,
10102               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10103               x_return_status          => x_return_status,
10104               x_msg_count              => x_msg_count,
10105               x_msg_data               => x_msg_data);
10106           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10107               raise FND_API.G_EXC_ERROR;
10108           END IF;
10109 
10110           Validate_TRANSACTION_SOURCE_ID(
10111               p_init_msg_list          => FND_API.G_FALSE,
10112               p_validation_mode        => p_validation_mode,
10113               p_TRANSACTION_SOURCE_ID   => P_CSP_Rec.TRANSACTION_SOURCE_ID,
10114               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10115               x_return_status          => x_return_status,
10116               x_msg_count              => x_msg_count,
10117               x_msg_data               => x_msg_data);
10118           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10119               raise FND_API.G_EXC_ERROR;
10120           END IF;
10121 
10122           Validate_TRANSACTION_SOURCE_NAME(
10123               p_init_msg_list          => FND_API.G_FALSE,
10124               p_validation_mode        => p_validation_mode,
10125               p_TRANSACTION_SOURCE_NAME   => P_CSP_Rec.TRANSACTION_SOURCE_NAME,
10126               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10127               x_return_status          => x_return_status,
10128               x_msg_count              => x_msg_count,
10129               x_msg_data               => x_msg_data);
10130           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10131               raise FND_API.G_EXC_ERROR;
10132           END IF;
10133 
10134           Validate_TRANSACTION_DATE(
10135               p_init_msg_list          => FND_API.G_FALSE,
10136               p_validation_mode        => p_validation_mode,
10137               p_TRANSACTION_DATE   => P_CSP_Rec.TRANSACTION_DATE,
10138               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10139               x_return_status          => x_return_status,
10140               x_msg_count              => x_msg_count,
10141               x_msg_data               => x_msg_data);
10142           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10143               raise FND_API.G_EXC_ERROR;
10144           END IF;
10145 
10146           Validate_ACCT_PERIOD_ID(
10147               p_init_msg_list          => FND_API.G_FALSE,
10148               p_validation_mode        => p_validation_mode,
10149               p_ACCT_PERIOD_ID   => P_CSP_Rec.ACCT_PERIOD_ID,
10150               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10154           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10151               x_return_status          => x_return_status,
10152               x_msg_count              => x_msg_count,
10153               x_msg_data               => x_msg_data);
10155               raise FND_API.G_EXC_ERROR;
10156           END IF;
10157 
10158           Validate_DISTRIBUTION_ACCOUNT_ID(
10159               p_init_msg_list          => FND_API.G_FALSE,
10160               p_validation_mode        => p_validation_mode,
10161               p_DISTRIBUTION_ACCOUNT_ID   => P_CSP_Rec.DISTRIBUTION_ACCOUNT_ID,
10162               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10163               x_return_status          => x_return_status,
10164               x_msg_count              => x_msg_count,
10165               x_msg_data               => x_msg_data);
10166           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10167               raise FND_API.G_EXC_ERROR;
10168           END IF;
10169 
10170           Validate_TRANSACTION_REFERENCE(
10171               p_init_msg_list          => FND_API.G_FALSE,
10172               p_validation_mode        => p_validation_mode,
10173               p_TRANSACTION_REFERENCE   => P_CSP_Rec.TRANSACTION_REFERENCE,
10174               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10175               x_return_status          => x_return_status,
10176               x_msg_count              => x_msg_count,
10177               x_msg_data               => x_msg_data);
10178           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10179               raise FND_API.G_EXC_ERROR;
10180           END IF;
10181 
10182           Validate_REQUISITION_LINE_ID(
10183               p_init_msg_list          => FND_API.G_FALSE,
10184               p_validation_mode        => p_validation_mode,
10185               p_REQUISITION_LINE_ID   => P_CSP_Rec.REQUISITION_LINE_ID,
10186               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10187               x_return_status          => x_return_status,
10188               x_msg_count              => x_msg_count,
10189               x_msg_data               => x_msg_data);
10190           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10191               raise FND_API.G_EXC_ERROR;
10192           END IF;
10193 
10194           Validate_REQUISITION_DISTRIBUTION_ID(
10195               p_init_msg_list          => FND_API.G_FALSE,
10196               p_validation_mode        => p_validation_mode,
10197               p_REQUISITION_DISTRIBUTION_ID   => P_CSP_Rec.REQUISITION_DISTRIBUTION_ID,
10198               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10199               x_return_status          => x_return_status,
10200               x_msg_count              => x_msg_count,
10201               x_msg_data               => x_msg_data);
10202           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10203               raise FND_API.G_EXC_ERROR;
10204           END IF;
10205 
10206           Validate_REASON_ID(
10207               p_init_msg_list          => FND_API.G_FALSE,
10208               p_validation_mode        => p_validation_mode,
10209               p_REASON_ID   => P_CSP_Rec.REASON_ID,
10210               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10211               x_return_status          => x_return_status,
10212               x_msg_count              => x_msg_count,
10213               x_msg_data               => x_msg_data);
10214           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10215               raise FND_API.G_EXC_ERROR;
10216           END IF;
10217 
10218           Validate_LOT_NUMBER(
10219               p_init_msg_list          => FND_API.G_FALSE,
10220               p_validation_mode        => p_validation_mode,
10221               p_LOT_NUMBER   => P_CSP_Rec.LOT_NUMBER,
10222               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10223               x_return_status          => x_return_status,
10224               x_msg_count              => x_msg_count,
10225               x_msg_data               => x_msg_data);
10226           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10227               raise FND_API.G_EXC_ERROR;
10228           END IF;
10229 
10230           Validate_LOT_EXPIRATION_DATE(
10231               p_init_msg_list          => FND_API.G_FALSE,
10232               p_validation_mode        => p_validation_mode,
10233               p_LOT_EXPIRATION_DATE   => P_CSP_Rec.LOT_EXPIRATION_DATE,
10234               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10235               x_return_status          => x_return_status,
10236               x_msg_count              => x_msg_count,
10237               x_msg_data               => x_msg_data);
10238           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10239               raise FND_API.G_EXC_ERROR;
10240           END IF;
10241 
10242           Validate_SERIAL_NUMBER(
10243               p_init_msg_list          => FND_API.G_FALSE,
10244               p_validation_mode        => p_validation_mode,
10245               p_SERIAL_NUMBER   => P_CSP_Rec.SERIAL_NUMBER,
10246               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10247               x_return_status          => x_return_status,
10251               raise FND_API.G_EXC_ERROR;
10248               x_msg_count              => x_msg_count,
10249               x_msg_data               => x_msg_data);
10250           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10252           END IF;
10253 
10254           Validate_RECEIVING_DOCUMENT(
10255               p_init_msg_list          => FND_API.G_FALSE,
10256               p_validation_mode        => p_validation_mode,
10257               p_RECEIVING_DOCUMENT   => P_CSP_Rec.RECEIVING_DOCUMENT,
10258               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10259               x_return_status          => x_return_status,
10260               x_msg_count              => x_msg_count,
10261               x_msg_data               => x_msg_data);
10262           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10263               raise FND_API.G_EXC_ERROR;
10264           END IF;
10265 
10266           Validate_DEMAND_ID(
10267               p_init_msg_list          => FND_API.G_FALSE,
10268               p_validation_mode        => p_validation_mode,
10269               p_DEMAND_ID   => P_CSP_Rec.DEMAND_ID,
10270               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10271               x_return_status          => x_return_status,
10272               x_msg_count              => x_msg_count,
10273               x_msg_data               => x_msg_data);
10274           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10275               raise FND_API.G_EXC_ERROR;
10276           END IF;
10277 
10278           Validate_RCV_TRANSACTION_ID(
10279               p_init_msg_list          => FND_API.G_FALSE,
10280               p_validation_mode        => p_validation_mode,
10281               p_RCV_TRANSACTION_ID   => P_CSP_Rec.RCV_TRANSACTION_ID,
10282               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10283               x_return_status          => x_return_status,
10284               x_msg_count              => x_msg_count,
10285               x_msg_data               => x_msg_data);
10286           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10287               raise FND_API.G_EXC_ERROR;
10288           END IF;
10289 
10290           Validate_MOVE_TRANSACTION_ID(
10291               p_init_msg_list          => FND_API.G_FALSE,
10292               p_validation_mode        => p_validation_mode,
10293               p_MOVE_TRANSACTION_ID   => P_CSP_Rec.MOVE_TRANSACTION_ID,
10294               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10295               x_return_status          => x_return_status,
10296               x_msg_count              => x_msg_count,
10297               x_msg_data               => x_msg_data);
10298           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10299               raise FND_API.G_EXC_ERROR;
10300           END IF;
10301 
10302           Validate_COMPLETION_TRANSACTION_ID(
10303               p_init_msg_list          => FND_API.G_FALSE,
10304               p_validation_mode        => p_validation_mode,
10305               p_COMPLETION_TRANSACTION_ID   => P_CSP_Rec.COMPLETION_TRANSACTION_ID,
10306               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10307               x_return_status          => x_return_status,
10308               x_msg_count              => x_msg_count,
10309               x_msg_data               => x_msg_data);
10310           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10311               raise FND_API.G_EXC_ERROR;
10312           END IF;
10313 
10314           Validate_WIP_ENTITY_TYPE(
10315               p_init_msg_list          => FND_API.G_FALSE,
10316               p_validation_mode        => p_validation_mode,
10317               p_WIP_ENTITY_TYPE   => P_CSP_Rec.WIP_ENTITY_TYPE,
10318               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10319               x_return_status          => x_return_status,
10320               x_msg_count              => x_msg_count,
10321               x_msg_data               => x_msg_data);
10322           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10323               raise FND_API.G_EXC_ERROR;
10324           END IF;
10325 
10326           Validate_SCHEDULE_ID(
10327               p_init_msg_list          => FND_API.G_FALSE,
10328               p_validation_mode        => p_validation_mode,
10329               p_SCHEDULE_ID   => P_CSP_Rec.SCHEDULE_ID,
10330               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10331               x_return_status          => x_return_status,
10332               x_msg_count              => x_msg_count,
10333               x_msg_data               => x_msg_data);
10334           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10335               raise FND_API.G_EXC_ERROR;
10336           END IF;
10337 
10338           Validate_REPETITIVE_LINE_ID(
10339               p_init_msg_list          => FND_API.G_FALSE,
10340               p_validation_mode        => p_validation_mode,
10341               p_REPETITIVE_LINE_ID   => P_CSP_Rec.REPETITIVE_LINE_ID,
10342               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10343               x_return_status          => x_return_status,
10344               x_msg_count              => x_msg_count,
10345               x_msg_data               => x_msg_data);
10346           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10347               raise FND_API.G_EXC_ERROR;
10348           END IF;
10352               p_validation_mode        => p_validation_mode,
10349 
10350           Validate_EMPLOYEE_CODE(
10351               p_init_msg_list          => FND_API.G_FALSE,
10353               p_EMPLOYEE_CODE   => P_CSP_Rec.EMPLOYEE_CODE,
10354               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10355               x_return_status          => x_return_status,
10356               x_msg_count              => x_msg_count,
10357               x_msg_data               => x_msg_data);
10358           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10359               raise FND_API.G_EXC_ERROR;
10360           END IF;
10361 
10362           Validate_PRIMARY_SWITCH(
10363               p_init_msg_list          => FND_API.G_FALSE,
10364               p_validation_mode        => p_validation_mode,
10365               p_PRIMARY_SWITCH   => P_CSP_Rec.PRIMARY_SWITCH,
10366               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10367               x_return_status          => x_return_status,
10368               x_msg_count              => x_msg_count,
10369               x_msg_data               => x_msg_data);
10370           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10371               raise FND_API.G_EXC_ERROR;
10372           END IF;
10373 
10374           Validate_SCHEDULE_UPDATE_CODE(
10375               p_init_msg_list          => FND_API.G_FALSE,
10376               p_validation_mode        => p_validation_mode,
10377               p_SCHEDULE_UPDATE_CODE   => P_CSP_Rec.SCHEDULE_UPDATE_CODE,
10378               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10379               x_return_status          => x_return_status,
10380               x_msg_count              => x_msg_count,
10381               x_msg_data               => x_msg_data);
10382           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10383               raise FND_API.G_EXC_ERROR;
10384           END IF;
10385 
10386           Validate_SETUP_TEARDOWN_CODE(
10387               p_init_msg_list          => FND_API.G_FALSE,
10388               p_validation_mode        => p_validation_mode,
10389               p_SETUP_TEARDOWN_CODE   => P_CSP_Rec.SETUP_TEARDOWN_CODE,
10390               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10391               x_return_status          => x_return_status,
10392               x_msg_count              => x_msg_count,
10393               x_msg_data               => x_msg_data);
10394           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10395               raise FND_API.G_EXC_ERROR;
10396           END IF;
10397 
10398           Validate_ITEM_ORDERING(
10399               p_init_msg_list          => FND_API.G_FALSE,
10400               p_validation_mode        => p_validation_mode,
10401               p_ITEM_ORDERING   => P_CSP_Rec.ITEM_ORDERING,
10402               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10403               x_return_status          => x_return_status,
10404               x_msg_count              => x_msg_count,
10405               x_msg_data               => x_msg_data);
10406           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10407               raise FND_API.G_EXC_ERROR;
10408           END IF;
10409 
10410           Validate_NEGATIVE_REQ_FLAG(
10411               p_init_msg_list          => FND_API.G_FALSE,
10412               p_validation_mode        => p_validation_mode,
10413               p_NEGATIVE_REQ_FLAG   => P_CSP_Rec.NEGATIVE_REQ_FLAG,
10414               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10415               x_return_status          => x_return_status,
10416               x_msg_count              => x_msg_count,
10417               x_msg_data               => x_msg_data);
10418           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10419               raise FND_API.G_EXC_ERROR;
10420           END IF;
10421 
10422           Validate_OPERATION_SEQ_NUM(
10423               p_init_msg_list          => FND_API.G_FALSE,
10424               p_validation_mode        => p_validation_mode,
10425               p_OPERATION_SEQ_NUM   => P_CSP_Rec.OPERATION_SEQ_NUM,
10426               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10427               x_return_status          => x_return_status,
10428               x_msg_count              => x_msg_count,
10429               x_msg_data               => x_msg_data);
10430           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10431               raise FND_API.G_EXC_ERROR;
10432           END IF;
10433 
10434           Validate_PICKING_LINE_ID(
10435               p_init_msg_list          => FND_API.G_FALSE,
10436               p_validation_mode        => p_validation_mode,
10437               p_PICKING_LINE_ID   => P_CSP_Rec.PICKING_LINE_ID,
10438               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10439               x_return_status          => x_return_status,
10440               x_msg_count              => x_msg_count,
10441               x_msg_data               => x_msg_data);
10442           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10443               raise FND_API.G_EXC_ERROR;
10444           END IF;
10445 
10446           Validate_TRX_SOURCE_LINE_ID(
10447               p_init_msg_list          => FND_API.G_FALSE,
10448               p_validation_mode        => p_validation_mode,
10449               p_TRX_SOURCE_LINE_ID   => P_CSP_Rec.TRX_SOURCE_LINE_ID,
10453               x_msg_data               => x_msg_data);
10450               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10451               x_return_status          => x_return_status,
10452               x_msg_count              => x_msg_count,
10454           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10455               raise FND_API.G_EXC_ERROR;
10456           END IF;
10457 
10458           Validate_TRX_SOURCE_DELIVERY_ID(
10459               p_init_msg_list          => FND_API.G_FALSE,
10460               p_validation_mode        => p_validation_mode,
10461               p_TRX_SOURCE_DELIVERY_ID   => P_CSP_Rec.TRX_SOURCE_DELIVERY_ID,
10462               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10463               x_return_status          => x_return_status,
10464               x_msg_count              => x_msg_count,
10465               x_msg_data               => x_msg_data);
10466           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10467               raise FND_API.G_EXC_ERROR;
10468           END IF;
10469 
10470           Validate_PHYSICAL_ADJUSTMENT_ID(
10471               p_init_msg_list          => FND_API.G_FALSE,
10472               p_validation_mode        => p_validation_mode,
10473               p_PHYSICAL_ADJUSTMENT_ID   => P_CSP_Rec.PHYSICAL_ADJUSTMENT_ID,
10474               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10475               x_return_status          => x_return_status,
10476               x_msg_count              => x_msg_count,
10477               x_msg_data               => x_msg_data);
10478           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10479               raise FND_API.G_EXC_ERROR;
10480           END IF;
10481 
10482           Validate_CYCLE_COUNT_ID(
10483               p_init_msg_list          => FND_API.G_FALSE,
10484               p_validation_mode        => p_validation_mode,
10485               p_CYCLE_COUNT_ID   => P_CSP_Rec.CYCLE_COUNT_ID,
10486               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10487               x_return_status          => x_return_status,
10488               x_msg_count              => x_msg_count,
10489               x_msg_data               => x_msg_data);
10490           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10491               raise FND_API.G_EXC_ERROR;
10492           END IF;
10493 
10494           Validate_RMA_LINE_ID(
10495               p_init_msg_list          => FND_API.G_FALSE,
10496               p_validation_mode        => p_validation_mode,
10497               p_RMA_LINE_ID   => P_CSP_Rec.RMA_LINE_ID,
10498               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10499               x_return_status          => x_return_status,
10500               x_msg_count              => x_msg_count,
10501               x_msg_data               => x_msg_data);
10502           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10503               raise FND_API.G_EXC_ERROR;
10504           END IF;
10505 
10506           Validate_CUSTOMER_SHIP_ID(
10507               p_init_msg_list          => FND_API.G_FALSE,
10508               p_validation_mode        => p_validation_mode,
10509               p_CUSTOMER_SHIP_ID   => P_CSP_Rec.CUSTOMER_SHIP_ID,
10510               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10511               x_return_status          => x_return_status,
10512               x_msg_count              => x_msg_count,
10513               x_msg_data               => x_msg_data);
10514           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10515               raise FND_API.G_EXC_ERROR;
10516           END IF;
10517 
10518           Validate_CURRENCY_CODE(
10519               p_init_msg_list          => FND_API.G_FALSE,
10520               p_validation_mode        => p_validation_mode,
10521               p_CURRENCY_CODE   => P_CSP_Rec.CURRENCY_CODE,
10522               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10523               x_return_status          => x_return_status,
10524               x_msg_count              => x_msg_count,
10525               x_msg_data               => x_msg_data);
10526           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10527               raise FND_API.G_EXC_ERROR;
10528           END IF;
10529 
10530           Validate_CURRENCY_CONVERSION_RATE(
10531               p_init_msg_list          => FND_API.G_FALSE,
10532               p_validation_mode        => p_validation_mode,
10533               p_CURRENCY_CONVERSION_RATE   => P_CSP_Rec.CURRENCY_CONVERSION_RATE,
10534               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10535               x_return_status          => x_return_status,
10536               x_msg_count              => x_msg_count,
10537               x_msg_data               => x_msg_data);
10538           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10539               raise FND_API.G_EXC_ERROR;
10540           END IF;
10541 
10542           Validate_CURRENCY_CONVERSION_TYPE(
10543               p_init_msg_list          => FND_API.G_FALSE,
10544               p_validation_mode        => p_validation_mode,
10545               p_CURRENCY_CONVERSION_TYPE   => P_CSP_Rec.CURRENCY_CONVERSION_TYPE,
10546               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10547               x_return_status          => x_return_status,
10551               raise FND_API.G_EXC_ERROR;
10548               x_msg_count              => x_msg_count,
10549               x_msg_data               => x_msg_data);
10550           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10552           END IF;
10553 
10554           Validate_CURRENCY_CONVERSION_DATE(
10555               p_init_msg_list          => FND_API.G_FALSE,
10556               p_validation_mode        => p_validation_mode,
10557               p_CURRENCY_CONVERSION_DATE   => P_CSP_Rec.CURRENCY_CONVERSION_DATE,
10558               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10559               x_return_status          => x_return_status,
10560               x_msg_count              => x_msg_count,
10561               x_msg_data               => x_msg_data);
10562           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10563               raise FND_API.G_EXC_ERROR;
10564           END IF;
10565 
10566           Validate_USSGL_TRANSACTION_CODE(
10567               p_init_msg_list          => FND_API.G_FALSE,
10568               p_validation_mode        => p_validation_mode,
10569               p_USSGL_TRANSACTION_CODE   => P_CSP_Rec.USSGL_TRANSACTION_CODE,
10570               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10571               x_return_status          => x_return_status,
10572               x_msg_count              => x_msg_count,
10573               x_msg_data               => x_msg_data);
10574           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10575               raise FND_API.G_EXC_ERROR;
10576           END IF;
10577 
10578           Validate_VENDOR_LOT_NUMBER(
10579               p_init_msg_list          => FND_API.G_FALSE,
10580               p_validation_mode        => p_validation_mode,
10581               p_VENDOR_LOT_NUMBER   => P_CSP_Rec.VENDOR_LOT_NUMBER,
10582               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10583               x_return_status          => x_return_status,
10584               x_msg_count              => x_msg_count,
10585               x_msg_data               => x_msg_data);
10586           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10587               raise FND_API.G_EXC_ERROR;
10588           END IF;
10589 
10590           Validate_ENCUMBRANCE_ACCOUNT(
10591               p_init_msg_list          => FND_API.G_FALSE,
10592               p_validation_mode        => p_validation_mode,
10593               p_ENCUMBRANCE_ACCOUNT   => P_CSP_Rec.ENCUMBRANCE_ACCOUNT,
10594               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10595               x_return_status          => x_return_status,
10596               x_msg_count              => x_msg_count,
10597               x_msg_data               => x_msg_data);
10598           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10599               raise FND_API.G_EXC_ERROR;
10600           END IF;
10601 
10602           Validate_ENCUMBRANCE_AMOUNT(
10603               p_init_msg_list          => FND_API.G_FALSE,
10604               p_validation_mode        => p_validation_mode,
10605               p_ENCUMBRANCE_AMOUNT   => P_CSP_Rec.ENCUMBRANCE_AMOUNT,
10606               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10607               x_return_status          => x_return_status,
10608               x_msg_count              => x_msg_count,
10609               x_msg_data               => x_msg_data);
10610           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10611               raise FND_API.G_EXC_ERROR;
10612           END IF;
10613 
10614           Validate_SHIP_TO_LOCATION(
10615               p_init_msg_list          => FND_API.G_FALSE,
10616               p_validation_mode        => p_validation_mode,
10617               p_SHIP_TO_LOCATION   => P_CSP_Rec.SHIP_TO_LOCATION,
10618               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10619               x_return_status          => x_return_status,
10620               x_msg_count              => x_msg_count,
10621               x_msg_data               => x_msg_data);
10622           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10623               raise FND_API.G_EXC_ERROR;
10624           END IF;
10625 
10626           Validate_SHIPMENT_NUMBER(
10627               p_init_msg_list          => FND_API.G_FALSE,
10628               p_validation_mode        => p_validation_mode,
10629               p_SHIPMENT_NUMBER   => P_CSP_Rec.SHIPMENT_NUMBER,
10630               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10631               x_return_status          => x_return_status,
10632               x_msg_count              => x_msg_count,
10633               x_msg_data               => x_msg_data);
10634           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10635               raise FND_API.G_EXC_ERROR;
10636           END IF;
10637 
10638           Validate_TRANSFER_COST(
10639               p_init_msg_list          => FND_API.G_FALSE,
10640               p_validation_mode        => p_validation_mode,
10641               p_TRANSFER_COST   => P_CSP_Rec.TRANSFER_COST,
10642               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10643               x_return_status          => x_return_status,
10644               x_msg_count              => x_msg_count,
10645               x_msg_data               => x_msg_data);
10646           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10647               raise FND_API.G_EXC_ERROR;
10651               p_init_msg_list          => FND_API.G_FALSE,
10648           END IF;
10649 
10650           Validate_TRANSPORTATION_COST(
10652               p_validation_mode        => p_validation_mode,
10653               p_TRANSPORTATION_COST   => P_CSP_Rec.TRANSPORTATION_COST,
10654               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10655               x_return_status          => x_return_status,
10656               x_msg_count              => x_msg_count,
10657               x_msg_data               => x_msg_data);
10658           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10659               raise FND_API.G_EXC_ERROR;
10660           END IF;
10661 
10662           Validate_TRANSPORTATION_ACCOUNT(
10663               p_init_msg_list          => FND_API.G_FALSE,
10664               p_validation_mode        => p_validation_mode,
10665               p_TRANSPORTATION_ACCOUNT   => P_CSP_Rec.TRANSPORTATION_ACCOUNT,
10666               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10667               x_return_status          => x_return_status,
10668               x_msg_count              => x_msg_count,
10669               x_msg_data               => x_msg_data);
10670           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10671               raise FND_API.G_EXC_ERROR;
10672           END IF;
10673 
10674           Validate_FREIGHT_CODE(
10675               p_init_msg_list          => FND_API.G_FALSE,
10676               p_validation_mode        => p_validation_mode,
10677               p_FREIGHT_CODE   => P_CSP_Rec.FREIGHT_CODE,
10678               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10679               x_return_status          => x_return_status,
10680               x_msg_count              => x_msg_count,
10681               x_msg_data               => x_msg_data);
10682           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10683               raise FND_API.G_EXC_ERROR;
10684           END IF;
10685 
10686           Validate_CONTAINERS(
10687               p_init_msg_list          => FND_API.G_FALSE,
10688               p_validation_mode        => p_validation_mode,
10689               p_CONTAINERS   => P_CSP_Rec.CONTAINERS,
10690               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10691               x_return_status          => x_return_status,
10692               x_msg_count              => x_msg_count,
10693               x_msg_data               => x_msg_data);
10694           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10695               raise FND_API.G_EXC_ERROR;
10696           END IF;
10697 
10698           Validate_WAYBILL_AIRBILL(
10699               p_init_msg_list          => FND_API.G_FALSE,
10700               p_validation_mode        => p_validation_mode,
10701               p_WAYBILL_AIRBILL   => P_CSP_Rec.WAYBILL_AIRBILL,
10702               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10703               x_return_status          => x_return_status,
10704               x_msg_count              => x_msg_count,
10705               x_msg_data               => x_msg_data);
10706           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10707               raise FND_API.G_EXC_ERROR;
10708           END IF;
10709 
10710           Validate_EXPECTED_ARRIVAL_DATE(
10711               p_init_msg_list          => FND_API.G_FALSE,
10712               p_validation_mode        => p_validation_mode,
10713               p_EXPECTED_ARRIVAL_DATE   => P_CSP_Rec.EXPECTED_ARRIVAL_DATE,
10714               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10715               x_return_status          => x_return_status,
10716               x_msg_count              => x_msg_count,
10717               x_msg_data               => x_msg_data);
10718           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10719               raise FND_API.G_EXC_ERROR;
10720           END IF;
10721 
10722           Validate_TRANSFER_SUBINVENTORY(
10723               p_init_msg_list          => FND_API.G_FALSE,
10724               p_validation_mode        => p_validation_mode,
10725               p_TRANSFER_SUBINVENTORY   => P_CSP_Rec.TRANSFER_SUBINVENTORY,
10726               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10727               x_return_status          => x_return_status,
10728               x_msg_count              => x_msg_count,
10729               x_msg_data               => x_msg_data);
10730           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10731               raise FND_API.G_EXC_ERROR;
10732           END IF;
10733 
10734           Validate_TRANSFER_ORGANIZATION(
10735               p_init_msg_list          => FND_API.G_FALSE,
10736               p_validation_mode        => p_validation_mode,
10737               p_TRANSFER_ORGANIZATION   => P_CSP_Rec.TRANSFER_ORGANIZATION,
10738               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10739               x_return_status          => x_return_status,
10740               x_msg_count              => x_msg_count,
10741               x_msg_data               => x_msg_data);
10742           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10743               raise FND_API.G_EXC_ERROR;
10744           END IF;
10745 
10746           Validate_TRANSFER_TO_LOCATION(
10747               p_init_msg_list          => FND_API.G_FALSE,
10751               x_return_status          => x_return_status,
10748               p_validation_mode        => p_validation_mode,
10749               p_TRANSFER_TO_LOCATION   => P_CSP_Rec.TRANSFER_TO_LOCATION,
10750               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10752               x_msg_count              => x_msg_count,
10753               x_msg_data               => x_msg_data);
10754           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10755               raise FND_API.G_EXC_ERROR;
10756           END IF;
10757 
10758           Validate_NEW_AVERAGE_COST(
10759               p_init_msg_list          => FND_API.G_FALSE,
10760               p_validation_mode        => p_validation_mode,
10761               p_NEW_AVERAGE_COST   => P_CSP_Rec.NEW_AVERAGE_COST,
10762               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10763               x_return_status          => x_return_status,
10764               x_msg_count              => x_msg_count,
10765               x_msg_data               => x_msg_data);
10766           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10767               raise FND_API.G_EXC_ERROR;
10768           END IF;
10769 
10770           Validate_VALUE_CHANGE(
10771               p_init_msg_list          => FND_API.G_FALSE,
10772               p_validation_mode        => p_validation_mode,
10773               p_VALUE_CHANGE   => P_CSP_Rec.VALUE_CHANGE,
10774               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10775               x_return_status          => x_return_status,
10776               x_msg_count              => x_msg_count,
10777               x_msg_data               => x_msg_data);
10778           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10779               raise FND_API.G_EXC_ERROR;
10780           END IF;
10781 
10782           Validate_PERCENTAGE_CHANGE(
10783               p_init_msg_list          => FND_API.G_FALSE,
10784               p_validation_mode        => p_validation_mode,
10785               p_PERCENTAGE_CHANGE   => P_CSP_Rec.PERCENTAGE_CHANGE,
10786               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10787               x_return_status          => x_return_status,
10788               x_msg_count              => x_msg_count,
10789               x_msg_data               => x_msg_data);
10790           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10791               raise FND_API.G_EXC_ERROR;
10792           END IF;
10793 
10794           Validate_MATERIAL_ALLOCATION_TEMP_ID(
10795               p_init_msg_list          => FND_API.G_FALSE,
10796               p_validation_mode        => p_validation_mode,
10797               p_MATERIAL_ALLOCATION_TEMP_ID   => P_CSP_Rec.MATERIAL_ALLOCATION_TEMP_ID,
10798               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10799               x_return_status          => x_return_status,
10800               x_msg_count              => x_msg_count,
10801               x_msg_data               => x_msg_data);
10802           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10803               raise FND_API.G_EXC_ERROR;
10804           END IF;
10805 
10806           Validate_DEMAND_SOURCE_HEADER_ID(
10807               p_init_msg_list          => FND_API.G_FALSE,
10808               p_validation_mode        => p_validation_mode,
10809               p_DEMAND_SOURCE_HEADER_ID   => P_CSP_Rec.DEMAND_SOURCE_HEADER_ID,
10810               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10811               x_return_status          => x_return_status,
10812               x_msg_count              => x_msg_count,
10813               x_msg_data               => x_msg_data);
10814           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10815               raise FND_API.G_EXC_ERROR;
10816           END IF;
10817 
10818           Validate_DEMAND_SOURCE_LINE(
10819               p_init_msg_list          => FND_API.G_FALSE,
10820               p_validation_mode        => p_validation_mode,
10821               p_DEMAND_SOURCE_LINE   => P_CSP_Rec.DEMAND_SOURCE_LINE,
10822               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10823               x_return_status          => x_return_status,
10824               x_msg_count              => x_msg_count,
10825               x_msg_data               => x_msg_data);
10826           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10827               raise FND_API.G_EXC_ERROR;
10828           END IF;
10829 
10830           Validate_DEMAND_SOURCE_DELIVERY(
10831               p_init_msg_list          => FND_API.G_FALSE,
10832               p_validation_mode        => p_validation_mode,
10833               p_DEMAND_SOURCE_DELIVERY   => P_CSP_Rec.DEMAND_SOURCE_DELIVERY,
10834               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10835               x_return_status          => x_return_status,
10836               x_msg_count              => x_msg_count,
10837               x_msg_data               => x_msg_data);
10838           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10839               raise FND_API.G_EXC_ERROR;
10840           END IF;
10841 
10842           Validate_ITEM_SEGMENTS(
10843               p_init_msg_list          => FND_API.G_FALSE,
10847               x_return_status          => x_return_status,
10844               p_validation_mode        => p_validation_mode,
10845               p_ITEM_SEGMENTS   => P_CSP_Rec.ITEM_SEGMENTS,
10846               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10848               x_msg_count              => x_msg_count,
10849               x_msg_data               => x_msg_data);
10850           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10851               raise FND_API.G_EXC_ERROR;
10852           END IF;
10853 
10854           Validate_ITEM_DESCRIPTION(
10855               p_init_msg_list          => FND_API.G_FALSE,
10856               p_validation_mode        => p_validation_mode,
10857               p_ITEM_DESCRIPTION   => P_CSP_Rec.ITEM_DESCRIPTION,
10858               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10859               x_return_status          => x_return_status,
10860               x_msg_count              => x_msg_count,
10861               x_msg_data               => x_msg_data);
10862           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10863               raise FND_API.G_EXC_ERROR;
10864           END IF;
10865 
10866           Validate_ITEM_TRX_ENABLED_FLAG(
10867               p_init_msg_list          => FND_API.G_FALSE,
10868               p_validation_mode        => p_validation_mode,
10869               p_ITEM_TRX_ENABLED_FLAG   => P_CSP_Rec.ITEM_TRX_ENABLED_FLAG,
10870               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10871               x_return_status          => x_return_status,
10872               x_msg_count              => x_msg_count,
10873               x_msg_data               => x_msg_data);
10874           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10875               raise FND_API.G_EXC_ERROR;
10876           END IF;
10877 
10878           Validate_ITEM_LOCATION_CONTROL_CODE(
10879               p_init_msg_list          => FND_API.G_FALSE,
10880               p_validation_mode        => p_validation_mode,
10881               p_ITEM_LOCATION_CONTROL_CODE   => P_CSP_Rec.ITEM_LOCATION_CONTROL_CODE,
10882               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10883               x_return_status          => x_return_status,
10884               x_msg_count              => x_msg_count,
10885               x_msg_data               => x_msg_data);
10886           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10887               raise FND_API.G_EXC_ERROR;
10888           END IF;
10889 
10890           Validate_ITEM_RESTRICT_SUBINV_CODE(
10891               p_init_msg_list          => FND_API.G_FALSE,
10892               p_validation_mode        => p_validation_mode,
10893               p_ITEM_RESTRICT_SUBINV_CODE   => P_CSP_Rec.ITEM_RESTRICT_SUBINV_CODE,
10894               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10895               x_return_status          => x_return_status,
10896               x_msg_count              => x_msg_count,
10897               x_msg_data               => x_msg_data);
10898           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10899               raise FND_API.G_EXC_ERROR;
10900           END IF;
10901 
10902           Validate_ITEM_RESTRICT_LOCATORS_CODE(
10903               p_init_msg_list          => FND_API.G_FALSE,
10904               p_validation_mode        => p_validation_mode,
10905               p_ITEM_RESTRICT_LOCATORS_CODE   => P_CSP_Rec.ITEM_RESTRICT_LOCATORS_CODE,
10906               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10907               x_return_status          => x_return_status,
10908               x_msg_count              => x_msg_count,
10909               x_msg_data               => x_msg_data);
10910           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10911               raise FND_API.G_EXC_ERROR;
10912           END IF;
10913 
10914           Validate_ITEM_REVISION_QTY_CONTROL_CODE(
10915               p_init_msg_list          => FND_API.G_FALSE,
10916               p_validation_mode        => p_validation_mode,
10917               p_ITEM_REVISION_QTY_CONTROL_CODE   => P_CSP_Rec.ITEM_REVISION_QTY_CONTROL_CODE,
10918               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10919               x_return_status          => x_return_status,
10920               x_msg_count              => x_msg_count,
10921               x_msg_data               => x_msg_data);
10922           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10923               raise FND_API.G_EXC_ERROR;
10924           END IF;
10925 
10926           Validate_ITEM_PRIMARY_UOM_CODE(
10927               p_init_msg_list          => FND_API.G_FALSE,
10928               p_validation_mode        => p_validation_mode,
10929               p_ITEM_PRIMARY_UOM_CODE   => P_CSP_Rec.ITEM_PRIMARY_UOM_CODE,
10930               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10931               x_return_status          => x_return_status,
10932               x_msg_count              => x_msg_count,
10933               x_msg_data               => x_msg_data);
10934           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10935               raise FND_API.G_EXC_ERROR;
10936           END IF;
10937 
10938           Validate_ITEM_UOM_CLASS(
10939               p_init_msg_list          => FND_API.G_FALSE,
10943               x_return_status          => x_return_status,
10940               p_validation_mode        => p_validation_mode,
10941               p_ITEM_UOM_CLASS   => P_CSP_Rec.ITEM_UOM_CLASS,
10942               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10944               x_msg_count              => x_msg_count,
10945               x_msg_data               => x_msg_data);
10946           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10947               raise FND_API.G_EXC_ERROR;
10948           END IF;
10949 
10950           Validate_ITEM_SHELF_LIFE_CODE(
10951               p_init_msg_list          => FND_API.G_FALSE,
10952               p_validation_mode        => p_validation_mode,
10953               p_ITEM_SHELF_LIFE_CODE   => P_CSP_Rec.ITEM_SHELF_LIFE_CODE,
10954               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10955               x_return_status          => x_return_status,
10956               x_msg_count              => x_msg_count,
10957               x_msg_data               => x_msg_data);
10958           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10959               raise FND_API.G_EXC_ERROR;
10960           END IF;
10961 
10962           Validate_ITEM_SHELF_LIFE_DAYS(
10963               p_init_msg_list          => FND_API.G_FALSE,
10964               p_validation_mode        => p_validation_mode,
10965               p_ITEM_SHELF_LIFE_DAYS   => P_CSP_Rec.ITEM_SHELF_LIFE_DAYS,
10966               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10967               x_return_status          => x_return_status,
10968               x_msg_count              => x_msg_count,
10969               x_msg_data               => x_msg_data);
10970           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10971               raise FND_API.G_EXC_ERROR;
10972           END IF;
10973 
10974           Validate_ITEM_LOT_CONTROL_CODE(
10975               p_init_msg_list          => FND_API.G_FALSE,
10976               p_validation_mode        => p_validation_mode,
10977               p_ITEM_LOT_CONTROL_CODE   => P_CSP_Rec.ITEM_LOT_CONTROL_CODE,
10978               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10979               x_return_status          => x_return_status,
10980               x_msg_count              => x_msg_count,
10981               x_msg_data               => x_msg_data);
10982           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10983               raise FND_API.G_EXC_ERROR;
10984           END IF;
10985 
10986           Validate_ITEM_SERIAL_CONTROL_CODE(
10987               p_init_msg_list          => FND_API.G_FALSE,
10988               p_validation_mode        => p_validation_mode,
10989               p_ITEM_SERIAL_CONTROL_CODE   => P_CSP_Rec.ITEM_SERIAL_CONTROL_CODE,
10990               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
10991               x_return_status          => x_return_status,
10992               x_msg_count              => x_msg_count,
10993               x_msg_data               => x_msg_data);
10994           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
10995               raise FND_API.G_EXC_ERROR;
10996           END IF;
10997 
10998           Validate_ITEM_INVENTORY_ASSET_FLAG(
10999               p_init_msg_list          => FND_API.G_FALSE,
11000               p_validation_mode        => p_validation_mode,
11001               p_ITEM_INVENTORY_ASSET_FLAG   => P_CSP_Rec.ITEM_INVENTORY_ASSET_FLAG,
11002               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11003               x_return_status          => x_return_status,
11004               x_msg_count              => x_msg_count,
11005               x_msg_data               => x_msg_data);
11006           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11007               raise FND_API.G_EXC_ERROR;
11008           END IF;
11009 
11010           Validate_ALLOWED_UNITS_LOOKUP_CODE(
11011               p_init_msg_list          => FND_API.G_FALSE,
11012               p_validation_mode        => p_validation_mode,
11013               p_ALLOWED_UNITS_LOOKUP_CODE   => P_CSP_Rec.ALLOWED_UNITS_LOOKUP_CODE,
11014               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11015               x_return_status          => x_return_status,
11016               x_msg_count              => x_msg_count,
11017               x_msg_data               => x_msg_data);
11018           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11019               raise FND_API.G_EXC_ERROR;
11020           END IF;
11021 
11022           Validate_DEPARTMENT_ID(
11023               p_init_msg_list          => FND_API.G_FALSE,
11024               p_validation_mode        => p_validation_mode,
11025               p_DEPARTMENT_ID   => P_CSP_Rec.DEPARTMENT_ID,
11026               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11027               x_return_status          => x_return_status,
11028               x_msg_count              => x_msg_count,
11029               x_msg_data               => x_msg_data);
11030           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11031               raise FND_API.G_EXC_ERROR;
11032           END IF;
11033 
11034           Validate_DEPARTMENT_CODE(
11035               p_init_msg_list          => FND_API.G_FALSE,
11036               p_validation_mode        => p_validation_mode,
11037               p_DEPARTMENT_CODE   => P_CSP_Rec.DEPARTMENT_CODE,
11041               x_msg_data               => x_msg_data);
11038               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11039               x_return_status          => x_return_status,
11040               x_msg_count              => x_msg_count,
11042           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11043               raise FND_API.G_EXC_ERROR;
11044           END IF;
11045 
11046           Validate_WIP_SUPPLY_TYPE(
11047               p_init_msg_list          => FND_API.G_FALSE,
11048               p_validation_mode        => p_validation_mode,
11049               p_WIP_SUPPLY_TYPE   => P_CSP_Rec.WIP_SUPPLY_TYPE,
11050               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11051               x_return_status          => x_return_status,
11052               x_msg_count              => x_msg_count,
11053               x_msg_data               => x_msg_data);
11054           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11055               raise FND_API.G_EXC_ERROR;
11056           END IF;
11057 
11058           Validate_SUPPLY_SUBINVENTORY(
11059               p_init_msg_list          => FND_API.G_FALSE,
11060               p_validation_mode        => p_validation_mode,
11061               p_SUPPLY_SUBINVENTORY   => P_CSP_Rec.SUPPLY_SUBINVENTORY,
11062               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11063               x_return_status          => x_return_status,
11064               x_msg_count              => x_msg_count,
11065               x_msg_data               => x_msg_data);
11066           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11067               raise FND_API.G_EXC_ERROR;
11068           END IF;
11069 
11070           Validate_SUPPLY_LOCATOR_ID(
11071               p_init_msg_list          => FND_API.G_FALSE,
11072               p_validation_mode        => p_validation_mode,
11073               p_SUPPLY_LOCATOR_ID   => P_CSP_Rec.SUPPLY_LOCATOR_ID,
11074               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11075               x_return_status          => x_return_status,
11076               x_msg_count              => x_msg_count,
11077               x_msg_data               => x_msg_data);
11078           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11079               raise FND_API.G_EXC_ERROR;
11080           END IF;
11081 
11082           Validate_VALID_SUBINVENTORY_FLAG(
11083               p_init_msg_list          => FND_API.G_FALSE,
11084               p_validation_mode        => p_validation_mode,
11085               p_VALID_SUBINVENTORY_FLAG   => P_CSP_Rec.VALID_SUBINVENTORY_FLAG,
11086               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11087               x_return_status          => x_return_status,
11088               x_msg_count              => x_msg_count,
11089               x_msg_data               => x_msg_data);
11090           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11091               raise FND_API.G_EXC_ERROR;
11092           END IF;
11093 
11094           Validate_VALID_LOCATOR_FLAG(
11095               p_init_msg_list          => FND_API.G_FALSE,
11096               p_validation_mode        => p_validation_mode,
11097               p_VALID_LOCATOR_FLAG   => P_CSP_Rec.VALID_LOCATOR_FLAG,
11098               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11099               x_return_status          => x_return_status,
11100               x_msg_count              => x_msg_count,
11101               x_msg_data               => x_msg_data);
11102           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11103               raise FND_API.G_EXC_ERROR;
11104           END IF;
11105 
11106           Validate_LOCATOR_SEGMENTS(
11107               p_init_msg_list          => FND_API.G_FALSE,
11108               p_validation_mode        => p_validation_mode,
11109               p_LOCATOR_SEGMENTS   => P_CSP_Rec.LOCATOR_SEGMENTS,
11110               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11111               x_return_status          => x_return_status,
11112               x_msg_count              => x_msg_count,
11113               x_msg_data               => x_msg_data);
11114           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11115               raise FND_API.G_EXC_ERROR;
11116           END IF;
11117 
11118           Validate_CURRENT_LOCATOR_CONTROL_CODE(
11119               p_init_msg_list          => FND_API.G_FALSE,
11120               p_validation_mode        => p_validation_mode,
11121               p_CURRENT_LOCATOR_CONTROL_CODE   => P_CSP_Rec.CURRENT_LOCATOR_CONTROL_CODE,
11122               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11123               x_return_status          => x_return_status,
11124               x_msg_count              => x_msg_count,
11125               x_msg_data               => x_msg_data);
11126           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11127               raise FND_API.G_EXC_ERROR;
11128           END IF;
11129 
11130           Validate_NUMBER_OF_LOTS_ENTERED(
11131               p_init_msg_list          => FND_API.G_FALSE,
11132               p_validation_mode        => p_validation_mode,
11133               p_NUMBER_OF_LOTS_ENTERED   => P_CSP_Rec.NUMBER_OF_LOTS_ENTERED,
11134               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11138           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11135               x_return_status          => x_return_status,
11136               x_msg_count              => x_msg_count,
11137               x_msg_data               => x_msg_data);
11139               raise FND_API.G_EXC_ERROR;
11140           END IF;
11141 
11142           Validate_WIP_COMMIT_FLAG(
11143               p_init_msg_list          => FND_API.G_FALSE,
11144               p_validation_mode        => p_validation_mode,
11145               p_WIP_COMMIT_FLAG   => P_CSP_Rec.WIP_COMMIT_FLAG,
11146               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11147               x_return_status          => x_return_status,
11148               x_msg_count              => x_msg_count,
11149               x_msg_data               => x_msg_data);
11150           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11151               raise FND_API.G_EXC_ERROR;
11152           END IF;
11153 
11154           Validate_NEXT_LOT_NUMBER(
11155               p_init_msg_list          => FND_API.G_FALSE,
11156               p_validation_mode        => p_validation_mode,
11157               p_NEXT_LOT_NUMBER   => P_CSP_Rec.NEXT_LOT_NUMBER,
11158               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11159               x_return_status          => x_return_status,
11160               x_msg_count              => x_msg_count,
11161               x_msg_data               => x_msg_data);
11162           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11163               raise FND_API.G_EXC_ERROR;
11164           END IF;
11165 
11166           Validate_LOT_ALPHA_PREFIX(
11167               p_init_msg_list          => FND_API.G_FALSE,
11168               p_validation_mode        => p_validation_mode,
11169               p_LOT_ALPHA_PREFIX   => P_CSP_Rec.LOT_ALPHA_PREFIX,
11170               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11171               x_return_status          => x_return_status,
11172               x_msg_count              => x_msg_count,
11173               x_msg_data               => x_msg_data);
11174           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11175               raise FND_API.G_EXC_ERROR;
11176           END IF;
11177 
11178           Validate_NEXT_SERIAL_NUMBER(
11179               p_init_msg_list          => FND_API.G_FALSE,
11180               p_validation_mode        => p_validation_mode,
11181               p_NEXT_SERIAL_NUMBER   => P_CSP_Rec.NEXT_SERIAL_NUMBER,
11182               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11183               x_return_status          => x_return_status,
11184               x_msg_count              => x_msg_count,
11185               x_msg_data               => x_msg_data);
11186           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11187               raise FND_API.G_EXC_ERROR;
11188           END IF;
11189 
11190           Validate_SERIAL_ALPHA_PREFIX(
11191               p_init_msg_list          => FND_API.G_FALSE,
11192               p_validation_mode        => p_validation_mode,
11193               p_SERIAL_ALPHA_PREFIX   => P_CSP_Rec.SERIAL_ALPHA_PREFIX,
11194               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11195               x_return_status          => x_return_status,
11196               x_msg_count              => x_msg_count,
11197               x_msg_data               => x_msg_data);
11198           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11199               raise FND_API.G_EXC_ERROR;
11200           END IF;
11201 
11202           Validate_SHIPPABLE_FLAG(
11203               p_init_msg_list          => FND_API.G_FALSE,
11204               p_validation_mode        => p_validation_mode,
11205               p_SHIPPABLE_FLAG   => P_CSP_Rec.SHIPPABLE_FLAG,
11206               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11207               x_return_status          => x_return_status,
11208               x_msg_count              => x_msg_count,
11209               x_msg_data               => x_msg_data);
11210           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11211               raise FND_API.G_EXC_ERROR;
11212           END IF;
11213 
11214           Validate_POSTING_FLAG(
11215               p_init_msg_list          => FND_API.G_FALSE,
11216               p_validation_mode        => p_validation_mode,
11217               p_POSTING_FLAG   => P_CSP_Rec.POSTING_FLAG,
11218               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11219               x_return_status          => x_return_status,
11220               x_msg_count              => x_msg_count,
11221               x_msg_data               => x_msg_data);
11222           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11223               raise FND_API.G_EXC_ERROR;
11224           END IF;
11225 
11226           Validate_REQUIRED_FLAG(
11227               p_init_msg_list          => FND_API.G_FALSE,
11228               p_validation_mode        => p_validation_mode,
11229               p_REQUIRED_FLAG   => P_CSP_Rec.REQUIRED_FLAG,
11230               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11231               x_return_status          => x_return_status,
11232               x_msg_count              => x_msg_count,
11236           END IF;
11233               x_msg_data               => x_msg_data);
11234           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11235               raise FND_API.G_EXC_ERROR;
11237 
11238           Validate_PROCESS_FLAG(
11239               p_init_msg_list          => FND_API.G_FALSE,
11240               p_validation_mode        => p_validation_mode,
11241               p_PROCESS_FLAG   => P_CSP_Rec.PROCESS_FLAG,
11242               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11243               x_return_status          => x_return_status,
11244               x_msg_count              => x_msg_count,
11245               x_msg_data               => x_msg_data);
11246           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11247               raise FND_API.G_EXC_ERROR;
11248           END IF;
11249 
11250           Validate_ERROR_CODE(
11251               p_init_msg_list          => FND_API.G_FALSE,
11252               p_validation_mode        => p_validation_mode,
11253               p_ERROR_CODE   => P_CSP_Rec.ERROR_CODE,
11254               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11255               x_return_status          => x_return_status,
11256               x_msg_count              => x_msg_count,
11257               x_msg_data               => x_msg_data);
11258           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11259               raise FND_API.G_EXC_ERROR;
11260           END IF;
11261 
11262           Validate_ERROR_EXPLANATION(
11263               p_init_msg_list          => FND_API.G_FALSE,
11264               p_validation_mode        => p_validation_mode,
11265               p_ERROR_EXPLANATION   => P_CSP_Rec.ERROR_EXPLANATION,
11266               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11267               x_return_status          => x_return_status,
11268               x_msg_count              => x_msg_count,
11269               x_msg_data               => x_msg_data);
11270           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11271               raise FND_API.G_EXC_ERROR;
11272           END IF;
11273 
11274           Validate_MOVEMENT_ID(
11275               p_init_msg_list          => FND_API.G_FALSE,
11276               p_validation_mode        => p_validation_mode,
11277               p_MOVEMENT_ID   => P_CSP_Rec.MOVEMENT_ID,
11278               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11279               x_return_status          => x_return_status,
11280               x_msg_count              => x_msg_count,
11281               x_msg_data               => x_msg_data);
11282           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11283               raise FND_API.G_EXC_ERROR;
11284           END IF;
11285 
11286           Validate_RESERVATION_QUANTITY(
11287               p_init_msg_list          => FND_API.G_FALSE,
11288               p_validation_mode        => p_validation_mode,
11289               p_RESERVATION_QUANTITY   => P_CSP_Rec.RESERVATION_QUANTITY,
11290               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11291               x_return_status          => x_return_status,
11292               x_msg_count              => x_msg_count,
11293               x_msg_data               => x_msg_data);
11294           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11295               raise FND_API.G_EXC_ERROR;
11296           END IF;
11297 
11298           Validate_SHIPPED_QUANTITY(
11299               p_init_msg_list          => FND_API.G_FALSE,
11300               p_validation_mode        => p_validation_mode,
11301               p_SHIPPED_QUANTITY   => P_CSP_Rec.SHIPPED_QUANTITY,
11302               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11303               x_return_status          => x_return_status,
11304               x_msg_count              => x_msg_count,
11305               x_msg_data               => x_msg_data);
11306           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11307               raise FND_API.G_EXC_ERROR;
11308           END IF;
11309 
11310           Validate_TRANSACTION_LINE_NUMBER(
11311               p_init_msg_list          => FND_API.G_FALSE,
11312               p_validation_mode        => p_validation_mode,
11313               p_TRANSACTION_LINE_NUMBER   => P_CSP_Rec.TRANSACTION_LINE_NUMBER,
11314               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11315               x_return_status          => x_return_status,
11316               x_msg_count              => x_msg_count,
11317               x_msg_data               => x_msg_data);
11318           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11319               raise FND_API.G_EXC_ERROR;
11320           END IF;
11321 
11322           Validate_TASK_ID(
11323               p_init_msg_list          => FND_API.G_FALSE,
11324               p_validation_mode        => p_validation_mode,
11325               p_TASK_ID   => P_CSP_Rec.TASK_ID,
11326               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11327               x_return_status          => x_return_status,
11328               x_msg_count              => x_msg_count,
11329               x_msg_data               => x_msg_data);
11330           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11331               raise FND_API.G_EXC_ERROR;
11335               p_init_msg_list          => FND_API.G_FALSE,
11332           END IF;
11333 
11334           Validate_TO_TASK_ID(
11336               p_validation_mode        => p_validation_mode,
11337               p_TO_TASK_ID   => P_CSP_Rec.TO_TASK_ID,
11338               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11339               x_return_status          => x_return_status,
11340               x_msg_count              => x_msg_count,
11341               x_msg_data               => x_msg_data);
11342           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11343               raise FND_API.G_EXC_ERROR;
11344           END IF;
11345 
11346           Validate_SOURCE_TASK_ID(
11347               p_init_msg_list          => FND_API.G_FALSE,
11348               p_validation_mode        => p_validation_mode,
11349               p_SOURCE_TASK_ID   => P_CSP_Rec.SOURCE_TASK_ID,
11350               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11351               x_return_status          => x_return_status,
11352               x_msg_count              => x_msg_count,
11353               x_msg_data               => x_msg_data);
11354           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11355               raise FND_API.G_EXC_ERROR;
11356           END IF;
11357 
11358           Validate_PROJECT_ID(
11359               p_init_msg_list          => FND_API.G_FALSE,
11360               p_validation_mode        => p_validation_mode,
11361               p_PROJECT_ID   => P_CSP_Rec.PROJECT_ID,
11362               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11363               x_return_status          => x_return_status,
11364               x_msg_count              => x_msg_count,
11365               x_msg_data               => x_msg_data);
11366           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11367               raise FND_API.G_EXC_ERROR;
11368           END IF;
11369 
11370           Validate_SOURCE_PROJECT_ID(
11371               p_init_msg_list          => FND_API.G_FALSE,
11372               p_validation_mode        => p_validation_mode,
11373               p_SOURCE_PROJECT_ID   => P_CSP_Rec.SOURCE_PROJECT_ID,
11374               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11375               x_return_status          => x_return_status,
11376               x_msg_count              => x_msg_count,
11377               x_msg_data               => x_msg_data);
11378           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11379               raise FND_API.G_EXC_ERROR;
11380           END IF;
11381 
11382           Validate_PA_EXPENDITURE_ORG_ID(
11383               p_init_msg_list          => FND_API.G_FALSE,
11384               p_validation_mode        => p_validation_mode,
11385               p_PA_EXPENDITURE_ORG_ID   => P_CSP_Rec.PA_EXPENDITURE_ORG_ID,
11386               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11387               x_return_status          => x_return_status,
11388               x_msg_count              => x_msg_count,
11389               x_msg_data               => x_msg_data);
11390           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11391               raise FND_API.G_EXC_ERROR;
11392           END IF;
11393 
11394           Validate_TO_PROJECT_ID(
11395               p_init_msg_list          => FND_API.G_FALSE,
11396               p_validation_mode        => p_validation_mode,
11397               p_TO_PROJECT_ID   => P_CSP_Rec.TO_PROJECT_ID,
11398               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11399               x_return_status          => x_return_status,
11400               x_msg_count              => x_msg_count,
11401               x_msg_data               => x_msg_data);
11402           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11403               raise FND_API.G_EXC_ERROR;
11404           END IF;
11405 
11406           Validate_EXPENDITURE_TYPE(
11407               p_init_msg_list          => FND_API.G_FALSE,
11408               p_validation_mode        => p_validation_mode,
11409               p_EXPENDITURE_TYPE   => P_CSP_Rec.EXPENDITURE_TYPE,
11410               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11411               x_return_status          => x_return_status,
11412               x_msg_count              => x_msg_count,
11413               x_msg_data               => x_msg_data);
11414           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11415               raise FND_API.G_EXC_ERROR;
11416           END IF;
11417 
11418           Validate_FINAL_COMPLETION_FLAG(
11419               p_init_msg_list          => FND_API.G_FALSE,
11420               p_validation_mode        => p_validation_mode,
11421               p_FINAL_COMPLETION_FLAG   => P_CSP_Rec.FINAL_COMPLETION_FLAG,
11422               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11423               x_return_status          => x_return_status,
11424               x_msg_count              => x_msg_count,
11425               x_msg_data               => x_msg_data);
11426           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11427               raise FND_API.G_EXC_ERROR;
11428           END IF;
11429 
11430           Validate_TRANSFER_PERCENTAGE(
11434               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11431               p_init_msg_list          => FND_API.G_FALSE,
11432               p_validation_mode        => p_validation_mode,
11433               p_TRANSFER_PERCENTAGE   => P_CSP_Rec.TRANSFER_PERCENTAGE,
11435               x_return_status          => x_return_status,
11436               x_msg_count              => x_msg_count,
11437               x_msg_data               => x_msg_data);
11438           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11439               raise FND_API.G_EXC_ERROR;
11440           END IF;
11441 
11442           Validate_TRANSACTION_SEQUENCE_ID(
11443               p_init_msg_list          => FND_API.G_FALSE,
11444               p_validation_mode        => p_validation_mode,
11445               p_TRANSACTION_SEQUENCE_ID   => P_CSP_Rec.TRANSACTION_SEQUENCE_ID,
11446               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11447               x_return_status          => x_return_status,
11448               x_msg_count              => x_msg_count,
11449               x_msg_data               => x_msg_data);
11450           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11451               raise FND_API.G_EXC_ERROR;
11452           END IF;
11453 
11454           Validate_MATERIAL_ACCOUNT(
11455               p_init_msg_list          => FND_API.G_FALSE,
11456               p_validation_mode        => p_validation_mode,
11457               p_MATERIAL_ACCOUNT   => P_CSP_Rec.MATERIAL_ACCOUNT,
11458               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11459               x_return_status          => x_return_status,
11460               x_msg_count              => x_msg_count,
11461               x_msg_data               => x_msg_data);
11462           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11463               raise FND_API.G_EXC_ERROR;
11464           END IF;
11465 
11466           Validate_MATERIAL_OVERHEAD_ACCOUNT(
11467               p_init_msg_list          => FND_API.G_FALSE,
11468               p_validation_mode        => p_validation_mode,
11469               p_MATERIAL_OVERHEAD_ACCOUNT   => P_CSP_Rec.MATERIAL_OVERHEAD_ACCOUNT,
11470               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11471               x_return_status          => x_return_status,
11472               x_msg_count              => x_msg_count,
11473               x_msg_data               => x_msg_data);
11474           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11475               raise FND_API.G_EXC_ERROR;
11476           END IF;
11477 
11478           Validate_RESOURCE_ACCOUNT(
11479               p_init_msg_list          => FND_API.G_FALSE,
11480               p_validation_mode        => p_validation_mode,
11481               p_RESOURCE_ACCOUNT   => P_CSP_Rec.RESOURCE_ACCOUNT,
11482               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11483               x_return_status          => x_return_status,
11484               x_msg_count              => x_msg_count,
11485               x_msg_data               => x_msg_data);
11486           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11487               raise FND_API.G_EXC_ERROR;
11488           END IF;
11489 
11490           Validate_OUTSIDE_PROCESSING_ACCOUNT(
11491               p_init_msg_list          => FND_API.G_FALSE,
11492               p_validation_mode        => p_validation_mode,
11493               p_OUTSIDE_PROCESSING_ACCOUNT   => P_CSP_Rec.OUTSIDE_PROCESSING_ACCOUNT,
11494               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11495               x_return_status          => x_return_status,
11496               x_msg_count              => x_msg_count,
11497               x_msg_data               => x_msg_data);
11498           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11499               raise FND_API.G_EXC_ERROR;
11500           END IF;
11501 
11502           Validate_OVERHEAD_ACCOUNT(
11503               p_init_msg_list          => FND_API.G_FALSE,
11504               p_validation_mode        => p_validation_mode,
11505               p_OVERHEAD_ACCOUNT   => P_CSP_Rec.OVERHEAD_ACCOUNT,
11506               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11507               x_return_status          => x_return_status,
11508               x_msg_count              => x_msg_count,
11509               x_msg_data               => x_msg_data);
11510           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11511               raise FND_API.G_EXC_ERROR;
11512           END IF;
11513 
11514           Validate_FLOW_SCHEDULE(
11515               p_init_msg_list          => FND_API.G_FALSE,
11516               p_validation_mode        => p_validation_mode,
11517               p_FLOW_SCHEDULE   => P_CSP_Rec.FLOW_SCHEDULE,
11518               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11519               x_return_status          => x_return_status,
11520               x_msg_count              => x_msg_count,
11521               x_msg_data               => x_msg_data);
11522           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11523               raise FND_API.G_EXC_ERROR;
11527               p_init_msg_list          => FND_API.G_FALSE,
11524           END IF;
11525 
11526           Validate_COST_GROUP_ID(
11528               p_validation_mode        => p_validation_mode,
11529               p_COST_GROUP_ID   => P_CSP_Rec.COST_GROUP_ID,
11530               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11531               x_return_status          => x_return_status,
11532               x_msg_count              => x_msg_count,
11533               x_msg_data               => x_msg_data);
11534           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11535               raise FND_API.G_EXC_ERROR;
11536           END IF;
11537 
11538           Validate_DEMAND_CLASS(
11539               p_init_msg_list          => FND_API.G_FALSE,
11540               p_validation_mode        => p_validation_mode,
11541               p_DEMAND_CLASS   => P_CSP_Rec.DEMAND_CLASS,
11542               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11543               x_return_status          => x_return_status,
11544               x_msg_count              => x_msg_count,
11545               x_msg_data               => x_msg_data);
11546           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11547               raise FND_API.G_EXC_ERROR;
11548           END IF;
11549 
11550           Validate_QA_COLLECTION_ID(
11551               p_init_msg_list          => FND_API.G_FALSE,
11552               p_validation_mode        => p_validation_mode,
11553               p_QA_COLLECTION_ID   => P_CSP_Rec.QA_COLLECTION_ID,
11554               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11555               x_return_status          => x_return_status,
11556               x_msg_count              => x_msg_count,
11557               x_msg_data               => x_msg_data);
11558           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11559               raise FND_API.G_EXC_ERROR;
11560           END IF;
11561 
11562           Validate_KANBAN_CARD_ID(
11563               p_init_msg_list          => FND_API.G_FALSE,
11564               p_validation_mode        => p_validation_mode,
11565               p_KANBAN_CARD_ID   => P_CSP_Rec.KANBAN_CARD_ID,
11566               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11567               x_return_status          => x_return_status,
11568               x_msg_count              => x_msg_count,
11569               x_msg_data               => x_msg_data);
11570           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11571               raise FND_API.G_EXC_ERROR;
11572           END IF;
11573 
11574           Validate_OVERCOMPLETION_TRANSACTION_ID(
11575               p_init_msg_list          => FND_API.G_FALSE,
11576               p_validation_mode        => p_validation_mode,
11577               p_OVERCOMPLETION_TRANSACTION_ID   => P_CSP_Rec.OVERCOMPLETION_TRANSACTION_ID,
11578               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11579               x_return_status          => x_return_status,
11580               x_msg_count              => x_msg_count,
11581               x_msg_data               => x_msg_data);
11582           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11583               raise FND_API.G_EXC_ERROR;
11584           END IF;
11585 
11586           Validate_OVERCOMPLETION_PRIMARY_QTY(
11587               p_init_msg_list          => FND_API.G_FALSE,
11588               p_validation_mode        => p_validation_mode,
11589               p_OVERCOMPLETION_PRIMARY_QTY   => P_CSP_Rec.OVERCOMPLETION_PRIMARY_QTY,
11590               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11591               x_return_status          => x_return_status,
11592               x_msg_count              => x_msg_count,
11593               x_msg_data               => x_msg_data);
11594           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11595               raise FND_API.G_EXC_ERROR;
11596           END IF;
11597 
11598           Validate_OVERCOMPLETION_TRANSACTION_QTY(
11599               p_init_msg_list          => FND_API.G_FALSE,
11600               p_validation_mode        => p_validation_mode,
11601               p_OVERCOMPLETION_TRANSACTION_QTY   => P_CSP_Rec.OVERCOMPLETION_TRANSACTION_QTY,
11602               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11603               x_return_status          => x_return_status,
11604               x_msg_count              => x_msg_count,
11605               x_msg_data               => x_msg_data);
11606           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11607               raise FND_API.G_EXC_ERROR;
11608           END IF;
11609 
11610           Validate_PROCESS_TYPE(
11611               p_init_msg_list          => FND_API.G_FALSE,
11612               p_validation_mode        => p_validation_mode,
11613               p_PROCESS_TYPE   => P_CSP_Rec.PROCESS_TYPE,
11614               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11615               x_return_status          => x_return_status,
11616               x_msg_count              => x_msg_count,
11617               x_msg_data               => x_msg_data);
11618           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11619               raise FND_API.G_EXC_ERROR;
11620           END IF;
11621 
11625               p_END_ITEM_UNIT_NUMBER   => P_CSP_Rec.END_ITEM_UNIT_NUMBER,
11622           Validate_END_ITEM_UNIT_NUMBER(
11623               p_init_msg_list          => FND_API.G_FALSE,
11624               p_validation_mode        => p_validation_mode,
11626               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11627               x_return_status          => x_return_status,
11628               x_msg_count              => x_msg_count,
11629               x_msg_data               => x_msg_data);
11630           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11631               raise FND_API.G_EXC_ERROR;
11632           END IF;
11633 
11634           Validate_SCHEDULED_PAYBACK_DATE(
11635               p_init_msg_list          => FND_API.G_FALSE,
11636               p_validation_mode        => p_validation_mode,
11637               p_SCHEDULED_PAYBACK_DATE   => P_CSP_Rec.SCHEDULED_PAYBACK_DATE,
11638               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11639               x_return_status          => x_return_status,
11640               x_msg_count              => x_msg_count,
11641               x_msg_data               => x_msg_data);
11642           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11643               raise FND_API.G_EXC_ERROR;
11644           END IF;
11645 
11646           Validate_LINE_TYPE_CODE(
11647               p_init_msg_list          => FND_API.G_FALSE,
11648               p_validation_mode        => p_validation_mode,
11649               p_LINE_TYPE_CODE   => P_CSP_Rec.LINE_TYPE_CODE,
11650               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11651               x_return_status          => x_return_status,
11652               x_msg_count              => x_msg_count,
11653               x_msg_data               => x_msg_data);
11654           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11655               raise FND_API.G_EXC_ERROR;
11656           END IF;
11657 
11658           Validate_PARENT_TRANSACTION_TEMP_ID(
11659               p_init_msg_list          => FND_API.G_FALSE,
11660               p_validation_mode        => p_validation_mode,
11661               p_PARENT_TRANSACTION_TEMP_ID   => P_CSP_Rec.PARENT_TRANSACTION_TEMP_ID,
11662               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11663               x_return_status          => x_return_status,
11664               x_msg_count              => x_msg_count,
11665               x_msg_data               => x_msg_data);
11666           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11667               raise FND_API.G_EXC_ERROR;
11668           END IF;
11669 
11670           Validate_PUT_AWAY_STRATEGY_ID(
11671               p_init_msg_list          => FND_API.G_FALSE,
11672               p_validation_mode        => p_validation_mode,
11673               p_PUT_AWAY_STRATEGY_ID   => P_CSP_Rec.PUT_AWAY_STRATEGY_ID,
11674               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11675               x_return_status          => x_return_status,
11676               x_msg_count              => x_msg_count,
11677               x_msg_data               => x_msg_data);
11678           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11679               raise FND_API.G_EXC_ERROR;
11680           END IF;
11681 
11682           Validate_PUT_AWAY_RULE_ID(
11683               p_init_msg_list          => FND_API.G_FALSE,
11684               p_validation_mode        => p_validation_mode,
11685               p_PUT_AWAY_RULE_ID   => P_CSP_Rec.PUT_AWAY_RULE_ID,
11686               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11687               x_return_status          => x_return_status,
11688               x_msg_count              => x_msg_count,
11689               x_msg_data               => x_msg_data);
11690           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11691               raise FND_API.G_EXC_ERROR;
11692           END IF;
11693 
11694           Validate_PICK_STRATEGY_ID(
11695               p_init_msg_list          => FND_API.G_FALSE,
11696               p_validation_mode        => p_validation_mode,
11697               p_PICK_STRATEGY_ID   => P_CSP_Rec.PICK_STRATEGY_ID,
11698               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11699               x_return_status          => x_return_status,
11700               x_msg_count              => x_msg_count,
11701               x_msg_data               => x_msg_data);
11702           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11703               raise FND_API.G_EXC_ERROR;
11704           END IF;
11705 
11706           Validate_PICK_RULE_ID(
11707               p_init_msg_list          => FND_API.G_FALSE,
11708               p_validation_mode        => p_validation_mode,
11709               p_PICK_RULE_ID   => P_CSP_Rec.PICK_RULE_ID,
11710               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11711               x_return_status          => x_return_status,
11712               x_msg_count              => x_msg_count,
11713               x_msg_data               => x_msg_data);
11714           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11715               raise FND_API.G_EXC_ERROR;
11716           END IF;
11717 
11718           Validate_COMMON_BOM_SEQ_ID(
11719               p_init_msg_list          => FND_API.G_FALSE,
11720               p_validation_mode        => p_validation_mode,
11724               x_msg_count              => x_msg_count,
11721               p_COMMON_BOM_SEQ_ID   => P_CSP_Rec.COMMON_BOM_SEQ_ID,
11722               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11723               x_return_status          => x_return_status,
11725               x_msg_data               => x_msg_data);
11726           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11727               raise FND_API.G_EXC_ERROR;
11728           END IF;
11729 
11730           Validate_COMMON_ROUTING_SEQ_ID(
11731               p_init_msg_list          => FND_API.G_FALSE,
11732               p_validation_mode        => p_validation_mode,
11733               p_COMMON_ROUTING_SEQ_ID   => P_CSP_Rec.COMMON_ROUTING_SEQ_ID,
11734               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11735               x_return_status          => x_return_status,
11736               x_msg_count              => x_msg_count,
11737               x_msg_data               => x_msg_data);
11738           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11739               raise FND_API.G_EXC_ERROR;
11740           END IF;
11741 
11742           Validate_COST_TYPE_ID(
11743               p_init_msg_list          => FND_API.G_FALSE,
11744               p_validation_mode        => p_validation_mode,
11745               p_COST_TYPE_ID   => P_CSP_Rec.COST_TYPE_ID,
11746               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11747               x_return_status          => x_return_status,
11748               x_msg_count              => x_msg_count,
11749               x_msg_data               => x_msg_data);
11750           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11751               raise FND_API.G_EXC_ERROR;
11752           END IF;
11753 
11754           Validate_ORG_COST_GROUP_ID(
11755               p_init_msg_list          => FND_API.G_FALSE,
11756               p_validation_mode        => p_validation_mode,
11757               p_ORG_COST_GROUP_ID   => P_CSP_Rec.ORG_COST_GROUP_ID,
11758               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11759               x_return_status          => x_return_status,
11760               x_msg_count              => x_msg_count,
11761               x_msg_data               => x_msg_data);
11762           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11763               raise FND_API.G_EXC_ERROR;
11764           END IF;
11765 
11766           Validate_MOVE_ORDER_LINE_ID(
11767               p_init_msg_list          => FND_API.G_FALSE,
11768               p_validation_mode        => p_validation_mode,
11769               p_MOVE_ORDER_LINE_ID   => P_CSP_Rec.MOVE_ORDER_LINE_ID,
11770               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11771               x_return_status          => x_return_status,
11772               x_msg_count              => x_msg_count,
11773               x_msg_data               => x_msg_data);
11774           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11775               raise FND_API.G_EXC_ERROR;
11776           END IF;
11777 
11778           Validate_TASK_GROUP_ID(
11779               p_init_msg_list          => FND_API.G_FALSE,
11780               p_validation_mode        => p_validation_mode,
11781               p_TASK_GROUP_ID   => P_CSP_Rec.TASK_GROUP_ID,
11782               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11783               x_return_status          => x_return_status,
11784               x_msg_count              => x_msg_count,
11785               x_msg_data               => x_msg_data);
11786           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11787               raise FND_API.G_EXC_ERROR;
11788           END IF;
11789 
11790           Validate_PICK_SLIP_NUMBER(
11791               p_init_msg_list          => FND_API.G_FALSE,
11792               p_validation_mode        => p_validation_mode,
11793               p_PICK_SLIP_NUMBER   => P_CSP_Rec.PICK_SLIP_NUMBER,
11794               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11795               x_return_status          => x_return_status,
11796               x_msg_count              => x_msg_count,
11797               x_msg_data               => x_msg_data);
11798           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11799               raise FND_API.G_EXC_ERROR;
11800           END IF;
11801 
11802           Validate_RESERVATION_ID(
11803               p_init_msg_list          => FND_API.G_FALSE,
11804               p_validation_mode        => p_validation_mode,
11805               p_RESERVATION_ID   => P_CSP_Rec.RESERVATION_ID,
11806               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11807               x_return_status          => x_return_status,
11808               x_msg_count              => x_msg_count,
11809               x_msg_data               => x_msg_data);
11810           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11811               raise FND_API.G_EXC_ERROR;
11812           END IF;
11813 
11814           Validate_TRANSACTION_STATUS(
11815               p_init_msg_list          => FND_API.G_FALSE,
11816               p_validation_mode        => p_validation_mode,
11817               p_TRANSACTION_STATUS   => P_CSP_Rec.TRANSACTION_STATUS,
11818               -- Hint: You may add x_item_property_rec as one of your OUT parameter if you'd like to pass back item property.
11819               x_return_status          => x_return_status,
11820               x_msg_count              => x_msg_count,
11821               x_msg_data               => x_msg_data);
11822           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11823               raise FND_API.G_EXC_ERROR;
11824           END IF;
11825 
11826       END IF;
11827 
11828       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_RECORD) THEN
11829           -- Hint: Inter-field level validation can be added here
11830           -- invoke record level validation procedures
11831           Validate_CSP_Rec(
11832               p_init_msg_list          => FND_API.G_FALSE,
11833               p_validation_mode        => p_validation_mode,
11834           P_CSP_Rec     =>    P_CSP_Rec,
11835               x_return_status          => x_return_status,
11836               x_msg_count              => x_msg_count,
11837               x_msg_data               => x_msg_data);
11838 
11839           IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
11840               raise FND_API.G_EXC_ERROR;
11841           END IF;
11842       END IF;
11843 
11844       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_RECORD) THEN
11845           -- invoke inter-record level validation procedures
11846           NULL;
11847       END IF;
11848 
11849       IF (p_validation_level >= JTF_PLSQL_API.G_VALID_LEVEL_INTER_ENTITY) THEN
11850           -- invoke inter-entity level validation procedures
11851           NULL;
11852       END IF;
11853 
11854 
11855       -- Debug Message
11856       JTF_PLSQL_API.Debug_Message(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW, 'Private API: ' || l_api_name || 'end');
11857 
11858 END Validate_material_transactions;
11859 */
11860 
11861 End CSP_MATERIAL_TRANSACTIONS_PVT;