DBA Data[Home] [Help]

PACKAGE BODY: APPS.WSH_ACTIONS_LEVELS

Source


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