863: x_ipm_tbl OUT NOCOPY ipm_tbl_type) IS
864:
865: l_api_version CONSTANT NUMBER := 1;
866: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
867: l_return_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
868: l_overall_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
869: i NUMBER := 0;
870: BEGIN
871: okl_api.init_msg_list(p_init_msg_list);
864:
865: l_api_version CONSTANT NUMBER := 1;
866: l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
867: l_return_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
868: l_overall_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
869: i NUMBER := 0;
870: BEGIN
871: okl_api.init_msg_list(p_init_msg_list);
872: -- Make sure PL/SQL table has records in it before passing
867: l_return_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
868: l_overall_status VARCHAR2(1) := okl_api.G_RET_STS_SUCCESS;
869: i NUMBER := 0;
870: BEGIN
871: okl_api.init_msg_list(p_init_msg_list);
872: -- Make sure PL/SQL table has records in it before passing
873: IF (p_ipm_tbl.COUNT > 0) THEN
874: i := p_ipm_tbl.FIRST;
875: LOOP
874: i := p_ipm_tbl.FIRST;
875: LOOP
876: insert_row (
877: p_api_version => p_api_version,
878: p_init_msg_list => okl_api.G_FALSE,
879: x_return_status => x_return_status,
880: x_msg_count => x_msg_count,
881: x_msg_data => x_msg_data,
882: p_ipm_rec => p_ipm_tbl(i),
881: x_msg_data => x_msg_data,
882: p_ipm_rec => p_ipm_tbl(i),
883: x_ipm_rec => x_ipm_tbl(i));
884: -- Store the highest degree of error
885: IF x_return_status <> okl_api.G_RET_STS_SUCCESS THEN
886: IF l_overall_status <> okl_api.G_RET_STS_UNEXP_ERROR THEN
887: l_overall_status := x_return_status;
888: END IF;
889: END IF;
882: p_ipm_rec => p_ipm_tbl(i),
883: x_ipm_rec => x_ipm_tbl(i));
884: -- Store the highest degree of error
885: IF x_return_status <> okl_api.G_RET_STS_SUCCESS THEN
886: IF l_overall_status <> okl_api.G_RET_STS_UNEXP_ERROR THEN
887: l_overall_status := x_return_status;
888: END IF;
889: END IF;
890: EXIT WHEN (i = p_ipm_tbl.LAST);
893: -- return overall status
894: x_return_status := l_overall_status;
895: END IF;
896: EXCEPTION
897: WHEN okl_api.G_EXCEPTION_ERROR THEN
898: x_return_status := okl_api.HANDLE_EXCEPTIONS
899: (
900: l_api_name,
901: G_PKG_NAME,
894: x_return_status := l_overall_status;
895: END IF;
896: EXCEPTION
897: WHEN okl_api.G_EXCEPTION_ERROR THEN
898: x_return_status := okl_api.HANDLE_EXCEPTIONS
899: (
900: l_api_name,
901: G_PKG_NAME,
902: 'okl_api.G_RET_STS_ERROR',
898: x_return_status := okl_api.HANDLE_EXCEPTIONS
899: (
900: l_api_name,
901: G_PKG_NAME,
902: 'okl_api.G_RET_STS_ERROR',
903: x_msg_count,
904: x_msg_data,
905: '_PVT'
906: );
903: x_msg_count,
904: x_msg_data,
905: '_PVT'
906: );
907: WHEN okl_api.G_EXCEPTION_UNEXPECTED_ERROR THEN
908: x_return_status :=okl_api.HANDLE_EXCEPTIONS
909: (
910: l_api_name,
911: G_PKG_NAME,
904: x_msg_data,
905: '_PVT'
906: );
907: WHEN okl_api.G_EXCEPTION_UNEXPECTED_ERROR THEN
908: x_return_status :=okl_api.HANDLE_EXCEPTIONS
909: (
910: l_api_name,
911: G_PKG_NAME,
912: 'okl_api.G_RET_STS_UNEXP_ERROR',
908: x_return_status :=okl_api.HANDLE_EXCEPTIONS
909: (
910: l_api_name,
911: G_PKG_NAME,
912: 'okl_api.G_RET_STS_UNEXP_ERROR',
913: x_msg_count,
914: x_msg_data,
915: '_PVT'
916: );
914: x_msg_data,
915: '_PVT'
916: );
917: WHEN OTHERS THEN
918: x_return_status :=okl_api.HANDLE_EXCEPTIONS
919: (
920: l_api_name,
921: G_PKG_NAME,
922: 'OTHERS',