DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_ACTIONS_LEVELS

Source


1 PACKAGE BODY WSH_ACTIONS_LEVELS as
2 /* $Header: WSHACLVB.pls 120.0 2005/05/26 17:13:44 appldev noship $ */
3 
4 G_PKG_NAME CONSTANT VARCHAR2(50) := 'WSH_ACTIONS_LEVELS';
5 --
6 
7 PROCEDURE set_validation_level_on (
8    p_entity			IN	VARCHAR2,
9    x_return_status		OUT NOCOPY 	VARCHAR2
10  ) IS
11 
12 l_debug_on BOOLEAN;
13  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'SET_VALIDATE_LEVEL_ON';
14 
15 BEGIN
16   --
17   l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
18   --
19   IF l_debug_on IS NULL
20   THEN
21       l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
22   END IF;
23   --
24   IF l_debug_on THEN
25       WSH_DEBUG_SV.push(l_module_name);
26       WSH_DEBUG_SV.log(l_module_name,'p_entity',p_entity);
27   END IF;
28   x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
29 
30   g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
31 
32   IF (p_entity = 'DLVB' ) THEN
33      g_validation_level_tab(C_ACTION_ENABLED_LVL):=1;
34      g_validation_level_tab(C_LOCK_RECORDS_LVL):=1;
35      g_validation_level_tab(C_DLVY_ACTION_ENABLED_LVL):=1;
36      g_validation_level_tab(C_DECIMAL_QUANTITY_LVL):=1;
37      g_validation_level_tab(C_GROSS_WEIGHT_LVL) := 1;
38      g_validation_level_tab(C_NET_WEIGHT_LVL) := 1;
39      g_validation_level_tab(C_VOLUME_LVL) :=1;
40      g_validation_level_tab(C_CUSTOMER_LVL) :=1;
41      g_validation_level_tab(C_SHIP_FROM_ORG_LVL) :=1;
42      g_validation_level_tab(C_SHIP_TO_ORG_LVL) :=1;
43      g_validation_level_tab(C_DELV_TO_ORG_LVL) :=1;
44      g_validation_level_tab(C_INTMED_SHIP_ORG_LVL) :=1;
45      g_validation_level_tab(C_TOL_ABOVE_LVL) :=1;
46      g_validation_level_tab(C_TOL_BELOW_LVL) :=1;
47      g_validation_level_tab(C_SHIP_QTY_LVL) :=1;
48      g_validation_level_tab(C_CC_QTY_LVL) :=1;
49 -- HW Harmonization project for OPM. Added qty2
50      g_validation_level_tab(C_SHIP_QTY2_LVL) :=1;
51      g_validation_level_tab(C_CC_QTY2_LVL) :=1;
52 -- HW end of changes
53      g_validation_level_tab(C_SERIAL_NUM_LVL) :=1;
54      g_validation_level_tab(C_SMC_LVL) :=1;
55      g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=1;
56      g_validation_level_tab(C_FOB_LVL) :=1;
57      g_validation_level_tab(C_DEP_PLAN_LVL) :=1;
58      g_validation_level_tab(C_SHIP_MOD_COMP_LVL) :=1;
59      g_validation_level_tab(C_REL_STATUS_LVL) :=1;
60      g_validation_level_tab(C_SUB_INV_LVL) :=1;
61      g_validation_level_tab(C_REVISION_LVL) :=1;
62      g_validation_level_tab(C_LOCATOR_LVL) :=1;
63      g_validation_level_tab(C_LOT_NUMBER_LVL) :=1;
64      g_validation_level_tab(C_SOLD_CONTACT_LVL) :=1;
65      g_validation_level_tab(C_SHIP_CONTACT_LVL) :=1;
66      g_validation_level_tab(C_DELIVER_CONTACT_LVL) :=1;
67      g_validation_level_tab(C_INTMED_SHIP_CONTACT_LVL) :=1;
68      g_validation_level_tab(C_CONT_ITEM_LVL):= 1;
69      g_validation_level_tab(C_MASTER_SER_NUM_LVL):= 1;
70      g_validation_level_tab(C_CONTAINER_STATUS_LVL) := 1;
71      g_validation_level_tab(C_CONTAINER_ORG_LVL) := 1;
72      g_validation_level_tab(C_CONT_DLVY_LVL) := 1;
73      g_validation_level_tab(C_DET_INSPECT_FLAG_LVL) := 1;
74      g_validation_level_tab(C_MASTER_LPN_ITEM_LVL) := 1;
75      g_validation_level_tab(C_DETAIL_LPN_ITEM_LVL) := 1;
76      g_validation_level_tab(C_VALIDATE_FREIGHT_CLASS_LVL) := 1;
77      g_validation_level_tab(C_VALIDATE_OM_QTY_WT_VOL_LVL) := 1;
78      g_validation_level_tab(C_VALIDATE_OKE_NULL_FIELDS_LVL) := 1;
79      g_validation_level_tab(C_VALIDATE_OM_MIS_LVL) := 1;
80      g_validation_level_tab(C_VALIDATE_OKE_MIS_LVL) := 1;
81      g_validation_level_tab(C_POPULATE_ORGANIZATION_ID) := 1;
82      g_validation_level_tab(C_GET_SHIP_FROM_LOC_LVL) := 1;
83      g_validation_level_tab(C_GET_SHIPTO_LOC_LVL) := 1;
84      g_validation_level_tab(C_GET_DELIVER_TO_LOC_LVL) := 1;
85      g_validation_level_tab(C_GET_INTMED_SHIPTO_LOC_LVL) := 1;
86      g_validation_level_tab(C_VALIDATE_SHIPTO_LOC_LVL) := 1;
87      g_validation_level_tab(C_VALIDATE_SHIP_FROM_LOC_LVL) := 1;
88      g_validation_level_tab(C_DEFAULT_FLEX_LVL) := 1;
89      g_validation_level_tab(C_DEFAULT_CONTAINEER_LVL) := 1;
90 -- J-IB-ANVISWAN
91      g_validation_level_tab(C_PO_VALIDATE_FOB_LVL) := 1;
92      g_validation_level_tab(C_PO_VALIDATE_FR_TERMS_LVL) := 1;
93      g_validation_level_tab(C_PO_VALIDATE_SHPTO_LOC_LVL) := 1;
94      g_validation_level_tab(C_PO_VALIDATE_MAN_FIELDS_LVL) := 1;
95      g_validation_level_tab(C_PO_DEFAULT_FLEX_LVL) := 1;
96      g_validation_level_tab(C_PO_CHECK_ORGID_LVL) := 1;
97      g_validation_level_tab(C_PO_DEFAULT_SHIPFROM_LVL) := 1;
98      g_validation_level_tab(C_PO_DERIVE_DROPSHIP_LVL) := 1;
99      g_validation_level_tab(C_PO_CALC_WT_VOL_LVL) := 1;
100      g_validation_level_tab(C_PO_GET_OPM_QTY_LVL) := 1;
101      g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
102 --lpn conv
103 
104   ELSIF (p_entity = 'DLVY' ) THEN
105      g_validation_level_tab(C_ACTION_ENABLED_LVL)      := 1;
106      g_validation_level_tab(C_LOCK_RECORDS_LVL)        := 1;
107      g_validation_level_tab(C_DISABLED_LIST_LVL)       := 1;
108      g_validation_level_tab(C_DLVY_DEFAULTS_LVL)       := 1;
109      g_validation_level_tab(C_TRIP_NAME_LVL)           := 1;
110      g_validation_level_tab(C_LOCATION_LVL)            := 1;
111      g_validation_level_tab(C_STOP_NAME_LVL)           := 1;
112      g_validation_level_tab(C_SEQ_NUM_LVL)             := 1;
113 -- J-Stop Sequence Change - CSUN
114      g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 1;
115      g_validation_level_tab(C_CHECK_UNASSIGN_LVL)      := 1;
116      g_validation_level_tab(C_DOCUMENT_SETS_LVL)       := 1;
117      g_validation_level_tab(C_TRIP_STATUS_LVL)         := 1;
118      g_validation_level_tab(C_DELIVERY_NAME_LVL)       := 1;
119      g_validation_level_tab(C_ORGANIZATION_LVL)        := 1;
120      g_validation_level_tab(C_LOADING_ORDER_LVL)       := 1;
121      g_validation_level_tab(C_SHIP_FROM_LOC_LVL)       := 1;
122      g_validation_level_tab(C_SHIP_TO_LOC_LVL)         := 1;
123      g_validation_level_tab(C_INTMD_SHIPTO_LOC_LVL)    := 1;
124      g_validation_level_tab(C_POOLED_SHIPTO_LOC_LVL)   := 1;
125      g_validation_level_tab(C_DLVY_ORG_LVL)            := 1;
126      g_validation_level_tab(C_FREIGHT_CARRIER_LVL)     := 1;
127      g_validation_level_tab(C_FOB_LVL)                 := 1;
128      g_validation_level_tab(C_FOB_LOC_LVL)             := 1;
129      g_validation_level_tab(C_ROUTE_EXPORT_TXN_LVL)    := 1;
130      g_validation_level_tab(C_GROSS_WEIGHT_LVL)        := 1;
131      g_validation_level_tab(C_NET_WEIGHT_LVL)          := 1;
132      g_validation_level_tab(C_VOLUME_LVL)              := 1;
133      g_validation_level_tab(C_CUSTOMER_LVL)            := 1;
134      g_validation_level_tab(C_WEIGHT_UOM_LVL)          := 1;
135      g_validation_level_tab(C_VOLUME_UOM_LVL)          := 1;
136      g_validation_level_tab(C_ARR_DEP_DATES_LVL)       := 1;
137      g_validation_level_tab(C_CURRENCY_LVL)            := 1;
138      g_validation_level_tab(C_NUMBER_OF_LPN_LVL)       := 1;
139      g_validation_level_tab(C_FREIGHT_TERMS_LVL)       := 1;
140      g_validation_level_tab(C_DERIVE_DELIVERY_UOM_LVL) := 1;
141      g_validation_level_tab(C_PRINT_LABEL_LVL)         := 1;
142 
143   ELSIF (p_entity = 'STOP' ) THEN
144      g_validation_level_tab(C_ACTION_ENABLED_LVL)    :=1;
145      g_validation_level_tab(C_LOCK_RECORDS_LVL)      :=1;
146      g_validation_level_tab(C_TRIP_NAME_LVL)         :=1;
147      g_validation_level_tab(C_LOCATION_LVL)          :=1;
148      g_validation_level_tab(C_STOP_NAME_LVL)         :=1;
149      g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL)       :=1;
150      g_validation_level_tab(C_STOP_DEFAULTS_LVL)              :=1;
151      g_validation_level_tab(C_DOCUMENT_SETS_LVL)     :=1;
152      g_validation_level_tab(C_CHK_UPDATE_STATUS_LVL)     :=1;
153      g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
154      g_validation_level_tab(C_PLANNED_TRIP_LVL)    :=1;
155      g_validation_level_tab(C_WEIGHT_UOM_LVL)    :=1;
156      g_validation_level_tab(C_VOLUME_UOM_LVL)    :=1;
157      g_validation_level_tab(C_ARR_DEP_DATES_LVL)    :=1;
158      g_validation_level_tab(C_DISABLED_LIST_LVL)    :=1;
159      g_validation_level_tab(C_SEQ_NUM_LVL) :=1;
160   -- J-Stop Sequence Change - CSUN
161      g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 1;
162      g_validation_level_tab(C_PRINT_LABEL_LVL)   := 1;
163      g_validation_level_tab(C_CREATE_MIXED_STOP_LVL)  := 1;
164   ELSIF (p_entity = 'TRIP' ) THEN
165      g_validation_level_tab(C_ACTION_ENABLED_LVL)   :=1;
166      g_validation_level_tab(C_LOCK_RECORDS_LVL)             :=1;
167      g_validation_level_tab(C_TRIP_NAME_LVL)                :=1;
168      g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL)     :=1;
169      g_validation_level_tab(C_DOCUMENT_SETS_LVL)    :=1;
170      g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
171      g_validation_level_tab(C_DISABLED_LIST_LVL)    :=1;
172      g_validation_level_tab(C_ARR_AFTER_TRIP_LVL)   :=1;
173      g_validation_level_tab(C_VEH_ORG_LVL)    :=1;
174      g_validation_level_tab(C_TRIP_MOT_LVL)    :=1;
175      g_validation_level_tab(C_SERVICE_LVL)    :=1;
176      g_validation_level_tab(C_CARRIER_LVL)    :=1;
177      g_validation_level_tab(C_VEH_ITEM_LVL)    :=1;
178      g_validation_level_tab(C_CONSOL_ALLW_LVL)    :=1;
179      g_validation_level_tab(C_TRIP_SMC_LVL)                :=1;
180      g_validation_level_tab(C_FREIGHT_CARRIER_LVL)  := 1;
181      g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=1;
182      g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL)  := 1;
183      g_validation_level_tab(C_CREATE_MIXED_TRIP_LVL)  := 1;
184   ELSIF (p_entity = 'DLEG' ) THEN
185      g_validation_level_tab(C_ACTION_ENABLED_LVL)   :=1;
186      g_validation_level_tab(C_LOCK_RECORDS_LVL)             :=1;
190      g_validation_level_tab(C_FREIGHT_COST_TYPE_LVL)   :=1;
187      g_validation_level_tab(C_TRIP_SMC_LVL)                :=1;
188      g_validation_level_tab(C_BOL_NUM_LVL)     :=1;
189   ELSIF (p_entity = 'FRST' ) THEN
191      g_validation_level_tab(C_FREIGHT_UNIT_AMT_LVL)    :=1;
192      g_validation_level_tab(C_FREIGHT_CONV_RATE_LVL)   :=1;
193      g_validation_level_tab(C_FREIGHT_CURR_CODE_LVL)   :=1;
194      g_validation_level_tab(C_PARENT_ENTITY_LVL)       :=1;
195      g_validation_level_tab(C_ACTION_ENABLED_LVL)      :=1;  -- J-IB-JCKWOK
196   ELSE
197      x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
198   END IF;
199 
200   IF l_debug_on THEN
201       WSH_DEBUG_SV.pop(l_module_name);
202   END IF;
203 
204 EXCEPTION
205  WHEN OTHERS THEN
206    IF l_debug_on THEN
207       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
208       WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '||
209                           SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
210       WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
211    END IF;
212 
213 END set_validation_level_on;
214 
215 
216 PROCEDURE set_validation_level_off(
217    p_entity			IN	VARCHAR2,
218    x_return_status		OUT NOCOPY 	VARCHAR2
219  ) IS
220 
221 l_debug_on BOOLEAN;
222  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'SET_VALIDATE_LEVEL_OFF';
223 
224 BEGIN
225   --
226   l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
227   --
228   IF l_debug_on IS NULL
229   THEN
230       l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
231   END IF;
232   --
233   IF l_debug_on THEN
234       WSH_DEBUG_SV.push(l_module_name);
235       WSH_DEBUG_SV.log(l_module_name,'p_entity',p_entity);
236   END IF;
237 
238   x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
239 
240      --Turning off the common validation levels first
241      g_validation_level_tab(C_ACTION_ENABLED_LVL):=0;
242      g_validation_level_tab(C_LOCK_RECORDS_LVL):=0;
243      g_validation_level_tab(C_DISABLED_LIST_LVL):=0;
244      g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 0;
245 
246    -- Based on the entity , turning off the respective validation levels
247   IF (p_entity = 'DLVB' ) THEN
248      g_validation_level_tab(C_DLVY_ACTION_ENABLED_LVL):=0;
249      g_validation_level_tab(C_DECIMAL_QUANTITY_LVL):=0;
250      g_validation_level_tab(C_GROSS_WEIGHT_LVL) := 0;
251      g_validation_level_tab(C_NET_WEIGHT_LVL) := 0;
252      g_validation_level_tab(C_VOLUME_LVL) :=0;
253      g_validation_level_tab(C_CUSTOMER_LVL) :=0;
254      g_validation_level_tab(C_SHIP_FROM_ORG_LVL) :=0;
255      g_validation_level_tab(C_SHIP_TO_ORG_LVL) :=0;
256      g_validation_level_tab(C_DELV_TO_ORG_LVL) :=0;
257      g_validation_level_tab(C_INTMED_SHIP_ORG_LVL) :=0;
258      g_validation_level_tab(C_TOL_ABOVE_LVL) :=0;
259      g_validation_level_tab(C_TOL_BELOW_LVL) :=0;
260      g_validation_level_tab(C_SHIP_QTY_LVL) :=0;
261      g_validation_level_tab(C_CC_QTY_LVL) :=0;
262 -- HW Harmonization project for OPM. Added qty2
263      g_validation_level_tab(C_SHIP_QTY2_LVL) :=0;
264      g_validation_level_tab(C_CC_QTY2_LVL) :=0;
265 -- HW end of changes
266 
267      g_validation_level_tab(C_SERIAL_NUM_LVL) :=0;
268      g_validation_level_tab(C_SMC_LVL) :=0;
269      g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=0;
270      g_validation_level_tab(C_FOB_LVL) :=0;
271      g_validation_level_tab(C_DEP_PLAN_LVL) :=0;
272      g_validation_level_tab(C_SHIP_MOD_COMP_LVL) :=0;
273      g_validation_level_tab(C_REL_STATUS_LVL) :=0;
274      g_validation_level_tab(C_SUB_INV_LVL) :=0;
275      g_validation_level_tab(C_REVISION_LVL) :=0;
276      g_validation_level_tab(C_LOCATOR_LVL) :=0;
277      g_validation_level_tab(C_LOT_NUMBER_LVL) :=0;
278      g_validation_level_tab(C_SOLD_CONTACT_LVL) :=0;
279      g_validation_level_tab(C_SHIP_CONTACT_LVL) :=0;
280      g_validation_level_tab(C_DELIVER_CONTACT_LVL) :=0;
281      g_validation_level_tab(C_INTMED_SHIP_CONTACT_LVL) :=0;
282      g_validation_level_tab(C_CONT_ITEM_LVL):= 0;
283      g_validation_level_tab(C_MASTER_SER_NUM_LVL):= 0;
284      g_validation_level_tab(C_CONTAINER_STATUS_LVL) := 0;
285      g_validation_level_tab(C_CONTAINER_ORG_LVL) := 0;
286      g_validation_level_tab(C_CONT_DLVY_LVL) := 0;
287      g_validation_level_tab(C_DET_INSPECT_FLAG_LVL) := 0;
288      g_validation_level_tab(C_MASTER_LPN_ITEM_LVL) := 0;
289      g_validation_level_tab(C_DETAIL_LPN_ITEM_LVL) := 0;
290      g_validation_level_tab(C_VALIDATE_FREIGHT_CLASS_LVL) := 0;
291      g_validation_level_tab(C_VALIDATE_OM_QTY_WT_VOL_LVL) := 0;
292      g_validation_level_tab(C_VALIDATE_OKE_NULL_FIELDS_LVL) := 0;
293      g_validation_level_tab(C_VALIDATE_OM_MIS_LVL) := 0;
294      g_validation_level_tab(C_VALIDATE_OKE_MIS_LVL) := 0;
295      g_validation_level_tab(C_POPULATE_ORGANIZATION_ID) := 0;
296      g_validation_level_tab(C_GET_SHIP_FROM_LOC_LVL) := 0;
297      g_validation_level_tab(C_GET_SHIPTO_LOC_LVL) := 0;
298      g_validation_level_tab(C_GET_DELIVER_TO_LOC_LVL) := 0;
299      g_validation_level_tab(C_GET_INTMED_SHIPTO_LOC_LVL) := 0;
300      g_validation_level_tab(C_VALIDATE_SHIPTO_LOC_LVL) := 0;
301      g_validation_level_tab(C_VALIDATE_SHIP_FROM_LOC_LVL) := 0;
302      g_validation_level_tab(C_DEFAULT_FLEX_LVL) := 0;
303      g_validation_level_tab(C_DEFAULT_CONTAINEER_LVL) := 0;
304 -- J-IB-ANVISWAN
305      g_validation_level_tab(C_PO_VALIDATE_FOB_LVL) := 0;
309      g_validation_level_tab(C_PO_DEFAULT_FLEX_LVL) := 0;
306      g_validation_level_tab(C_PO_VALIDATE_FR_TERMS_LVL) := 0;
307      g_validation_level_tab(C_PO_VALIDATE_SHPTO_LOC_LVL) := 0;
308      g_validation_level_tab(C_PO_VALIDATE_MAN_FIELDS_LVL) := 0;
310      g_validation_level_tab(C_PO_CHECK_ORGID_LVL) := 0;
311      g_validation_level_tab(C_PO_DEFAULT_SHIPFROM_LVL) := 0;
312      g_validation_level_tab(C_PO_DERIVE_DROPSHIP_LVL) := 0;
313      g_validation_level_tab(C_PO_CALC_WT_VOL_LVL) := 0;
314      g_validation_level_tab(C_PO_GET_OPM_QTY_LVL) := 0;
315      g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 0;
316 --lpn conv
317 
318   ELSIF (p_entity = 'DLVY' ) THEN
319      g_validation_level_tab(C_DLVY_DEFAULTS_LVL)       := 0;
320      g_validation_level_tab(C_TRIP_NAME_LVL)           := 0;
321      g_validation_level_tab(C_LOCATION_LVL)            := 0;
322      g_validation_level_tab(C_STOP_NAME_LVL)           := 0;
323      g_validation_level_tab(C_SEQ_NUM_LVL)             := 0;
324   -- J-Stop Sequence Change - CSUN
325      g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 0;
326      g_validation_level_tab(C_CHECK_UNASSIGN_LVL)      := 0;
327      g_validation_level_tab(C_DOCUMENT_SETS_LVL)       := 0;
328      g_validation_level_tab(C_TRIP_STATUS_LVL)         := 0;
329      g_validation_level_tab(C_DELIVERY_NAME_LVL)       := 0;
330      g_validation_level_tab(C_ORGANIZATION_LVL)        := 0;
331      g_validation_level_tab(C_LOADING_ORDER_LVL)       := 0;
332      g_validation_level_tab(C_SHIP_FROM_LOC_LVL)       := 0;
333      g_validation_level_tab(C_SHIP_TO_LOC_LVL)         := 0;
334      g_validation_level_tab(C_INTMD_SHIPTO_LOC_LVL)    := 0;
335      g_validation_level_tab(C_POOLED_SHIPTO_LOC_LVL)   := 0;
336      g_validation_level_tab(C_DLVY_ORG_LVL)            := 0;
337      g_validation_level_tab(C_FREIGHT_CARRIER_LVL)     := 0;
338      g_validation_level_tab(C_FOB_LVL)                 := 0;
339      g_validation_level_tab(C_FOB_LOC_LVL)             := 0;
340      g_validation_level_tab(C_ROUTE_EXPORT_TXN_LVL)    := 0;
341      g_validation_level_tab(C_GROSS_WEIGHT_LVL)        := 0;
342      g_validation_level_tab(C_NET_WEIGHT_LVL)          := 0;
343      g_validation_level_tab(C_VOLUME_LVL)              := 0;
344      g_validation_level_tab(C_CUSTOMER_LVL)            := 0;
345      g_validation_level_tab(C_WEIGHT_UOM_LVL)          := 0;
346      g_validation_level_tab(C_VOLUME_UOM_LVL)          := 0;
347      g_validation_level_tab(C_ARR_DEP_DATES_LVL)       := 0;
348      g_validation_level_tab(C_CURRENCY_LVL)            := 0;
349      g_validation_level_tab(C_NUMBER_OF_LPN_LVL)       := 0;
350      g_validation_level_tab(C_FREIGHT_TERMS_LVL)       := 0;
351      g_validation_level_tab(C_DERIVE_DELIVERY_UOM_LVL) := 0;
352      g_validation_level_tab(C_PRINT_LABEL_LVL)         := 0;
353      g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 0; -- BUG 2684692
354   ELSIF (p_entity = 'STOP' ) THEN
355      g_validation_level_tab(C_TRIP_NAME_LVL)         :=0;
356      g_validation_level_tab(C_LOCATION_LVL)          :=0;
357      g_validation_level_tab(C_STOP_NAME_LVL)         :=0;
358      g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL)       :=0;
359      g_validation_level_tab(C_STOP_DEFAULTS_LVL)              :=0;
360      g_validation_level_tab(C_DOCUMENT_SETS_LVL)     :=0;
361      g_validation_level_tab(C_CHK_UPDATE_STATUS_LVL)     :=0;
362      g_validation_level_tab(C_TRIP_STATUS_LVL)    :=0;
363      g_validation_level_tab(C_PLANNED_TRIP_LVL)    :=0;
364      g_validation_level_tab(C_WEIGHT_UOM_LVL)    :=0;
365      g_validation_level_tab(C_VOLUME_UOM_LVL)    :=0;
366      g_validation_level_tab(C_ARR_DEP_DATES_LVL)    :=0;
367      g_validation_level_tab(C_SEQ_NUM_LVL) :=0;
368   -- J-Stop Sequence Change - CSUN
369      g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 0;
370      g_validation_level_tab(C_PRINT_LABEL_LVL)   := 0;
371      g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 0; -- BUG 2684692
372      g_validation_level_tab(C_CREATE_MIXED_STOP_LVL)  := 0;
373   ELSIF (p_entity = 'TRIP' ) THEN
374      g_validation_level_tab(C_TRIP_NAME_LVL)                :=0;
375      g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL)     :=0;
376      g_validation_level_tab(C_DOCUMENT_SETS_LVL)    :=0;
377      g_validation_level_tab(C_TRIP_STATUS_LVL)    :=0;
378      g_validation_level_tab(C_ARR_AFTER_TRIP_LVL)   :=0;
379      g_validation_level_tab(C_VEH_ORG_LVL)    :=0;
380      g_validation_level_tab(C_TRIP_MOT_LVL)    :=0;
381      g_validation_level_tab(C_SERVICE_LVL)    :=0;
382      g_validation_level_tab(C_CARRIER_LVL)    :=0;
383      g_validation_level_tab(C_VEH_ITEM_LVL)    :=0;
384      g_validation_level_tab(C_CONSOL_ALLW_LVL)    :=0;
385      g_validation_level_tab(C_TRIP_SMC_LVL)    :=0;
386      g_validation_level_tab(C_FREIGHT_CARRIER_LVL)  := 0;
387      g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=0;
388      g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL)  := 0;
389      g_validation_level_tab(C_CREATE_MIXED_TRIP_LVL)  := 0;
390   ELSIF (p_entity = 'DLEG' ) THEN
391      g_validation_level_tab(C_TRIP_SMC_LVL)    :=0;
392      g_validation_level_tab(C_BOL_NUM_LVL)     :=0;
393   ELSIF (p_entity = 'FRST' ) THEN
394      g_validation_level_tab(C_FREIGHT_COST_TYPE_LVL)   :=0;
395      g_validation_level_tab(C_FREIGHT_UNIT_AMT_LVL)    :=0;
396      g_validation_level_tab(C_FREIGHT_CONV_RATE_LVL)   :=0;
397      g_validation_level_tab(C_FREIGHT_CURR_CODE_LVL)   :=0;
398      g_validation_level_tab(C_PARENT_ENTITY_LVL)       :=0;
399      g_validation_level_tab(C_ACTION_ENABLED_LVL)      :=0;  -- J-IB-JCKWOK
400   ELSE
404   IF l_debug_on THEN
401      x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
402   END IF;
403 
405       WSH_DEBUG_SV.pop(l_module_name);
406   END IF;
407 
408 EXCEPTION
409  WHEN OTHERS THEN
410    IF l_debug_on THEN
411       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
412       WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '||
413                           SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
414       WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
415    END IF;
416 
417 END set_validation_level_off;
418 
419 
420 PROCEDURE set_validation_level (
421    	p_entity		IN VARCHAR2,
422         p_caller                IN VARCHAR2,
423         p_phase                 IN NUMBER,
424         p_action                IN VARCHAR2,
425         x_return_status		OUT NOCOPY 	VARCHAR2
426     ) IS
427 l_debug_on BOOLEAN;
428  l_module_name CONSTANT VARCHAR2(100) := 'wsh.plsql.' || G_PKG_NAME || '.' || 'SET_VALIDATE_LEVEL';
429 
430  error_in_validation_level_off EXCEPTION;
431  l_phase	NUMBER;
432 BEGIN
433   --
434   l_debug_on := WSH_DEBUG_INTERFACE.g_debug;
435   --
436   IF l_debug_on IS NULL
437   THEN
438       l_debug_on := WSH_DEBUG_SV.is_debug_enabled;
439   END IF;
440   --
441   IF l_debug_on THEN
442       WSH_DEBUG_SV.push(l_module_name);
443       --
444       WSH_DEBUG_SV.log(l_module_name,'p_entity',p_entity);
445       WSH_DEBUG_SV.log(l_module_name,'p_caller',p_caller);
446       WSH_DEBUG_SV.log(l_module_name,'p_phase',p_phase);
447       WSH_DEBUG_SV.log(l_module_name,'p_action',p_action);
448   END IF;
449 
450   l_phase := nvl(p_phase,1);
451 
452   set_validation_level_off(p_entity,x_return_status);
453   IF l_debug_on THEN
454      WSH_DEBUG_SV.log(l_module_name,'set_validation_level_off x_return_status',x_return_status);
455   END IF;
456 
457   IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS ) THEN
458     raise error_in_validation_level_off;
459   END IF;
460 
461   IF (p_entity = 'DLVB' ) THEN
462      IF p_caller = 'WSH_FSTRX' THEN
463         g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
464         IF l_phase = 1 THEN
465            g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
466            IF p_action NOT IN ('RESOLVE-EXCEPTIONS-UI','PICK-RELEASE-UI') THEN
467               g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
468            END IF;
469         ELSIF l_phase = 2 THEN
470 
471            IF p_action = 'ASSIGN' THEN
472               g_validation_level_tab(C_DLVY_ACTION_ENABLED_LVL) := 1;
473               g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
474            END IF;
475         END IF;
476       ELSIF p_caller = 'OM' THEN
477           g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
478           g_validation_level_tab(C_VALIDATE_FREIGHT_CLASS_LVL) := 1;
479           g_validation_level_tab(C_VALIDATE_OM_QTY_WT_VOL_LVL) := 1;
480           g_validation_level_tab(C_VALIDATE_OM_MIS_LVL) := 1;
481           g_validation_level_tab(C_POPULATE_ORGANIZATION_ID) := 1;
482           g_validation_level_tab(C_GET_SHIP_FROM_LOC_LVL) := 1;
483           g_validation_level_tab(C_GET_SHIPTO_LOC_LVL) := 1;
484           g_validation_level_tab(C_GET_DELIVER_TO_LOC_LVL) := 1;
485           g_validation_level_tab(C_GET_INTMED_SHIPTO_LOC_LVL) := 1;
486           g_validation_level_tab(C_DEFAULT_FLEX_LVL) := 1;
487           g_validation_level_tab(C_DEFAULT_CONTAINEER_LVL) := 1;
488       ELSIF p_caller = 'OKE' THEN
489           g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
490           g_validation_level_tab(C_VALIDATE_OKE_NULL_FIELDS_LVL) := 1;
491           g_validation_level_tab(C_VALIDATE_OKE_MIS_LVL) := 1;
492           g_validation_level_tab(C_VALIDATE_SHIPTO_LOC_LVL) := 1;
493           g_validation_level_tab(C_VALIDATE_SHIP_FROM_LOC_LVL) := 1;
494           g_validation_level_tab(C_DEFAULT_FLEX_LVL) := 1;
495       ELSIF p_caller = 'PO' THEN
496 -- J-IB-ANVISWAN
497           g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
498           g_validation_level_tab(C_PO_VALIDATE_FOB_LVL) := 1;
499           g_validation_level_tab(C_PO_VALIDATE_FR_TERMS_LVL) := 1;
500           g_validation_level_tab(C_PO_VALIDATE_SHPTO_LOC_LVL) := 1;
501           g_validation_level_tab(C_PO_VALIDATE_MAN_FIELDS_LVL) := 1;
502           g_validation_level_tab(C_PO_DEFAULT_FLEX_LVL) := 1;
503           g_validation_level_tab(C_PO_CHECK_ORGID_LVL) := 1;
504 -- Bug 3574509 : Derive Drop Ship need not be called for the
505 -- following action codes.
506           IF p_action NOT IN  ('CANCEL_PO','FINAL_CLOSE','CLOSE_PO',
507                                'CLOSE_PO_FOR_RECEIVING') THEN
508              g_validation_level_tab(C_PO_DERIVE_DROPSHIP_LVL) := 1;
509           END IF;
510           g_validation_level_tab(C_PO_CALC_WT_VOL_LVL) := 1;
511           g_validation_level_tab(C_PO_GET_OPM_QTY_LVL) := 1;
512           IF p_action = 'APPROVE_PO' THEN
513                 g_validation_level_tab(C_PO_DEFAULT_SHIPFROM_LVL) := 1;
514           END IF;
515 
516       ELSE  -- p_caller = 'PLSQL'
517            g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
518            -- Bug fix 2646425
519            -- Locks to be obtained for non-wshfstrx callers as well
520            IF p_action <> 'CREATE' THEN
521                g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
522            END IF;
523            IF p_action IN ('SPLIT-LINE', 'CYCLE-COUNT') THEN
527               g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
524               g_validation_level_tab(C_DECIMAL_QUANTITY_LVL) := 1;
525            ELSIF p_action = 'ASSIGN' and NVL(WSH_WMS_LPN_GRP.g_caller ,'PLSQL') NOT LIKE 'WMS%'THEN
526               g_validation_level_tab(C_DLVY_ACTION_ENABLED_LVL) := 1;
528            ELSIF p_action IN('PACK', 'UNPACK') THEN
529               g_validation_level_tab(C_CONTAINER_STATUS_LVL) := 1;
530               g_validation_level_tab(C_CONT_DLVY_LVL) := 1;
531               IF(p_caller like 'WSH%') THEN
532                  g_validation_level_tab(C_CONTAINER_ORG_LVL) := 1;
533               END IF;
534            ELSIF p_action IN ('CREATE', 'UPDATE') THEN
535               IF (p_action = 'CREATE')  THEN
536                  g_validation_level_tab(C_CONTAINER_ORG_LVL) := 1;
537                  IF p_caller NOT LIKE 'WMS%' THEN
538                     g_validation_level_tab(C_CONT_ITEM_LVL) := 1;
539                  END IF;
540               END IF;
541 
542               -- Get Disabled List is called only for update
543               -- For create, get_disabled_list is not called in phase I
544               -- Because that would make the required fields null
545               IF(p_action = 'UPDATE') THEN
546                  g_validation_level_tab(C_DISABLED_LIST_LVL) := 1;
547               END IF;
548               IF (NVL(WSH_WMS_LPN_GRP.g_caller ,'PLSQL') NOT LIKE 'WMS%' )
549                OR (p_action = 'UPDATE' ) THEN
550                   g_validation_level_tab(C_WMS_CONTAINERS_LVL) := 1;
551 --lpn conv
552               END IF;
553               g_validation_level_tab(C_GROSS_WEIGHT_LVL) := 1;
554               g_validation_level_tab(C_NET_WEIGHT_LVL) := 1;
555               g_validation_level_tab(C_VOLUME_LVL) :=1;
556               g_validation_level_tab(C_CUSTOMER_LVL) :=1;
557               g_validation_level_tab(C_SHIP_FROM_ORG_LVL) :=1;
558               g_validation_level_tab(C_SHIP_TO_ORG_LVL) :=1;
559               g_validation_level_tab(C_DELV_TO_ORG_LVL) :=1;
560               g_validation_level_tab(C_INTMED_SHIP_ORG_LVL) :=1;
561               g_validation_level_tab(C_TOL_ABOVE_LVL) :=1;
562               g_validation_level_tab(C_TOL_BELOW_LVL) :=1;
563               g_validation_level_tab(C_SHIP_QTY_LVL) :=1;
564               g_validation_level_tab(C_CC_QTY_LVL) :=1;
565 -- HW Hamronization project OPM. Added qty2
566               g_validation_level_tab(C_SHIP_QTY2_LVL) :=1;
567               g_validation_level_tab(C_CC_QTY2_LVL) :=1;
568 -- HW end of changes
569               g_validation_level_tab(C_SERIAL_NUM_LVL) :=1;
570               g_validation_level_tab(C_SMC_LVL) :=1;
571               g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=1;
572               g_validation_level_tab(C_FOB_LVL) :=1;
573               g_validation_level_tab(C_DEP_PLAN_LVL) :=1;
574               g_validation_level_tab(C_SHIP_MOD_COMP_LVL) :=1;
575               g_validation_level_tab(C_REL_STATUS_LVL) :=1;
576               IF NVL(p_caller, 'XX') <> 'WMS_CONSOLIDATE' THEN    -- Bug 2755193 bypass validation of
577                 g_validation_level_tab(C_SUB_INV_LVL) :=1;        -- inv. controls for WMS subinventory transfer.
578                 g_validation_level_tab(C_REVISION_LVL) :=1;
579                 g_validation_level_tab(C_LOCATOR_LVL) :=1;
580                 g_validation_level_tab(C_LOT_NUMBER_LVL) :=1;
581               END IF;
582               g_validation_level_tab(C_SOLD_CONTACT_LVL) :=1;
583               g_validation_level_tab(C_SHIP_CONTACT_LVL) :=1;
584               g_validation_level_tab(C_DELIVER_CONTACT_LVL) :=1;
585               g_validation_level_tab(C_INTMED_SHIP_CONTACT_LVL) :=1;
586               g_validation_level_tab(C_MASTER_SER_NUM_LVL):= 1;
587               g_validation_level_tab(C_DET_INSPECT_FLAG_LVL) := 1;
588               g_validation_level_tab(C_MASTER_LPN_ITEM_LVL) := 1;
589               g_validation_level_tab(C_DETAIL_LPN_ITEM_LVL) := 1;
590            END IF;
591       END IF;
592       IF p_action = 'AUTOCREATE-DEL' THEN
593          g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
594       END IF;
595 
596   ELSIF (p_entity = 'DLVY' ) THEN
597      IF p_caller IN ('WSH_FSTRX', 'WSH_TRCON') THEN
598         IF p_action = 'CREATE' THEN
599           g_validation_level_tab(C_NUMBER_OF_LPN_LVL) := 1;
600           g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
601         ELSIF p_action = 'UPDATE' THEN
602           g_validation_level_tab(C_NUMBER_OF_LPN_LVL) := 1;
603           g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
604         ELSIF p_action = 'CLOSE' THEN
605           -- This should be turned on irrespective of the phase
606           -- Reason. This would be necessary either in phase 1 or phase 2
607           -- In phase 1, for cases where all base entites(deliveries) are eligible
608           -- In phase 2, for cases where some base entities were not eligible
609           -- and control went to form and came back to continue for eligible records
610           g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 1; -- Bug 2684692
611         END IF;
612         IF l_phase = 1 THEN
613            g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
614 
615            IF p_action NOT IN ('PICK-RELEASE','RESOLVE-EXCEPTIONS-UI','PICK-RELEASE-UI','VIEW-STATUS-UI',
616                                 'TRANSACTION-HISTORY-UI','PRINT-DOC-SETS') THEN
617               g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
618            END IF;
619 
620            IF p_action = 'CONFIRM' THEN
621               g_validation_level_tab(C_DLVY_DEFAULTS_LVL) := 1;
625            ELSIF p_action = 'UNASSIGN-TRIP' THEN
622               g_validation_level_tab(C_PRINT_LABEL_LVL)   := 1;
623            ELSIF p_action = 'PRINT-DOC-SETS' THEN
624               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
626               g_validation_level_tab(C_CHECK_UNASSIGN_LVL) := 1;
627            END IF;
628         ELSIF l_phase = 2 THEN
629            IF p_action = 'PRINT-DOC-SETS' THEN
630               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
631            ELSIF p_action = 'UNASSIGN-TRIP' THEN
632               g_validation_level_tab(C_CHECK_UNASSIGN_LVL) := 1;
633            ELSIF p_action = 'CONFIRM' THEN
634               g_validation_level_tab(C_PRINT_LABEL_LVL)   := 1;
635               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
636            ELSIF p_action = 'ASSIGN-TRIP' THEN
637               g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
638            END IF;
639         END IF;
640      ELSE  -- p_caller = 'PLSQL' i.e. Caller is Public API
641         g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
642            -- Bug fix 2646425
643            -- Locks to be obtained for non-wshfstrx callers as well
644            IF p_action NOT IN ('PICK-RELEASE','PRINT-DOC-SETS', 'CREATE') THEN
645               g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
646            END IF;
647 
648         IF p_action IN ('PRINT-DOC-SETS','CONFIRM') THEN
649            g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
650         ELSIF p_action = 'CLOSE' THEN
651            g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 1; -- Bug 2684692
652         ELSIF p_action = 'ASSIGN-TRIP' THEN
653            g_validation_level_tab(C_TRIP_NAME_LVL) := 1;
654            g_validation_level_tab(C_LOCATION_LVL) := 1;
655            IF (   p_caller LIKE 'FTE%'
656                OR p_caller LIKE 'WSH%')
657               AND (p_caller <> 'WSH_PUB') THEN
658              g_validation_level_tab(C_STOP_NAME_LVL) := 0;
659            ELSE
660              g_validation_level_tab(C_STOP_NAME_LVL) := 1;
661            END IF;
662            g_validation_level_tab(C_SEQ_NUM_LVL) := 1;
663   -- J-Stop Sequence Change - CSUN
664            g_validation_level_tab(C_PLAN_ARR_DATE_LVL)  := 1;
665            g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
666            g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
667         ELSIF p_action = 'UNASSIGN-TRIP' THEN
668            g_validation_level_tab(C_TRIP_NAME_LVL) := 1;
669            g_validation_level_tab(C_CHECK_UNASSIGN_LVL) := 1;
670         ELSIF p_action IN( 'CREATE','UPDATE') THEN
671            g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
672            g_validation_level_tab(C_DISABLED_LIST_LVL)    := 1;
673            g_validation_level_tab(C_ORGANIZATION_LVL)     := 1;
674            g_validation_level_tab(C_LOADING_ORDER_LVL)    := 1;
675            g_validation_level_tab(C_SHIP_FROM_LOC_LVL)    := 1;
676            g_validation_level_tab(C_SHIP_TO_LOC_LVL)      := 1;
677            g_validation_level_tab(C_INTMD_SHIPTO_LOC_LVL) := 1;
678            g_validation_level_tab(C_POOLED_SHIPTO_LOC_LVL):= 1;
679            g_validation_level_tab(C_DLVY_ORG_LVL)         := 1;
680            g_validation_level_tab(C_FREIGHT_CARRIER_LVL)  := 1;
681            g_validation_level_tab(C_FOB_LVL)              := 1;
682            g_validation_level_tab(C_FOB_LOC_LVL)          := 1;
683            g_validation_level_tab(C_ROUTE_EXPORT_TXN_LVL) := 1;
684            g_validation_level_tab(C_GROSS_WEIGHT_LVL)     := 1;
685            g_validation_level_tab(C_NET_WEIGHT_LVL)       := 1;
686            g_validation_level_tab(C_VOLUME_LVL)           := 1;
687            g_validation_level_tab(C_CUSTOMER_LVL)         := 1;
688            g_validation_level_tab(C_WEIGHT_UOM_LVL)       := 1;
689            g_validation_level_tab(C_VOLUME_UOM_LVL)       := 1;
690            g_validation_level_tab(C_ARR_DEP_DATES_LVL)    := 1;
691            g_validation_level_tab(C_CURRENCY_LVL)         := 1;
692            g_validation_level_tab(C_NUMBER_OF_LPN_LVL)    := 1;
693            g_validation_level_tab(C_FREIGHT_TERMS_LVL)    := 1;
694            IF p_action = 'UPDATE' THEN
695              g_validation_level_tab(C_DELIVERY_NAME_LVL)       := 1;
696              g_validation_level_tab(C_DERIVE_DELIVERY_UOM_LVL) := 1;
697            END IF;
698         END IF;
699      END IF;
700      IF p_action IN ('AUTOCREATE-TRIP', 'TRIP-CONSOLIDATION') THEN
701         g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
702      END IF;
703 
704   ELSIF (p_entity = 'STOP' ) THEN
705 
706      -- We need to turn on this validation level irrespective of
707      -- the caller and phase.
708      IF p_action IN ('CREATE','UPDATE') THEN
709        g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
710        g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
711 
712 -- J-IB-NPARIKH-{
713        IF p_Action = 'CREATE'
714        THEN
715             g_validation_level_tab(C_CREATE_MIXED_STOP_LVL)  := 1;
716        END IF;
717 
718 -- J-IB-NPARIKH-}
719 --Bug 4027163:Constraint validations should not be done for deleting a stop as
720 --only those stops are considered for the delivery which are non-origin, non-destination
721 --pickup/drop off stops for that delivery. No other stops on the trip need to
722 --be validated
723      --ELSIF p_action = 'DELETE'  THEN
724        --g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
725      END IF;
726 
727      IF p_caller = 'WSH_FSTRX' THEN
728         IF l_phase = 1 THEN
729            g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
733            g_validation_level_tab(C_VOLUME_UOM_LVL)    :=1;
730            g_validation_level_tab(C_CHK_UPDATE_STATUS_LVL):=1;
731            g_validation_level_tab(C_PLANNED_TRIP_LVL)    :=1;
732            g_validation_level_tab(C_WEIGHT_UOM_LVL)    :=1;
734            g_validation_level_tab(C_ARR_DEP_DATES_LVL)    :=1;
735            g_validation_level_tab(C_SEQ_NUM_LVL) := 1;
736   -- J-Stop Sequence Change - CSUN
737            g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 1;
738            IF p_action NOT IN ('PICK-RELEASE','RESOLVE-EXCEPTIONS-UI','PICK-RELEASE-UI','PRINT-DOC-SETS') THEN
739               g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
740            END IF;
741            IF p_action = 'PRINT-DOC-SETS' THEN
742               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
743            END IF;
744            IF p_action = 'TRIP-CONFIRM' THEN
745               g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL) := 1;
746            END IF;
747            IF p_action = 'UPDATE-STATUS' THEN
748               g_validation_level_tab(C_STOP_DEFAULTS_LVL) := 1;
749               g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
750               g_validation_level_tab(C_PRINT_LABEL_LVL)   := 1;
751            END IF;
752         ELSIF l_phase = 2 THEN
753            g_validation_level_tab(C_CHK_UPDATE_STATUS_LVL):=1;
754            IF p_action = 'PRINT-DOC-SETS' THEN
755               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
756            END IF;
757            IF p_action = 'UPDATE-STATUS' THEN
758               g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
759               g_validation_level_tab(C_PRINT_LABEL_LVL)   := 1;
760               g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 1; -- Bug 2684692
761            END IF;
762         END IF;
763       ELSE  -- p_caller = 'PLSQL' i.e. Caller is Public API
764            -- Bug fix 2646425
765            -- Locks to be obtained for non-wshfstrx callers as well
766            IF p_action NOT IN ('PICK-RELEASE','PRINT-DOC-SETS', 'CREATE') THEN
767                g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
768            END IF;
769 
770         IF p_action IN ('CREATE') THEN
771            g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
772         END IF;
773 
774         g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
775         g_validation_level_tab(C_TRIP_NAME_LVL) := 1;
776         g_validation_level_tab(C_LOCATION_LVL) := 1;
777 
778         IF (  (   p_caller LIKE 'FTE%'
779                OR p_caller LIKE 'WSH%')
780             AND (p_caller <> 'WSH_PUB'))
781            OR (p_action = 'CREATE')     THEN
782           g_validation_level_tab(C_STOP_NAME_LVL) := 0;
783         ELSE
784           g_validation_level_tab(C_STOP_NAME_LVL) := 1;
785         END IF;
786 
787         g_validation_level_tab(C_CHK_UPDATE_STATUS_LVL):=1;
788         g_validation_level_tab(C_PLANNED_TRIP_LVL)    :=1;
789         g_validation_level_tab(C_WEIGHT_UOM_LVL)    :=1;
790         g_validation_level_tab(C_VOLUME_UOM_LVL)    :=1;
791         g_validation_level_tab(C_ARR_DEP_DATES_LVL)    :=1;
792         g_validation_level_tab(C_DISABLED_LIST_LVL)    :=1;
793         g_validation_level_tab(C_SEQ_NUM_LVL) := 1;
794   -- J-Stop Sequence Change - CSUN
795         g_validation_level_tab(C_PLAN_ARR_DATE_LVL)       := 1;
796         IF p_action = 'PRINT-DOC-SETS' THEN
797            g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
798         END IF;
799         IF p_action ='UPDATE-STATUS' THEN
800            g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
801            g_validation_level_tab(C_LOCK_RELATED_ENTITIES_LVL) := 1; -- Bug 2684692
802         END IF;
803       END IF;
804 
805   ELSIF (p_entity = 'TRIP' ) THEN
806      -- We need to turn on this validation level irrespective of
807      -- the caller and phase.
808      IF p_action = 'UPDATE' THEN
809        g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
810        g_validation_level_tab(C_VALIDATE_CONSTRAINTS_LVL) := 1;
811      END IF;
812      -- J-IB-NPARIKH-{
813      IF p_action = 'CREATE' THEN
814        g_validation_level_tab(C_CREATE_MIXED_TRIP_LVL)  := 1;
815      END IF;
816      -- J-IB-NPARIKH-}
817 
818      --TL Rating C_CONSOL_ALLW_LVL    validation moved from form to grp api.
819      --independant of phase for create, update
820      IF p_action IN ('CREATE', 'UPDATE') THEN
821         g_validation_level_tab(C_CONSOL_ALLW_LVL)    :=1;
822      END IF;
823      IF p_caller = 'WSH_FSTRX' THEN
824         IF l_phase = 1 THEN
825            g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
826            g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
827            IF p_action NOT IN ('PICK-RELEASE','RESOLVE-EXCEPTIONS-UI','PICK-RELEASE-UI','PRINT-DOC-SETS') THEN
828               g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
829            END IF;
830            IF p_action = 'PRINT-DOC-SETS' THEN
831               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
832            END IF;
833            IF p_action IN ('PLAN', 'UNPLAN') THEN
834               g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
835            END IF;
836            IF p_action = 'TRIP-CONFIRM' THEN
837               g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL) := 1;
838            END IF;
839         ELSIF l_phase = 2 THEN
840            IF p_action = 'PRINT-DOC-SETS' THEN
841               g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
842            END IF;
843            IF p_action IN ('PLAN', 'UNPLAN') THEN
844               g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
845            END IF;
846            IF p_action = 'TRIP-CONFIRM' THEN
847               g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL) := 1;
848            END IF;
849         END IF;
850       ELSE  -- p_caller = 'PLSQL' i.e. Caller is Public API
851            -- Bug fix 2646425
852            -- Locks to be obtained for non-wshfstrx callers as well
853            IF p_action NOT IN ('PICK-RELEASE','PRINT-DOC-SETS', 'CREATE') THEN
854                g_validation_level_tab(C_LOCK_RECORDS_LVL) := 1;
855            END IF;
856         g_validation_level_tab(C_ACTION_ENABLED_LVL) := 1;
857         g_validation_level_tab(C_TRIP_STATUS_LVL)    :=1;
858         g_validation_level_tab(C_DISABLED_LIST_LVL)    :=1;
859         g_validation_level_tab(C_ARR_AFTER_TRIP_LVL)   :=1;
860         g_validation_level_tab(C_VEH_ORG_LVL)    :=1;
861         g_validation_level_tab(C_TRIP_MOT_LVL)    :=1;
862         g_validation_level_tab(C_SERVICE_LVL)    :=1;
863         g_validation_level_tab(C_CARRIER_LVL)    :=1;
864         g_validation_level_tab(C_VEH_ITEM_LVL)    :=1;
865         g_validation_level_tab(C_TRIP_SMC_LVL)    :=1;
869         IF p_action <> 'CREATE' THEN
866         g_validation_level_tab(C_FREIGHT_CARRIER_LVL)  := 1;
867         g_validation_level_tab(C_FREIGHT_TERMS_LVL) :=1;
868 
870            g_validation_level_tab(C_TRIP_NAME_LVL) := 1;
871         END IF;
872 
873         IF p_action = 'PRINT-DOC-SETS' THEN
874            g_validation_level_tab(C_DOCUMENT_SETS_LVL) := 1;
875         END IF;
876 
877         IF p_action IN ('PLAN', 'UNPLAN') THEN
878            g_validation_level_tab(C_TRIP_STOP_VALIDATION_LVL) := 1;
879         END IF;
880         IF p_action = 'TRIP-CONFIRM' THEN
881            g_validation_level_tab(C_TRIP_CONFIRM_DEFAULT_LVL) := 1;
882         END IF;
883       END IF;
884 
885   ELSIF (p_entity = 'DLEG' ) THEN
886      IF p_caller = 'WSH_FSTRX' THEN
887         IF l_phase = 1 THEN
888            g_validation_level_tab(C_ACTION_ENABLED_LVL)   :=1;
889            g_validation_level_tab(C_LOCK_RECORDS_LVL)     :=1;
890            IF p_action = 'GENERATE-BOL' THEN
891               g_validation_level_tab(C_TRIP_SMC_LVL)    :=1;
892               g_validation_level_tab(C_BOL_NUM_LVL)     :=1;
893            END IF;
894         ELSIF l_phase = 2 THEN
895            IF p_action = 'GENERATE-BOL' THEN
896               g_validation_level_tab(C_TRIP_SMC_LVL)    :=1;
897               g_validation_level_tab(C_BOL_NUM_LVL)     :=1;
898            END IF;
899         END IF;
900      END IF;
901   ELSIF (p_entity = 'FRST' ) THEN
902      IF p_caller <> 'WSH_FSTRX' THEN
903         g_validation_level_tab(C_FREIGHT_COST_TYPE_LVL)   :=1;
904         g_validation_level_tab(C_FREIGHT_UNIT_AMT_LVL)    :=1;
905         g_validation_level_tab(C_FREIGHT_CONV_RATE_LVL)   :=1;
906         g_validation_level_tab(C_FREIGHT_CURR_CODE_LVL)   :=1;
907         g_validation_level_tab(C_PARENT_ENTITY_LVL)       :=1;
908         g_validation_level_tab(C_DISABLED_LIST_LVL)    :=1;
909         g_validation_level_tab(C_ACTION_ENABLED_LVL)      :=1;  -- J-IB-JCKWOK
910      END IF;
911 
912   ELSE
913      x_return_status := WSH_UTIL_CORE.G_RET_STS_ERROR;
914   END IF;
915 
916   IF l_debug_on THEN
917       WSH_DEBUG_SV.pop(l_module_name);
918   END IF;
919 
920 EXCEPTION
921   WHEN error_in_validation_level_off THEN
922    IF l_debug_on THEN
923       WSH_DEBUG_SV.logmsg(l_module_name,'error_in_set_validation_level_off exception has occured.',
924                            WSH_DEBUG_SV.C_EXCEP_LEVEL);
925       WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:error_in_set_validation_level_off');
926    END IF;
927 
928   WHEN OTHERS THEN
929    IF l_debug_on THEN
930       x_return_status := WSH_UTIL_CORE.G_RET_STS_UNEXP_ERROR;
931       WSH_DEBUG_SV.logmsg(l_module_name,'Unexpected error has occured. Oracle error message is '||
932                           SQLERRM,WSH_DEBUG_SV.C_UNEXPEC_ERR_LEVEL);
933       WSH_DEBUG_SV.pop(l_module_name,'EXCEPTION:OTHERS');
934    END IF;
935 END set_validation_level;
936 
937 
938 END WSH_ACTIONS_LEVELS;