66:
67: /* Validate transaction line id */
68: PROCEDURE validate_transaction_line_id (
69: p_transaction_line_id IN NUMBER,
70: x_transaction_line_rec OUT NOCOPY csi_t_datastructures_grp.txn_line_rec,
71: x_return_status OUT NOCOPY VARCHAR2)
72: IS
73: l_found VARCHAR2(1);
74: -- SELECT 'X' INTO l_found -- changed for Mass update R12
142:
143: /* Validate txn_line_detail_id */ -- Added this overloaded routine for M-M
144: PROCEDURE validate_txn_line_detail_id(
145: p_txn_line_detail_id IN NUMBER,
146: x_txn_line_detail_rec OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
147: x_return_status OUT NOCOPY VARCHAR2)
148: IS
149: Cursor txn_line_dtl_cur (p_txn_line_dtl_id IN Number) IS
150: SELECT txn_line_detail_id,
544:
545: /* integrity check for the source transaction */
546: PROCEDURE check_source_integrity(
547: p_validation_level IN varchar2,
548: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
549: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
550: x_return_status OUT NOCOPY VARCHAR2)
551: IS
552:
545: /* integrity check for the source transaction */
546: PROCEDURE check_source_integrity(
547: p_validation_level IN varchar2,
548: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
549: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
550: x_return_status OUT NOCOPY VARCHAR2)
551: IS
552:
553: l_total_quantity NUMBER;
572: l_dtl_primary_qty NUMBER;
573:
574: l_src_param_rec csi_t_ui_pvt.txn_source_param_rec;
575: l_src_rec csi_t_ui_pvt.txn_source_rec;
576: l_txn_line_rec csi_t_datastructures_grp.txn_line_rec;
577: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
578: l_pty_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
579: l_pty_acct_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
580: l_org_assgn_tbl csi_t_datastructures_grp.txn_org_assgn_tbl;
573:
574: l_src_param_rec csi_t_ui_pvt.txn_source_param_rec;
575: l_src_rec csi_t_ui_pvt.txn_source_rec;
576: l_txn_line_rec csi_t_datastructures_grp.txn_line_rec;
577: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
578: l_pty_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
579: l_pty_acct_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
580: l_org_assgn_tbl csi_t_datastructures_grp.txn_org_assgn_tbl;
581: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
574: l_src_param_rec csi_t_ui_pvt.txn_source_param_rec;
575: l_src_rec csi_t_ui_pvt.txn_source_rec;
576: l_txn_line_rec csi_t_datastructures_grp.txn_line_rec;
577: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
578: l_pty_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
579: l_pty_acct_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
580: l_org_assgn_tbl csi_t_datastructures_grp.txn_org_assgn_tbl;
581: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
582:
575: l_src_rec csi_t_ui_pvt.txn_source_rec;
576: l_txn_line_rec csi_t_datastructures_grp.txn_line_rec;
577: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
578: l_pty_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
579: l_pty_acct_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
580: l_org_assgn_tbl csi_t_datastructures_grp.txn_org_assgn_tbl;
581: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
582:
583: BEGIN
576: l_txn_line_rec csi_t_datastructures_grp.txn_line_rec;
577: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
578: l_pty_dtl_tbl csi_t_datastructures_grp.txn_party_detail_tbl;
579: l_pty_acct_tbl csi_t_datastructures_grp.txn_pty_acct_detail_tbl;
580: l_org_assgn_tbl csi_t_datastructures_grp.txn_org_assgn_tbl;
581: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
582:
583: BEGIN
584:
775: /* Only one owner should be defined for a txn detail record (Instance) */
776: /* Having multiple owner is an error condition */
777:
778: PROCEDURE check_party_integrity(
779: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
780: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
781: p_party_dtl_tbl IN csi_t_datastructures_grp.txn_party_detail_tbl,
782: x_return_status OUT NOCOPY VARCHAR2)
783: IS
776: /* Having multiple owner is an error condition */
777:
778: PROCEDURE check_party_integrity(
779: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
780: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
781: p_party_dtl_tbl IN csi_t_datastructures_grp.txn_party_detail_tbl,
782: x_return_status OUT NOCOPY VARCHAR2)
783: IS
784: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
777:
778: PROCEDURE check_party_integrity(
779: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
780: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
781: p_party_dtl_tbl IN csi_t_datastructures_grp.txn_party_detail_tbl,
782: x_return_status OUT NOCOPY VARCHAR2)
783: IS
784: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
785: l_owner_count number;
909: /* private routine used within check_rltns_integrity */ -- Modified this routine to address M-M changes
910: procedure get_iir_details(
911: p_sub_obj_id IN NUMBER,
912: p_object_yn IN varchar2,
913: p_iir_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
914: x_src_dtl_count OUT NOCOPY NUMBER,
915: x_return_status OUT NOCOPY varchar2,
916: x_iir_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl)
917: IS
912: p_object_yn IN varchar2,
913: p_iir_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
914: x_src_dtl_count OUT NOCOPY NUMBER,
915: x_return_status OUT NOCOPY varchar2,
916: x_iir_tbl OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl)
917: IS
918: l_loc_ind binary_integer;
919: l_comp_of_count number;
920:
1029: Plus added additional checks because of M-M changes
1030: */
1031:
1032: PROCEDURE check_rltns_integrity(
1033: p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1034: p_txn_ii_rltns_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
1035: x_return_status OUT NOCOPY VARCHAR2)
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1030: */
1031:
1032: PROCEDURE check_rltns_integrity(
1033: p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1034: p_txn_ii_rltns_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
1035: x_return_status OUT NOCOPY VARCHAR2)
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1038: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1033: p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1034: p_txn_ii_rltns_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
1035: x_return_status OUT NOCOPY VARCHAR2)
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1038: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1039: l_line_dtl_g_miss csi_t_datastructures_grp.txn_line_detail_rec;
1040: l_iir_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1041: l_return_status VARCHAR2(1);
1034: p_txn_ii_rltns_tbl IN csi_t_datastructures_grp.txn_ii_rltns_tbl,
1035: x_return_status OUT NOCOPY VARCHAR2)
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1038: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1039: l_line_dtl_g_miss csi_t_datastructures_grp.txn_line_detail_rec;
1040: l_iir_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1041: l_return_status VARCHAR2(1);
1042: l_subject_id NUMBER ;
1035: x_return_status OUT NOCOPY VARCHAR2)
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1038: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1039: l_line_dtl_g_miss csi_t_datastructures_grp.txn_line_detail_rec;
1040: l_iir_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1041: l_return_status VARCHAR2(1);
1042: l_subject_id NUMBER ;
1043: l_object_id NUMBER ;
1036: IS
1037: l_line_dtl_tbl csi_t_datastructures_grp.txn_line_detail_tbl;
1038: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1039: l_line_dtl_g_miss csi_t_datastructures_grp.txn_line_detail_rec;
1040: l_iir_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1041: l_return_status VARCHAR2(1);
1042: l_subject_id NUMBER ;
1043: l_object_id NUMBER ;
1044: l_object_type VARCHAR2(30);
1133: END check_rltns_integrity;
1134:
1135:
1136: PROCEDURE convert_rltns_index_to_ids(
1137: p_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1138: px_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
1139: x_return_status OUT NOCOPY varchar2)
1140: IS
1141: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1134:
1135:
1136: PROCEDURE convert_rltns_index_to_ids(
1137: p_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1138: px_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
1139: x_return_status OUT NOCOPY varchar2)
1140: IS
1141: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1142: l_ii_rltns_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1137: p_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1138: px_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
1139: x_return_status OUT NOCOPY varchar2)
1140: IS
1141: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1142: l_ii_rltns_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1143: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1144:
1145: BEGIN
1138: px_ii_rltns_tbl IN OUT NOCOPY csi_t_datastructures_grp.txn_ii_rltns_tbl,
1139: x_return_status OUT NOCOPY varchar2)
1140: IS
1141: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1142: l_ii_rltns_tbl csi_t_datastructures_grp.txn_ii_rltns_tbl;
1143: l_return_status varchar2(1) := fnd_api.g_ret_sts_success;
1144:
1145: BEGIN
1146: IF p_line_dtl_tbl.COUNT > 0 THEN
1313: END is_valid_owner_for_create;
1314:
1315: procedure get_txn_line_dtl_rec(
1316: p_index_id IN NUMBER,
1317: p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1318: x_txn_line_detail_rec OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
1319: x_return_status OUT NOCOPY VARCHAR2)
1320: IS
1321: l_found BOOLEAN := FALSE;
1314:
1315: procedure get_txn_line_dtl_rec(
1316: p_index_id IN NUMBER,
1317: p_txn_line_detail_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl,
1318: x_txn_line_detail_rec OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
1319: x_return_status OUT NOCOPY VARCHAR2)
1320: IS
1321: l_found BOOLEAN := FALSE;
1322: -- l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1318: x_txn_line_detail_rec OUT NOCOPY csi_t_datastructures_grp.txn_line_detail_rec,
1319: x_return_status OUT NOCOPY VARCHAR2)
1320: IS
1321: l_found BOOLEAN := FALSE;
1322: -- l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
1323: BEGIN
1324:
1325: IF p_txn_line_detail_tbl.COUNT > 0 THEN
1326:
1723: END validate_site_use_id;
1724:
1725: PROCEDURE get_txn_system_id(
1726: p_txn_systems_index IN number,
1727: p_txn_systems_tbl IN csi_t_datastructures_grp.txn_systems_tbl,
1728: x_txn_system_id OUT NOCOPY number,
1729: x_return_status OUT NOCOPY varchar2)
1730: IS
1731: BEGIN
1748: END get_txn_system_id;
1749:
1750: PROCEDURE get_txn_systems_index(
1751: p_txn_system_id IN number,
1752: p_txn_systems_tbl IN csi_t_datastructures_grp.txn_systems_tbl,
1753: x_txn_systems_index OUT NOCOPY number,
1754: x_return_status OUT NOCOPY varchar2)
1755: IS
1756: BEGIN
1820: x_return_status := fnd_api.g_ret_sts_error;
1821: END validate_sub_type_id;
1822:
1823: PROCEDURE check_duplicate(
1824: p_txn_line_rec IN csi_t_datastructures_grp.txn_line_rec,
1825: x_return_status OUT NOCOPY varchar2)
1826: IS
1827: l_td_found char;
1828: BEGIN
1991:
1992: /* Added this new routine for M-M Changes */
1993:
1994: PROCEDURE validate_txn_rltnshp (
1995: p_txn_line_detail_rec1 IN csi_t_datastructures_grp.txn_line_detail_rec,
1996: p_txn_line_detail_rec2 IN csi_t_datastructures_grp.txn_line_detail_rec,
1997: p_iir_rec IN csi_t_datastructures_grp.txn_ii_rltns_rec,
1998: x_return_status OUT NOCOPY varchar2)
1999: IS
1992: /* Added this new routine for M-M Changes */
1993:
1994: PROCEDURE validate_txn_rltnshp (
1995: p_txn_line_detail_rec1 IN csi_t_datastructures_grp.txn_line_detail_rec,
1996: p_txn_line_detail_rec2 IN csi_t_datastructures_grp.txn_line_detail_rec,
1997: p_iir_rec IN csi_t_datastructures_grp.txn_ii_rltns_rec,
1998: x_return_status OUT NOCOPY varchar2)
1999: IS
2000:
1993:
1994: PROCEDURE validate_txn_rltnshp (
1995: p_txn_line_detail_rec1 IN csi_t_datastructures_grp.txn_line_detail_rec,
1996: p_txn_line_detail_rec2 IN csi_t_datastructures_grp.txn_line_detail_rec,
1997: p_iir_rec IN csi_t_datastructures_grp.txn_ii_rltns_rec,
1998: x_return_status OUT NOCOPY varchar2)
1999: IS
2000:
2001: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_txn_rltnshp';
1998: x_return_status OUT NOCOPY varchar2)
1999: IS
2000:
2001: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_txn_rltnshp';
2002: l_line_dtl_rec1 csi_t_datastructures_grp.txn_line_detail_rec;
2003: l_line_dtl_rec2 csi_t_datastructures_grp.txn_line_detail_rec;
2004: l_ii_rltns_rec csi_t_datastructures_grp.txn_ii_rltns_rec;
2005: l_subject_id NUMBER;
2006: l_object_id NUMBER;
1999: IS
2000:
2001: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_txn_rltnshp';
2002: l_line_dtl_rec1 csi_t_datastructures_grp.txn_line_detail_rec;
2003: l_line_dtl_rec2 csi_t_datastructures_grp.txn_line_detail_rec;
2004: l_ii_rltns_rec csi_t_datastructures_grp.txn_ii_rltns_rec;
2005: l_subject_id NUMBER;
2006: l_object_id NUMBER;
2007: l_object_type VARCHAR2(30);
2000:
2001: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_txn_rltnshp';
2002: l_line_dtl_rec1 csi_t_datastructures_grp.txn_line_detail_rec;
2003: l_line_dtl_rec2 csi_t_datastructures_grp.txn_line_detail_rec;
2004: l_ii_rltns_rec csi_t_datastructures_grp.txn_ii_rltns_rec;
2005: l_subject_id NUMBER;
2006: l_object_id NUMBER;
2007: l_object_type VARCHAR2(30);
2008: l_subject_type VARCHAR2(30);
2135:
2136: /* Added new routine for M-M Changes */
2137:
2138: PROCEDURE validate_inst_details (
2139: p_iir_rec IN csi_t_datastructures_grp.txn_ii_rltns_rec,
2140: p_txn_dtl_rec IN csi_t_datastructures_grp.txn_line_detail_rec,
2141: x_return_status OUT NOCOPY varchar2)
2142:
2143: IS
2136: /* Added new routine for M-M Changes */
2137:
2138: PROCEDURE validate_inst_details (
2139: p_iir_rec IN csi_t_datastructures_grp.txn_ii_rltns_rec,
2140: p_txn_dtl_rec IN csi_t_datastructures_grp.txn_line_detail_rec,
2141: x_return_status OUT NOCOPY varchar2)
2142:
2143: IS
2144: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_inst_details';
2141: x_return_status OUT NOCOPY varchar2)
2142:
2143: IS
2144: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_inst_details';
2145: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
2146: l_txn_rltns_rec csi_t_datastructures_grp.txn_ii_rltns_rec;
2147: l_iir_rec csi_ii_relationships%rowtype;
2148: l_subject_id NUMBER;
2149: l_object_id NUMBER;
2142:
2143: IS
2144: l_routine_name CONSTANT VARCHAR2(30) := 'vldn.validate_inst_details';
2145: l_line_dtl_rec csi_t_datastructures_grp.txn_line_detail_rec;
2146: l_txn_rltns_rec csi_t_datastructures_grp.txn_ii_rltns_rec;
2147: l_iir_rec csi_ii_relationships%rowtype;
2148: l_subject_id NUMBER;
2149: l_object_id NUMBER;
2150: l_object_type VARCHAR2(30);
2329: END validate_src_header;
2330:
2331: -- Added for CZ Integration (Begin)
2332: PROCEDURE check_exists_in_cz(
2333: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl ,
2334: x_return_status OUT NOCOPY VARCHAR2 )
2335: IS
2336: l_config_hdr_id NUMBER ;
2337: l_td_rec csi_t_datastructures_grp.txn_line_detail_rec ;
2333: p_txn_line_dtl_tbl IN csi_t_datastructures_grp.txn_line_detail_tbl ,
2334: x_return_status OUT NOCOPY VARCHAR2 )
2335: IS
2336: l_config_hdr_id NUMBER ;
2337: l_td_rec csi_t_datastructures_grp.txn_line_detail_rec ;
2338:
2339: CURSOR cz_config_dtl_cur (c_config_inst_hdr_id IN NUMBER ,
2340: c_config_inst_rev_num IN NUMBER ,
2341: c_config_inst_item_id IN NUMBER )