441: --Pre-reqs: None
442: --Modifies:
443: --Locks:
444: --Procedure:
445: -- This procedure inserts row in po_uda_interface table.
446: --Parameters:
447: --IN:
448: -- p_transaction_id IN NUMBER,
449: -- p_row_identifier IN NUMBER,
555: PO_LOG.stmt(d_module,d_position,'l_attr_value_date',l_attr_value_date);
556: END IF;
557:
558:
559: INSERT INTO po_uda_interface
560: (transaction_id,
561: row_identifier,
562: attr_group_id,
563: attr_group_app_id,
654: --Pre-reqs: None
655: --Modifies:
656: --Locks:
657: --Procedure:
658: -- This procedure populated UDA data in po_uda_interface table
659: --Parameters:
660: --IN:p_draft_id NUMBER
661: -- p_mod_draft_id NUMBER ,
662: -- p_par_draft_id NUMBER,
769: -- for each address type select the attrnames and their avlues
770:
771: FOR i IN 1..l_address_type_tbl.Count() LOOP
772:
773: l_row_identifier_add:= PO_UDA_INTERFACE_S.NEXTVAL;
774:
775: IF PO_LOG.d_stmt THEN
776: PO_LOG.stmt(d_module,d_position,'l_address_type_tbl '||i||' is ',l_address_type_tbl(i));
777: PO_LOG.stmt(d_module,d_position,'l_row_identifier ',l_row_identifier);
822: END;
823:
824:
825: IF l_value_set IS NOT NULL THEN
826: INSERT INTO po_uda_interface
827: (transaction_id,
828: row_identifier,
829: attr_group_id,
830: attr_group_app_id,
868: FROM ego_attr_groups_v
869: WHERE attr_group_name = 'addresses'
870: AND ATTR_GROUP_TYPE = l_attr_group_type;
871:
872: INSERT INTO po_uda_interface
873: (transaction_id,
874: row_identifier,
875: attr_group_id,
876: attr_group_app_id,
902: p_mod_draft_id,
903: p_uda_template_id,
904: l_process_status);
905:
906: INSERT INTO po_uda_interface
907: (transaction_id,
908: row_identifier,
909: attr_group_id,
910: attr_group_app_id,
986: LOOP
987: IF l_attr_grp_name IS NULL OR l_attr_grp_tbl(i) <> l_attr_grp_name
988: THEN
989: l_attr_grp_name := l_attr_grp_tbl(i);
990: l_row_identifier := PO_UDA_INTERFACE_S.NEXTVAL;
991: END IF;
992:
993: insert_row_in_uda_interface
994: (
1004: p_mod_value => l_mod_value_tbl(i)
1005: ) ;
1006: END LOOP;
1007:
1008: --Insert the remaining entries which are missing in po_uda-interface
1009: -- but which are needed for UDA import
1010:
1011: --Collect all the distinct attr group names
1012: --
1025: ) --Collecting the attribute grp name, aatribute name and their value in ag_data
1026: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1027: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1028: FROM ag_data
1029: --The attr group should be currently existing in po_uda_interface
1030: --and the attribute should not exist in po_uda_interface
1031: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1032: FROM po_uda_interface
1033: WHERE transaction_id = p_transaction_id
1026: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1027: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1028: FROM ag_data
1029: --The attr group should be currently existing in po_uda_interface
1030: --and the attribute should not exist in po_uda_interface
1031: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1032: FROM po_uda_interface
1033: WHERE transaction_id = p_transaction_id
1034: AND data_level_1 = l_data_level
1028: FROM ag_data
1029: --The attr group should be currently existing in po_uda_interface
1030: --and the attribute should not exist in po_uda_interface
1031: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1032: FROM po_uda_interface
1033: WHERE transaction_id = p_transaction_id
1034: AND data_level_1 = l_data_level
1035: AND pk1_value = p_pk1_value
1036: AND PK2_VALUE = p_mod_draft_id)
1033: WHERE transaction_id = p_transaction_id
1034: AND data_level_1 = l_data_level
1035: AND pk1_value = p_pk1_value
1036: AND PK2_VALUE = p_mod_draft_id)
1037: AND NOT EXISTS (SELECT 1 FROM po_uda_interface
1038: WHERE pk2_value =p_mod_draft_id
1039: AND transaction_id = p_transaction_id
1040: AND ATTR_GROUP_NAME = ag_data.attr_grp_name
1041: AND ATTR_NAME = ag_data.attr_name);
1053: ) --Collecting the attribute grp name, aatribute name and their value in ag_data
1054: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1055: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1056: FROM ag_data
1057: --The attr group should be currently existing in po_uda_interface
1058: --and the attribute should not exist in po_uda_interface
1059: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1060: FROM po_uda_interface
1061: WHERE transaction_id = p_transaction_id
1054: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1055: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1056: FROM ag_data
1057: --The attr group should be currently existing in po_uda_interface
1058: --and the attribute should not exist in po_uda_interface
1059: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1060: FROM po_uda_interface
1061: WHERE transaction_id = p_transaction_id
1062: AND data_level_1 = l_data_level
1056: FROM ag_data
1057: --The attr group should be currently existing in po_uda_interface
1058: --and the attribute should not exist in po_uda_interface
1059: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1060: FROM po_uda_interface
1061: WHERE transaction_id = p_transaction_id
1062: AND data_level_1 = l_data_level
1063: AND pk1_value = p_pk1_value
1064: AND PK2_VALUE = p_mod_draft_id)
1061: WHERE transaction_id = p_transaction_id
1062: AND data_level_1 = l_data_level
1063: AND pk1_value = p_pk1_value
1064: AND PK2_VALUE = p_mod_draft_id)
1065: AND NOT EXISTS (SELECT 1 FROM po_uda_interface
1066: WHERE pk2_value =p_mod_draft_id
1067: AND transaction_id = p_transaction_id
1068: AND ATTR_GROUP_NAME = ag_data.attr_grp_name
1069: AND ATTR_NAME = ag_data.attr_name);
1081: ) --Collecting the attribute grp name, aatribute name and their value in ag_data
1082: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1083: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1084: FROM ag_data
1085: --The attr group should be currently existing in po_uda_interface
1086: --and the attribute should not exist in po_uda_interface
1087: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1088: FROM po_uda_interface
1089: WHERE transaction_id = p_transaction_id
1082: SELECT ag_data.attr_grp_name, ag_data.attr_name, ag_data.col_value
1083: BULK COLLECT INTO l_attr_grp_tbl, l_attr_name_tbl, l_mod_value_tbl
1084: FROM ag_data
1085: --The attr group should be currently existing in po_uda_interface
1086: --and the attribute should not exist in po_uda_interface
1087: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1088: FROM po_uda_interface
1089: WHERE transaction_id = p_transaction_id
1090: AND data_level_1 = l_data_level
1084: FROM ag_data
1085: --The attr group should be currently existing in po_uda_interface
1086: --and the attribute should not exist in po_uda_interface
1087: WHERE ag_data.attr_grp_name IN (SELECT DISTINCT attr_group_name
1088: FROM po_uda_interface
1089: WHERE transaction_id = p_transaction_id
1090: AND data_level_1 = l_data_level
1091: AND pk1_value = p_pk1_value
1092: AND PK2_VALUE = p_mod_draft_id)
1089: WHERE transaction_id = p_transaction_id
1090: AND data_level_1 = l_data_level
1091: AND pk1_value = p_pk1_value
1092: AND PK2_VALUE = p_mod_draft_id)
1093: AND NOT EXISTS (SELECT 1 FROM po_uda_interface
1094: WHERE pk2_value =p_mod_draft_id
1095: AND transaction_id = p_transaction_id
1096: AND ATTR_GROUP_NAME = ag_data.attr_grp_name
1097: AND ATTR_NAME = ag_data.attr_name);
1104:
1105: --Fetch the row indentifier for the attr grp
1106: SELECT DISTINCT row_identifier
1107: INTO l_row_identifier
1108: FROM po_uda_interface
1109: WHERE transaction_id = p_transaction_id
1110: AND attr_group_name = l_attr_grp_tbl(k)
1111: AND pk1_value = p_pk1_value;
1112: