663: -- COMMIT CHANGES
664: COMMIT;
665:
666: X_INSTRUCTION_PROCESS_ID := L_INSTRUCTION_PROCESS_ID;
667: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
668:
669: EXCEPTION
670: WHEN L_MODE_PARAM_ERR THEN
671:
693: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CREATE_DEFN_CONTEXT',
694: FALSE);
695: END IF;
696:
697: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
698:
699: WHEN OTHERS THEN
700:
701: ROLLBACK;
715: 'gmo.plsql.GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT',
716: FALSE);
717: END IF;
718:
719: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
720:
721: END CREATE_DEFN_CONTEXT;
722:
723: -- This API is called to create a definition context with multiple
953: );
954:
955: -- update the definition status as modified and process status sucess
956: SET_INSTR_STATUS_ATTRIBUTES(P_INSTRUCTION_PROCESS_ID => X_INSTRUCTION_PROCESS_ID,
957: P_UPDATE_DEFN_STATUS => FND_API.G_TRUE);
958:
959: --Delete the contents of Temp Table for the specified process ID.
960: DELETE FROM GMO_INSTR_APPR_DEFN_T WHERE INSTRUCTION_PROCESS_ID = X_INSTRUCTION_PROCESS_ID;
961: DELETE FROM GMO_INSTR_DEFN_T WHERE INSTRUCTION_PROCESS_ID = X_INSTRUCTION_PROCESS_ID;
966:
967: EXCEPTION
968: WHEN OTHERS THEN
969: ROLLBACK;
970: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
971:
972: FND_MESSAGE.SET_NAME('FND','FND_AS_UNEXPECTED_ERROR');
973: FND_MESSAGE.SET_TOKEN('ERROR_TEXT', SQLERRM);
974: FND_MESSAGE.SET_TOKEN('PKG_NAME',G_PKG_NAME);
1094: END;
1095:
1096: IF (L_TARGET_INSTRUCTION_SET_ID > 0) THEN
1097: X_INSTRUCTION_SET_ID := L_TARGET_INSTRUCTION_SET_ID;
1098: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1099: RETURN;
1100: END IF;
1101:
1102: OPEN L_INSTR_SET_DEFN_CSR;
1304:
1305: END IF;
1306:
1307:
1308: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1309:
1310: EXCEPTION
1311: WHEN L_SOURCE_ENTITY_ERR THEN
1312: X_INSTRUCTION_SET_ID := -1;
1333: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CREATE_DEFN_FROM_DEFN',
1334: FALSE);
1335: END IF;
1336:
1337: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
1338:
1339: WHEN L_TARGET_ENTITY_ERR THEN
1340: X_INSTRUCTION_SET_ID := -1;
1341:
1361: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CREATE_DEFN_FROM_DEFN',
1362: FALSE);
1363: END IF;
1364:
1365: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
1366:
1367: WHEN OTHERS THEN
1368: X_INSTRUCTION_SET_ID := -1;
1369:
1382: 'gmo.plsql.GMO_INSTRUCTION_PVT.CREATE_DEFN_FROM_DEFN',
1383: FALSE);
1384: END IF;
1385:
1386: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
1387:
1388: END CREATE_DEFN_FROM_DEFN;
1389:
1390: -- This API is called to send the acknowledegement of definition
1525:
1526: -- Perform all the processing only if the definition status is
1527: -- modified.
1528: IF( L_DEFINITION_STATUS <> GMO_CONSTANTS_GRP.G_STATUS_MODIFIED) THEN
1529: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
1530: RETURN;
1531: END IF;
1532:
1533: -- If P_SOURCE_ENTITY_NAME and P_SOURCE_ENTITY_KEY is null,
2128:
2129: END LOOP; --Instruction Types
2130: END LOOP; --Entity Name Loop
2131:
2132: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2133:
2134: EXCEPTION
2135: WHEN L_ENTITY_INFO_NOTFOUND_ERR THEN
2136:
2144: IF (FND_LOG.LEVEL_EXCEPTION >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2145: FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,'gmo.plsql.GMO_INSTRUCTIONS_PVT.SEND_DEFN_ACKN',FALSE);
2146: END IF;
2147:
2148: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
2149:
2150: WHEN OTHERS THEN
2151: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2152: FND_MSG_PUB.ADD_EXC_MSG (G_PKG_NAME, L_API_NAME);
2156: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2157: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, 'gmo.plsql.GMO_INSTRUCTION_PVT.SEND_DEFN_ACKN',FALSE);
2158: END IF;
2159:
2160: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
2161: END SEND_DEFN_ACKN;
2162:
2163: -- This API is called to send the acknowledegement of definition
2164: -- process, and copies all the data from temporary tables
2371: FALSE);
2372: END IF;
2373:
2374: X_INSTRUCTION_SET_ID := -1;
2375: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
2376:
2377: RETURN;
2378:
2379: END IF;
2402: -- Entity Name And Entity_key, Return The Set Id Of The Active
2403: -- Instance Instruction Set Found Above
2404: IF (L_INSTRUCTION_SET_ID > 0) THEN
2405:
2406: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2407: X_INSTRUCTION_SET_ID := L_INSTRUCTION_SET_ID;
2408:
2409: RETURN;
2410: END IF;
2648: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CREATE_INSTANCE_FROM_DEFIN',
2649: FALSE);
2650: END IF;
2651:
2652: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
2653: END IF;
2654:
2655: CLOSE L_INSTR_SET_DEFN_CSR;
2656: --Bug 4730261: start
2655: CLOSE L_INSTR_SET_DEFN_CSR;
2656: --Bug 4730261: start
2657: RAISE_INSTR_SET_EVENT(P_INSTRUCTION_SET_ID => X_INSTRUCTION_SET_ID);
2658: --Bug 4730261: end
2659: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2660:
2661: EXCEPTION
2662: WHEN OTHERS THEN
2663: X_INSTRUCTION_SET_ID := -1;
2660:
2661: EXCEPTION
2662: WHEN OTHERS THEN
2663: X_INSTRUCTION_SET_ID := -1;
2664: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
2665:
2666: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2667: FND_MSG_PUB.ADD_EXC_MSG
2668: (G_PKG_NAME,
2791: IF(L_INSTR_SET_STATUS = GMO_CONSTANTS_GRP.G_PROCESS_ACTIVE) THEN
2792: -- return an error conveying source instruction
2793: -- set already active
2794: X_INSTRUCTION_SET_ID := -1;
2795: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
2796:
2797: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_SET_ALREADY_ACTIVE');
2798: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
2799: FND_MESSAGE.SET_TOKEN('API_NAME', L_API_NAME);
2823:
2824: EXCEPTION
2825: WHEN NO_DATA_FOUND THEN
2826: L_INSTRUCTION_SET_ID := -1;
2827: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2828: RETURN;
2829: END;
2830: END IF;
2831:
2846:
2847: -- if the instruction instance already exist for the given
2848: -- target entity name and entity_key, return this instruction_set_id
2849: IF (L_INSTRUCTION_SET_ID > 0) THEN
2850: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2851: X_INSTRUCTION_SET_ID := L_INSTRUCTION_SET_ID;
2852: RETURN;
2853: END IF;
2854: END IF;
2857: OPEN L_INSTR_SET_CSR;
2858: FETCH L_INSTR_SET_CSR INTO L_INSTR_SET_REC;
2859:
2860: IF (L_INSTR_SET_CSR%ROWCOUNT <= 0) THEN
2861: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
2862: X_INSTRUCTION_SET_ID := -1;
2863: RETURN;
2864: END IF;
2865:
3048: X_INSTRUCTION_SET_ID := NVL(L_NEW_INSTRUCTION_SET_ID,-1);
3049: --Bug 4730261: start
3050: RAISE_INSTR_SET_EVENT(P_INSTRUCTION_SET_ID => X_INSTRUCTION_SET_ID);
3051: --Bug 4730261: end
3052: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3053:
3054: EXCEPTION
3055: WHEN NO_DATA_FOUND THEN
3056: X_INSTRUCTION_SET_ID := -1;
3053:
3054: EXCEPTION
3055: WHEN NO_DATA_FOUND THEN
3056: X_INSTRUCTION_SET_ID := -1;
3057: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3058:
3059: WHEN OTHERS THEN
3060: X_INSTRUCTION_SET_ID := -1;
3061: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3057: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3058:
3059: WHEN OTHERS THEN
3060: X_INSTRUCTION_SET_ID := -1;
3061: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3062:
3063: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3064: FND_MSG_PUB.ADD_EXC_MSG
3065: (G_PKG_NAME,
3144: X_MODE := GMO_CONSTANTS_GRP.G_INSTR_INSTANCE_MODE_READ;
3145: END IF;
3146: END IF;
3147:
3148: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3149:
3150: EXCEPTION
3151: WHEN L_ENTITY_ERR THEN
3152: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3148: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3149:
3150: EXCEPTION
3151: WHEN L_ENTITY_ERR THEN
3152: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3153:
3154: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_SOURCE_ENTITY_ER');
3155: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
3156: FND_MESSAGE.SET_TOKEN('API_NAME', L_API_NAME );
3176: END IF;
3177:
3178: WHEN OTHERS THEN
3179:
3180: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3181:
3182: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3183: FND_MSG_PUB.ADD_EXC_MSG
3184: (G_PKG_NAME,
3274: END LOOP;
3275: CLOSE L_INSTR_CSR;
3276:
3277: X_INSTRUCTION_TABLE := L_INSTRUCTION_TBL;
3278: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3279:
3280: EXCEPTION
3281: WHEN L_ENTITY_PARAM_ERR THEN
3282: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_API_PARAM_ERR');
3302: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.GET_DEFN_INSTRUCTIONS',
3303: FALSE);
3304: END IF;
3305:
3306: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3307:
3308: WHEN L_INVALID_ENTITY_ERR THEN
3309: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_SOURCE_ENTITY_ER');
3310: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
3329: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.GET_DEFN_INSTRUCTIONS',
3330: FALSE);
3331: END IF;
3332:
3333: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3334:
3335: WHEN OTHERS THEN
3336:
3337: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3349: 'gmo.plsql.GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT',
3350: FALSE);
3351: END IF;
3352:
3353: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3354:
3355: END GET_DEFN_INSTRUCTIONS;
3356:
3357: -- This API is checks if there are any pending instructions for
3434: ELSE
3435: X_INSTRUCTION_PENDING := GMO_CONSTANTS_GRP.NO;
3436: END IF;
3437:
3438: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3439:
3440: EXCEPTION
3441: WHEN NO_DATA_FOUND THEN
3442: -- If Process Id is invalid, NO_DATA_FOUND
3444: -- return all values as 0, and status = S
3445: X_TOTAL_INSTRUCTIONS := 0;
3446: X_OPTIONAL_PENDING_INSTR := 0;
3447: X_MANDATORY_PENDING_INSTR := 0;
3448: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3449:
3450: WHEN L_ENTITY_ERR THEN
3451: X_TOTAL_INSTRUCTIONS := 0;
3452: X_OPTIONAL_PENDING_INSTR := 0;
3475: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.HAS_PENDING_INSTRUCTIONS',
3476: FALSE);
3477: END IF;
3478:
3479: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3480:
3481: WHEN OTHERS THEN
3482: X_TOTAL_INSTRUCTIONS := 0;
3483: X_OPTIONAL_PENDING_INSTR := 0;
3499: 'gmo.plsql.GMO_INSTRUCTION_PVT.HAS_PENDING_INSTRUCTIONS',
3500: FALSE);
3501: END IF;
3502:
3503: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3504:
3505: END HAS_PENDING_INSTRUCTIONS;
3506:
3507: -- This API is checks if there are any pending instructions for
3570: ELSE
3571: X_INSTRUCTION_PENDING := GMO_CONSTANTS_GRP.NO;
3572: END IF;
3573:
3574: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3575:
3576: EXCEPTION
3577: WHEN NO_DATA_FOUND THEN
3578: -- If Process Id is invalid, NO_DATA_FOUND
3580: -- return all values as 0, and status = S
3581: X_TOTAL_INSTRUCTIONS := 0;
3582: X_OPTIONAL_PENDING_INSTR := 0;
3583: X_MANDATORY_PENDING_INSTR := 0;
3584: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3585:
3586: WHEN L_ENTITY_ERR THEN
3587: X_TOTAL_INSTRUCTIONS := 0;
3588: X_OPTIONAL_PENDING_INSTR := 0;
3610: FND_LOG.MESSAGE(FND_LOG.LEVEL_EXCEPTION,
3611: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.HAS_PENDING_INSTR_FOR_PROCESS',
3612: FALSE);
3613: END IF;
3614: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
3615:
3616: WHEN OTHERS THEN
3617: X_TOTAL_INSTRUCTIONS := 0;
3618: X_OPTIONAL_PENDING_INSTR := 0;
3632: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED,
3633: 'gmo.plsql.GMO_INSTRUCTION_PVT.HAS_PENDING_INSTR_FOR_PROCESS',
3634: FALSE);
3635: END IF;
3636: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3637:
3638: END HAS_PENDING_INSTR_FOR_PROCESS;
3639:
3640: -- This API is called to send the instance acknowledgment
3964: -- END LOOP; -- Auto commit cursor loop
3965: --COMMIT CHANGES
3966: COMMIT;
3967:
3968: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
3969:
3970: EXCEPTION
3971: WHEN OTHERS THEN
3972: ROLLBACK;
3986: 'gmo.plsql.GMO_INSTRUCTION_PVT.CREATE_DEFN_CONTEXT',
3987: FALSE);
3988: END IF;
3989:
3990: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
3991:
3992: END SEND_INSTANCE_ACKN;
3993:
3994: -- This API is called to send the task acknowledgment
4166:
4167: -- COMMIT TASK DATA
4168: COMMIT;
4169:
4170: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4171:
4172: EXCEPTION
4173: WHEN NO_DATA_FOUND THEN
4174: ROLLBACK;
4171:
4172: EXCEPTION
4173: WHEN NO_DATA_FOUND THEN
4174: ROLLBACK;
4175: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4176:
4177: WHEN L_INVALID_PARAM_ERR THEN
4178: ROLLBACK;
4179: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4175: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4176:
4177: WHEN L_INVALID_PARAM_ERR THEN
4178: ROLLBACK;
4179: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4180:
4181: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_API_PARAM_ERR');
4182: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
4183: FND_MESSAGE.SET_TOKEN('API_NAME', L_API_NAME );
4203: END IF;
4204:
4205: WHEN L_ENTITY_KEY_ERR THEN
4206: ROLLBACK;
4207: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4208:
4209: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_API_PARAM_ERR');
4210: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
4211: FND_MESSAGE.SET_TOKEN('API_NAME', L_API_NAME );
4231: END IF;
4232:
4233: WHEN OTHERS THEN
4234: ROLLBACK;
4235: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4236:
4237: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4238: FND_MSG_PUB.ADD_EXC_MSG
4239: (G_PKG_NAME,
4289: --Bug 4730261: start
4290: RAISE_INSTR_SET_EVENT(P_INSTRUCTION_SET_ID => L_INSTRUCTION_SET_ID);
4291: --Bug 4730261: end
4292:
4293: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4294:
4295: EXCEPTION
4296: WHEN NO_DATA_FOUND THEN
4297: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4293: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4294:
4295: EXCEPTION
4296: WHEN NO_DATA_FOUND THEN
4297: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4298:
4299: WHEN OTHERS THEN
4300: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4301:
4296: WHEN NO_DATA_FOUND THEN
4297: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4298:
4299: WHEN OTHERS THEN
4300: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4301:
4302: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4303: FND_MSG_PUB.ADD_EXC_MSG
4304: (G_PKG_NAME,
4370: AND INSTR_ACKN_TYPE = GMO_CONSTANTS_GRP.G_INSTR_OPTIONAL
4371: )
4372: AND INSTRUCTION_PROCESS_ID = P_INSTRUCTION_PROCESS_ID;
4373:
4374: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4375:
4376: --Commit the changes
4377: COMMIT;
4378:
4379: EXCEPTION
4380: WHEN OTHERS THEN
4381: ROLLBACK;
4382:
4383: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4384:
4385: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4386: FND_MSG_PUB.ADD_EXC_MSG
4387: (G_PKG_NAME,
4423: WHERE ATTRIBUTE_NAME = GMO_CONSTANTS_GRP.G_DEFINITION_STATUS
4424: AND INSTRUCTION_PROCESS_ID = P_INSTRUCTION_PROCESS_ID
4425: AND ATTRIBUTE_TYPE = GMO_CONSTANTS_GRP.G_PARAM_INTERNAL;
4426:
4427: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4428:
4429: EXCEPTION
4430: WHEN NO_DATA_FOUND THEN
4431:
4448: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.GET_DEFN_STATUS',
4449: FALSE);
4450: END IF;
4451:
4452: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4453:
4454: WHEN OTHERS THEN
4455: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4456:
4451:
4452: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4453:
4454: WHEN OTHERS THEN
4455: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4456:
4457: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4458: FND_MSG_PUB.ADD_EXC_MSG
4459: (G_PKG_NAME,
4496: WHERE ATTRIBUTE_NAME = 'INSTANCE_STATUS'
4497: AND ATTRIBUTE_TYPE = 'INTERNAL'
4498: AND INSTRUCTION_PROCESS_ID = P_INSTRUCTION_PROCESS_ID;
4499:
4500: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4501:
4502: EXCEPTION
4503: WHEN NO_DATA_FOUND THEN
4504:
4521: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.GET_INSTANCE_STATUS',
4522: FALSE);
4523: END IF;
4524:
4525: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4526:
4527: WHEN OTHERS THEN
4528: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4529:
4524:
4525: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4526:
4527: WHEN OTHERS THEN
4528: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4529:
4530: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4531: FND_MSG_PUB.ADD_EXC_MSG
4532: (G_PKG_NAME,
4599:
4600: -- SAVE CHANGES
4601: COMMIT;
4602:
4603: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4604:
4605: EXCEPTION
4606: WHEN L_INVALID_PROCESS_ID THEN
4607: ROLLBACK;
4618: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CAPTURE_OPERATOR_RESPONSE',
4619: FALSE);
4620: END IF;
4621:
4622: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
4623:
4624: WHEN OTHERS THEN
4625: ROLLBACK;
4626:
4629: 'gmo.plsql.GMO_INSTRUCTION_PVT.CAPTURE_OPERATOR_RESPONSE',
4630: FALSE);
4631: END IF;
4632:
4633: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4634:
4635: END CAPTURE_OPERATOR_RESPONSE;
4636:
4637:
4704:
4705: -- SAVE CHANGES
4706: COMMIT;
4707:
4708: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4709:
4710: EXCEPTION
4711: WHEN OTHERS THEN
4712: ROLLBACK;
4709:
4710: EXCEPTION
4711: WHEN OTHERS THEN
4712: ROLLBACK;
4713: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4714:
4715:
4716: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4717: FND_MSG_PUB.ADD_EXC_MSG
4952:
4953: END LOOP;
4954: CLOSE L_INSTR_SET_CSR;
4955:
4956: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4957:
4958: EXCEPTION
4959: WHEN OTHERS THEN
4960: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4956: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
4957:
4958: EXCEPTION
4959: WHEN OTHERS THEN
4960: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
4961:
4962: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4963: FND_MSG_PUB.ADD_EXC_MSG
4964: (G_PKG_NAME,
5037: -- FOR THE PROCESS TO PROCEED FURTHER
5038: IF( RTRIM(L_INSTR_SET_STATUS) <> GMO_CONSTANTS_GRP.G_PROCESS_ACTIVE ) THEN
5039:
5040: ROLLBACK;
5041: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
5042:
5043: FND_MESSAGE.SET_NAME('GMO', 'GMO_INSTR_SET_INACTIVE');
5044: FND_MESSAGE.SET_TOKEN('PACKAGE_NAME', G_PKG_NAME);
5045: FND_MESSAGE.SET_TOKEN('API_NAME', L_API_NAME );
5070:
5071: EXCEPTION
5072: WHEN NO_DATA_FOUND THEN
5073: ROLLBACK;
5074: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
5075:
5076: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5077: FND_MSG_PUB.ADD_EXC_MSG
5078: (G_PKG_NAME,
5214:
5215: X_INSTRUCTION_SET_ID := L_INSTRUCTION_SET_ID;
5216: X_INSTRUCTION_PROCESS_ID := L_INSTRUCTION_PROCESS_ID;
5217:
5218: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5219: X_MSG_COUNT := 0;
5220: X_MSG_DATA := FND_API.G_RET_STS_SUCCESS;
5221:
5222: EXCEPTION
5216: X_INSTRUCTION_PROCESS_ID := L_INSTRUCTION_PROCESS_ID;
5217:
5218: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5219: X_MSG_COUNT := 0;
5220: X_MSG_DATA := FND_API.G_RET_STS_SUCCESS;
5221:
5222: EXCEPTION
5223: WHEN OTHERS THEN
5224: ROLLBACK;
5221:
5222: EXCEPTION
5223: WHEN OTHERS THEN
5224: ROLLBACK;
5225: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
5226:
5227: IF FND_MSG_PUB.CHECK_MSG_LEVEL(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
5228: FND_MSG_PUB.ADD_EXC_MSG
5229: (G_PKG_NAME,
5310: 'gmo.plsql.GMO_INSTRUCTIONS_PVT.CREATE_INSTANCE_CONTEXT',
5311: FALSE);
5312: END IF;
5313:
5314: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
5315:
5316: RETURN;
5317: END;
5318:
5354: 'gmo.plsql.GMO_INSTRUCTION_PVT.CREATE_INSTANCE_CONTEXT',
5355: FALSE);
5356: END IF;
5357:
5358: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
5359:
5360: END CREATE_INSTANCE_CONTEXT;
5361:
5362:
5379: --Convert the instruction process ID to number.
5380: L_INSTRUCTION_PROCESS_ID := TO_NUMBER(P_INSTRUCTION_PROCESS_ID,'999999999999.999999');
5381:
5382: --Update the definition status if required based on the flag.
5383: IF(P_UPDATE_DEFN_STATUS = FND_API.G_TRUE) THEN
5384: UPDATE
5385: GMO_INSTR_ATTRIBUTES_T
5386: SET
5387: ATTRIBUTE_VALUE = GMO_CONSTANTS_GRP.G_STATUS_MODIFIED
5442: --Convert the instruction process ID to number.
5443: L_INSTRUCTION_PROCESS_ID := TO_NUMBER(P_INSTRUCTION_PROCESS_ID,'999999999999.999999');
5444:
5445: --Update the definition status if required based on the flag.
5446: IF(P_UPDATE_DEFN_STATUS = FND_API.G_TRUE) THEN
5447: UPDATE
5448: GMO_INSTR_ATTRIBUTES_T
5449: SET
5450: ATTRIBUTE_VALUE = GMO_CONSTANTS_GRP.G_STATUS_MODIFIED
5773:
5774: EDR_ERES_EVENT_PUB.VALIDATE_ERECORD
5775: (
5776: p_api_version => 1.0,
5777: P_init_msg_list => FND_API.G_FALSE ,
5778: x_return_status => L_RETURN_STATUS ,
5779: X_msg_count => L_MSG_COUNT ,
5780: x_msg_data => L_MSG_DATA,
5781: p_erecord_id => TO_NUMBER(L_ERECORD_ID,999999999999.999999)
5780: x_msg_data => L_MSG_DATA,
5781: p_erecord_id => TO_NUMBER(L_ERECORD_ID,999999999999.999999)
5782: );
5783:
5784: IF(L_RETURN_STATUS = FND_API.G_RET_STS_ERROR) THEN
5785: L_INVALID_ERECORD_LIST := L_INVALID_ERECORD_LIST || ',' || L_ERECORD_ID;
5786: END IF;
5787:
5788: END LOOP;
5788: END LOOP;
5789:
5790: IF ( LENGTH(L_INVALID_ERECORD_LIST) > 0) THEN
5791: X_ERECORD_LIST_STR := SUBSTR(L_INVALID_ERECORD_LIST,2,LENGTH(L_INVALID_ERECORD_LIST));
5792: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5793: X_ERECORD_ID_INVALID := GMO_CONSTANTS_GRP.YES;
5794: ELSE
5795: X_ERECORD_ID_INVALID := GMO_CONSTANTS_GRP.NO;
5796: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5792: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5793: X_ERECORD_ID_INVALID := GMO_CONSTANTS_GRP.YES;
5794: ELSE
5795: X_ERECORD_ID_INVALID := GMO_CONSTANTS_GRP.NO;
5796: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
5797: END IF;
5798:
5799: EXCEPTION
5800: WHEN OTHERS THEN
5797: END IF;
5798:
5799: EXCEPTION
5800: WHEN OTHERS THEN
5801: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
5802: X_ERECORD_ID_INVALID := GMO_CONSTANTS_GRP.YES;
5803:
5804: --Diagnostics Start
5805: FND_MESSAGE.SET_NAME('FND','FND_AS_UNEXPECTED_ERROR');
6215: end if;
6216:
6217: commit;
6218:
6219: X_RETURN_STATUS := FND_API.G_RET_STS_SUCCESS;
6220:
6221: EXCEPTION
6222: WHEN INVALID_TASK_ERR THEN
6223: ROLLBACK;
6221: EXCEPTION
6222: WHEN INVALID_TASK_ERR THEN
6223: ROLLBACK;
6224:
6225: X_RETURN_STATUS := FND_API.G_RET_STS_ERROR;
6226: FND_MESSAGE.SET_NAME('GMO', 'GMO_EXCEEDED_TASK');
6227: FND_MSG_PUB.ADD;
6228: FND_MSG_PUB.COUNT_AND_GET
6229: (
6236: FALSE);
6237: END IF;
6238: WHEN OTHERS THEN
6239: rollback;
6240: X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
6241: FND_MESSAGE.SET_NAME('GMO','GMO_INSTR_UNEXPECTED_DB_ERR');
6242: FND_MESSAGE.SET_TOKEN('ERROR_TEXT',SQLERRM);
6243: FND_MESSAGE.SET_TOKEN('ERROR_CODE', SQLCODE);
6244: FND_MSG_PUB.ADD;