857: FROM cz_model_ref_expls
858: WHERE model_id = p_entity_id
859: AND deleted_flag = '0'
860: AND component_id IN (SELECT devl_project_id
861: FROM cz_devl_projects
862: WHERE cz_devl_projects.deleted_flag = '0'
863: AND checkout_user IS NOT NULL );
864:
865: IF (l_locked_entities.COUNT > 0) THEN
858: WHERE model_id = p_entity_id
859: AND deleted_flag = '0'
860: AND component_id IN (SELECT devl_project_id
861: FROM cz_devl_projects
862: WHERE cz_devl_projects.deleted_flag = '0'
863: AND checkout_user IS NOT NULL );
864:
865: IF (l_locked_entities.COUNT > 0) THEN
866: FOR J IN l_locked_entities.FIRST..l_locked_entities.LAST
992: l_event_note VARCHAR2(2000);
993: l_entity NUMBER;
994: BEGIN
995: IF (p_entity_type = cz_security_pvt.MODEL) THEN
996: l_table_name := 'cz_devl_projects';
997: l_primary_key_name := 'devl_project_id';
998: l_entity := 2;
999: ELSIF (p_entity_type = cz_security_pvt.UI) THEN
1000: l_table_name := 'cz_ui_defs';
1437: LOOP
1438: l_model_id := l_models(modelId);
1439: SELECT checkout_user
1440: INTO l_checkout_user
1441: FROM cz_devl_projects
1442: WHERE cz_devl_projects.devl_project_id = l_model_id
1443: AND cz_devl_projects.deleted_flag = '0';
1444:
1445: IF (l_checkout_user IS NULL) THEN
1438: l_model_id := l_models(modelId);
1439: SELECT checkout_user
1440: INTO l_checkout_user
1441: FROM cz_devl_projects
1442: WHERE cz_devl_projects.devl_project_id = l_model_id
1443: AND cz_devl_projects.deleted_flag = '0';
1444:
1445: IF (l_checkout_user IS NULL) THEN
1446: l_status := '0';
1439: SELECT checkout_user
1440: INTO l_checkout_user
1441: FROM cz_devl_projects
1442: WHERE cz_devl_projects.devl_project_id = l_model_id
1443: AND cz_devl_projects.deleted_flag = '0';
1444:
1445: IF (l_checkout_user IS NULL) THEN
1446: l_status := '0';
1447: ELSIF (l_checkout_user = FND_GLOBAL.user_name) THEN
1475: SELECT checkout_user
1476: BULK
1477: COLLECT
1478: INTO l_checkout_user_tbl
1479: FROM cz_devl_projects
1480: WHERE cz_devl_projects.devl_project_id IN ( SELECT component_id
1481: FROM cz_model_ref_expls
1482: WHERE model_id = p_model_id
1483: AND ps_node_type = 263
1476: BULK
1477: COLLECT
1478: INTO l_checkout_user_tbl
1479: FROM cz_devl_projects
1480: WHERE cz_devl_projects.devl_project_id IN ( SELECT component_id
1481: FROM cz_model_ref_expls
1482: WHERE model_id = p_model_id
1483: AND ps_node_type = 263
1484: AND deleted_flag = '0')
1482: WHERE model_id = p_model_id
1483: AND ps_node_type = 263
1484: AND deleted_flag = '0')
1485:
1486: AND cz_devl_projects.deleted_flag = '0'
1487: AND cz_devl_projects.checkout_user IS NOT NULL;
1488:
1489: IF (l_checkout_user_tbl.COUNT > 0) THEN
1490: FOR I IN l_checkout_user_tbl.FIRST..l_checkout_user_tbl.LAST
1483: AND ps_node_type = 263
1484: AND deleted_flag = '0')
1485:
1486: AND cz_devl_projects.deleted_flag = '0'
1487: AND cz_devl_projects.checkout_user IS NOT NULL;
1488:
1489: IF (l_checkout_user_tbl.COUNT > 0) THEN
1490: FOR I IN l_checkout_user_tbl.FIRST..l_checkout_user_tbl.LAST
1491: LOOP
1534: END IF;
1535:
1536: begin
1537: SELECT checkout_user INTO l_checkout_user
1538: FROM cz_devl_projects
1539: WHERE cz_devl_projects.devl_project_id = l_proj_id;
1540: exception
1541: when no_data_found then
1542: null;
1535:
1536: begin
1537: SELECT checkout_user INTO l_checkout_user
1538: FROM cz_devl_projects
1539: WHERE cz_devl_projects.devl_project_id = l_proj_id;
1540: exception
1541: when no_data_found then
1542: null;
1543: end;
2293: BEGIN
2294: ----check devl proj
2295: SELECT checkout_user
2296: INTO l_checkout_user
2297: FROM cz_devl_projects
2298: WHERE cz_devl_projects.devl_project_id = p_model_id;
2299:
2300: IF ( (l_checkout_user IS NOT NULL) AND (l_checkout_user = FND_GLOBAL.user_name) ) THEN
2301: RETURN '1';
2294: ----check devl proj
2295: SELECT checkout_user
2296: INTO l_checkout_user
2297: FROM cz_devl_projects
2298: WHERE cz_devl_projects.devl_project_id = p_model_id;
2299:
2300: IF ( (l_checkout_user IS NOT NULL) AND (l_checkout_user = FND_GLOBAL.user_name) ) THEN
2301: RETURN '1';
2302: ELSIF ((l_checkout_user IS NOT NULL) AND (l_checkout_user <> FND_GLOBAL.user_name) ) THEN
2425: x_return_status := 'F';
2426: x_msg_count := 0;
2427: x_msg_data := '';
2428: SELECT checkout_user,deleted_flag INTO l_checkout_user,l_deleted_flag
2429: FROM cz_devl_projects
2430: WHERE cz_devl_projects.devl_project_id = p_devl_project_id;
2431:
2432: IF (l_deleted_flag = '1') THEN
2433: RAISE MODEL_DELETED;
2426: x_msg_count := 0;
2427: x_msg_data := '';
2428: SELECT checkout_user,deleted_flag INTO l_checkout_user,l_deleted_flag
2429: FROM cz_devl_projects
2430: WHERE cz_devl_projects.devl_project_id = p_devl_project_id;
2431:
2432: IF (l_deleted_flag = '1') THEN
2433: RAISE MODEL_DELETED;
2434: END IF;
2464: BEGIN
2465: ----check devl proj
2466: SELECT checkout_user
2467: INTO l_checkout_user
2468: FROM cz_devl_projects
2469: WHERE cz_devl_projects.devl_project_id = p_model_id;
2470:
2471: IF ( (l_checkout_user IS NOT NULL) AND (l_checkout_user = FND_GLOBAL.user_name) ) THEN
2472: RETURN 'Y';
2465: ----check devl proj
2466: SELECT checkout_user
2467: INTO l_checkout_user
2468: FROM cz_devl_projects
2469: WHERE cz_devl_projects.devl_project_id = p_model_id;
2470:
2471: IF ( (l_checkout_user IS NOT NULL) AND (l_checkout_user = FND_GLOBAL.user_name) ) THEN
2472: RETURN 'Y';
2473: ELSIF ((l_checkout_user IS NOT NULL) AND (l_checkout_user <> FND_GLOBAL.user_name) ) THEN
2525: l_profile_value VARCHAR2(100);
2526: BEGIN
2527: SELECT checkout_user
2528: INTO l_checkout_user
2529: FROM cz_devl_projects
2530: WHERE devl_project_id = p_model_id
2531: AND deleted_flag = '0';
2532:
2533: IF ( (l_checkout_user IS NOT NULL) AND (l_checkout_user <> FND_GLOBAL.user_name) ) THEN
2811: END IF;
2812:
2813: SELECT checkout_user
2814: INTO l_checkout_user
2815: FROM cz_devl_projects
2816: WHERE cz_devl_projects.devl_project_id = p_model_id
2817: AND cz_devl_projects.deleted_flag = '0';
2818:
2819: IF (l_checkout_user IS NOT NULL) THEN
2812:
2813: SELECT checkout_user
2814: INTO l_checkout_user
2815: FROM cz_devl_projects
2816: WHERE cz_devl_projects.devl_project_id = p_model_id
2817: AND cz_devl_projects.deleted_flag = '0';
2818:
2819: IF (l_checkout_user IS NOT NULL) THEN
2820: ------l_status := CZ_UTILS.GET_TEXT('CZ_SEC_ENTITY_IS_LOCKED','ObjectId', cz_security_pvt.MODEL,
2813: SELECT checkout_user
2814: INTO l_checkout_user
2815: FROM cz_devl_projects
2816: WHERE cz_devl_projects.devl_project_id = p_model_id
2817: AND cz_devl_projects.deleted_flag = '0';
2818:
2819: IF (l_checkout_user IS NOT NULL) THEN
2820: ------l_status := CZ_UTILS.GET_TEXT('CZ_SEC_ENTITY_IS_LOCKED','ObjectId', cz_security_pvt.MODEL,
2821: ----- 'Id',p_model_id,'User', l_checkout_user); */
3024: SELECT name, checkout_user
3025: BULK
3026: COLLECT
3027: INTO x_model_name_tbl, x_checkout_user_tbl
3028: FROM cz_devl_projects
3029: WHERE cz_devl_projects.devl_project_id IN (SELECT component_id
3030: FROM cz_model_ref_expls
3031: WHERE cz_model_ref_expls.deleted_flag = '0'
3032: AND cz_model_ref_expls.model_id = p_model_id)
3025: BULK
3026: COLLECT
3027: INTO x_model_name_tbl, x_checkout_user_tbl
3028: FROM cz_devl_projects
3029: WHERE cz_devl_projects.devl_project_id IN (SELECT component_id
3030: FROM cz_model_ref_expls
3031: WHERE cz_model_ref_expls.deleted_flag = '0'
3032: AND cz_model_ref_expls.model_id = p_model_id)
3033: AND (cz_devl_projects.checkout_user IS NOT NULL
3029: WHERE cz_devl_projects.devl_project_id IN (SELECT component_id
3030: FROM cz_model_ref_expls
3031: WHERE cz_model_ref_expls.deleted_flag = '0'
3032: AND cz_model_ref_expls.model_id = p_model_id)
3033: AND (cz_devl_projects.checkout_user IS NOT NULL
3034: AND cz_devl_projects.checkout_user <> FND_GLOBAL.user_name)
3035: AND cz_devl_projects.deleted_flag = '0';
3036: EXCEPTION
3037: WHEN OTHERS THEN
3030: FROM cz_model_ref_expls
3031: WHERE cz_model_ref_expls.deleted_flag = '0'
3032: AND cz_model_ref_expls.model_id = p_model_id)
3033: AND (cz_devl_projects.checkout_user IS NOT NULL
3034: AND cz_devl_projects.checkout_user <> FND_GLOBAL.user_name)
3035: AND cz_devl_projects.deleted_flag = '0';
3036: EXCEPTION
3037: WHEN OTHERS THEN
3038: NULL;
3031: WHERE cz_model_ref_expls.deleted_flag = '0'
3032: AND cz_model_ref_expls.model_id = p_model_id)
3033: AND (cz_devl_projects.checkout_user IS NOT NULL
3034: AND cz_devl_projects.checkout_user <> FND_GLOBAL.user_name)
3035: AND cz_devl_projects.deleted_flag = '0';
3036: EXCEPTION
3037: WHEN OTHERS THEN
3038: NULL;
3039: END;
3047: BEGIN
3048: IF (p_obj_type = 'PRJ') THEN
3049: SELECT name, checkout_user
3050: INTO x_model_name,x_checkout_user
3051: FROM cz_devl_projects
3052: WHERE cz_devl_projects.devl_project_id = p_obj_id ;
3053: ELSIF (p_obj_type = 'UIT') THEN
3054: SELECT template_name, checkout_user
3055: INTO x_model_name,x_checkout_user
3048: IF (p_obj_type = 'PRJ') THEN
3049: SELECT name, checkout_user
3050: INTO x_model_name,x_checkout_user
3051: FROM cz_devl_projects
3052: WHERE cz_devl_projects.devl_project_id = p_obj_id ;
3053: ELSIF (p_obj_type = 'UIT') THEN
3054: SELECT template_name, checkout_user
3055: INTO x_model_name,x_checkout_user
3056: FROM cz_ui_templates
3076: FROM cz_model_ref_expls a
3077: WHERE a.model_id = p_model_id
3078: AND a.deleted_flag = '0'
3079: AND a.component_id IN ( SELECT devl_project_id
3080: FROM cz_devl_projects
3081: WHERE checkout_user IS NULL
3082: AND devl_project_id = a.component_id );
3083: ELSIF (p_references = 1) THEN
3084: SELECT devl_project_id
3084: SELECT devl_project_id
3085: BULK
3086: COLLECT
3087: INTO x_models_to_lock
3088: FROM cz_devl_projects
3089: WHERE checkout_user IS NULL
3090: AND devl_project_id = p_model_id;
3091: END IF;
3092: EXCEPTION
3097: ------------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3098: /*#
3099: * This is the public interface for force unlock operations on a model in Oracle Configurator
3100: * @param p_api_version number. Current version of the API is 1.0
3101: * @param p_model_id number. devl_project_id of the model from cz_devl_projects table
3102: * @param p_unlock_references A value of FND_API.G_TRUE indicates that the child models if any should be
3103: * force unlocked. A value of FND_API.G_FALSE indicates that only the root model
3104: * will be unlocked
3105: * @param p_init_msg_list FND_API.G_TRUE if the API should initialize the FND stack, FND_API.G_FALSE if not.
3129: l_model_tbl cz_security_pvt.number_type_tbl;
3130: l_count NUMBER := 0;
3131: l_unlock_references VARCHAR2(1);
3132: l_has_priv BOOLEAN;
3133: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3134: l_model_name cz_devl_projects.name%TYPE;
3135:
3136: BEGIN
3137: ----initialize FND stack
3130: l_count NUMBER := 0;
3131: l_unlock_references VARCHAR2(1);
3132: l_has_priv BOOLEAN;
3133: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3134: l_model_name cz_devl_projects.name%TYPE;
3135:
3136: BEGIN
3137: ----initialize FND stack
3138: x_return_status := FND_API.G_RET_STS_SUCCESS;
3186: l_model_tbl(l_count) := p_model_id;
3187: IF (l_model_tbl.COUNT > 0) THEN
3188: FOR I IN l_model_tbl.FIRST..l_model_tbl.LAST
3189: LOOP
3190: UPDATE cz_devl_projects
3191: SET cz_devl_projects.checkout_user = NULL,
3192: cz_devl_projects.checkout_time = NULL
3193: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i);
3194: IF (SQL%ROWCOUNT = 0) THEN
3187: IF (l_model_tbl.COUNT > 0) THEN
3188: FOR I IN l_model_tbl.FIRST..l_model_tbl.LAST
3189: LOOP
3190: UPDATE cz_devl_projects
3191: SET cz_devl_projects.checkout_user = NULL,
3192: cz_devl_projects.checkout_time = NULL
3193: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i);
3194: IF (SQL%ROWCOUNT = 0) THEN
3195: get_checkout_user(l_model_tbl(i),'PRJ',l_checkout_user,l_model_name);
3188: FOR I IN l_model_tbl.FIRST..l_model_tbl.LAST
3189: LOOP
3190: UPDATE cz_devl_projects
3191: SET cz_devl_projects.checkout_user = NULL,
3192: cz_devl_projects.checkout_time = NULL
3193: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i);
3194: IF (SQL%ROWCOUNT = 0) THEN
3195: get_checkout_user(l_model_tbl(i),'PRJ',l_checkout_user,l_model_name);
3196: RAISE MODEL_UNLOCK_ERR ;
3189: LOOP
3190: UPDATE cz_devl_projects
3191: SET cz_devl_projects.checkout_user = NULL,
3192: cz_devl_projects.checkout_time = NULL
3193: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i);
3194: IF (SQL%ROWCOUNT = 0) THEN
3195: get_checkout_user(l_model_tbl(i),'PRJ',l_checkout_user,l_model_name);
3196: RAISE MODEL_UNLOCK_ERR ;
3197: END IF;
3197: END IF;
3198: END LOOP;
3199: END IF;
3200: ELSE /* else of IF (l_unlock_references = UNLOCK_CHILD_MODELS) THEN */
3201: UPDATE cz_devl_projects
3202: SET cz_devl_projects.checkout_user = NULL,
3203: cz_devl_projects.checkout_time = NULL
3204: WHERE cz_devl_projects.devl_project_id = p_model_id;
3205:
3198: END LOOP;
3199: END IF;
3200: ELSE /* else of IF (l_unlock_references = UNLOCK_CHILD_MODELS) THEN */
3201: UPDATE cz_devl_projects
3202: SET cz_devl_projects.checkout_user = NULL,
3203: cz_devl_projects.checkout_time = NULL
3204: WHERE cz_devl_projects.devl_project_id = p_model_id;
3205:
3206: IF (SQL%ROWCOUNT = 0) THEN
3199: END IF;
3200: ELSE /* else of IF (l_unlock_references = UNLOCK_CHILD_MODELS) THEN */
3201: UPDATE cz_devl_projects
3202: SET cz_devl_projects.checkout_user = NULL,
3203: cz_devl_projects.checkout_time = NULL
3204: WHERE cz_devl_projects.devl_project_id = p_model_id;
3205:
3206: IF (SQL%ROWCOUNT = 0) THEN
3207: get_checkout_user(p_model_id,'PRJ',l_checkout_user,l_model_name);
3200: ELSE /* else of IF (l_unlock_references = UNLOCK_CHILD_MODELS) THEN */
3201: UPDATE cz_devl_projects
3202: SET cz_devl_projects.checkout_user = NULL,
3203: cz_devl_projects.checkout_time = NULL
3204: WHERE cz_devl_projects.devl_project_id = p_model_id;
3205:
3206: IF (SQL%ROWCOUNT = 0) THEN
3207: get_checkout_user(p_model_id,'PRJ',l_checkout_user,l_model_name);
3208: RAISE MODEL_UNLOCK_ERR;
3266: l_template_tbl cz_security_pvt.number_type_tbl;
3267: l_count NUMBER := 0;
3268: l_unlock_references VARCHAR2(1);
3269: l_has_priv BOOLEAN;
3270: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3271: l_template_name cz_devl_projects.name%TYPE;
3272:
3273: BEGIN
3274:
3267: l_count NUMBER := 0;
3268: l_unlock_references VARCHAR2(1);
3269: l_has_priv BOOLEAN;
3270: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3271: l_template_name cz_devl_projects.name%TYPE;
3272:
3273: BEGIN
3274:
3275: ----initialize FND stack
3669:
3670: ---------------------
3671: /*#
3672: * This is the public interface for lock operations on a model in Oracle Configurator
3673: * @param p_model_id number. devl_project_id of the model from cz_devl_projects table
3674: * @param p_lock_child_models A value of FND_API.G_TRUE indicates that the child models if any should be
3675: * locked. A value of FND_API.G_FALSE indicates that only the root model
3676: * will be locked
3677: * @param p_commit_flag A value of FND_API.G_TRUE indicates that the a commit be issued at the end of the
3737: x_msg_count OUT NOCOPY NUMBER,
3738: x_msg_data OUT NOCOPY VARCHAR2)
3739: IS
3740:
3741: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3742: l_model_name cz_devl_projects.name%TYPE;
3743: l_model_name_tbl cz_security_pvt.model_name_tbl;
3744: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
3745: MODEL_IS_LOCKED EXCEPTION;
3738: x_msg_data OUT NOCOPY VARCHAR2)
3739: IS
3740:
3741: l_checkout_user cz_devl_projects.checkout_user%TYPE;
3742: l_model_name cz_devl_projects.name%TYPE;
3743: l_model_name_tbl cz_security_pvt.model_name_tbl;
3744: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
3745: MODEL_IS_LOCKED EXCEPTION;
3746: MODELID_IS_NULL EXCEPTION;
3752: l_count NUMBER := 0;
3753: l_lock_child_models VARCHAR2(1);
3754: l_commit_flag VARCHAR2(1);
3755: l_lock_profile VARCHAR2(3);
3756: l_model_id cz_devl_projects.devl_project_id%TYPE;
3757: l_seeded_flag cz_rp_entries.seeded_flag%TYPE;
3758:
3759: BEGIN
3760: ----initialize FND stack
3781: ELSE
3782: BEGIN
3783: SELECT devl_project_id, seeded_flag
3784: INTO l_model_id, l_seeded_flag
3785: FROM cz_rp_entries a, cz_devl_projects b
3786: WHERE b.devl_project_id = p_model_id
3787: AND b.devl_project_id = a.object_id
3788: AND a.deleted_flag = '0'
3789: AND b.deleted_flag = '0'
3836: IF (l_model_tbl.COUNT > 0) THEN
3837: FOR I IN l_model_tbl.FIRST..l_model_tbl.LAST
3838: LOOP
3839: l_count := 0;
3840: UPDATE cz_devl_projects
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3837: FOR I IN l_model_tbl.FIRST..l_model_tbl.LAST
3838: LOOP
3839: l_count := 0;
3840: UPDATE cz_devl_projects
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3845: AND cz_devl_projects.deleted_flag = '0';
3838: LOOP
3839: l_count := 0;
3840: UPDATE cz_devl_projects
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3845: AND cz_devl_projects.deleted_flag = '0';
3846:
3839: l_count := 0;
3840: UPDATE cz_devl_projects
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3845: AND cz_devl_projects.deleted_flag = '0';
3846:
3847: l_count := SQL%ROWCOUNT;
3840: UPDATE cz_devl_projects
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3845: AND cz_devl_projects.deleted_flag = '0';
3846:
3847: l_count := SQL%ROWCOUNT;
3848: IF (l_count = 0)
3841: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3842: cz_devl_projects.checkout_time = sysdate
3843: WHERE cz_devl_projects.devl_project_id = l_model_tbl(i)
3844: AND (cz_devl_projects.checkout_user IS NULL)
3845: AND cz_devl_projects.deleted_flag = '0';
3846:
3847: l_count := SQL%ROWCOUNT;
3848: IF (l_count = 0)
3849: THEN
3857: END IF;
3858: ELSE
3859: l_count := 0;
3860: get_models_to_lock(p_model_id,1,x_locked_entities);
3861: UPDATE cz_devl_projects
3862: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3863: cz_devl_projects.checkout_time = SYSDATE
3864: WHERE cz_devl_projects.devl_project_id = p_model_id
3865: AND (cz_devl_projects.checkout_user IS NULL);
3858: ELSE
3859: l_count := 0;
3860: get_models_to_lock(p_model_id,1,x_locked_entities);
3861: UPDATE cz_devl_projects
3862: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3863: cz_devl_projects.checkout_time = SYSDATE
3864: WHERE cz_devl_projects.devl_project_id = p_model_id
3865: AND (cz_devl_projects.checkout_user IS NULL);
3866: l_count := SQL%ROWCOUNT;
3859: l_count := 0;
3860: get_models_to_lock(p_model_id,1,x_locked_entities);
3861: UPDATE cz_devl_projects
3862: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3863: cz_devl_projects.checkout_time = SYSDATE
3864: WHERE cz_devl_projects.devl_project_id = p_model_id
3865: AND (cz_devl_projects.checkout_user IS NULL);
3866: l_count := SQL%ROWCOUNT;
3867: IF (l_count = 0)
3860: get_models_to_lock(p_model_id,1,x_locked_entities);
3861: UPDATE cz_devl_projects
3862: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3863: cz_devl_projects.checkout_time = SYSDATE
3864: WHERE cz_devl_projects.devl_project_id = p_model_id
3865: AND (cz_devl_projects.checkout_user IS NULL);
3866: l_count := SQL%ROWCOUNT;
3867: IF (l_count = 0)
3868: THEN
3861: UPDATE cz_devl_projects
3862: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
3863: cz_devl_projects.checkout_time = SYSDATE
3864: WHERE cz_devl_projects.devl_project_id = p_model_id
3865: AND (cz_devl_projects.checkout_user IS NULL);
3866: l_count := SQL%ROWCOUNT;
3867: IF (l_count = 0)
3868: THEN
3869: get_checkout_user(p_model_id,'PRJ',l_checkout_user,l_model_name);
3921:
3922: ---------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3923: /*#
3924: * This is the public interface for unlock operations on a model in Oracle Configurator
3925: * @param p_model_id number. devl_project_id of the model from cz_devl_projects table
3926: * @param p_unlock_child_models A value of FND_API.G_TRUE indicates that the child models if any should be
3927: * unlocked. A value of FND_API.G_FALSE indicates that only the root model
3928: * will be unlocked
3929: * @param p_models_to_unlock would contain an array of model id(s) that have been populated with
4005: MODEL_UNLOCK_ERR EXCEPTION;
4006: NO_LOCKING_REQUIRED EXCEPTION;
4007: l_model_tbl cz_security_pvt.number_type_tbl;
4008: l_count NUMBER := 0;
4009: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4010: l_model_name_tbl cz_security_pvt.model_name_tbl;
4011: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4012: l_model_name cz_devl_projects.name%TYPE;
4013: l_commit_flag VARCHAR2(1);
4008: l_count NUMBER := 0;
4009: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4010: l_model_name_tbl cz_security_pvt.model_name_tbl;
4011: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4012: l_model_name cz_devl_projects.name%TYPE;
4013: l_commit_flag VARCHAR2(1);
4014: l_lock_profile VARCHAR2(3);
4015:
4016: BEGIN
4045: l_commit_flag := DO_NOT_COMMIT;
4046: END IF; /* IF (p_commit_flag IS NULL) */
4047:
4048:
4049: UPDATE cz_devl_projects
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4046: END IF; /* IF (p_commit_flag IS NULL) */
4047:
4048:
4049: UPDATE cz_devl_projects
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4054: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name);
4047:
4048:
4049: UPDATE cz_devl_projects
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4054: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name);
4055:
4048:
4049: UPDATE cz_devl_projects
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4054: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name);
4055:
4056: IF (SQL%ROWCOUNT = 0) THEN
4049: UPDATE cz_devl_projects
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4054: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name);
4055:
4056: IF (SQL%ROWCOUNT = 0) THEN
4057: get_checkout_user(p_model_id,'PRJ',l_checkout_user,l_model_name);
4050: SET cz_devl_projects.checkout_user = NULL,
4051: cz_devl_projects.checkout_time = NULL
4052: WHERE cz_devl_projects.devl_project_id = p_model_id
4053: AND (cz_devl_projects.checkout_user IS NULL
4054: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name);
4055:
4056: IF (SQL%ROWCOUNT = 0) THEN
4057: get_checkout_user(p_model_id,'PRJ',l_checkout_user,l_model_name);
4058: RAISE MODEL_UNLOCK_ERR;
4266: p_pub_id IN NUMBER,
4267: x_lock_status OUT NOCOPY VARCHAR2)
4268: IS
4269:
4270: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4271: l_name cz_devl_projects.name%TYPE;
4272:
4273: BEGIN
4274:
4267: x_lock_status OUT NOCOPY VARCHAR2)
4268: IS
4269:
4270: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4271: l_name cz_devl_projects.name%TYPE;
4272:
4273: BEGIN
4274:
4275: SELECT lock_status
4316: ----------------------------------->>>>>>>>>>>>>>>>
4317: /*# bug #10417318
4318: * This is the public interface for lock operations on a model in Oracle Configurator for Multiple Publications to Different Targets
4319: * @param p_api_version number. Current version of the API is 1.0
4320: * @param p_model_id number. devl_project_id of the model from cz_devl_projects table
4321: * @param p_lock_child_models A value of FND_API.G_TRUE indicates that the child models if any should be
4322: * locked. A value of FND_API.G_FALSE indicates that only the root model
4323: * will be locked
4324: * @param p_commit_flag A value of FND_API.G_TRUE indicates that the a commit be issued at the end of the
4381: x_msg_count OUT NOCOPY NUMBER,
4382: x_msg_data OUT NOCOPY VARCHAR2)
4383: IS
4384:
4385: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4386: l_model_name cz_devl_projects.name%TYPE;
4387: l_model_id cz_devl_projects.devl_project_id%TYPE;
4388: l_seeded_flag cz_rp_entries.seeded_flag%TYPE;
4389: l_model_name_tbl cz_security_pvt.model_name_tbl;
4382: x_msg_data OUT NOCOPY VARCHAR2)
4383: IS
4384:
4385: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4386: l_model_name cz_devl_projects.name%TYPE;
4387: l_model_id cz_devl_projects.devl_project_id%TYPE;
4388: l_seeded_flag cz_rp_entries.seeded_flag%TYPE;
4389: l_model_name_tbl cz_security_pvt.model_name_tbl;
4390: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4383: IS
4384:
4385: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4386: l_model_name cz_devl_projects.name%TYPE;
4387: l_model_id cz_devl_projects.devl_project_id%TYPE;
4388: l_seeded_flag cz_rp_entries.seeded_flag%TYPE;
4389: l_model_name_tbl cz_security_pvt.model_name_tbl;
4390: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4391: MODEL_IS_LOCKED EXCEPTION;
4424: ELSE
4425: BEGIN
4426: SELECT devl_project_id, seeded_flag
4427: INTO l_model_id, l_seeded_flag
4428: FROM cz_rp_entries a, cz_devl_projects b
4429: WHERE b.devl_project_id = p_model_id
4430: AND b.devl_project_id = a.object_id
4431: AND a.deleted_flag = '0'
4432: AND b.deleted_flag = '0'
4476: get_prev_lock_status(x_locked_models(i), 'PRJ', p_pub_id, l_lock_status);
4477:
4478:
4479: -----set the checkout_user and checkout_time
4480: UPDATE cz_devl_projects
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4477:
4478:
4479: -----set the checkout_user and checkout_time
4480: UPDATE cz_devl_projects
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4485: AND cz_devl_projects.deleted_flag = '0'
4478:
4479: -----set the checkout_user and checkout_time
4480: UPDATE cz_devl_projects
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4485: AND cz_devl_projects.deleted_flag = '0'
4486: ---- add following logic for locking the very first entry for that object
4479: -----set the checkout_user and checkout_time
4480: UPDATE cz_devl_projects
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4485: AND cz_devl_projects.deleted_flag = '0'
4486: ---- add following logic for locking the very first entry for that object
4487: AND EXISTS (SELECT count(*)
4480: UPDATE cz_devl_projects
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4485: AND cz_devl_projects.deleted_flag = '0'
4486: ---- add following logic for locking the very first entry for that object
4487: AND EXISTS (SELECT count(*)
4488: FROM cz_publication_locks
4481: SET cz_devl_projects.checkout_user = FND_GLOBAL.user_name,
4482: cz_devl_projects.checkout_time = sysdate
4483: WHERE cz_devl_projects.devl_project_id = x_locked_models(i)
4484: AND (cz_devl_projects.checkout_user IS NULL)
4485: AND cz_devl_projects.deleted_flag = '0'
4486: ---- add following logic for locking the very first entry for that object
4487: AND EXISTS (SELECT count(*)
4488: FROM cz_publication_locks
4489: WHERE object_type='PRJ'
4600: NO_LOCKING_REQUIRED EXCEPTION;
4601: p_model_id NUMBER;
4602: l_model_tbl cz_security_pvt.number_type_tbl;
4603: l_count NUMBER := 0;
4604: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4605: l_model_name_tbl cz_security_pvt.model_name_tbl;
4606: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4607: l_model_name cz_devl_projects.name%TYPE;
4608: l_return_status VARCHAR2(1);
4603: l_count NUMBER := 0;
4604: l_checkout_user cz_devl_projects.checkout_user%TYPE;
4605: l_model_name_tbl cz_security_pvt.model_name_tbl;
4606: l_checkout_user_tbl cz_security_pvt.checkout_user_tbl;
4607: l_model_name cz_devl_projects.name%TYPE;
4608: l_return_status VARCHAR2(1);
4609: l_lock_profile VARCHAR2(3);
4610:
4611:
4639: IF (p_models_to_unlock(i) IS NULL) THEN
4640: RAISE MODELID_IS_NULL;
4641: END IF;
4642:
4643: UPDATE cz_devl_projects
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4640: RAISE MODELID_IS_NULL;
4641: END IF;
4642:
4643: UPDATE cz_devl_projects
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4641: END IF;
4642:
4643: UPDATE cz_devl_projects
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4649: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name)
4642:
4643: UPDATE cz_devl_projects
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4649: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name)
4650: AND EXISTS (SELECT count(*)
4643: UPDATE cz_devl_projects
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4649: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name)
4650: AND EXISTS (SELECT count(*)
4651: FROM cz_publication_locks
4644: SET cz_devl_projects.checkout_user = NULL,
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4649: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name)
4650: AND EXISTS (SELECT count(*)
4651: FROM cz_publication_locks
4652: WHERE object_type='PRJ'
4645: cz_devl_projects.checkout_time = NULL
4646: WHERE cz_devl_projects.devl_project_id = p_model_id
4647: AND cz_devl_projects.deleted_flag = '0'
4648: AND (cz_devl_projects.checkout_user IS NULL
4649: OR cz_devl_projects.checkout_user = FND_GLOBAL.user_name)
4650: AND EXISTS (SELECT count(*)
4651: FROM cz_publication_locks
4652: WHERE object_type='PRJ'
4653: AND deleted_flag = '0'