755:
756: --
757: BEGIN
758:
759: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
760: fnd_log.string(fnd_log.level_procedure,L_FULL_NAME||'.begin','At the start of PLSQL procedure');
761: END IF;
762:
763: -- Standard start of API savepoint
756: --
757: BEGIN
758:
759: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
760: fnd_log.string(fnd_log.level_procedure,L_FULL_NAME||'.begin','At the start of PLSQL procedure');
761: END IF;
762:
763: -- Standard start of API savepoint
764: SAVEPOINT map_position_to_instances_pvt;
775: IF FND_API.To_Boolean(p_init_msg_list) THEN
776: FND_MSG_PUB.Initialize;
777: END IF;
778:
779: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
780: fnd_log.string(fnd_log.level_statement,l_full_name,'-- p_position_id --'||p_position_id);
781: fnd_log.string(fnd_log.level_statement,l_full_name,'--Populate position path info--');
782: END IF;
783:
776: FND_MSG_PUB.Initialize;
777: END IF;
778:
779: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
780: fnd_log.string(fnd_log.level_statement,l_full_name,'-- p_position_id --'||p_position_id);
781: fnd_log.string(fnd_log.level_statement,l_full_name,'--Populate position path info--');
782: END IF;
783:
784: l_index :=0;
777: END IF;
778:
779: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
780: fnd_log.string(fnd_log.level_statement,l_full_name,'-- p_position_id --'||p_position_id);
781: fnd_log.string(fnd_log.level_statement,l_full_name,'--Populate position path info--');
782: END IF;
783:
784: l_index :=0;
785: --Populate position path info starting at index =0
794: l_index := l_index +1;
795: END LOOP;
796: CLOSE get_position_path_csr;
797:
798: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
799: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Opening Cursor check_pos_key_top_csr --');
800: END IF;
801:
802: OPEN check_pos_key_top_csr(l_path_tbl(l_path_tbl.LAST).mc_id,
795: END LOOP;
796: CLOSE get_position_path_csr;
797:
798: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
799: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Opening Cursor check_pos_key_top_csr --');
800: END IF;
801:
802: OPEN check_pos_key_top_csr(l_path_tbl(l_path_tbl.LAST).mc_id,
803: l_path_tbl(l_path_tbl.LAST).version_number,
804: l_path_tbl(l_path_tbl.LAST).position_key);
805: FETCH check_pos_key_top_csr INTO l_dummy;
806: IF (check_pos_key_top_csr%FOUND) THEN
807: l_top_flag := true;
808: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
809: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Set Top FLag to True --');
810: END IF;
811: ELSE
812: l_top_flag := false;
805: FETCH check_pos_key_top_csr INTO l_dummy;
806: IF (check_pos_key_top_csr%FOUND) THEN
807: l_top_flag := true;
808: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
809: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Set Top FLag to True --');
810: END IF;
811: ELSE
812: l_top_flag := false;
813: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
809: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Set Top FLag to True --');
810: END IF;
811: ELSE
812: l_top_flag := false;
813: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
814: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Set Top FLag to False --');
815: END IF;
816: END IF;
817: CLOSE check_pos_key_top_csr;
810: END IF;
811: ELSE
812: l_top_flag := false;
813: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
814: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Set Top FLag to False --');
815: END IF;
816: END IF;
817: CLOSE check_pos_key_top_csr;
818:
821: v_From := ' FROM AHL_UC_HEADER_PATHS_V v0 ';
822: v_Where := ' WHERE v0.mc_id = :mc_id0 ' ||
823: ' AND v0.mc_version_number = nvl(:ver0,v0.mc_version_number) ';
824:
825: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
826: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Select --'||v_Select);
827: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -1-'||v_From);
828: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -1-'||v_Where);
829: END IF;
822: v_Where := ' WHERE v0.mc_id = :mc_id0 ' ||
823: ' AND v0.mc_version_number = nvl(:ver0,v0.mc_version_number) ';
824:
825: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
826: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Select --'||v_Select);
827: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -1-'||v_From);
828: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -1-'||v_Where);
829: END IF;
830:
823: ' AND v0.mc_version_number = nvl(:ver0,v0.mc_version_number) ';
824:
825: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
826: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Select --'||v_Select);
827: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -1-'||v_From);
828: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -1-'||v_Where);
829: END IF;
830:
831: --Build the dynamic sql statement
824:
825: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
826: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Select --'||v_Select);
827: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -1-'||v_From);
828: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -1-'||v_Where);
829: END IF;
830:
831: --Build the dynamic sql statement
832: FOR i IN l_path_tbl.FIRST+1..l_path_tbl.LAST LOOP
844: ||' AND AHL_MC_PATH_POSITION_PVT.CHECK_POS_REF_PATH_CHAR(v'||TO_CHAR(i)||'.csi_instance_id, v'||TO_CHAR(i)||'.parent_instance_id) = ''T'' ';
845:
846: END LOOP;
847:
848: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
849: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -2-'||v_From);
850: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -2-'||v_Where);
851: END IF;
852:
845:
846: END LOOP;
847:
848: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
849: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -2-'||v_From);
850: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -2-'||v_Where);
851: END IF;
852:
853: IF (l_top_flag) THEN
846: END LOOP;
847:
848: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
849: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_From -2-'||v_From);
850: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Where -2-'||v_Where);
851: END IF;
852:
853: IF (l_top_flag) THEN
854: v_Stmt := 'INSERT INTO AHL_APPLICABLE_INSTANCES '||
877: ||' AND TRUNC(nvl(CSI_II.ACTIVE_END_DATE, sysdate+1)) > TRUNC(sysdate) ';
878:
879: END IF;
880:
881: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
882: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Stmt --'||v_Stmt);
883: END IF;
884:
885: /*for i in 0..(length(v_Stmt)/255) LOOP
878:
879: END IF;
880:
881: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
882: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_Stmt --'||v_Stmt);
883: END IF;
884:
885: /*for i in 0..(length(v_Stmt)/255) LOOP
886: dbms_output.put_line(substr(v_Stmt,i*255,255));
890: --Due to performance considerations, doing dynamic sql
891: --------------------------------------
892: v_CursorID := DBMS_SQL.OPEN_CURSOR;
893:
894: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
895: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Parsing Sql --');
896: END IF;
897:
898: DBMS_SQL.PARSE(v_CursorID, v_Stmt, DBMS_SQL.V7);
891: --------------------------------------
892: v_CursorID := DBMS_SQL.OPEN_CURSOR;
893:
894: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
895: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Parsing Sql --');
896: END IF;
897:
898: DBMS_SQL.PARSE(v_CursorID, v_Stmt, DBMS_SQL.V7);
899:
896: END IF;
897:
898: DBMS_SQL.PARSE(v_CursorID, v_Stmt, DBMS_SQL.V7);
899:
900: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
901: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Binding Params Sql --');
902: END IF;
903:
904: --Bind the dynamic sql statement
897:
898: DBMS_SQL.PARSE(v_CursorID, v_Stmt, DBMS_SQL.V7);
899:
900: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
901: fnd_log.string(fnd_log.level_statement,l_full_name,'-- Binding Params Sql --');
902: END IF;
903:
904: --Bind the dynamic sql statement
905: FOR i IN l_path_tbl.FIRST..l_path_tbl.LAST LOOP
907: DBMS_SQL.BIND_VARIABLE (v_CursorID, ':ver'||i, l_path_tbl(i).version_number);
908: DBMS_SQL.BIND_VARIABLE (v_CursorID, ':pos_key'||i, l_path_tbl(i).position_key);
909: END LOOP;
910:
911: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
912: fnd_log.string(fnd_log.level_statement,l_full_name,'-- After Binding - Before Executing Sql --');
913: END IF;
914:
915: --Execute the dynamic sql
908: DBMS_SQL.BIND_VARIABLE (v_CursorID, ':pos_key'||i, l_path_tbl(i).position_key);
909: END LOOP;
910:
911: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
912: fnd_log.string(fnd_log.level_statement,l_full_name,'-- After Binding - Before Executing Sql --');
913: END IF;
914:
915: --Execute the dynamic sql
916: v_RowsInserted := DBMS_SQL.EXECUTE(v_CursorID);
914:
915: --Execute the dynamic sql
916: v_RowsInserted := DBMS_SQL.EXECUTE(v_CursorID);
917:
918: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
919: fnd_log.string(fnd_log.level_statement,l_full_name,'-- After Executing Sql --');
920: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_RowsInserted --'||v_RowsInserted);
921: END IF;
922:
915: --Execute the dynamic sql
916: v_RowsInserted := DBMS_SQL.EXECUTE(v_CursorID);
917:
918: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
919: fnd_log.string(fnd_log.level_statement,l_full_name,'-- After Executing Sql --');
920: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_RowsInserted --'||v_RowsInserted);
921: END IF;
922:
923: DBMS_SQL.CLOSE_CURSOR(v_CursorID);
916: v_RowsInserted := DBMS_SQL.EXECUTE(v_CursorID);
917:
918: IF (fnd_log.level_statement >= fnd_log.g_current_runtime_level)THEN
919: fnd_log.string(fnd_log.level_statement,l_full_name,'-- After Executing Sql --');
920: fnd_log.string(fnd_log.level_statement,l_full_name,'-- v_RowsInserted --'||v_RowsInserted);
921: END IF;
922:
923: DBMS_SQL.CLOSE_CURSOR(v_CursorID);
924:
933: p_data => x_msg_data,
934: p_encoded => fnd_api.g_false
935: );
936:
937: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
938: fnd_log.string(fnd_log.level_procedure,L_FULL_NAME||'.end','At the end of PLSQL procedure');
939: END IF;
940:
941: EXCEPTION
934: p_encoded => fnd_api.g_false
935: );
936:
937: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
938: fnd_log.string(fnd_log.level_procedure,L_FULL_NAME||'.end','At the end of PLSQL procedure');
939: END IF;
940:
941: EXCEPTION
942: WHEN FND_API.G_EXC_ERROR THEN
1129: BEGIN
1130: -- Standard start of API savepoint
1131: SAVEPOINT Get_Pos_Empty_Instance_pvt;
1132:
1133: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1134: fnd_log.string(fnd_log.level_procedure, l_full_name||'.begin', 'At the start of PLSQL procedure. p_csi_item_instance_id = ' || p_csi_item_instance_id ||
1135: ', p_position_id = ' || p_position_id);
1136: END IF;
1137: -- Initialize Procedure return status to success
1130: -- Standard start of API savepoint
1131: SAVEPOINT Get_Pos_Empty_Instance_pvt;
1132:
1133: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1134: fnd_log.string(fnd_log.level_procedure, l_full_name||'.begin', 'At the start of PLSQL procedure. p_csi_item_instance_id = ' || p_csi_item_instance_id ||
1135: ', p_position_id = ' || p_position_id);
1136: END IF;
1137: -- Initialize Procedure return status to success
1138: x_return_status := FND_API.G_RET_STS_SUCCESS;
1302: END IF;
1303: CLOSE check_pos_ref_csr;
1304: END IF;
1305:
1306: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1307: fnd_log.string(fnd_log.level_procedure, l_full_name||'.end', 'At the end of PLSQL procedure. About to count and get error messages.');
1308: END IF;
1309: -- Standard call to get message count and if count is 1, get message info
1310: FND_MSG_PUB.Count_And_Get
1303: CLOSE check_pos_ref_csr;
1304: END IF;
1305:
1306: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
1307: fnd_log.string(fnd_log.level_procedure, l_full_name||'.end', 'At the end of PLSQL procedure. About to count and get error messages.');
1308: END IF;
1309: -- Standard call to get message count and if count is 1, get message info
1310: FND_MSG_PUB.Count_And_Get
1311: ( p_count => x_msg_count,
2597: BEGIN
2598: -- Standard start of API savepoint
2599: SAVEPOINT Map_Instance_To_Pos_ID_pvt;
2600:
2601: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
2602: fnd_log.string(fnd_log.level_procedure, l_full_name||'.begin', 'At the start of PLSQL procedure. p_csi_item_instance_id = ' || p_csi_item_instance_id ||
2603: ', p_relationship_id = ' || p_relationship_id);
2604: END IF;
2605: -- Initialize Procedure return status to success
2598: -- Standard start of API savepoint
2599: SAVEPOINT Map_Instance_To_Pos_ID_pvt;
2600:
2601: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
2602: fnd_log.string(fnd_log.level_procedure, l_full_name||'.begin', 'At the start of PLSQL procedure. p_csi_item_instance_id = ' || p_csi_item_instance_id ||
2603: ', p_relationship_id = ' || p_relationship_id);
2604: END IF;
2605: -- Initialize Procedure return status to success
2606: x_return_status := FND_API.G_RET_STS_SUCCESS;
2686: END IF;
2687:
2688: IF (l_path_tbl.COUNT > 0) THEN
2689: --Create position with generated instance path position id
2690: IF (fnd_log.level_event >= fnd_log.g_current_runtime_level)THEN
2691: fnd_log.string(fnd_log.level_event, l_full_name, 'About to call Create_Position_ID API. l_path_tbl.COUNT = ' || l_path_tbl.COUNT);
2692: end if;
2693:
2694: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 21-Dec-2007
2687:
2688: IF (l_path_tbl.COUNT > 0) THEN
2689: --Create position with generated instance path position id
2690: IF (fnd_log.level_event >= fnd_log.g_current_runtime_level)THEN
2691: fnd_log.string(fnd_log.level_event, l_full_name, 'About to call Create_Position_ID API. l_path_tbl.COUNT = ' || l_path_tbl.COUNT);
2692: end if;
2693:
2694: -- SATHAPLI::FP OGMA Issue# 105 - Non-Serialized Item Maintenance, 21-Dec-2007
2695: -- There is no need to call the API Create_Position_ID, if there are pending validation errors.
2708: x_position_id => x_path_position_id,
2709: x_return_status => x_return_status,
2710: x_msg_count => x_msg_count,
2711: x_msg_data => x_msg_data);
2712: IF (fnd_log.level_event >= fnd_log.g_current_runtime_level)THEN
2713: fnd_log.string(fnd_log.level_event, l_full_name, 'Returned from call to Create_Position_ID API. x_return_status = ' || x_return_status ||
2714: ', x_position_id = ' || x_path_position_id);
2715: end if;
2716: END IF;
2709: x_return_status => x_return_status,
2710: x_msg_count => x_msg_count,
2711: x_msg_data => x_msg_data);
2712: IF (fnd_log.level_event >= fnd_log.g_current_runtime_level)THEN
2713: fnd_log.string(fnd_log.level_event, l_full_name, 'Returned from call to Create_Position_ID API. x_return_status = ' || x_return_status ||
2714: ', x_position_id = ' || x_path_position_id);
2715: end if;
2716: END IF;
2717:
2714: ', x_position_id = ' || x_path_position_id);
2715: end if;
2716: END IF;
2717:
2718: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
2719: fnd_log.string(fnd_log.level_procedure, l_full_name||'.end', 'At the end of PLSQL procedure. About to commit work.');
2720: END IF;
2721: -- Standard check of p_commit
2722: IF FND_API.TO_BOOLEAN(p_commit) THEN
2715: end if;
2716: END IF;
2717:
2718: IF (fnd_log.level_procedure >= fnd_log.g_current_runtime_level)THEN
2719: fnd_log.string(fnd_log.level_procedure, l_full_name||'.end', 'At the end of PLSQL procedure. About to commit work.');
2720: END IF;
2721: -- Standard check of p_commit
2722: IF FND_API.TO_BOOLEAN(p_commit) THEN
2723: COMMIT WORK;
2818: l_item_group_id NUMBER;
2819: l_serial_number_control_code NUMBER;
2820: --
2821: BEGIN
2822: IF (FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level) THEN
2823: FND_LOG.string(FND_LOG.level_procedure,l_full_name||'.begin','Start of the API.'||
2824: ' Input parameters p_relationship_id => '||p_relationship_id||
2825: ', p_path_position_id => '||p_path_position_id);
2826: END IF;
2819: l_serial_number_control_code NUMBER;
2820: --
2821: BEGIN
2822: IF (FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level) THEN
2823: FND_LOG.string(FND_LOG.level_procedure,l_full_name||'.begin','Start of the API.'||
2824: ' Input parameters p_relationship_id => '||p_relationship_id||
2825: ', p_path_position_id => '||p_path_position_id);
2826: END IF;
2827:
2830: OPEN get_rel_id_csr(p_path_position_id);
2831: FETCH get_rel_id_csr INTO l_relationship_id;
2832: CLOSE get_rel_id_csr;
2833:
2834: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2835: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2836: ' After cursor call l_relationship_id => '||l_relationship_id);
2837: END IF;
2838: END IF;
2831: FETCH get_rel_id_csr INTO l_relationship_id;
2832: CLOSE get_rel_id_csr;
2833:
2834: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2835: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2836: ' After cursor call l_relationship_id => '||l_relationship_id);
2837: END IF;
2838: END IF;
2839:
2844: FETCH get_item_group_id_csr INTO l_item_group_id;
2845:
2846: IF (get_item_group_id_csr%NOTFOUND) THEN
2847: -- relationship id is invalid
2848: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2849: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2850: ' Relationship id is invalid.');
2851: END IF;
2852: END IF;
2845:
2846: IF (get_item_group_id_csr%NOTFOUND) THEN
2847: -- relationship id is invalid
2848: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2849: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2850: ' Relationship id is invalid.');
2851: END IF;
2852: END IF;
2853:
2854: CLOSE get_item_group_id_csr;
2855:
2856: -- check for the fetched item group id
2857: IF (l_item_group_id IS NOT NULL) THEN
2858: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2859: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2860: ' Fetched item group id => '||l_item_group_id);
2861: END IF;
2862:
2855:
2856: -- check for the fetched item group id
2857: IF (l_item_group_id IS NOT NULL) THEN
2858: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
2859: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT, l_full_name,
2860: ' Fetched item group id => '||l_item_group_id);
2861: END IF;
2862:
2863: -- the MC position doesn't have subconfigurations attached
2875: END IF;
2876: END IF;
2877: END IF; -- relationship id check
2878:
2879: IF (FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level) THEN
2880: FND_LOG.string(FND_LOG.level_procedure,l_full_name||'.end','End of the API with return value => '||l_ret_val);
2881: END IF;
2882:
2883: RETURN l_ret_val;
2876: END IF;
2877: END IF; -- relationship id check
2878:
2879: IF (FND_LOG.level_procedure >= FND_LOG.g_current_runtime_level) THEN
2880: FND_LOG.string(FND_LOG.level_procedure,l_full_name||'.end','End of the API with return value => '||l_ret_val);
2881: END IF;
2882:
2883: RETURN l_ret_val;
2884: END Is_Position_Serial_Controlled;