164: IF p_routings.routing_no IS NULL THEN
165: IF (l_debug = 'Y') THEN
166: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Number required');
167: END IF;
168: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
169: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_NO');
170: FND_MSG_PUB.ADD;
171: RAISE routing_creation_failure;
172: END IF;
165: IF (l_debug = 'Y') THEN
166: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Number required');
167: END IF;
168: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
169: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_NO');
170: FND_MSG_PUB.ADD;
171: RAISE routing_creation_failure;
172: END IF;
173:
174: IF p_routings.routing_vers IS NULL THEN
175: IF (l_debug = 'Y') THEN
176: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Version required');
177: END IF;
178: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
179: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_VERS');
180: FND_MSG_PUB.ADD;
181: RAISE routing_creation_failure;
182: ELSIF p_routings.routing_vers IS NOT NULL THEN
175: IF (l_debug = 'Y') THEN
176: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Version required');
177: END IF;
178: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
179: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_VERS');
180: FND_MSG_PUB.ADD;
181: RAISE routing_creation_failure;
182: ELSIF p_routings.routing_vers IS NOT NULL THEN
183: IF (p_routings.routing_vers < 0 ) THEN
180: FND_MSG_PUB.ADD;
181: RAISE routing_creation_failure;
182: ELSIF p_routings.routing_vers IS NOT NULL THEN
183: IF (p_routings.routing_vers < 0 ) THEN
184: FND_MESSAGE.SET_NAME ('GMD', 'GMD_NEGATIVE_FIELDS');
185: FND_MSG_PUB.ADD;
186: RAISE routing_creation_failure;
187: END IF;
188: END IF;
190: IF p_routings.routing_desc IS NULL THEN
191: IF (l_debug = 'Y') THEN
192: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Description required');
193: END IF;
194: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
195: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_DESC');
196: FND_MSG_PUB.ADD;
197: RAISE routing_creation_failure;
198: END IF;
191: IF (l_debug = 'Y') THEN
192: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing Description required');
193: END IF;
194: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
195: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_DESC');
196: FND_MSG_PUB.ADD;
197: RAISE routing_creation_failure;
198: END IF;
199:
201: IF p_routings.routing_uom IS NULL THEN
202: IF (l_debug = 'Y') THEN
203: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Item uom required');
204: END IF;
205: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
206: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_UOM');
207: FND_MSG_PUB.ADD;
208: RAISE routing_creation_failure;
209: /* call common function to check if um passed is valid */
202: IF (l_debug = 'Y') THEN
203: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Item uom required');
204: END IF;
205: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
206: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_UOM');
207: FND_MSG_PUB.ADD;
208: RAISE routing_creation_failure;
209: /* call common function to check if um passed is valid */
210: ELSIF (NOT(gmd_api_grp.validate_um(p_routings.routing_uom))) THEN
210: ELSIF (NOT(gmd_api_grp.validate_um(p_routings.routing_uom))) THEN
211: IF (l_debug = 'Y') THEN
212: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Item uom invalid');
213: END IF;
214: FND_MESSAGE.SET_NAME('GMA', 'SY_INVALID_UM_CODE');
215: FND_MSG_PUB.ADD;
216: RAISE routing_creation_failure;
217: END IF;
218:
222: */
223:
224: --Check that organization id is not null if raise an error message
225: IF (p_routings.owner_organization_id IS NULL) THEN
226: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_ORGANIZATION_ID');
227: FND_MSG_PUB.Add;
228: RAISE routing_creation_failure;
229: END IF;
230:
234: END IF;
235:
236: --Check the organization id passed is process enabled if not raise an error message
237: IF NOT (gmd_api_grp.check_orgn_status(p_routings.owner_organization_id)) THEN
238: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_ORGANIZATION_ID');
239: FND_MESSAGE.SET_TOKEN('ORGN_ID', p_routings.owner_organization_id);
240: FND_MSG_PUB.Add;
241: RAISE routing_creation_failure;
242: END IF;
235:
236: --Check the organization id passed is process enabled if not raise an error message
237: IF NOT (gmd_api_grp.check_orgn_status(p_routings.owner_organization_id)) THEN
238: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_ORGANIZATION_ID');
239: FND_MESSAGE.SET_TOKEN('ORGN_ID', p_routings.owner_organization_id);
240: FND_MSG_PUB.Add;
241: RAISE routing_creation_failure;
242: END IF;
243:
250: IF (l_debug = 'Y') THEN
251: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'
252: ||'effective start date must be less then end date');
253: END IF;
254: FND_MESSAGE.SET_NAME('GMD', 'QC_MIN_MAX_DATE');
255: FND_MSG_PUB.ADD;
256: RAISE routing_creation_failure;
257: END IF;
258: END IF;
265: ,xRouting_id => l_routing_id
266: ,xReturn_status => l_return_status);
267:
268: IF l_return_status <> 'E' THEN /* it indicates that this routing exists */
269: FND_MESSAGE.SET_NAME('GMA', 'SY_INVALID_DUPLICATION');
270: FND_MSG_PUB.ADD;
271: RAISE routing_creation_failure;
272: ELSE
273: OPEN Get_routing_id_seq;
272: ELSE
273: OPEN Get_routing_id_seq;
274: FETCH Get_routing_id_seq INTO l_routing_id;
275: IF Get_routing_id_seq%NOTFOUND then
276: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_ROUT_SEQ');
277: FND_MSG_PUB.ADD;
278: RAISE routing_creation_failure;
279: END IF;
280: CLOSE Get_routing_id_seq;
285: FOR b IN 1 .. p_routings_step_tbl.count LOOP
286: OPEN Get_oprn_details(p_routings_step_tbl(b).oprn_id);
287: FETCH Get_oprn_details INTO l_oprn_no, l_oprn_vers;
288: IF (Get_oprn_details%NOTFOUND) THEN
289: FND_MESSAGE.SET_NAME('GMD', 'GMD_MISSING_OPRN');
290: FND_MSG_PUB.ADD;
291: CLOSE Get_oprn_details;
292: RAISE routing_creation_failure;
293: END IF;
299: ,poprn_vers => l_oprn_vers
300: ,prouting_start_date => l_routings_rec.effective_start_date
301: ,prouting_end_date => l_routings_rec.effective_end_date
302: ) <> 0 THEN
303: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUT_DATES_INVALID');
304: FND_MSG_PUB.ADD;
305: RAISE routing_creation_failure;
306: END IF;
307: END LOOP; /* loop to validate routing dates */
309: IF (p_routings.owner_id IS NOT NULL) THEN
310: OPEN Cur_user_id(p_routings.owner_id);
311: FETCH Cur_user_id INTO l_temp;
312: IF Cur_user_id%NOTFOUND THEN
313: FND_MESSAGE.SET_NAME('GMD', 'QC_INVALID_USER');
314: FND_MSG_PUB.Add;
315: CLOSE Cur_user_id;
316: Raise routing_creation_failure;
317: END IF;
323:
324: /* Validation : Check if Routing class is valid */
325: IF p_routings.routing_class IS NOT NULL THEN
326: IF GMDRTVAL_PUB.check_routing_class(p_routings.routing_class) <> 0 THEN
327: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_ROUT_CLS');
328: FND_MSG_PUB.ADD;
329: RAISE routing_creation_failure;
330: END IF;
331: END IF;
338: IF (p_routings.Routing_class IS NOT NULL) THEN
339: OPEN Rout_cls_cur(p_routings.Routing_class);
340: FETCH Rout_cls_cur INTO l_routing_class_um;
341: IF Rout_cls_cur%NOTFOUND THEN
342: FND_MESSAGE.SET_NAME('GMD', 'GMD_TPL_WO_ROUT_CLS');
343: FND_MSG_PUB.Add;
344: CLOSE Rout_cls_cur;
345: Raise routing_creation_failure;
346: END IF;
371: (prouting_class => p_routings.Routing_class,
372: pquantity => l_routing_qty_cnv);
373:
374: ELSE
375: FND_MESSAGE.SET_NAME('GMD', 'GMD_RTG_CLS_VS_RTG_UM_TYPE');
376: FND_MSG_PUB.Add;
377: x_return_status := FND_API.G_RET_STS_ERROR;
378: Raise routing_creation_failure;
379:
706: ,xReturn_status => l_return_status);
707:
708: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
709: /* it indicates that this routing does'ntexists */
710: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUTING_INVALID');
711: FND_MSG_PUB.ADD;
712: RAISE routing_update_failure;
713: END IF;
714: END IF;
717: IF l_routing_id IS NULL THEN
718: IF (l_debug = 'Y') THEN
719: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing id is required');
720: END IF;
721: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
722: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_ID');
723: FND_MSG_PUB.ADD;
724: RAISE routing_update_failure;
725: END IF;
718: IF (l_debug = 'Y') THEN
719: gmd_debug.put_line(m_pkg_name||'.'||l_api_name||':'||'Routing id is required');
720: END IF;
721: FND_MESSAGE.SET_NAME ('GMI', 'GMI_MISSING');
722: FND_MESSAGE.SET_TOKEN ('MISSING', 'ROUTING_ID');
723: FND_MSG_PUB.ADD;
724: RAISE routing_update_failure;
725: END IF;
726:
752: ( P_Entity_Type => 4,
753: P_Entity_id => l_routing_id,
754: P_Current_Status => l_cur_status,
755: P_To_Status => p_update_table(a).p_value) THEN
756: FND_MESSAGE.SET_NAME('GMD', 'GMD_STATUS_DEPEND_NOT_APPROVED');
757: FND_MSG_PUB.ADD;
758: RAISE routing_update_failure;
759: END IF;
760: /* Validation : Check if owner_orgn_id is valid */
767: /* Validation : Check if Routing class is valid */
768: ELSIF UPPER(p_update_table(a).p_col_to_update) = 'ROUTING_CLASS' THEN
769: IF p_update_table(a).p_value IS NOT NULL THEN
770: IF GMDRTVAL_PUB.check_routing_class(p_update_table(a).p_value) <> 0 THEN
771: FND_MESSAGE.SET_NAME('GMD', 'GMD_INVALID_ROUT_CLS');
772: FND_MSG_PUB.ADD;
773: RAISE routing_update_failure;
774: END IF;
775: END IF;
776: /* Validation : Check if Routing uom is valid */
777: ELSIF UPPER(p_update_table(a).p_col_to_update) = 'ROUTING_UOM' THEN
778: IF p_update_table(a).p_value IS NOT NULL THEN
779: IF (NOT(gmd_api_grp.validate_um(p_update_table(a).p_value))) THEN
780: FND_MESSAGE.SET_NAME('GMA', 'SY_INVALID_UM_CODE');
781: FND_MSG_PUB.ADD;
782: RAISE routing_update_failure;
783: END IF;
784: END IF;
786: ELSIF UPPER(p_update_table(a).p_col_to_update) = 'DELETE_MARK' THEN
787: GMDRTVAL_PUB.check_delete_mark ( Pdelete_mark => p_update_table(a).p_value,
788: x_return_status => l_return_status);
789: IF l_return_status <> 'S' THEN /* it indicates that invalid value has been passed */
790: FND_MESSAGE.SET_NAME('GMA', 'SY_BADDELETEMARK');
791: FND_MSG_PUB.ADD;
792: RAISE routing_update_failure;
793: END IF;
794: /*RLNAGARA B6997624 Check if the fixed process loss uom is valid*/
794: /*RLNAGARA B6997624 Check if the fixed process loss uom is valid*/
795: ELSIF UPPER(p_update_table(a).p_col_to_update) = 'FIXED_PROCESS_LOSS_UOM' THEN
796: IF p_update_table(a).p_value IS NOT NULL THEN
797: IF (NOT(gmd_api_grp.validate_um(p_update_table(a).p_value))) THEN
798: FND_MESSAGE.SET_NAME('GMA', 'SY_INVALID_UM_CODE');
799: FND_MSG_PUB.ADD;
800: RAISE routing_update_failure;
801: END IF;
802: END IF;
805: IF p_update_table(a).p_value IS NOT NULL THEN
806: OPEN Cur_user_id(p_update_table(a).p_value);
807: FETCH Cur_user_id INTO l_temp;
808: IF Cur_user_id%NOTFOUND THEN
809: FND_MESSAGE.SET_NAME('GMD', 'QC_INVALID_USER');
810: FND_MSG_PUB.Add;
811: CLOSE Cur_user_id;
812: Raise routing_update_failure;
813: END IF;
821: IF NOT GMD_COMMON_VAL.UPDATE_ALLOWED
822: (Entity => 'ROUTING',
823: Entity_id => l_routing_id,
824: Update_Column_Name => p_update_table(a).p_col_to_update ) THEN
825: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUT_NOT_VALID');
826: FND_MSG_PUB.ADD;
827: RAISE routing_update_failure;
828: END IF;
829: END LOOP;
983: ,xReturn_status => l_return_status);
984:
985: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
986: /* it indicates that this routing does'ntexists */
987: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUTING_INVALID');
988: FND_MSG_PUB.ADD;
989: RAISE routing_delete_failure;
990: END IF;
991: END IF;
995: OPEN Cur_check_rout(p_routing_id);
996: FETCH Cur_check_rout INTO l_count;
997: IF (l_count <> 0) THEN
998: x_return_status := FND_API.G_RET_STS_ERROR;
999: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUTING_USED');
1000: FND_MSG_PUB.ADD;
1001: RAISE routing_used;
1002: END IF;
1003:
1148: ,xReturn_status => l_return_status);
1149:
1150: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1151: /* it indicates that this routing does'ntexists */
1152: FND_MESSAGE.SET_NAME('GMD', 'GMD_ROUTING_INVALID');
1153: FND_MSG_PUB.ADD;
1154: RAISE routing_undelete_failure;
1155: END IF;
1156: END IF;