[Home] [Help]
PACKAGE BODY: APPS.EGO_GTIN_ATTRS_PVT
Source
1 PACKAGE BODY EGO_GTIN_ATTRS_PVT AS
2 /* $Header: EGOVGATB.pls 120.27 2007/08/16 14:21:37 dsakalle ship $ */
3
4 TYPE l_attr_disp_name_tbl_type IS TABLE OF VARCHAR2(1000) INDEX BY VARCHAR2(1000);
5 l_single_row_attrs_disp_names l_attr_disp_name_tbl_type;
6 l_multi_row_attrs_disp_names l_attr_disp_name_tbl_type;
7 l_op_attrs_disp_names l_attr_disp_name_tbl_type;
8 G_MISS_NUM NUMBER := EGO_ITEM_PUB.G_INTF_NULL_NUM;
9 G_MISS_CHAR VARCHAR2(1) := EGO_ITEM_PUB.G_INTF_NULL_CHAR;
10 G_MISS_DATE DATE := EGO_ITEM_PUB.G_INTF_NULL_DATE;
11 g_row_identifier NUMBER;
12 EGO_APPL_ID CONSTANT NUMBER := 431;
13 G_CALLED_FROM_INTF VARCHAR2(1);
14 G_DATA_SET_ID NUMBER;
15 G_ENTITY_ID NUMBER;
16 G_ENTITY_INDEX NUMBER;
17 G_ENTITY_CODE VARCHAR2(100);
18
19 -- CHG#
20 PROCEDURE Debug_Msg(p_message VARCHAR2) IS
21 BEGIN
22 EGO_COMMON_PVT.WRITE_DIAGNOSTIC(p_module => 'EGO_GTIN_ATTRS_PVT',
23 p_message => p_message);
24 END Debug_Msg;
25
26 /*
27 ** This function returns TRUE if check digit is invalid
28 */
29 FUNCTION Is_Check_Digit_Invalid (p_code VARCHAR2) RETURN BOOLEAN IS
30 TYPE num_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
31 l_digits num_tbl_type;
32 l_check_digit BINARY_INTEGER;
33 l_sum_of_right BINARY_INTEGER;
34 l_sum_of_left BINARY_INTEGER;
35 l_sum_of_all NUMBER;
36 k BINARY_INTEGER;
37 l_reminder BINARY_INTEGER;
38 l_calc_check_digit BINARY_INTEGER;
39 BEGIN
40 FOR i IN 1..(LENGTH(p_code)-1) LOOP
41 l_digits(i) := SUBSTR(p_code, i, 1);
42 END LOOP;
43 l_check_digit := SUBSTR(p_code, LENGTH(p_code), 1);
44
45 k := LENGTH(p_code) - 1;
46 l_sum_of_right := 0;
47 WHILE k > 0 LOOP
48 l_sum_of_right := l_sum_of_right + l_digits(k);
49 k := k - 2;
50 END LOOP;
51
52 k := LENGTH(p_code) - 2;
53 l_sum_of_left := 0;
54 WHILE k > 0 LOOP
55 l_sum_of_left := l_sum_of_left + l_digits(k);
56 k := k - 2;
57 END LOOP;
58
59 l_sum_of_all := (l_sum_of_right*3) + l_sum_of_left;
60
61 l_reminder := MOD(l_sum_of_all, 10);
62 IF l_reminder = 0 THEN
63 l_reminder := 10;
64 END IF;
65
66 l_calc_check_digit := 10 - l_reminder;
67
68 IF l_check_digit <> l_calc_check_digit THEN
69 RETURN TRUE;
70 ELSE
71 RETURN FALSE;
72 END IF;
73 END Is_Check_Digit_Invalid;
74
75 /*
76 ** This function returns the display values for the attributes
77 */
78 FUNCTION Get_Attribute_Display_Name (p_attr_group_type VARCHAR2, p_database_column VARCHAR2) RETURN VARCHAR2 IS
79 CURSOR c_attr_disp_names(l_attr_group_type VARCHAR2) IS
80 SELECT APPLICATION_COLUMN_NAME as DATABASE_COLUMN, FORM_LEFT_PROMPT as DISPLAY_VALUE
81 FROM FND_DESCR_FLEX_COL_USAGE_TL
82 WHERE DESCRIPTIVE_FLEXFIELD_NAME = l_attr_group_type
83 AND APPLICATION_ID = 431
84 AND LANGUAGE = USERENV('LANG');
85 BEGIN
86 IF l_single_row_attrs_disp_names.FIRST IS NULL AND p_attr_group_type = 'EGO_ITEM_GTIN_ATTRS' THEN
87 FOR i IN c_attr_disp_names('EGO_ITEM_GTIN_ATTRS') LOOP
88 l_single_row_attrs_disp_names(i.DATABASE_COLUMN) := i.DISPLAY_VALUE;
89 END LOOP;
90 END IF;
91
92 IF l_multi_row_attrs_disp_names.FIRST IS NULL AND p_attr_group_type = 'EGO_ITEM_GTIN_MULTI_ATTRS' THEN
93 FOR i IN c_attr_disp_names('EGO_ITEM_GTIN_MULTI_ATTRS') LOOP
94 l_multi_row_attrs_disp_names(i.DATABASE_COLUMN) := i.DISPLAY_VALUE;
95 END LOOP;
96 END IF;
97
98 IF l_op_attrs_disp_names.FIRST IS NULL AND p_attr_group_type = 'EGO_MASTER_ITEMS' THEN
99 FOR i IN c_attr_disp_names('EGO_MASTER_ITEMS') LOOP
100 l_op_attrs_disp_names(i.DATABASE_COLUMN) := i.DISPLAY_VALUE;
101 END LOOP;
102 END IF;
103
104 IF p_attr_group_type = 'EGO_ITEM_GTIN_ATTRS' THEN
105 RETURN l_single_row_attrs_disp_names(p_database_column);
106 ELSIF p_attr_group_type = 'EGO_ITEM_GTIN_MULTI_ATTRS' THEN
107 RETURN l_multi_row_attrs_disp_names(p_database_column);
108 ELSIF p_attr_group_type = 'EGO_MASTER_ITEMS' THEN
109 RETURN l_op_attrs_disp_names(p_database_column);
110 ELSE
111 RETURN NULL;
112 END IF;
113 END Get_Attribute_Display_Name;
114
115 /*
116 ** This procedure populates the interface table rows for UCCnet attributes
117 * into pl/sql table
118 */
119 PROCEDURE Get_Gdsn_Intf_Rows( p_data_set_id IN NUMBER
120 ,p_target_proc_status IN NUMBER
121 ,p_inventory_item_id IN NUMBER
122 ,p_organization_id IN NUMBER
123 ,p_ignore_delete IN VARCHAR2 DEFAULT 'N'
124 ,x_singe_row_attrs_rec OUT NOCOPY EGO_ITEM_PUB.UCCNET_ATTRS_SINGL_ROW_REC_TYP
125 ,x_multi_row_attrs_tbl OUT NOCOPY EGO_ITEM_PUB.UCCNET_ATTRS_MULTI_ROW_TBL_TYP
126 ,x_return_status OUT NOCOPY VARCHAR2
127 ,x_msg_count OUT NOCOPY NUMBER
128 ,x_msg_data OUT NOCOPY VARCHAR2
129 )
130 IS
131 CURSOR c_intf_single_row_attrs(c_inventory_item_id IN NUMBER, c_organization_id IN NUMBER) IS
132 SELECT
133 MAX(DECODE(ATTR_GROUP_INT_NAME, 'Date_Information', DECODE(ATTR_INT_NAME, 'Start_Availability_Date_Time', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS START_AVAILABILITY_DATE_TIME
134 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Date_Information', DECODE(ATTR_INT_NAME, 'Consumer_Avail_Date_Time', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS CONSUMER_AVAIL_DATE_TIME
135 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Date_Information', DECODE(ATTR_INT_NAME, 'End_Availability_Date_Time', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS END_AVAILABILITY_DATE_TIME
136 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Date_Information', DECODE(ATTR_INT_NAME, 'Effective_Date', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS EFFECTIVE_DATE
137 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_Identification', DECODE(ATTR_INT_NAME, 'ISBN_Number', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS ISBN_NUMBER
138 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_Identification', DECODE(ATTR_INT_NAME, 'ISSN_Number', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS ISSN_NUMBER
139 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_MARKING', DECODE(ATTR_INT_NAME, 'IS_INGREDIENT_IRRADIATED', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_INGREDIENT_IRRADIATED
140 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_MARKING', DECODE(ATTR_INT_NAME, 'IS_TRADE_ITEM_GENETICALLY_MOD', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_GENETICALLY_MOD
141 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_MARKING', DECODE(ATTR_INT_NAME, 'IS_TRADE_ITEM_IRRADIATED', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_IRRADIATED
142 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_MARKING', DECODE(ATTR_INT_NAME, 'IS_RAW_MATERIAL_IRRADIATED', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_RAW_MATERIAL_IRRADIATED
143 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_Measurements', DECODE(ATTR_INT_NAME, 'DEGREE_OF_ORIGINAL_WORT', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DEGREE_OF_ORIGINAL_WORT
144 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_Measurements', DECODE(ATTR_INT_NAME, 'FAT_PERCENT_IN_DRY_MATTER', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS FAT_PERCENT_IN_DRY_MATTER
145 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'FMCG_Measurements', DECODE(ATTR_INT_NAME, 'PERCENT_OF_ALCOHOL_BY_VOL', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS PERCENT_OF_ALCOHOL_BY_VOL
146 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Unit_Indicator', DECODE(ATTR_INT_NAME, 'Is_Trade_Item_A_Consumer_Unit', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_A_CONSUMER_UNIT
147 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Unit_Indicator', DECODE(ATTR_INT_NAME, 'Is_Trade_Item_A_Base_Unit', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_A_BASE_UNIT
148 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Unit_Indicator', DECODE(ATTR_INT_NAME, 'Is_Trade_Item_Info_Private', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_INFO_PRIVATE
149 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Unit_Indicator', DECODE(ATTR_INT_NAME, 'Is_Trade_Item_A_Variable_Unit', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_A_VARIABLE_UNIT
150 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Handling_Information', DECODE(ATTR_INT_NAME, 'Stacking_Weight_Maximum', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS STACKING_WEIGHT_MAXIMUM
151 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Handling_Information', DECODE(ATTR_INT_NAME, 'Stacking_Factor', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS STACKING_FACTOR
152 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Material_Safety_Data', DECODE(ATTR_INT_NAME, 'Material_Safety_Data_Sheet_No', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS MATERIAL_SAFETY_DATA_SHEET_NO
153 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Order_Information', DECODE(ATTR_INT_NAME, 'Ordering_Lead_Time', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS ORDERING_LEAD_TIME
154 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Order_Information', DECODE(ATTR_INT_NAME, 'Order_Quantity_Min', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS ORDER_QUANTITY_MIN
155 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Order_Information', DECODE(ATTR_INT_NAME, 'Order_Sizing_Factor', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS ORDER_SIZING_FACTOR
156 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Order_Information', DECODE(ATTR_INT_NAME, 'Order_Quantity_Max', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS ORDER_QUANTITY_MAX
157 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Order_Information', DECODE(ATTR_INT_NAME, 'Order_Quantity_Multiple', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS ORDER_QUANTITY_MULTIPLE
158 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Packaging_Marking', DECODE(ATTR_INT_NAME, 'Is_Pack_Marked_With_Exp_Date', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_PACK_MARKED_WITH_EXP_DATE
159 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Packaging_Marking', DECODE(ATTR_INT_NAME, 'Is_Package_Marked_As_Rec', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_PACKAGE_MARKED_AS_REC
160 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Packaging_Marking', DECODE(ATTR_INT_NAME, 'Is_Package_Marked_Ret', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_PACKAGE_MARKED_RET
161 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Packaging_Marking', DECODE(ATTR_INT_NAME, 'Is_Pack_Marked_With_Ingred', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_PACK_MARKED_WITH_INGRED
162 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Packaging_Marking', DECODE(ATTR_INT_NAME, 'Is_Pack_Marked_With_Green_Dot', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_PACK_MARKED_WITH_GREEN_DOT
163 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Price_Date_Information', DECODE(ATTR_INT_NAME, 'Effective_End_Date', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS EFFECTIVE_END_DATE
164 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Price_Date_Information', DECODE(ATTR_INT_NAME, 'Suggested_Retail_Price', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS SUGGESTED_RETAIL_PRICE
165 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Price_Date_Information', DECODE(ATTR_INT_NAME, 'Catalog_Price', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS CATALOG_PRICE
166 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Price_Date_Information', DECODE(ATTR_INT_NAME, 'Effective_Start_Date', NVL(ATTR_VALUE_DATE, G_MISS_DATE), null), null)) AS EFFECTIVE_START_DATE
167 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Price_Information', DECODE(ATTR_INT_NAME, 'Retail_Price_On_Trade_Item', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS RETAIL_PRICE_ON_TRADE_ITEM
168 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Del_To_Dist_Cntr_Temp_Min', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DEL_TO_DIST_CNTR_TEMP_MIN
169 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uccnet_Storage_Temp_Min', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS STORAGE_HANDLING_TEMP_MIN
170 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Storage_Handling_Temp_Max', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_STORAGE_HANDLING_TEMP_MAX
171 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uccnet_Storage_Temp_Max', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS STORAGE_HANDLING_TEMP_MAX
172 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Storage_Handling_Temp_Min', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_STORAGE_HANDLING_TEMP_MIN
173 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Delivery_To_Mrkt_Temp_Max', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_DELIVERY_TO_MRKT_TEMP_MAX
174 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Del_To_Dist_Cntr_Temp_Max', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DEL_TO_DIST_CNTR_TEMP_MAX
175 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Delivery_To_Mrkt_Temp_Min', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DELIVERY_TO_MRKT_TEMP_MIN
176 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Delivery_To_Mrkt_Temp_Min', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_DELIVERY_TO_MRKT_TEMP_MIN
177 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Delivery_To_Mrkt_Temp_Max', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DELIVERY_TO_MRKT_TEMP_MAX
178 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Del_To_Dist_Cntr_Temp_Max', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_DEL_TO_DIST_CNTR_TEMP_MAX
179 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Temperature_Information', DECODE(ATTR_INT_NAME, 'Uom_Del_To_Dist_Cntr_Temp_Min', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_DEL_TO_DIST_CNTR_TEMP_MIN
180 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Brand_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS BRAND_NAME
181 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Invoice_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS INVOICE_NAME
182 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Sub_Brand', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS SUB_BRAND
183 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Eanucc_Code', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS EANUCC_CODE
184 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'EANUCC_Type', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS EANUCC_TYPE
185 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'DESCRIPTION_SHORT', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DESCRIPTION_SHORT
186 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Trade_Item_Coupon', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS TRADE_ITEM_COUPON
187 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Trade_Item_Form_Description', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS TRADE_ITEM_FORM_DESCRIPTION
188 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Functional_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS FUNCTIONAL_NAME
189 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Is_Barcode_Symbology_Derivable', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_BARCODE_SYMBOLOGY_DERIVABLE
190 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Retail_Brand_Owner_Gln', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS BRAND_OWNER_GLN
191 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Retail_Brand_Owner_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS BRAND_OWNER_NAME
192 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Hierarchy', DECODE(ATTR_INT_NAME, 'Quantity_Of_Comp_Lay_Item', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS QUANTITY_OF_COMP_LAY_ITEM
193 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Hierarchy', DECODE(ATTR_INT_NAME, 'Quantity_Of_Inner_Pack', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS QUANTITY_OF_INNER_PACK
194 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Hierarchy', DECODE(ATTR_INT_NAME, 'Quantity_Of_Item_Inner_Pack', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS QUANTITY_OF_ITEM_INNER_PACK
195 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Hierarchy', DECODE(ATTR_INT_NAME, 'Quanity_Of_Item_In_Layer', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS QUANITY_OF_ITEM_IN_LAYER
196 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Marking', DECODE(ATTR_INT_NAME, 'Has_Batch_Number', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS HAS_BATCH_NUMBER
197 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Marking', DECODE(ATTR_INT_NAME, 'Is_Trade_Item_Marked_Rec_Flag', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_MAR_REC_FLAG
198 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Marking', DECODE(ATTR_INT_NAME, 'Is_Non_Sold_Trade_Ret_Flag', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_NON_SOLD_TRADE_RET_FLAG
199 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Net_Content', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS NET_CONTENT
200 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Gross_Weight', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS GROSS_WEIGHT
201 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Uom_Net_Content', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_NET_CONTENT
202 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Diameter', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DIAMETER
203 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Ingredient_Strength', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS INGREDIENT_STRENGTH
204 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Generic_Ingredient_Strgth', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS GENERIC_INGREDIENT_STRGTH
205 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Generic_Ingredient', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS GENERIC_INGREDIENT
206 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Peg_Vertical', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS PEG_VERTICAL
207 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Peg_Horizontal', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS PEG_HORIZONTAL
208 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Drained_Weight', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS DRAINED_WEIGHT
209 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Measurements', DECODE(ATTR_INT_NAME, 'Is_Net_Content_Dec_Flag', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_NET_CONTENT_DEC_FLAG
210 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'DEPT_OF_TRNSPRT_DANG_GOODS_NUM', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DEPT_OF_TRNSPRT_DANG_GOODS_NUM
211 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'MODEL_NUMBER', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS MODEL_NUMBER
212 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'IS_TRADE_ITEM_RECALLED', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_TRADE_ITEM_RECALLED
213 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'TRADE_ITEM_FINISH_DESCRIPTION', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS TRADE_ITEM_FINISH_DESCRIPTION
214 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'WARRANTY_DESCRIPTION', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS WARRANTY_DESCRIPTION
215 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'SECURITY_TAG_LOCATION', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS SECURITY_TAG_LOCATION
216 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'PIECES_PER_TRADE_ITEM', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS PIECES_PER_TRADE_ITEM
217 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'NESTING_INCREMENT', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS NESTING_INCREMENT
218 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'URL_FOR_WARRANTY', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS URL_FOR_WARRANTY
219 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'IS_OUT_OF_BOX_PROVIDED', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS IS_OUT_OF_BOX_PROVIDED
220 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Hardlines', DECODE(ATTR_INT_NAME, 'RETURN_GOODS_POLICY', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS RETURN_GOODS_POLICY
221 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Uccnet_Size_Description', DECODE(ATTR_INT_NAME, 'Size_Description', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DESCRIPTIVE_SIZE
222 FROM EGO_ITM_USR_ATTR_INTRFC
223 WHERE ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_ATTRS'
224 AND DATA_SET_ID = p_data_set_id
225 AND PROCESS_STATUS = p_target_proc_status
226 AND INVENTORY_ITEM_ID = c_inventory_item_id
227 AND ORGANIZATION_ID = c_organization_id;
228
229 CURSOR c_intf_multi_row_attrs(c_inventory_item_id IN NUMBER, c_organization_id IN NUMBER) IS
230 SELECT
231 ROW_IDENTIFIER
232 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Bar_Code', DECODE(ATTR_INT_NAME, 'Bar_Code_Type', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS BAR_CODE_TYPE
233 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Country_Of_Origin', DECODE(ATTR_INT_NAME, 'Country_OF_Origin', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS COUNTRY_OF_ORIGIN
234 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Delivery_Method_Indicator', DECODE(ATTR_INT_NAME, 'Delivery_Method_Indicator', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DELIVERY_METHOD_INDICATOR
235 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Color_Description', DECODE(ATTR_INT_NAME, 'Color_Code_Value', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS COLOR_CODE_VALUE
236 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Gtin_Color_Description', DECODE(ATTR_INT_NAME, 'Color_Code_List_Agency', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS COLOR_CODE_LIST_AGENCY
237 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Handling_Information', DECODE(ATTR_INT_NAME, 'Handling_Instructions_Code', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS HANDLING_INSTRUCTIONS_CODE
238 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Class_Of_Dangerous_Code', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS CLASS_OF_DANGEROUS_CODE
239 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Margin_Number', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_MARGIN_NUMBER
240 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Hazardous_Code', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_HAZARDOUS_CODE
241 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Reg_Code', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_REG_CODE
242 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'United_Nations_Dang_Goods_No', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS UNITED_NATIONS_DANG_GOODS_NO
243 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Uom_Flash_Point_Temp', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS UOM_FLASH_POINT_TEMP
244 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Flash_Point_Temp', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS FLASH_POINT_TEMP
245 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Technical_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_TECHNICAL_NAME
246 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Shipping_Name', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_SHIPPING_NAME
247 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Hazardous_Information', DECODE(ATTR_INT_NAME, 'Dangerous_Goods_Pack_Group', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS DANGEROUS_GOODS_PACK_GROUP
248 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Manufacturing_Info', DECODE(ATTR_INT_NAME, 'Manufacturer_Gln', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS MANUFACTURER_GLN
249 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Manufacturing_Info', DECODE(ATTR_INT_NAME, 'Name_Of_Manufacturer', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS MANUFACTURER_ID
250 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Size_Description', DECODE(ATTR_INT_NAME, 'SIZE_CODE_LIST_AGENCY', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS SIZE_CODE_LIST_AGENCY
251 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'Size_Description', DECODE(ATTR_INT_NAME, 'SIZE_CODE_VALUE', NVL(ATTR_VALUE_STR, G_MISS_CHAR), null), null)) AS SIZE_CODE_VALUE
252 ,MAX(DECODE(ATTR_GROUP_INT_NAME, 'TRADE_ITEM_HARMN_SYS_IDENT', DECODE(ATTR_INT_NAME, 'HARMONIZED_TARIFF_SYS_ID_CODE', NVL(ATTR_VALUE_NUM, G_MISS_NUM), null), null)) AS HARMONIZED_TARIFF_SYS_ID_CODE
253 FROM EGO_ITM_USR_ATTR_INTRFC
254 WHERE ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_MULTI_ATTRS'
255 AND DATA_SET_ID = p_data_set_id
256 AND PROCESS_STATUS = p_target_proc_status
257 AND INVENTORY_ITEM_ID = c_inventory_item_id
258 AND ORGANIZATION_ID = c_organization_id
259 AND ((UPPER(TRANSACTION_TYPE) <> 'DELETE' AND p_ignore_delete = 'Y') OR (NVL(p_ignore_delete, 'N') = 'N'))
260 GROUP BY ROW_IDENTIFIER;
261
262 CURSOR c_uom_code IS
263 SELECT a.APPLICATION_COLUMN_NAME, u.UOM_CODE
264 FROM EGO_FND_DF_COL_USGS_EXT a, MTL_UNITS_OF_MEASURE_TL u
265 WHERE a.UOM_CLASS = u.UOM_CLASS(+)
266 AND u.BASE_UOM_FLAG(+) = 'Y'
267 AND u.LANGUAGE(+) = USERENV('LANG')
268 AND a.APPLICATION_ID = 431
269 AND a.DESCRIPTIVE_FLEXFIELD_NAME IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS')
270 AND a.APPLICATION_COLUMN_NAME IN (
271 'GROSS_WEIGHT'
272 ,'PEG_VERTICAL'
273 ,'PEG_HORIZONTAL'
274 ,'DRAINED_WEIGHT'
275 ,'DIAMETER'
276 ,'ORDERING_LEAD_TIME'
277 ,'GENERIC_INGREDIENT_STRGTH'
278 ,'STACKING_WEIGHT_MAXIMUM'
279 ,'PIECES_PER_TRADE_ITEM'
280 ,'NESTING_INCREMENT'
281 );
282
283 TYPE l_uom_codes_type IS TABLE OF VARCHAR2(1000) INDEX BY VARCHAR2(1000);
284 l_uom_tbl l_uom_codes_type;
285 l_single_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Singl_Row_Rec_Typ;
286 l_multi_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Multi_Row_Tbl_Typ;
287 k BINARY_INTEGER;
288 l_conversion_error EXCEPTION;
289 PRAGMA EXCEPTION_INIT(l_conversion_error, -6502);
290 l_attr_name VARCHAR2(1000);
291
292 -- these are all NUMBER columns in EGO_ITEM_GTN_ATTRS_VL. The record EGO_ITEM_PUB.UCCnet_Attrs_Singl_Row_Rec_Typ
293 -- contains the type of these columns as NUMBER
294 -- so these variables are used to find out any precesion problem in these attributes
295 l_gross_weight EGO_ITEM_GTN_ATTRS_VL.GROSS_WEIGHT%TYPE;
296 l_stacking_factor EGO_ITEM_GTN_ATTRS_VL.STACKING_FACTOR%TYPE;
297 l_stacking_weight_maximum EGO_ITEM_GTN_ATTRS_VL.STACKING_WEIGHT_MAXIMUM%TYPE;
298 l_ordering_lead_time EGO_ITEM_GTN_ATTRS_VL.ORDERING_LEAD_TIME%TYPE;
299 l_order_quantity_max EGO_ITEM_GTN_ATTRS_VL.ORDER_QUANTITY_MAX%TYPE;
300 l_order_quantity_min EGO_ITEM_GTN_ATTRS_VL.ORDER_QUANTITY_MIN%TYPE;
301 l_order_quantity_multiple EGO_ITEM_GTN_ATTRS_VL.ORDER_QUANTITY_MULTIPLE%TYPE;
302 l_order_sizing_factor EGO_ITEM_GTN_ATTRS_VL.ORDER_SIZING_FACTOR%TYPE;
303 l_catalog_price EGO_ITEM_GTN_ATTRS_VL.CATALOG_PRICE%TYPE;
304 l_suggested_retail_price EGO_ITEM_GTN_ATTRS_VL.SUGGESTED_RETAIL_PRICE%TYPE;
305 l_diameter EGO_ITEM_GTN_ATTRS_VL.DIAMETER%TYPE;
306 l_drained_weight EGO_ITEM_GTN_ATTRS_VL.DRAINED_WEIGHT%TYPE;
307 l_generic_ingredient_strgth EGO_ITEM_GTN_ATTRS_VL.GENERIC_INGREDIENT_STRGTH%TYPE;
308 l_net_content EGO_ITEM_GTN_ATTRS_VL.NET_CONTENT%TYPE;
309 l_peg_horizontal EGO_ITEM_GTN_ATTRS_VL.PEG_HORIZONTAL%TYPE;
310 l_peg_vertical EGO_ITEM_GTN_ATTRS_VL.PEG_VERTICAL%TYPE;
311 l_del_to_dist_cntr_temp_max EGO_ITEM_GTN_ATTRS_VL.DEL_TO_DIST_CNTR_TEMP_MAX%TYPE;
312 l_del_to_dist_cntr_temp_min EGO_ITEM_GTN_ATTRS_VL.DEL_TO_DIST_CNTR_TEMP_MIN%TYPE;
313 l_delivery_to_mrkt_temp_max EGO_ITEM_GTN_ATTRS_VL.DELIVERY_TO_MRKT_TEMP_MAX%TYPE;
314 l_delivery_to_mrkt_temp_min EGO_ITEM_GTN_ATTRS_VL.DELIVERY_TO_MRKT_TEMP_MIN%TYPE;
315 l_retail_price_on_trade_item EGO_ITEM_GTN_ATTRS_VL.RETAIL_PRICE_ON_TRADE_ITEM%TYPE;
316 l_quantity_of_comp_lay_item EGO_ITEM_GTN_ATTRS_VL.QUANTITY_OF_COMP_LAY_ITEM%TYPE;
317 l_quanity_of_item_in_layer EGO_ITEM_GTN_ATTRS_VL.QUANITY_OF_ITEM_IN_LAYER%TYPE;
318 l_quantity_of_item_inner_pack EGO_ITEM_GTN_ATTRS_VL.QUANTITY_OF_ITEM_INNER_PACK%TYPE;
319 l_quantity_of_inner_pack EGO_ITEM_GTN_ATTRS_VL.QUANTITY_OF_INNER_PACK%TYPE;
320 l_storage_handling_temp_max EGO_ITEM_GTN_ATTRS_VL.STORAGE_HANDLING_TEMP_MAX%TYPE;
321 l_storage_handling_temp_min EGO_ITEM_GTN_ATTRS_VL.STORAGE_HANDLING_TEMP_MIN%TYPE;
322 l_trade_item_coupon EGO_ITEM_GTN_ATTRS_VL.TRADE_ITEM_COUPON%TYPE;
323 l_fat_percent_in_dry_matter EGO_ITEM_GTN_ATTRS_VL.FAT_PERCENT_IN_DRY_MATTER%TYPE;
324 l_percent_of_alcohol_by_vol EGO_ITEM_GTN_ATTRS_VL.PERCENT_OF_ALCOHOL_BY_VOL%TYPE;
325 l_nesting_increment EGO_ITEM_GTN_ATTRS_VL.NESTING_INCREMENT%TYPE;
326 l_pieces_per_trade_item EGO_ITEM_GTN_ATTRS_VL.PIECES_PER_TRADE_ITEM%TYPE;
327
328
329 -- these are all NUMBER columns in EGO_ITM_GTN_MUL_ATTRS_VL. The record EGO_ITEM_PUB.UCCnet_Attrs_Multi_Row_Tbl_Typ
330 -- contains the type of these columns as NUMBER
331 -- so these variables are used to find out any precesion problem in these attributes
332 l_manufacturer_id EGO_ITM_GTN_MUL_ATTRS_VL.MANUFACTURER_ID%TYPE;
333 l_united_nations_dang_goods_no EGO_ITM_GTN_MUL_ATTRS_VL.UNITED_NATIONS_DANG_GOODS_NO%TYPE;
334 l_flash_point_temp EGO_ITM_GTN_MUL_ATTRS_VL.FLASH_POINT_TEMP%TYPE;
335 l_harmonized_tariff_sys_id_cd EGO_ITM_GTN_MUL_ATTRS_VL.HARMONIZED_TARIFF_SYS_ID_CODE%TYPE;
336 BEGIN
337 Debug_Msg('Started Get_Gdsn_Intf_Rows');
338 Debug_Msg('Initializing the fnd error stack');
339 -- initializing the fnd error stack
340 FND_MSG_PUB.Initialize;
341
342 FOR i IN c_uom_code LOOP
343 l_uom_tbl(i.APPLICATION_COLUMN_NAME) := i.UOM_CODE;
344 END LOOP;
345 Debug_Msg('Populated Unit of Measures');
346
347 FOR j IN c_intf_single_row_attrs(p_inventory_item_id, p_organization_id) LOOP
348 l_single_row_attrs.LANGUAGE_CODE := USERENV('LANG');
349 BEGIN
350 l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE := j.IS_TRADE_ITEM_INFO_PRIVATE;
351 EXCEPTION WHEN l_conversion_error THEN
352 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_A_CONSUMER_UNIT');
353 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
354 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
355 FND_MSG_PUB.ADD;
356 END;
357
358 BEGIN
359 l_single_row_attrs.GROSS_WEIGHT := j.GROSS_WEIGHT;
360 IF j.GROSS_WEIGHT <> G_MISS_NUM THEN
361 l_gross_weight := j.GROSS_WEIGHT;
362 END IF;
363 EXCEPTION WHEN l_conversion_error THEN
364 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GROSS_WEIGHT');
365 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
366 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
367 FND_MESSAGE.Set_Token('ATTR_VALUE', j.GROSS_WEIGHT);
368 FND_MSG_PUB.ADD;
369 END;
370
371 l_single_row_attrs.UOM_GROSS_WEIGHT := l_uom_tbl('GROSS_WEIGHT');
372
373 BEGIN
374 l_single_row_attrs.EFFECTIVE_DATE := j.EFFECTIVE_DATE;
375 EXCEPTION WHEN l_conversion_error THEN
376 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_DATE');
377 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
378 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
379 FND_MESSAGE.Set_Token('ATTR_VALUE', j.EFFECTIVE_DATE);
380 FND_MSG_PUB.ADD;
381 END;
382
383 BEGIN
384 l_single_row_attrs.END_AVAILABILITY_DATE_TIME := j.END_AVAILABILITY_DATE_TIME;
385 EXCEPTION WHEN l_conversion_error THEN
386 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'END_AVAILABILITY_DATE_TIME');
387 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
388 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
389 FND_MESSAGE.Set_Token('ATTR_VALUE', j.END_AVAILABILITY_DATE_TIME);
390 FND_MSG_PUB.ADD;
391 END;
392
393 BEGIN
394 l_single_row_attrs.START_AVAILABILITY_DATE_TIME := j.START_AVAILABILITY_DATE_TIME;
395 EXCEPTION WHEN l_conversion_error THEN
396 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'START_AVAILABILITY_DATE_TIME');
397 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
398 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
399 FND_MESSAGE.Set_Token('ATTR_VALUE', j.START_AVAILABILITY_DATE_TIME);
400 FND_MSG_PUB.ADD;
401 END;
402
403 BEGIN
404 l_single_row_attrs.BRAND_NAME := j.BRAND_NAME;
405 EXCEPTION WHEN l_conversion_error THEN
406 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_NAME');
407 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
408 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
409 FND_MESSAGE.Set_Token('ATTR_VALUE', j.BRAND_NAME);
410 FND_MSG_PUB.ADD;
411 END;
412
413 BEGIN
414 l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT := j.IS_TRADE_ITEM_A_BASE_UNIT;
415 EXCEPTION WHEN l_conversion_error THEN
416 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_A_BASE_UNIT');
417 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
418 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
419 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_A_BASE_UNIT);
420 FND_MSG_PUB.ADD;
421 END;
422
423 BEGIN
424 l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT := j.IS_TRADE_ITEM_A_VARIABLE_UNIT;
425 EXCEPTION WHEN l_conversion_error THEN
426 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_A_VARIABLE_UNIT');
427 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
428 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
429 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_A_VARIABLE_UNIT);
430 FND_MSG_PUB.ADD;
431 END;
432
433 BEGIN
434 l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE := j.IS_PACK_MARKED_WITH_EXP_DATE;
435 EXCEPTION WHEN l_conversion_error THEN
436 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_EXP_DATE');
437 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
438 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
439 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_PACK_MARKED_WITH_EXP_DATE);
440 FND_MSG_PUB.ADD;
441 END;
442
443 BEGIN
444 l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT := j.IS_PACK_MARKED_WITH_GREEN_DOT;
445 EXCEPTION WHEN l_conversion_error THEN
446 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_GREEN_DOT');
447 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
448 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
449 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_PACK_MARKED_WITH_GREEN_DOT);
450 FND_MSG_PUB.ADD;
451 END;
452
453 BEGIN
454 l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED := j.IS_PACK_MARKED_WITH_INGRED;
455 EXCEPTION WHEN l_conversion_error THEN
456 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_INGRED');
457 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
458 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
459 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_PACK_MARKED_WITH_INGRED);
460 FND_MSG_PUB.ADD;
461 END;
462
463 BEGIN
464 l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC := j.IS_PACKAGE_MARKED_AS_REC;
465 EXCEPTION WHEN l_conversion_error THEN
466 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACKAGE_MARKED_AS_REC');
467 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
468 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
469 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_PACKAGE_MARKED_AS_REC);
470 FND_MSG_PUB.ADD;
471 END;
472
473 BEGIN
474 l_single_row_attrs.IS_PACKAGE_MARKED_RET := j.IS_PACKAGE_MARKED_RET;
475 EXCEPTION WHEN l_conversion_error THEN
476 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACKAGE_MARKED_RET');
477 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
478 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
479 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_PACKAGE_MARKED_RET);
480 FND_MSG_PUB.ADD;
481 END;
482
483 BEGIN
484 l_single_row_attrs.STACKING_FACTOR := j.STACKING_FACTOR;
485 IF j.STACKING_FACTOR <> G_MISS_NUM THEN
486 l_stacking_factor := j.STACKING_FACTOR;
487 END IF;
488 EXCEPTION WHEN l_conversion_error THEN
489 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STACKING_FACTOR');
490 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
491 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
492 FND_MESSAGE.Set_Token('ATTR_VALUE', j.STACKING_FACTOR);
493 FND_MSG_PUB.ADD;
494 END;
495
496 BEGIN
497 l_single_row_attrs.STACKING_WEIGHT_MAXIMUM := j.STACKING_WEIGHT_MAXIMUM;
498 IF j.STACKING_WEIGHT_MAXIMUM <> G_MISS_NUM THEN
499 l_stacking_weight_maximum := j.STACKING_WEIGHT_MAXIMUM;
500 END IF;
501 EXCEPTION WHEN l_conversion_error THEN
502 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STACKING_WEIGHT_MAXIMUM');
503 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
504 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
505 FND_MESSAGE.Set_Token('ATTR_VALUE', j.STACKING_WEIGHT_MAXIMUM);
506 FND_MSG_PUB.ADD;
507 END;
508
509 l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM := l_uom_tbl('STACKING_WEIGHT_MAXIMUM');
510
511 BEGIN
512 l_single_row_attrs.ORDERING_LEAD_TIME := j.ORDERING_LEAD_TIME;
513 IF j.ORDERING_LEAD_TIME <> G_MISS_NUM THEN
514 l_ordering_lead_time := j.ORDERING_LEAD_TIME;
515 END IF;
516 EXCEPTION WHEN l_conversion_error THEN
517 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDERING_LEAD_TIME');
518 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
519 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
520 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ORDERING_LEAD_TIME);
521 FND_MSG_PUB.ADD;
522 END;
523
524 l_single_row_attrs.UOM_ORDERING_LEAD_TIME := l_uom_tbl('ORDERING_LEAD_TIME');
525
526 BEGIN
527 l_single_row_attrs.ORDER_QUANTITY_MAX := j.ORDER_QUANTITY_MAX;
528 IF j.ORDER_QUANTITY_MAX <> G_MISS_NUM THEN
529 l_order_quantity_max := j.ORDER_QUANTITY_MAX;
530 END IF;
531 EXCEPTION WHEN l_conversion_error THEN
532 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_QUANTITY_MAX');
533 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
534 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
535 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ORDER_QUANTITY_MAX);
536 FND_MSG_PUB.ADD;
537 END;
538
539 BEGIN
540 l_single_row_attrs.ORDER_QUANTITY_MIN := j.ORDER_QUANTITY_MIN;
541 IF j.ORDER_QUANTITY_MIN <> G_MISS_NUM THEN
542 l_order_quantity_min := j.ORDER_QUANTITY_MIN;
543 END IF;
544 EXCEPTION WHEN l_conversion_error THEN
545 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_QUANTITY_MIN');
546 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
547 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
548 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ORDER_QUANTITY_MIN);
549 FND_MSG_PUB.ADD;
550 END;
551
552 BEGIN
553 l_single_row_attrs.ORDER_QUANTITY_MULTIPLE := j.ORDER_QUANTITY_MULTIPLE;
554 IF j.ORDER_QUANTITY_MULTIPLE <> G_MISS_NUM THEN
555 l_order_quantity_multiple := j.ORDER_QUANTITY_MULTIPLE;
556 END IF;
557 EXCEPTION WHEN l_conversion_error THEN
558 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_QUANTITY_MULTIPLE');
559 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
560 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
561 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ORDER_QUANTITY_MULTIPLE);
562 FND_MSG_PUB.ADD;
563 END;
564
565 BEGIN
566 l_single_row_attrs.ORDER_SIZING_FACTOR := j.ORDER_SIZING_FACTOR;
567 IF j.ORDER_SIZING_FACTOR <> G_MISS_NUM THEN
568 l_order_sizing_factor := j.ORDER_SIZING_FACTOR;
569 END IF;
570 EXCEPTION WHEN l_conversion_error THEN
571 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_SIZING_FACTOR');
572 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
573 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
574 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ORDER_SIZING_FACTOR);
575 FND_MSG_PUB.ADD;
576 END;
577
578 BEGIN
579 l_single_row_attrs.EFFECTIVE_START_DATE := j.EFFECTIVE_START_DATE;
580 EXCEPTION WHEN l_conversion_error THEN
581 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_START_DATE');
582 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
583 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
584 FND_MESSAGE.Set_Token('ATTR_VALUE', j.EFFECTIVE_START_DATE);
585 FND_MSG_PUB.ADD;
586 END;
587
588 BEGIN
589 l_single_row_attrs.CATALOG_PRICE := j.CATALOG_PRICE;
590 IF j.CATALOG_PRICE <> G_MISS_NUM THEN
591 l_catalog_price := j.CATALOG_PRICE;
592 END IF;
593 EXCEPTION WHEN l_conversion_error THEN
594 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'CATALOG_PRICE');
595 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
596 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
597 FND_MESSAGE.Set_Token('ATTR_VALUE', j.CATALOG_PRICE);
598 FND_MSG_PUB.ADD;
599 END;
600
601 BEGIN
602 l_single_row_attrs.EFFECTIVE_END_DATE := j.EFFECTIVE_END_DATE;
603 EXCEPTION WHEN l_conversion_error THEN
604 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_END_DATE');
605 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
606 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
607 FND_MESSAGE.Set_Token('ATTR_VALUE', j.EFFECTIVE_END_DATE);
608 FND_MSG_PUB.ADD;
609 END;
610
611 BEGIN
612 l_single_row_attrs.SUGGESTED_RETAIL_PRICE := j.SUGGESTED_RETAIL_PRICE;
613 IF j.SUGGESTED_RETAIL_PRICE <> G_MISS_NUM THEN
614 l_suggested_retail_price := j.SUGGESTED_RETAIL_PRICE;
615 END IF;
616 EXCEPTION WHEN l_conversion_error THEN
617 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'SUGGESTED_RETAIL_PRICE');
618 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
619 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
620 FND_MESSAGE.Set_Token('ATTR_VALUE', j.SUGGESTED_RETAIL_PRICE);
621 FND_MSG_PUB.ADD;
622 END;
623
624 BEGIN
625 l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO := j.MATERIAL_SAFETY_DATA_SHEET_NO;
626 EXCEPTION WHEN l_conversion_error THEN
627 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'MATERIAL_SAFETY_DATA_SHEET_NO');
628 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
629 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
630 FND_MESSAGE.Set_Token('ATTR_VALUE', j.MATERIAL_SAFETY_DATA_SHEET_NO);
631 FND_MSG_PUB.ADD;
632 END;
633
634 BEGIN
635 l_single_row_attrs.HAS_BATCH_NUMBER := j.HAS_BATCH_NUMBER;
636 EXCEPTION WHEN l_conversion_error THEN
637 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'HAS_BATCH_NUMBER');
638 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
639 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
640 FND_MESSAGE.Set_Token('ATTR_VALUE', j.HAS_BATCH_NUMBER);
641 FND_MSG_PUB.ADD;
642 END;
643
644 BEGIN
645 l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG := j.IS_NON_SOLD_TRADE_RET_FLAG;
646 EXCEPTION WHEN l_conversion_error THEN
647 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_NON_SOLD_TRADE_RET_FLAG');
648 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
649 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
650 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_NON_SOLD_TRADE_RET_FLAG);
651 FND_MSG_PUB.ADD;
652 END;
653
654 BEGIN
655 l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG := j.IS_TRADE_ITEM_MAR_REC_FLAG;
656 EXCEPTION WHEN l_conversion_error THEN
657 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_MAR_REC_FLAG');
658 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
659 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
660 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_MAR_REC_FLAG);
661 FND_MSG_PUB.ADD;
662 END;
663
664 BEGIN
665 l_single_row_attrs.DIAMETER := j.DIAMETER;
666 IF j.DIAMETER <> G_MISS_NUM THEN
667 l_diameter := j.DIAMETER;
668 END IF;
669 EXCEPTION WHEN l_conversion_error THEN
670 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DIAMETER');
671 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
672 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
673 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DIAMETER);
674 FND_MSG_PUB.ADD;
675 END;
676
677 l_single_row_attrs.UOM_DIAMETER := l_uom_tbl('DIAMETER');
678
679 BEGIN
680 l_single_row_attrs.DRAINED_WEIGHT := j.DRAINED_WEIGHT;
681 IF j.DRAINED_WEIGHT <> G_MISS_NUM THEN
682 l_drained_weight := j.DRAINED_WEIGHT;
683 END IF;
684 EXCEPTION WHEN l_conversion_error THEN
685 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DRAINED_WEIGHT');
686 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
687 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
688 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DRAINED_WEIGHT);
689 FND_MSG_PUB.ADD;
690 END;
691
692 l_single_row_attrs.UOM_DRAINED_WEIGHT := l_uom_tbl('DRAINED_WEIGHT');
693
694 BEGIN
695 l_single_row_attrs.GENERIC_INGREDIENT := j.GENERIC_INGREDIENT;
696 EXCEPTION WHEN l_conversion_error THEN
697 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GENERIC_INGREDIENT');
698 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
699 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
700 FND_MESSAGE.Set_Token('ATTR_VALUE', j.GENERIC_INGREDIENT);
701 FND_MSG_PUB.ADD;
702 END;
703
704 BEGIN
705 l_single_row_attrs.GENERIC_INGREDIENT_STRGTH := j.GENERIC_INGREDIENT_STRGTH;
706 IF j.GENERIC_INGREDIENT_STRGTH <> G_MISS_NUM THEN
707 l_generic_ingredient_strgth := j.GENERIC_INGREDIENT_STRGTH;
708 END IF;
709 EXCEPTION WHEN l_conversion_error THEN
710 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GENERIC_INGREDIENT_STRGTH');
711 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
712 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
713 FND_MESSAGE.Set_Token('ATTR_VALUE', j.GENERIC_INGREDIENT_STRGTH);
714 FND_MSG_PUB.ADD;
715 END;
716
717 l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH := l_uom_tbl('GENERIC_INGREDIENT_STRGTH');
718
719 BEGIN
720 l_single_row_attrs.INGREDIENT_STRENGTH := j.INGREDIENT_STRENGTH;
721 EXCEPTION WHEN l_conversion_error THEN
722 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'INGREDIENT_STRENGTH');
723 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
724 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
725 FND_MESSAGE.Set_Token('ATTR_VALUE', j.INGREDIENT_STRENGTH);
726 FND_MSG_PUB.ADD;
727 END;
728
729 BEGIN
730 l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG := j.IS_NET_CONTENT_DEC_FLAG;
731 EXCEPTION WHEN l_conversion_error THEN
732 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_NET_CONTENT_DEC_FLAG');
733 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
734 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
735 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_NET_CONTENT_DEC_FLAG);
736 FND_MSG_PUB.ADD;
737 END;
738
739 BEGIN
740 l_single_row_attrs.NET_CONTENT := j.NET_CONTENT;
741 IF j.NET_CONTENT <> G_MISS_NUM THEN
742 l_net_content := j.NET_CONTENT;
743 END IF;
744 EXCEPTION WHEN l_conversion_error THEN
745 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'NET_CONTENT');
746 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
747 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
748 FND_MESSAGE.Set_Token('ATTR_VALUE', j.NET_CONTENT);
749 FND_MSG_PUB.ADD;
750 END;
751
752 BEGIN
753 l_single_row_attrs.UOM_NET_CONTENT := j.UOM_NET_CONTENT;
754 EXCEPTION WHEN l_conversion_error THEN
755 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_NET_CONTENT');
756 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
757 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
758 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_NET_CONTENT);
759 FND_MSG_PUB.ADD;
760 END;
761
762 BEGIN
763 l_single_row_attrs.PEG_HORIZONTAL := j.PEG_HORIZONTAL;
764 IF j.PEG_HORIZONTAL <> G_MISS_NUM THEN
765 l_peg_horizontal := j.PEG_HORIZONTAL;
766 END IF;
767 EXCEPTION WHEN l_conversion_error THEN
768 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_HORIZONTAL');
769 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
770 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
771 FND_MESSAGE.Set_Token('ATTR_VALUE', j.PEG_HORIZONTAL);
772 FND_MSG_PUB.ADD;
773 END;
774
775 l_single_row_attrs.UOM_PEG_HORIZONTAL := l_uom_tbl('PEG_HORIZONTAL');
776
777 BEGIN
778 l_single_row_attrs.PEG_VERTICAL := j.PEG_VERTICAL;
779 IF j.PEG_VERTICAL <> G_MISS_NUM THEN
780 l_peg_vertical := j.PEG_VERTICAL;
781 END IF;
782 EXCEPTION WHEN l_conversion_error THEN
783 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_VERTICAL');
784 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
785 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
786 FND_MESSAGE.Set_Token('ATTR_VALUE', j.PEG_VERTICAL);
787 FND_MSG_PUB.ADD;
788 END;
789
790 l_single_row_attrs.UOM_PEG_VERTICAL := l_uom_tbl('PEG_VERTICAL');
791
792 BEGIN
793 l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME := j.CONSUMER_AVAIL_DATE_TIME;
794 EXCEPTION WHEN l_conversion_error THEN
795 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'CONSUMER_AVAIL_DATE_TIME');
796 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
797 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
798 FND_MESSAGE.Set_Token('ATTR_VALUE', j.CONSUMER_AVAIL_DATE_TIME);
799 FND_MSG_PUB.ADD;
800 END;
801
802 BEGIN
803 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX := j.DEL_TO_DIST_CNTR_TEMP_MAX;
804 IF j.DEL_TO_DIST_CNTR_TEMP_MAX <> G_MISS_NUM THEN
805 l_del_to_dist_cntr_temp_max := j.DEL_TO_DIST_CNTR_TEMP_MAX;
806 END IF;
807 EXCEPTION WHEN l_conversion_error THEN
808 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
809 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
810 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
811 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DEL_TO_DIST_CNTR_TEMP_MAX);
812 FND_MSG_PUB.ADD;
813 END;
814
815 BEGIN
816 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX := j.UOM_DEL_TO_DIST_CNTR_TEMP_MAX;
817 EXCEPTION WHEN l_conversion_error THEN
818 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_DEL_TO_DIST_CNTR_TEMP_MAX');
819 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
820 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
821 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_DEL_TO_DIST_CNTR_TEMP_MAX);
822 FND_MSG_PUB.ADD;
823 END;
824
825 BEGIN
826 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN := j.DEL_TO_DIST_CNTR_TEMP_MIN;
827 IF j.DEL_TO_DIST_CNTR_TEMP_MIN <> G_MISS_NUM THEN
828 l_del_to_dist_cntr_temp_min := j.DEL_TO_DIST_CNTR_TEMP_MIN;
829 END IF;
830 EXCEPTION WHEN l_conversion_error THEN
831 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
832 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
833 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
834 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DEL_TO_DIST_CNTR_TEMP_MIN);
835 FND_MSG_PUB.ADD;
836 END;
837
838 BEGIN
839 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN := j.UOM_DEL_TO_DIST_CNTR_TEMP_MIN;
840 EXCEPTION WHEN l_conversion_error THEN
841 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_DEL_TO_DIST_CNTR_TEMP_MIN');
842 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
843 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
844 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_DEL_TO_DIST_CNTR_TEMP_MIN);
845 FND_MSG_PUB.ADD;
846 END;
847
848 BEGIN
849 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX := j.DELIVERY_TO_MRKT_TEMP_MAX;
850 IF j.DELIVERY_TO_MRKT_TEMP_MAX <> G_MISS_NUM THEN
851 l_delivery_to_mrkt_temp_max := j.DELIVERY_TO_MRKT_TEMP_MAX;
852 END IF;
853 EXCEPTION WHEN l_conversion_error THEN
854 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MAX');
855 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
856 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
857 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DELIVERY_TO_MRKT_TEMP_MAX);
858 FND_MSG_PUB.ADD;
859 END;
860
861 BEGIN
862 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX := j.UOM_DELIVERY_TO_MRKT_TEMP_MAX;
863 EXCEPTION WHEN l_conversion_error THEN
864 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_DELIVERY_TO_MRKT_TEMP_MAX');
865 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
866 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
867 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_DELIVERY_TO_MRKT_TEMP_MAX);
868 FND_MSG_PUB.ADD;
869 END;
870
871 BEGIN
872 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN := j.DELIVERY_TO_MRKT_TEMP_MIN;
873 IF j.DELIVERY_TO_MRKT_TEMP_MIN <> G_MISS_NUM THEN
874 l_delivery_to_mrkt_temp_min := j.DELIVERY_TO_MRKT_TEMP_MIN;
875 END IF;
876 EXCEPTION WHEN l_conversion_error THEN
877 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
878 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
879 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
880 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DELIVERY_TO_MRKT_TEMP_MIN);
881 FND_MSG_PUB.ADD;
882 END;
883
884 BEGIN
885 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN := j.UOM_DELIVERY_TO_MRKT_TEMP_MIN;
886 EXCEPTION WHEN l_conversion_error THEN
887 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_DELIVERY_TO_MRKT_TEMP_MIN');
888 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
889 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
890 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_DELIVERY_TO_MRKT_TEMP_MIN);
891 FND_MSG_PUB.ADD;
892 END;
893
894 BEGIN
895 l_single_row_attrs.SUB_BRAND := j.SUB_BRAND;
896 EXCEPTION WHEN l_conversion_error THEN
897 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'SUB_BRAND');
898 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
899 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
900 FND_MESSAGE.Set_Token('ATTR_VALUE', j.SUB_BRAND);
901 FND_MSG_PUB.ADD;
902 END;
903
904 BEGIN
905 l_single_row_attrs.EANUCC_CODE := j.EANUCC_CODE;
906 EXCEPTION WHEN l_conversion_error THEN
907 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
908 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
909 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
910 FND_MESSAGE.Set_Token('ATTR_VALUE', j.EANUCC_CODE);
911 FND_MSG_PUB.ADD;
912 END;
913
914 BEGIN
915 l_single_row_attrs.EANUCC_TYPE := j.EANUCC_TYPE;
916 EXCEPTION WHEN l_conversion_error THEN
917 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_TYPE');
918 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
919 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
920 FND_MESSAGE.Set_Token('ATTR_VALUE', j.EANUCC_TYPE);
921 FND_MSG_PUB.ADD;
922 END;
923
924 BEGIN
925 l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM := j.RETAIL_PRICE_ON_TRADE_ITEM;
926 IF j.RETAIL_PRICE_ON_TRADE_ITEM <> G_MISS_NUM THEN
927 l_retail_price_on_trade_item := j.RETAIL_PRICE_ON_TRADE_ITEM;
928 END IF;
929 EXCEPTION WHEN l_conversion_error THEN
930 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'RETAIL_PRICE_ON_TRADE_ITEM');
931 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
932 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
933 FND_MESSAGE.Set_Token('ATTR_VALUE', j.RETAIL_PRICE_ON_TRADE_ITEM);
934 FND_MSG_PUB.ADD;
935 END;
936
937 BEGIN
938 l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM := j.QUANTITY_OF_COMP_LAY_ITEM;
939 IF j.QUANTITY_OF_COMP_LAY_ITEM <> G_MISS_NUM THEN
940 l_quantity_of_comp_lay_item := j.QUANTITY_OF_COMP_LAY_ITEM;
941 END IF;
942 EXCEPTION WHEN l_conversion_error THEN
943 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'QUANTITY_OF_COMP_LAY_ITEM');
944 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
945 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
946 FND_MESSAGE.Set_Token('ATTR_VALUE', j.QUANTITY_OF_COMP_LAY_ITEM);
947 FND_MSG_PUB.ADD;
948 END;
949
950 BEGIN
951 l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER := j.QUANITY_OF_ITEM_IN_LAYER;
952 IF j.QUANITY_OF_ITEM_IN_LAYER <> G_MISS_NUM THEN
953 l_quanity_of_item_in_layer := j.QUANITY_OF_ITEM_IN_LAYER;
954 END IF;
955 EXCEPTION WHEN l_conversion_error THEN
956 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'QUANITY_OF_ITEM_IN_LAYER');
957 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
958 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
959 FND_MESSAGE.Set_Token('ATTR_VALUE', j.QUANITY_OF_ITEM_IN_LAYER);
960 FND_MSG_PUB.ADD;
961 END;
962
963 BEGIN
964 l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK := j.QUANTITY_OF_ITEM_INNER_PACK;
965 IF j.QUANTITY_OF_ITEM_INNER_PACK <> G_MISS_NUM THEN
966 l_quantity_of_item_inner_pack := j.QUANTITY_OF_ITEM_INNER_PACK;
967 END IF;
968 EXCEPTION WHEN l_conversion_error THEN
969 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'QUANTITY_OF_ITEM_INNER_PACK');
970 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
971 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
972 FND_MESSAGE.Set_Token('ATTR_VALUE', j.QUANTITY_OF_ITEM_INNER_PACK);
973 FND_MSG_PUB.ADD;
974 END;
975
976 BEGIN
977 l_single_row_attrs.QUANTITY_OF_INNER_PACK := j.QUANTITY_OF_INNER_PACK;
978 IF j.QUANTITY_OF_INNER_PACK <> G_MISS_NUM THEN
979 l_quantity_of_inner_pack := j.QUANTITY_OF_INNER_PACK;
980 END IF;
981 EXCEPTION WHEN l_conversion_error THEN
982 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'QUANTITY_OF_INNER_PACK');
983 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
984 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
985 FND_MESSAGE.Set_Token('ATTR_VALUE', j.QUANTITY_OF_INNER_PACK);
986 FND_MSG_PUB.ADD;
987 END;
988
989 BEGIN
990 l_single_row_attrs.BRAND_OWNER_GLN := j.BRAND_OWNER_GLN;
991 EXCEPTION WHEN l_conversion_error THEN
992 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
993 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
994 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
995 FND_MESSAGE.Set_Token('ATTR_VALUE', j.BRAND_OWNER_GLN);
996 FND_MSG_PUB.ADD;
997 END;
998
999 BEGIN
1000 l_single_row_attrs.BRAND_OWNER_NAME := j.BRAND_OWNER_NAME;
1001 EXCEPTION WHEN l_conversion_error THEN
1002 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_NAME');
1003 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1004 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1005 FND_MESSAGE.Set_Token('ATTR_VALUE', j.BRAND_OWNER_NAME);
1006 FND_MSG_PUB.ADD;
1007 END;
1008
1009 BEGIN
1010 l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX := j.STORAGE_HANDLING_TEMP_MAX;
1011 IF j.STORAGE_HANDLING_TEMP_MAX <> G_MISS_NUM THEN
1012 l_storage_handling_temp_max := j.STORAGE_HANDLING_TEMP_MAX;
1013 END IF;
1014 EXCEPTION WHEN l_conversion_error THEN
1015 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
1016 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1017 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1018 FND_MESSAGE.Set_Token('ATTR_VALUE', j.STORAGE_HANDLING_TEMP_MAX);
1019 FND_MSG_PUB.ADD;
1020 END;
1021
1022 BEGIN
1023 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX := j.UOM_STORAGE_HANDLING_TEMP_MAX;
1024 EXCEPTION WHEN l_conversion_error THEN
1025 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_STORAGE_HANDLING_TEMP_MAX');
1026 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1027 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1028 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_STORAGE_HANDLING_TEMP_MAX);
1029 FND_MSG_PUB.ADD;
1030 END;
1031
1032 BEGIN
1033 l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN := j.STORAGE_HANDLING_TEMP_MIN;
1034 IF j.STORAGE_HANDLING_TEMP_MIN <> G_MISS_NUM THEN
1035 l_storage_handling_temp_min := j.STORAGE_HANDLING_TEMP_MIN;
1036 END IF;
1037 EXCEPTION WHEN l_conversion_error THEN
1038 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
1039 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1040 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1041 FND_MESSAGE.Set_Token('ATTR_VALUE', j.STORAGE_HANDLING_TEMP_MIN);
1042 FND_MSG_PUB.ADD;
1043 END;
1044
1045 BEGIN
1046 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN := j.UOM_STORAGE_HANDLING_TEMP_MIN;
1047 EXCEPTION WHEN l_conversion_error THEN
1048 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_STORAGE_HANDLING_TEMP_MIN');
1049 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1050 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1051 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_STORAGE_HANDLING_TEMP_MIN);
1052 FND_MSG_PUB.ADD;
1053 END;
1054
1055 BEGIN
1056 l_single_row_attrs.TRADE_ITEM_COUPON := j.TRADE_ITEM_COUPON;
1057 IF j.TRADE_ITEM_COUPON <> G_MISS_NUM THEN
1058 l_trade_item_coupon := j.TRADE_ITEM_COUPON;
1059 END IF;
1060 EXCEPTION WHEN l_conversion_error THEN
1061 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'TRADE_ITEM_COUPON');
1062 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1063 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1064 FND_MESSAGE.Set_Token('ATTR_VALUE', j.TRADE_ITEM_COUPON);
1065 FND_MSG_PUB.ADD;
1066 END;
1067
1068 BEGIN
1069 l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT := j.DEGREE_OF_ORIGINAL_WORT;
1070 EXCEPTION WHEN l_conversion_error THEN
1071 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEGREE_OF_ORIGINAL_WORT');
1072 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1073 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1074 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DEGREE_OF_ORIGINAL_WORT);
1075 FND_MSG_PUB.ADD;
1076 END;
1077
1078 BEGIN
1079 l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER := j.FAT_PERCENT_IN_DRY_MATTER;
1080 IF j.FAT_PERCENT_IN_DRY_MATTER <> G_MISS_NUM THEN
1081 l_fat_percent_in_dry_matter := j.FAT_PERCENT_IN_DRY_MATTER;
1082 END IF;
1083 EXCEPTION WHEN l_conversion_error THEN
1084 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'FAT_PERCENT_IN_DRY_MATTER');
1085 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1086 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1087 FND_MESSAGE.Set_Token('ATTR_VALUE', j.FAT_PERCENT_IN_DRY_MATTER);
1088 FND_MSG_PUB.ADD;
1089 END;
1090
1091 BEGIN
1092 l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL := j.PERCENT_OF_ALCOHOL_BY_VOL;
1093 IF j.PERCENT_OF_ALCOHOL_BY_VOL <> G_MISS_NUM THEN
1094 l_percent_of_alcohol_by_vol := j.PERCENT_OF_ALCOHOL_BY_VOL;
1095 END IF;
1096 EXCEPTION WHEN l_conversion_error THEN
1097 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PERCENT_OF_ALCOHOL_BY_VOL');
1098 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1099 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1100 FND_MESSAGE.Set_Token('ATTR_VALUE', j.PERCENT_OF_ALCOHOL_BY_VOL);
1101 FND_MSG_PUB.ADD;
1102 END;
1103
1104 BEGIN
1105 l_single_row_attrs.ISBN_NUMBER := j.ISBN_NUMBER;
1106 EXCEPTION WHEN l_conversion_error THEN
1107 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ISBN_NUMBER');
1108 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1109 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1110 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ISBN_NUMBER);
1111 FND_MSG_PUB.ADD;
1112 END;
1113
1114 BEGIN
1115 l_single_row_attrs.ISSN_NUMBER := j.ISSN_NUMBER;
1116 EXCEPTION WHEN l_conversion_error THEN
1117 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ISSN_NUMBER');
1118 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1119 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1120 FND_MESSAGE.Set_Token('ATTR_VALUE', j.ISSN_NUMBER);
1121 FND_MSG_PUB.ADD;
1122 END;
1123
1124 BEGIN
1125 l_single_row_attrs.IS_INGREDIENT_IRRADIATED := j.IS_INGREDIENT_IRRADIATED;
1126 EXCEPTION WHEN l_conversion_error THEN
1127 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_INGREDIENT_IRRADIATED');
1128 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1129 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1130 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_INGREDIENT_IRRADIATED);
1131 FND_MSG_PUB.ADD;
1132 END;
1133
1134 BEGIN
1135 l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED := j.IS_RAW_MATERIAL_IRRADIATED;
1136 EXCEPTION WHEN l_conversion_error THEN
1137 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_RAW_MATERIAL_IRRADIATED');
1138 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1139 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1140 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_RAW_MATERIAL_IRRADIATED);
1141 FND_MSG_PUB.ADD;
1142 END;
1143
1144 BEGIN
1145 l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD := j.IS_TRADE_ITEM_GENETICALLY_MOD;
1146 EXCEPTION WHEN l_conversion_error THEN
1147 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_GENETICALLY_MOD');
1148 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1149 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1150 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_GENETICALLY_MOD);
1151 FND_MSG_PUB.ADD;
1152 END;
1153
1154 BEGIN
1155 l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED := j.IS_TRADE_ITEM_IRRADIATED;
1156 EXCEPTION WHEN l_conversion_error THEN
1157 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_IRRADIATED');
1158 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1159 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1160 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_IRRADIATED);
1161 FND_MSG_PUB.ADD;
1162 END;
1163
1164 BEGIN
1165 l_single_row_attrs.SECURITY_TAG_LOCATION := j.SECURITY_TAG_LOCATION;
1166 EXCEPTION WHEN l_conversion_error THEN
1167 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'SECURITY_TAG_LOCATION');
1168 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1169 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1170 FND_MESSAGE.Set_Token('ATTR_VALUE', j.SECURITY_TAG_LOCATION);
1171 FND_MSG_PUB.ADD;
1172 END;
1173
1174 BEGIN
1175 l_single_row_attrs.URL_FOR_WARRANTY := j.URL_FOR_WARRANTY;
1176 EXCEPTION WHEN l_conversion_error THEN
1177 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'URL_FOR_WARRANTY');
1178 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1179 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1180 FND_MESSAGE.Set_Token('ATTR_VALUE', j.URL_FOR_WARRANTY);
1181 FND_MSG_PUB.ADD;
1182 END;
1183
1184 BEGIN
1185 l_single_row_attrs.NESTING_INCREMENT := j.NESTING_INCREMENT;
1186 IF j.NESTING_INCREMENT <> G_MISS_NUM THEN
1187 l_nesting_increment := j.NESTING_INCREMENT;
1188 END IF;
1189 EXCEPTION WHEN l_conversion_error THEN
1190 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'NESTING_INCREMENT');
1191 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1192 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1193 FND_MESSAGE.Set_Token('ATTR_VALUE', j.NESTING_INCREMENT);
1194 FND_MSG_PUB.ADD;
1195 END;
1196
1197 l_single_row_attrs.UOM_NESTING_INCREMENT := l_uom_tbl('NESTING_INCREMENT');
1198
1199 BEGIN
1200 l_single_row_attrs.IS_TRADE_ITEM_RECALLED := j.IS_TRADE_ITEM_RECALLED;
1201 EXCEPTION WHEN l_conversion_error THEN
1202 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_RECALLED');
1203 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1204 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1205 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_TRADE_ITEM_RECALLED);
1206 FND_MSG_PUB.ADD;
1207 END;
1208
1209 BEGIN
1210 l_single_row_attrs.MODEL_NUMBER := j.MODEL_NUMBER;
1211 EXCEPTION WHEN l_conversion_error THEN
1212 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'MODEL_NUMBER');
1213 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1214 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1215 FND_MESSAGE.Set_Token('ATTR_VALUE', j.MODEL_NUMBER);
1216 FND_MSG_PUB.ADD;
1217 END;
1218
1219 BEGIN
1220 l_single_row_attrs.PIECES_PER_TRADE_ITEM := j.PIECES_PER_TRADE_ITEM;
1221 IF j.PIECES_PER_TRADE_ITEM <> G_MISS_NUM THEN
1222 l_pieces_per_trade_item := j.PIECES_PER_TRADE_ITEM;
1223 END IF;
1224 EXCEPTION WHEN l_conversion_error THEN
1225 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PIECES_PER_TRADE_ITEM');
1226 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1227 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1228 FND_MESSAGE.Set_Token('ATTR_VALUE', j.PIECES_PER_TRADE_ITEM);
1229 FND_MSG_PUB.ADD;
1230 END;
1231
1232 l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM := l_uom_tbl('PIECES_PER_TRADE_ITEM');
1233
1234 BEGIN
1235 l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM := j.DEPT_OF_TRNSPRT_DANG_GOODS_NUM;
1236 EXCEPTION WHEN l_conversion_error THEN
1237 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEPT_OF_TRNSPRT_DANG_GOODS_NUM');
1238 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1239 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1240 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DEPT_OF_TRNSPRT_DANG_GOODS_NUM);
1241 FND_MSG_PUB.ADD;
1242 END;
1243
1244 BEGIN
1245 l_single_row_attrs.RETURN_GOODS_POLICY := j.RETURN_GOODS_POLICY;
1246 EXCEPTION WHEN l_conversion_error THEN
1247 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'RETURN_GOODS_POLICY');
1248 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1249 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1250 FND_MESSAGE.Set_Token('ATTR_VALUE', j.RETURN_GOODS_POLICY);
1251 FND_MSG_PUB.ADD;
1252 END;
1253
1254 BEGIN
1255 l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED := j.IS_OUT_OF_BOX_PROVIDED;
1256 EXCEPTION WHEN l_conversion_error THEN
1257 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_OUT_OF_BOX_PROVIDED');
1258 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1259 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1260 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_OUT_OF_BOX_PROVIDED);
1261 FND_MSG_PUB.ADD;
1262 END;
1263
1264 BEGIN
1265 l_single_row_attrs.INVOICE_NAME := j.INVOICE_NAME;
1266 EXCEPTION WHEN l_conversion_error THEN
1267 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'INVOICE_NAME');
1268 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1269 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1270 FND_MESSAGE.Set_Token('ATTR_VALUE', j.INVOICE_NAME);
1271 FND_MSG_PUB.ADD;
1272 END;
1273
1274 BEGIN
1275 l_single_row_attrs.DESCRIPTIVE_SIZE := j.DESCRIPTIVE_SIZE;
1276 EXCEPTION WHEN l_conversion_error THEN
1277 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DESCRIPTIVE_SIZE');
1278 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1279 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1280 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DESCRIPTIVE_SIZE);
1281 FND_MSG_PUB.ADD;
1282 END;
1283
1284 BEGIN
1285 l_single_row_attrs.FUNCTIONAL_NAME := j.FUNCTIONAL_NAME;
1286 EXCEPTION WHEN l_conversion_error THEN
1287 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'FUNCTIONAL_NAME');
1288 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1289 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1290 FND_MESSAGE.Set_Token('ATTR_VALUE', j.FUNCTIONAL_NAME);
1291 FND_MSG_PUB.ADD;
1292 END;
1293
1294 BEGIN
1295 l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION := j.TRADE_ITEM_FORM_DESCRIPTION;
1296 EXCEPTION WHEN l_conversion_error THEN
1297 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'TRADE_ITEM_FORM_DESCRIPTION');
1298 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1299 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1300 FND_MESSAGE.Set_Token('ATTR_VALUE', j.TRADE_ITEM_FORM_DESCRIPTION);
1301 FND_MSG_PUB.ADD;
1302 END;
1303
1304 BEGIN
1305 l_single_row_attrs.WARRANTY_DESCRIPTION := j.WARRANTY_DESCRIPTION;
1306 EXCEPTION WHEN l_conversion_error THEN
1307 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'WARRANTY_DESCRIPTION');
1308 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1309 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1310 FND_MESSAGE.Set_Token('ATTR_VALUE', j.WARRANTY_DESCRIPTION);
1311 FND_MSG_PUB.ADD;
1312 END;
1313
1314 BEGIN
1315 l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION := j.TRADE_ITEM_FINISH_DESCRIPTION;
1316 EXCEPTION WHEN l_conversion_error THEN
1317 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'TRADE_ITEM_FINISH_DESCRIPTION');
1318 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1319 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1320 FND_MESSAGE.Set_Token('ATTR_VALUE', j.TRADE_ITEM_FINISH_DESCRIPTION);
1321 FND_MSG_PUB.ADD;
1322 END;
1323
1324 BEGIN
1325 l_single_row_attrs.DESCRIPTION_SHORT := j.DESCRIPTION_SHORT;
1326 EXCEPTION WHEN l_conversion_error THEN
1327 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DESCRIPTION_SHORT');
1328 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1329 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1330 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DESCRIPTION_SHORT);
1331 FND_MSG_PUB.ADD;
1332 END;
1333
1334 BEGIN
1335 l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE := j.IS_BARCODE_SYMBOLOGY_DERIVABLE;
1336 EXCEPTION WHEN l_conversion_error THEN
1337 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_BARCODE_SYMBOLOGY_DERIVABLE');
1338 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1339 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1340 FND_MESSAGE.Set_Token('ATTR_VALUE', j.IS_BARCODE_SYMBOLOGY_DERIVABLE);
1341 FND_MSG_PUB.ADD;
1342 END;
1343 END LOOP; -- end loop single row attributes
1344
1345 Debug_Msg('Finished Populating local array for Single Row Attributes');
1346 k := 1;
1347 FOR j IN c_intf_multi_row_attrs(p_inventory_item_id, p_organization_id) LOOP
1348 l_multi_row_attrs(k).LANGUAGE_CODE := USERENV('LANG');
1349
1350 BEGIN
1351 l_multi_row_attrs(k).MANUFACTURER_GLN := j.MANUFACTURER_GLN;
1352 EXCEPTION WHEN l_conversion_error THEN
1353 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
1354 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1355 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1356 FND_MESSAGE.Set_Token('ATTR_VALUE', j.MANUFACTURER_GLN);
1357 FND_MSG_PUB.ADD;
1358 END;
1359
1360 BEGIN
1361 l_multi_row_attrs(k).MANUFACTURER_ID := j.MANUFACTURER_ID;
1362 IF j.MANUFACTURER_ID <> G_MISS_NUM THEN
1363 l_manufacturer_id := j.MANUFACTURER_ID;
1364 END IF;
1365 EXCEPTION WHEN l_conversion_error THEN
1366 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_ID');
1367 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1368 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1369 FND_MESSAGE.Set_Token('ATTR_VALUE', j.MANUFACTURER_ID);
1370 FND_MSG_PUB.ADD;
1371 END;
1372
1373 BEGIN
1374 l_multi_row_attrs(k).BAR_CODE_TYPE := j.BAR_CODE_TYPE;
1375 EXCEPTION WHEN l_conversion_error THEN
1376 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'BAR_CODE_TYPE');
1377 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1378 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1379 FND_MESSAGE.Set_Token('ATTR_VALUE', j.BAR_CODE_TYPE);
1380 FND_MSG_PUB.ADD;
1381 END;
1382
1383 BEGIN
1384 l_multi_row_attrs(k).COLOR_CODE_LIST_AGENCY := j.COLOR_CODE_LIST_AGENCY;
1385 EXCEPTION WHEN l_conversion_error THEN
1386 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_LIST_AGENCY');
1387 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1388 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1389 FND_MESSAGE.Set_Token('ATTR_VALUE', j.COLOR_CODE_LIST_AGENCY);
1390 FND_MSG_PUB.ADD;
1391 END;
1392
1393 BEGIN
1394 l_multi_row_attrs(k).COLOR_CODE_VALUE := j.COLOR_CODE_VALUE;
1395 EXCEPTION WHEN l_conversion_error THEN
1396 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_VALUE');
1397 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1398 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1399 FND_MESSAGE.Set_Token('ATTR_VALUE', j.COLOR_CODE_VALUE);
1400 FND_MSG_PUB.ADD;
1401 END;
1402
1403 BEGIN
1404 l_multi_row_attrs(k).CLASS_OF_DANGEROUS_CODE := j.CLASS_OF_DANGEROUS_CODE;
1405 EXCEPTION WHEN l_conversion_error THEN
1406 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'CLASS_OF_DANGEROUS_CODE');
1407 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1408 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1409 FND_MESSAGE.Set_Token('ATTR_VALUE', j.CLASS_OF_DANGEROUS_CODE);
1410 FND_MSG_PUB.ADD;
1411 END;
1412
1413 BEGIN
1414 l_multi_row_attrs(k).DANGEROUS_GOODS_MARGIN_NUMBER := j.DANGEROUS_GOODS_MARGIN_NUMBER;
1415 EXCEPTION WHEN l_conversion_error THEN
1416 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_MARGIN_NUMBER');
1417 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1418 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1419 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_MARGIN_NUMBER);
1420 FND_MSG_PUB.ADD;
1421 END;
1422
1423 BEGIN
1424 l_multi_row_attrs(k).DANGEROUS_GOODS_HAZARDOUS_CODE := j.DANGEROUS_GOODS_HAZARDOUS_CODE;
1425 EXCEPTION WHEN l_conversion_error THEN
1426 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_HAZARDOUS_CODE');
1427 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1428 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1429 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_HAZARDOUS_CODE);
1430 FND_MSG_PUB.ADD;
1431 END;
1432
1433 BEGIN
1434 l_multi_row_attrs(k).DANGEROUS_GOODS_PACK_GROUP := j.DANGEROUS_GOODS_PACK_GROUP;
1435 EXCEPTION WHEN l_conversion_error THEN
1436 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_PACK_GROUP');
1437 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1438 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1439 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_PACK_GROUP);
1440 FND_MSG_PUB.ADD;
1441 END;
1442
1443 BEGIN
1444 l_multi_row_attrs(k).DANGEROUS_GOODS_REG_CODE := j.DANGEROUS_GOODS_REG_CODE;
1445 EXCEPTION WHEN l_conversion_error THEN
1446 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_REG_CODE');
1447 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1448 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1449 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_REG_CODE);
1450 FND_MSG_PUB.ADD;
1451 END;
1452
1453 BEGIN
1454 l_multi_row_attrs(k).DANGEROUS_GOODS_SHIPPING_NAME := j.DANGEROUS_GOODS_SHIPPING_NAME;
1455 EXCEPTION WHEN l_conversion_error THEN
1456 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_SHIPPING_NAME');
1457 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1458 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1459 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_SHIPPING_NAME);
1460 FND_MSG_PUB.ADD;
1461 END;
1462
1463 BEGIN
1464 l_multi_row_attrs(k).UNITED_NATIONS_DANG_GOODS_NO := j.UNITED_NATIONS_DANG_GOODS_NO;
1465 IF j.UNITED_NATIONS_DANG_GOODS_NO <> G_MISS_NUM THEN
1466 l_united_nations_dang_goods_no := j.UNITED_NATIONS_DANG_GOODS_NO;
1467 END IF;
1468 EXCEPTION WHEN l_conversion_error THEN
1469 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'UNITED_NATIONS_DANG_GOODS_NO');
1470 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1471 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1472 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UNITED_NATIONS_DANG_GOODS_NO);
1473 FND_MSG_PUB.ADD;
1474 END;
1475
1476 BEGIN
1477 l_multi_row_attrs(k).FLASH_POINT_TEMP := j.FLASH_POINT_TEMP;
1478 IF j.FLASH_POINT_TEMP <> G_MISS_NUM THEN
1479 l_flash_point_temp := j.FLASH_POINT_TEMP;
1480 END IF;
1481 EXCEPTION WHEN l_conversion_error THEN
1482 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'FLASH_POINT_TEMP');
1483 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1484 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1485 FND_MESSAGE.Set_Token('ATTR_VALUE', j.FLASH_POINT_TEMP);
1486 FND_MSG_PUB.ADD;
1487 END;
1488
1489 BEGIN
1490 l_multi_row_attrs(k).UOM_FLASH_POINT_TEMP := j.UOM_FLASH_POINT_TEMP;
1491 EXCEPTION WHEN l_conversion_error THEN
1492 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'UOM_FLASH_POINT_TEMP');
1493 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1494 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1495 FND_MESSAGE.Set_Token('ATTR_VALUE', j.UOM_FLASH_POINT_TEMP);
1496 FND_MSG_PUB.ADD;
1497 END;
1498
1499 BEGIN
1500 l_multi_row_attrs(k).COUNTRY_OF_ORIGIN := j.COUNTRY_OF_ORIGIN;
1501 EXCEPTION WHEN l_conversion_error THEN
1502 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COUNTRY_OF_ORIGIN');
1503 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1504 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1505 FND_MESSAGE.Set_Token('ATTR_VALUE', j.COUNTRY_OF_ORIGIN);
1506 FND_MSG_PUB.ADD;
1507 END;
1508
1509 BEGIN
1510 l_multi_row_attrs(k).HARMONIZED_TARIFF_SYS_ID_CODE := j.HARMONIZED_TARIFF_SYS_ID_CODE;
1511 IF j.HARMONIZED_TARIFF_SYS_ID_CODE <> G_MISS_NUM THEN
1512 l_harmonized_tariff_sys_id_cd := j.HARMONIZED_TARIFF_SYS_ID_CODE;
1513 END IF;
1514 EXCEPTION WHEN l_conversion_error THEN
1515 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'HARMONIZED_TARIFF_SYS_ID_CODE');
1516 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1517 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1518 FND_MESSAGE.Set_Token('ATTR_VALUE', j.HARMONIZED_TARIFF_SYS_ID_CODE);
1519 FND_MSG_PUB.ADD;
1520 END;
1521
1522 BEGIN
1523 l_multi_row_attrs(k).SIZE_CODE_LIST_AGENCY := j.SIZE_CODE_LIST_AGENCY;
1524 EXCEPTION WHEN l_conversion_error THEN
1525 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_LIST_AGENCY');
1526 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1527 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1528 FND_MESSAGE.Set_Token('ATTR_VALUE', j.SIZE_CODE_LIST_AGENCY);
1529 FND_MSG_PUB.ADD;
1530 END;
1531
1532 BEGIN
1533 l_multi_row_attrs(k).SIZE_CODE_VALUE := j.SIZE_CODE_VALUE;
1534 EXCEPTION WHEN l_conversion_error THEN
1535 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_VALUE');
1536 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1537 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1538 FND_MESSAGE.Set_Token('ATTR_VALUE', j.SIZE_CODE_VALUE);
1539 FND_MSG_PUB.ADD;
1540 END;
1541
1542 BEGIN
1543 l_multi_row_attrs(k).HANDLING_INSTRUCTIONS_CODE := j.HANDLING_INSTRUCTIONS_CODE;
1544 EXCEPTION WHEN l_conversion_error THEN
1545 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'HANDLING_INSTRUCTIONS_CODE');
1546 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1547 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1548 FND_MESSAGE.Set_Token('ATTR_VALUE', j.HANDLING_INSTRUCTIONS_CODE);
1549 FND_MSG_PUB.ADD;
1550 END;
1551
1552 BEGIN
1553 l_multi_row_attrs(k).DANGEROUS_GOODS_TECHNICAL_NAME := j.DANGEROUS_GOODS_TECHNICAL_NAME;
1554 EXCEPTION WHEN l_conversion_error THEN
1555 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_TECHNICAL_NAME');
1556 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1557 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1558 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DANGEROUS_GOODS_TECHNICAL_NAME);
1559 FND_MSG_PUB.ADD;
1560 END;
1561
1562 BEGIN
1563 l_multi_row_attrs(k).DELIVERY_METHOD_INDICATOR := j.DELIVERY_METHOD_INDICATOR;
1564 EXCEPTION WHEN l_conversion_error THEN
1565 l_attr_name := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DELIVERY_METHOD_INDICATOR');
1566 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_LENGTH_INVALID');
1567 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr_name);
1568 FND_MESSAGE.Set_Token('ATTR_VALUE', j.DELIVERY_METHOD_INDICATOR);
1569 FND_MSG_PUB.ADD;
1570 END;
1571
1572 k := k + 1;
1573 END LOOP; -- end loop multi row attributes
1574
1575 Debug_Msg('Finished Populating local array for Multi Row Attributes');
1576 x_singe_row_attrs_rec := l_single_row_attrs ;
1577 x_multi_row_attrs_tbl := l_multi_row_attrs ;
1578
1579 FND_MSG_PUB.Count_And_Get('T', x_msg_count, x_msg_data);
1580 IF x_msg_count > 0 THEN
1581 x_return_status := 'E';
1582 ELSE
1583 x_return_status := 'S';
1584 END IF;
1585 Debug_Msg('Finished Get_Gdsn_Intf_Rows for Item,Org='||p_inventory_item_id||','||p_organization_id);
1586 Debug_Msg('Return Status = '||x_return_status);
1587 EXCEPTION WHEN OTHERS THEN
1588 x_return_status := 'U';
1589 x_msg_count := 1;
1590 x_msg_data := SQLERRM;
1591 Debug_Msg('Unexpected Error in Get_Gdsn_Intf_Rows - '||x_msg_data);
1592 END Get_Gdsn_Intf_Rows;
1593
1594 /*
1595 ** This procedure validates the interface table rows for UCCnet attributes
1596 */
1597 PROCEDURE Validate_Intf_Rows ( p_data_set_id IN NUMBER
1598 ,p_entity_id NUMBER
1599 ,p_entity_code VARCHAR2
1600 ,p_add_errors_to_fnd_stack VARCHAR2
1601 ,x_return_status OUT NOCOPY VARCHAR2
1602 )
1603 IS
1604 CURSOR c_intf_rows IS
1605 SELECT
1606 INVENTORY_ITEM_ID
1607 ,ORGANIZATION_ID
1608 ,ITEM_CATALOG_GROUP_ID
1609 ,SOURCE_SYSTEM_ID
1610 ,SOURCE_SYSTEM_REFERENCE
1611 ,MAX(TRANSACTION_ID) AS TRANSACTION_ID
1612 ,MAX(CREATED_BY) AS CREATED_BY
1613 ,MAX(CREATION_DATE) AS CREATION_DATE
1614 ,MAX(LAST_UPDATED_BY) AS LAST_UPDATED_BY
1615 ,MAX(LAST_UPDATE_DATE) AS LAST_UPDATE_DATE
1616 ,MAX(LAST_UPDATE_LOGIN) AS LAST_UPDATE_LOGIN
1617 FROM EGO_ITM_USR_ATTR_INTRFC
1618 WHERE (( ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS') )
1619 OR
1620 ( ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND ATTR_GROUP_INT_NAME LIKE 'EGOINT#_GDSN%' ESCAPE '#' )
1621 )
1622 AND DATA_SET_ID = p_data_set_id
1623 AND PROCESS_STATUS = 2
1624 GROUP BY INVENTORY_ITEM_ID, ORGANIZATION_ID, ITEM_CATALOG_GROUP_ID, SOURCE_SYSTEM_ID, SOURCE_SYSTEM_REFERENCE;
1625
1626 l_return_status VARCHAR2(10);
1627 l_msg_count NUMBER;
1628 l_msg_data VARCHAR2(4000);
1629 l_msg_text VARCHAR2(4000);
1630 l_single_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Singl_Row_Rec_Typ;
1631 l_multi_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Multi_Row_Tbl_Typ;
1632 BEGIN
1633 Debug_Msg('Starting Validate_Intf_Rows');
1634 FOR i IN c_intf_rows LOOP
1635 Debug_Msg('Calling Get_Gdsn_Intf_Rows for Item, Org='||i.INVENTORY_ITEM_ID||','||i.ORGANIZATION_ID);
1636 Get_Gdsn_Intf_Rows( p_data_set_id => p_data_set_id
1637 ,p_target_proc_status => 2
1638 ,p_inventory_item_id => i.INVENTORY_ITEM_ID
1639 ,p_organization_id => i.ORGANIZATION_ID
1640 ,p_ignore_delete => 'Y'
1641 ,x_singe_row_attrs_rec => l_single_row_attrs
1642 ,x_multi_row_attrs_tbl => l_multi_row_attrs
1643 ,x_return_status => l_return_status
1644 ,x_msg_count => l_msg_count
1645 ,x_msg_data => l_msg_data
1646 );
1647
1648 x_return_status := l_return_status;
1649
1650 IF l_return_status <> 'S' THEN
1651 Debug_Msg('Done with errors - Calling Get_Gdsn_Intf_Rows for Item, Org='||i.INVENTORY_ITEM_ID||','||i.ORGANIZATION_ID);
1652 UPDATE EGO_ITM_USR_ATTR_INTRFC
1653 SET PROCESS_STATUS = 3
1654 WHERE DATA_SET_ID = p_data_set_id
1655 AND (( ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS') )
1656 OR
1657 ( ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND ATTR_GROUP_INT_NAME LIKE 'EGOINT#_GDSN%' ESCAPE '#' )
1658 )
1659 AND INVENTORY_ITEM_ID = i.INVENTORY_ITEM_ID
1660 AND ORGANIZATION_ID = i.ORGANIZATION_ID
1661 AND PROCESS_STATUS = 2;
1662
1663 Debug_Msg('Marked Item as error in Interface table');
1664 IF l_msg_count > 0 AND l_return_status <> 'U' THEN
1665 FOR cnt IN 1..l_msg_count LOOP
1666 Debug_Msg('Error msg - '||cnt ||': '|| FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F'));
1667 l_msg_text := FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F');
1668 ERROR_HANDLER.Add_Error_Message
1669 (
1670 p_message_text => l_msg_text
1671 ,p_application_id => 'EGO'
1672 ,p_message_type => FND_API.G_RET_STS_ERROR
1673 ,p_row_identifier => i.TRANSACTION_ID
1674 ,p_entity_id => p_entity_id
1675 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
1676 ,p_entity_code => p_entity_code
1677 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
1678 );
1679 END LOOP;
1680 ELSIF l_msg_count > 0 AND l_return_status = 'U' THEN
1681 Debug_Msg('Unexpected Error msg - '|| l_msg_data);
1682 l_msg_text := l_msg_data;
1683 ERROR_HANDLER.Add_Error_Message
1684 (
1685 p_message_text => l_msg_text
1686 ,p_application_id => 'EGO'
1687 ,p_message_type => FND_API.G_RET_STS_ERROR
1688 ,p_row_identifier => i.TRANSACTION_ID
1689 ,p_entity_id => p_entity_id
1690 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
1691 ,p_entity_code => p_entity_code
1692 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
1693 );
1694 END IF; -- IF l_msg_count
1695 ELSE
1696 Debug_Msg('Calling Validation API');
1697 l_return_status := NULL;
1698 x_return_status := l_return_status;
1699 l_msg_count := 0;
1700 l_msg_data := NULL;
1701 G_CALLED_FROM_INTF := 'Y';
1702 G_DATA_SET_ID := p_data_set_id;
1703
1704 Validate_Attributes(
1705 i.INVENTORY_ITEM_ID -- p_inventory_item_id
1706 ,i.ORGANIZATION_ID -- p_organization_id
1707 ,l_single_row_attrs -- p_single_row_attrs_rec
1708 ,l_multi_row_attrs -- p_multi_row_attrs_tbl
1709 ,NULL -- p_extra_attrs_rec
1710 ,l_return_status -- x_return_status
1711 ,l_msg_count -- x_msg_count
1712 ,l_msg_data -- x_msg_data
1713 );
1714
1715 x_return_status := l_return_status;
1716 Debug_Msg('Finished Validation l_return_status, l_msg_count='||l_return_status||','||l_msg_count);
1717
1718 IF l_return_status <> 'S' THEN
1719 UPDATE EGO_ITM_USR_ATTR_INTRFC
1720 SET PROCESS_STATUS = 3
1721 WHERE DATA_SET_ID = p_data_set_id
1722 AND (( ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS') )
1723 OR
1724 ( ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP' AND ATTR_GROUP_INT_NAME LIKE 'EGOINT#_GDSN%' ESCAPE '#' )
1725 )
1726 AND INVENTORY_ITEM_ID = i.INVENTORY_ITEM_ID
1727 AND ORGANIZATION_ID = i.ORGANIZATION_ID
1728 AND PROCESS_STATUS = 2;
1729
1730 Debug_Msg('Marked Item as error in Interface table');
1731
1732 IF l_msg_count > 0 AND l_return_status <> 'U' THEN
1733 FOR cnt IN 1..l_msg_count LOOP
1734 Debug_Msg('Error msg - '||cnt ||': '|| FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F'));
1735 l_msg_text := FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F');
1736 ERROR_HANDLER.Add_Error_Message
1737 (
1738 p_message_text => l_msg_text
1739 ,p_application_id => 'EGO'
1740 ,p_message_type => FND_API.G_RET_STS_ERROR
1741 ,p_row_identifier => i.TRANSACTION_ID
1742 ,p_entity_id => p_entity_id
1743 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
1744 ,p_entity_code => p_entity_code
1745 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
1746 );
1747 END LOOP;
1748 ELSIF l_msg_count > 0 AND l_return_status = 'U' THEN
1749 Debug_Msg('Unexpected Error msg - '|| l_msg_data);
1750 l_msg_text := l_msg_data;
1751 ERROR_HANDLER.Add_Error_Message
1752 (
1753 p_message_text => l_msg_text
1754 ,p_application_id => 'EGO'
1755 ,p_message_type => FND_API.G_RET_STS_ERROR
1756 ,p_row_identifier => i.TRANSACTION_ID
1757 ,p_entity_id => p_entity_id
1758 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
1759 ,p_entity_code => p_entity_code
1760 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
1761 );
1762 END IF; -- IF l_msg_count
1763 END IF; -- IF l_return_status <> 'S
1764 END IF; -- END IF l_return_status <> 'S' THEN
1765 END LOOP; -- end loop intf_rows
1766 Debug_Msg('Finished Validate_Intf_Rows');
1767 END Validate_Intf_Rows;
1768
1769
1770
1771 /*
1772 ** This procedure validates the data passed in for UCCnet attributes
1773 */
1774 PROCEDURE Validate_Attributes (
1775 p_inventory_item_id IN NUMBER
1776 ,p_organization_id IN NUMBER
1777 ,p_singe_row_attrs_rec IN EGO_ITEM_PUB.UCCNET_ATTRS_SINGL_ROW_REC_TYP
1778 ,p_multi_row_attrs_tbl IN EGO_ITEM_PUB.UCCNET_ATTRS_MULTI_ROW_TBL_TYP
1779 ,p_extra_attrs_rec IN EGO_ITEM_PUB.UCCnet_Extra_Attrs_Rec_Typ
1780 ,x_return_status OUT NOCOPY VARCHAR2
1781 ,x_msg_count OUT NOCOPY NUMBER
1782 ,x_msg_data OUT NOCOPY VARCHAR2
1783 )
1784 IS
1785 CURSOR c_prod_single_row_values IS
1786 SELECT
1787 msib.TRADE_ITEM_DESCRIPTOR
1788 ,gtn.BRAND_OWNER_GLN
1789 ,gtn.BRAND_OWNER_NAME
1790 ,gtn.EANUCC_CODE
1791 ,gtn.EANUCC_TYPE
1792 ,gtn.CATALOG_PRICE
1793 ,gtn.EFFECTIVE_START_DATE
1794 ,gtn.EFFECTIVE_END_DATE
1795 ,gtn.SUGGESTED_RETAIL_PRICE
1796 ,gtn.START_AVAILABILITY_DATE_TIME
1797 ,gtn.END_AVAILABILITY_DATE_TIME
1798 ,gtn.ORDER_QUANTITY_MAX
1799 ,gtn.ORDER_QUANTITY_MIN
1800 -- non-edtable at non-leaf
1801 ,gtn.ISSN_NUMBER
1802 ,gtn.ISBN_NUMBER
1803 ,gtn.PERCENT_OF_ALCOHOL_BY_VOL
1804 ,gtn.FAT_PERCENT_IN_DRY_MATTER
1805 ,gtn.GENERIC_INGREDIENT_STRGTH
1806 ,gtn.INGREDIENT_STRENGTH
1807 ,gtn.DEL_TO_DIST_CNTR_TEMP_MIN
1808 ,gtn.UOM_DEL_TO_DIST_CNTR_TEMP_MIN
1809 ,gtn.DEL_TO_DIST_CNTR_TEMP_MAX
1810 ,gtn.UOM_DEL_TO_DIST_CNTR_TEMP_MAX
1811 ,gtn.DELIVERY_TO_MRKT_TEMP_MIN
1812 ,gtn.UOM_DELIVERY_TO_MRKT_TEMP_MIN
1813 ,gtn.DELIVERY_TO_MRKT_TEMP_MAX
1814 ,gtn.UOM_DELIVERY_TO_MRKT_TEMP_MAX
1815 ,gtn.STORAGE_HANDLING_TEMP_MIN
1816 ,gtn.UOM_STORAGE_HANDLING_TEMP_MIN
1817 ,gtn.STORAGE_HANDLING_TEMP_MAX
1818 ,gtn.UOM_STORAGE_HANDLING_TEMP_MAX
1819 ,gtn.IS_PACK_MARKED_WITH_GREEN_DOT
1820 ,gtn.IS_PACK_MARKED_WITH_INGRED
1821 ,gtn.IS_INGREDIENT_IRRADIATED
1822 ,gtn.IS_RAW_MATERIAL_IRRADIATED
1823 ,gtn.IS_TRADE_ITEM_GENETICALLY_MOD
1824 ,gtn.IS_TRADE_ITEM_IRRADIATED
1825 ,gtn.SUB_BRAND
1826 ,gtn.TRADE_ITEM_COUPON
1827 ,gtn.TRADE_ITEM_FORM_DESCRIPTION
1828 ,gtn.HAS_BATCH_NUMBER
1829 ,gtn.IS_NON_SOLD_TRADE_RET_FLAG
1830 ,gtn.IS_TRADE_ITEM_MAR_REC_FLAG
1831 ,gtn.IS_PACK_MARKED_WITH_EXP_DATE
1832 ,gtn.FUNCTIONAL_NAME
1833 ,gtn.DIAMETER
1834 ,gtn.DRAINED_WEIGHT
1835 ,gtn.PEG_HORIZONTAL
1836 ,gtn.PEG_VERTICAL
1837 ,gtn.GENERIC_INGREDIENT
1838 ,gtn.UOM_NET_CONTENT
1839 FROM EGO_ITEM_GTN_ATTRS_VL gtn, MTL_SYSTEM_ITEMS_B msib
1840 WHERE gtn.INVENTORY_ITEM_ID(+) = msib.INVENTORY_ITEM_ID
1841 AND gtn.ORGANIZATION_ID(+) = msib.ORGANIZATION_ID
1842 AND msib.INVENTORY_ITEM_ID = p_inventory_item_id
1843 AND msib.ORGANIZATION_ID = p_organization_id;
1844
1845 CURSOR c_prod_multi_row_values IS
1846 SELECT
1847 COLOR_CODE_LIST_AGENCY
1848 ,COLOR_CODE_VALUE
1849 ,MANUFACTURER_GLN
1850 ,MANUFACTURER_ID
1851 ,SIZE_CODE_LIST_AGENCY
1852 ,SIZE_CODE_VALUE
1853 ,CLASS_OF_DANGEROUS_CODE
1854 ,DANGEROUS_GOODS_MARGIN_NUMBER
1855 ,DANGEROUS_GOODS_HAZARDOUS_CODE
1856 ,DANGEROUS_GOODS_PACK_GROUP
1857 ,DANGEROUS_GOODS_REG_CODE
1858 ,DANGEROUS_GOODS_SHIPPING_NAME
1859 ,UNITED_NATIONS_DANG_GOODS_NO
1860 ,FLASH_POINT_TEMP
1861 ,DANGEROUS_GOODS_TECHNICAL_NAME
1862 ,COUNTRY_OF_ORIGIN
1863 ,HANDLING_INSTRUCTIONS_CODE
1864 FROM EGO_ITM_GTN_MUL_ATTRS_VL
1865 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
1866 AND ORGANIZATION_ID = p_organization_id;
1867
1868 l_prod_single_row_attrs c_prod_single_row_values%ROWTYPE;
1869
1870 l_trade_item_desc MTL_SYSTEM_ITEMS_B.TRADE_ITEM_DESCRIPTOR%TYPE;
1871 l_gdsn_outbound_flag MTL_SYSTEM_ITEMS_B.GDSN_OUTBOUND_ENABLED_FLAG%TYPE;
1872 l_is_used_in_packaging_hrchy VARCHAR2(10);
1873 l_err_msg VARCHAR2(1000);
1874 l_err_code NUMBER;
1875 l_bgln_valid BOOLEAN;
1876 l_brand_owner_gln NUMBER;
1877 l_eanucc_code_num NUMBER;
1878 l_eanucc_type VARCHAR2(100);
1879 l_eanucc_code VARCHAR2(100);
1880 l_eanucc_valid BOOLEAN;
1881 l_eanucc_code_length NUMBER;
1882 l_eanucc_code_req_length NUMBER;
1883 l_item_id NUMBER;
1884 l_item_number VARCHAR2(1000);
1885 l_attr1_disp VARCHAR2(1000);
1886 l_attr2_disp VARCHAR2(1000);
1887 l_gtid_disp VARCHAR2(1000);
1888 l_mgln_valid BOOLEAN;
1889 l_index BINARY_INTEGER;
1890 l_index1 BINARY_INTEGER;
1891 l_is_primary_uom_base VARCHAR2(2);
1892 l_unit_weight NUMBER;
1893 l_continue BOOLEAN;
1894 l_check_non_upd_attrs BOOLEAN;
1895 l_validate_prod_rows BOOLEAN;
1896 l_min_date_value DATE;
1897 l_max_date_value DATE;
1898 l_min_num_value NUMBER;
1899 l_max_num_value NUMBER;
1900 l_min_char_value VARCHAR2(4000);
1901 l_max_char_value VARCHAR2(4000);
1902
1903
1904 EANUCC_CODE_UG CONSTANT VARCHAR2(2) := 'UG';
1905 EANUCC_CODE_UH CONSTANT VARCHAR2(2) := 'UH';
1906 EANUCC_CODE_EN CONSTANT VARCHAR2(2) := 'EN';
1907 EANUCC_CODE_UK CONSTANT VARCHAR2(2) := 'UK';
1908 EANUCC_CODE_UP CONSTANT VARCHAR2(2) := 'UP';
1909 EANUCC_CODE_UI CONSTANT VARCHAR2(2) := 'UI';
1910 EANUCC_CODE_UD CONSTANT VARCHAR2(2) := 'UD';
1911 EANUCC_CODE_UE CONSTANT VARCHAR2(2) := 'UE';
1912 EANUCC_CODE_UA CONSTANT VARCHAR2(2) := 'UA';
1913 EANUCC_CODE_UN CONSTANT VARCHAR2(2) := 'UN';
1914 EANUCC_CODE_U2 CONSTANT VARCHAR2(2) := 'U2';
1915
1916 EANUCC_CODE_UG_LENGTH CONSTANT NUMBER := 12;
1917 EANUCC_CODE_UH_LENGTH CONSTANT NUMBER := 14;
1918 EANUCC_CODE_EN_LENGTH CONSTANT NUMBER := 13;
1919 EANUCC_CODE_UK_LENGTH CONSTANT NUMBER := 14;
1920 EANUCC_CODE_UP_LENGTH CONSTANT NUMBER := 12;
1921 EANUCC_CODE_UI_LENGTH CONSTANT NUMBER := 11;
1922 EANUCC_CODE_UD_LENGTH CONSTANT NUMBER := 12;
1923 EANUCC_CODE_UE_LENGTH CONSTANT NUMBER := 12;
1924 EANUCC_CODE_UA_LENGTH CONSTANT NUMBER := 12;
1925 EANUCC_CODE_UN_LENGTH CONSTANT NUMBER := 12;
1926 EANUCC_CODE_U2_LENGTH CONSTANT NUMBER := 13;
1927
1928 -- variables to hold production values
1929 l_dngr_goods_margin_number EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_MARGIN_NUMBER%TYPE;
1930 l_dngr_goods_hazardous_code EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_HAZARDOUS_CODE%TYPE;
1931 l_dngr_goods_pack_group EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_PACK_GROUP%TYPE;
1932 l_dngr_goods_reg_code EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_REG_CODE%TYPE;
1933 l_dngr_goods_shipping_name EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_SHIPPING_NAME%TYPE;
1934 l_united_nations_dang_goods_no EGO_ITM_GTN_MUL_ATTRS_VL.UNITED_NATIONS_DANG_GOODS_NO%TYPE;
1935 l_flash_point_temp EGO_ITM_GTN_MUL_ATTRS_VL.FLASH_POINT_TEMP%TYPE;
1936 l_uom_flash_point_temp EGO_ITM_GTN_MUL_ATTRS_VL.UOM_FLASH_POINT_TEMP%TYPE;
1937 l_dngr_goods_technical_name EGO_ITM_GTN_MUL_ATTRS_VL.DANGEROUS_GOODS_TECHNICAL_NAME%TYPE;
1938 l_manufacturer_id EGO_ITM_GTN_MUL_ATTRS_VL.MANUFACTURER_ID%TYPE;
1939 l_manufacturer_gln EGO_ITM_GTN_MUL_ATTRS_VL.MANUFACTURER_GLN%TYPE;
1940 BEGIN
1941 l_continue := true;
1942 Debug_Msg('Starting GDSN Attributes Validations for Item,Org='||p_inventory_item_id||','||p_organization_id);
1943 Debug_Msg('Initializing the fnd error stack');
1944 -- initializing the fnd error stack
1945 FND_MSG_PUB.Initialize;
1946
1947 Debug_Msg('Checking if Item is GDSN Enabled item');
1948
1949 BEGIN
1950 SELECT GDSN_OUTBOUND_ENABLED_FLAG INTO l_gdsn_outbound_flag
1951 FROM MTL_SYSTEM_ITEMS_B
1952 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
1953 AND ORGANIZATION_ID = p_organization_id;
1954 EXCEPTION WHEN NO_DATA_FOUND THEN
1955 IF NVL(G_CALLED_FROM_INTF, 'N') = 'Y' THEN
1956 BEGIN
1957 SELECT GDSN_OUTBOUND_ENABLED_FLAG INTO l_gdsn_outbound_flag
1958 FROM MTL_SYSTEM_ITEMS_INTERFACE msii
1959 WHERE SET_PROCESS_ID = G_DATA_SET_ID
1960 AND PROCESS_FLAG = 1
1961 AND INVENTORY_ITEM_ID = p_inventory_item_id
1962 AND ORGANIZATION_ID = p_organization_id
1963 AND ROWNUM = 1;
1964 EXCEPTION WHEN NO_DATA_FOUND THEN
1965 l_gdsn_outbound_flag := 'N';
1966 END;
1967 ELSE
1968 l_gdsn_outbound_flag := 'N';
1969 END IF;
1970 END;
1971
1972 IF NVL(l_gdsn_outbound_flag, 'N') = 'N' THEN
1973 Debug_Msg('Item is not a GDSN Enabled item, so returning');
1974 FND_MESSAGE.Set_Name('EGO', 'EGO_NOT_UCCNET_ITEM');
1975 FND_MSG_PUB.ADD;
1976 FND_MSG_PUB.Count_And_Get('T', x_msg_count, x_msg_data);
1977 x_return_status := 'E';
1978 RETURN;
1979 END IF;
1980
1981 Debug_Msg('Item is GDSN Enabled item');
1982
1983 -- fetching the single row attribute values from production table into local collection
1984 OPEN c_prod_single_row_values;
1985 FETCH c_prod_single_row_values INTO l_prod_single_row_attrs;
1986 CLOSE c_prod_single_row_values;
1987
1988 IF NVL(G_CALLED_FROM_INTF, 'N') = 'Y' THEN
1989 BEGIN
1990 SELECT TRADE_ITEM_DESCRIPTOR INTO l_trade_item_desc
1991 FROM MTL_SYSTEM_ITEMS_INTERFACE msii
1992 WHERE SET_PROCESS_ID = G_DATA_SET_ID
1993 AND PROCESS_FLAG = 1
1994 AND INVENTORY_ITEM_ID = p_inventory_item_id
1995 AND ORGANIZATION_ID = p_organization_id
1996 AND ROWNUM = 1;
1997 EXCEPTION WHEN NO_DATA_FOUND THEN
1998 l_trade_item_desc := NULL;
1999 END;
2000 ELSE
2001 l_trade_item_desc := NULL;
2002 END IF;
2003
2004 l_trade_item_desc := NVL(l_trade_item_desc, l_prod_single_row_attrs.TRADE_ITEM_DESCRIPTOR);
2005 Debug_Msg('Trade Item Descriptor is '||l_trade_item_desc);
2006 Debug_Msg('Starting Validations');
2007 -- validation starts here
2008 -- 1. if trade item descriptor is not present then error
2009 Debug_Msg('1. if trade item descriptor is not present then error');
2010 l_gtid_disp := Get_Attribute_Display_Name('EGO_MASTER_ITEMS', 'TRADE_ITEM_DESCRIPTOR');
2011 IF l_trade_item_desc IS NULL
2012 THEN
2013 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_MISSING');
2014 FND_MESSAGE.Set_Token('ATTR_NAME', l_gtid_disp);
2015 FND_MSG_PUB.ADD;
2016 l_continue := FALSE;
2017 END IF;
2018
2019 -- 2. If trade item descriptor is not BASE_UNIT_OR_EACH then check for attributes (which are non editable)
2020 -- that they should be null
2021 Debug_Msg('2. If trade item descriptor is not BASE_UNIT_OR_EACH then check for attributes (which are non editable) that they should be null');
2022 Debug_Msg('GTID is - '||l_trade_item_desc);
2023
2024 IF l_continue AND l_trade_item_desc <> 'BASE_UNIT_OR_EACH'
2025 THEN
2026 IF NVL(p_singe_row_attrs_rec.ISSN_NUMBER, G_MISS_CHAR) <> G_MISS_CHAR
2027 OR (NVL(p_singe_row_attrs_rec.ISSN_NUMBER, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2028 l_prod_single_row_attrs.ISSN_NUMBER IS NOT NULL AND l_validate_prod_rows)
2029 THEN
2030 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ISSN_NUMBER');
2031 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2032 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2033 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2034 FND_MSG_PUB.ADD;
2035 END IF;
2036
2037 IF NVL(p_singe_row_attrs_rec.ISBN_NUMBER, G_MISS_CHAR) <> G_MISS_CHAR
2038 OR (NVL(p_singe_row_attrs_rec.ISBN_NUMBER, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2039 l_prod_single_row_attrs.ISBN_NUMBER IS NOT NULL AND l_validate_prod_rows)
2040 THEN
2041 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ISBN_NUMBER');
2042 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2043 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2044 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2045 FND_MSG_PUB.ADD;
2046 END IF;
2047
2048 IF NVL(p_singe_row_attrs_rec.PERCENT_OF_ALCOHOL_BY_VOL, G_MISS_NUM) <> G_MISS_NUM
2049 OR (NVL(p_singe_row_attrs_rec.PERCENT_OF_ALCOHOL_BY_VOL, -1) <> G_MISS_NUM AND
2050 l_prod_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL IS NOT NULL AND l_validate_prod_rows)
2051 THEN
2052 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PERCENT_OF_ALCOHOL_BY_VOL');
2053 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2054 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2055 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2056 FND_MSG_PUB.ADD;
2057 END IF;
2058
2059 IF NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
2060 OR (NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX, -1) <> G_MISS_NUM AND
2061 l_prod_single_row_attrs.STORAGE_HANDLING_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2062 THEN
2063 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
2064 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2065 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2066 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2067 FND_MSG_PUB.ADD;
2068 END IF;
2069
2070 IF NVL(p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX, G_MISS_CHAR) <> G_MISS_CHAR
2071 OR (NVL(p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2072 l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2073 THEN
2074 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
2075 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2076 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2077 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2078 FND_MSG_PUB.ADD;
2079 END IF;
2080
2081 IF NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
2082 OR (NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN, -1) <> G_MISS_NUM AND
2083 l_prod_single_row_attrs.STORAGE_HANDLING_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2084 THEN
2085 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
2086 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2087 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2088 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2089 FND_MSG_PUB.ADD;
2090 END IF;
2091
2092 IF NVL(p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN, G_MISS_CHAR) <> G_MISS_CHAR
2093 OR (NVL(p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2094 l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2095 THEN
2096 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
2097 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2098 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2099 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2100 FND_MSG_PUB.ADD;
2101 END IF;
2102
2103 IF NVL(p_singe_row_attrs_rec.FAT_PERCENT_IN_DRY_MATTER, G_MISS_NUM) <> G_MISS_NUM
2104 OR (NVL(p_singe_row_attrs_rec.FAT_PERCENT_IN_DRY_MATTER, -1) <> G_MISS_NUM AND
2105 l_prod_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER IS NOT NULL AND l_validate_prod_rows)
2106 THEN
2107 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'FAT_PERCENT_IN_DRY_MATTER');
2108 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2109 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2110 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2111 FND_MSG_PUB.ADD;
2112 END IF;
2113
2114 IF NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
2115 OR (NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX, -1) <> G_MISS_NUM AND
2116 l_prod_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2117 THEN
2118 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MAX');
2119 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2120 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2121 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2122 FND_MSG_PUB.ADD;
2123 END IF;
2124
2125 IF NVL(p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX, G_MISS_CHAR) <> G_MISS_CHAR
2126 OR (NVL(p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2127 l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2128 THEN
2129 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'UOM_DELIVERY_TO_MRKT_TEMP_MAX');
2130 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2131 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2132 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2133 FND_MSG_PUB.ADD;
2134 END IF;
2135
2136 IF NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
2137 OR (NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN, -1) <> G_MISS_NUM AND
2138 l_prod_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2139 THEN
2140 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
2141 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2142 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2143 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2144 FND_MSG_PUB.ADD;
2145 END IF;
2146
2147 IF NVL(p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN, G_MISS_CHAR) <> G_MISS_CHAR
2148 OR (NVL(p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2149 l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2150 THEN
2151 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
2152 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2153 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2154 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2155 FND_MSG_PUB.ADD;
2156 END IF;
2157
2158 IF NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
2159 OR (NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX, -1) <> G_MISS_NUM AND
2160 l_prod_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2161 THEN
2162 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
2163 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2164 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2165 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2166 FND_MSG_PUB.ADD;
2167 END IF;
2168
2169 IF NVL(p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX, G_MISS_CHAR) <> G_MISS_CHAR
2170 OR (NVL(p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2171 l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NOT NULL AND l_validate_prod_rows)
2172 THEN
2173 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
2174 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2175 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2176 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2177 FND_MSG_PUB.ADD;
2178 END IF;
2179
2180 IF NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
2181 OR (NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN, -1) <> G_MISS_NUM AND
2182 l_prod_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2183 THEN
2184 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
2185 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2186 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2187 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2188 FND_MSG_PUB.ADD;
2189 END IF;
2190
2191 IF NVL(p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN, G_MISS_CHAR) <> G_MISS_CHAR
2192 OR (NVL(p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2193 l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NOT NULL AND l_validate_prod_rows)
2194 THEN
2195 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
2196 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2197 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2198 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2199 FND_MSG_PUB.ADD;
2200 END IF;
2201
2202 IF NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_GREEN_DOT, G_MISS_CHAR) <> G_MISS_CHAR
2203 OR (NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_GREEN_DOT, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2204 l_prod_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT IS NOT NULL AND l_validate_prod_rows)
2205 THEN
2206 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_GREEN_DOT');
2207 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2208 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2209 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2210 FND_MSG_PUB.ADD;
2211 END IF;
2212
2213 IF NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_INGRED, G_MISS_CHAR) <> G_MISS_CHAR
2214 OR (NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_INGRED, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2215 l_prod_single_row_attrs.IS_PACK_MARKED_WITH_INGRED IS NOT NULL AND l_validate_prod_rows)
2216 THEN
2217 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_INGRED');
2218 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2219 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2220 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2221 FND_MSG_PUB.ADD;
2222 END IF;
2223
2224 IF NVL(p_singe_row_attrs_rec.IS_INGREDIENT_IRRADIATED, G_MISS_CHAR) <> G_MISS_CHAR
2225 OR (NVL(p_singe_row_attrs_rec.IS_INGREDIENT_IRRADIATED, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2226 l_prod_single_row_attrs.IS_INGREDIENT_IRRADIATED IS NOT NULL AND l_validate_prod_rows)
2227 THEN
2228 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_INGREDIENT_IRRADIATED');
2229 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2230 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2231 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2232 FND_MSG_PUB.ADD;
2233 END IF;
2234
2235 IF NVL(p_singe_row_attrs_rec.IS_RAW_MATERIAL_IRRADIATED, G_MISS_CHAR) <> G_MISS_CHAR
2236 OR (NVL(p_singe_row_attrs_rec.IS_RAW_MATERIAL_IRRADIATED, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2237 l_prod_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED IS NOT NULL AND l_validate_prod_rows)
2238 THEN
2239 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_RAW_MATERIAL_IRRADIATED');
2240 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2241 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2242 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2243 FND_MSG_PUB.ADD;
2244 END IF;
2245
2246 IF NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_GENETICALLY_MOD, G_MISS_CHAR) <> G_MISS_CHAR
2247 OR (NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_GENETICALLY_MOD, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2248 l_prod_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD IS NOT NULL AND l_validate_prod_rows)
2249 THEN
2250 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_GENETICALLY_MOD');
2251 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2252 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2253 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2254 FND_MSG_PUB.ADD;
2255 END IF;
2256
2257 IF NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_IRRADIATED, G_MISS_CHAR) <> G_MISS_CHAR
2258 OR (NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_IRRADIATED, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2259 l_prod_single_row_attrs.IS_TRADE_ITEM_IRRADIATED IS NOT NULL AND l_validate_prod_rows)
2260 THEN
2261 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_IRRADIATED');
2262 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2263 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2264 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2265 FND_MSG_PUB.ADD;
2266 END IF;
2267
2268 IF NVL(p_singe_row_attrs_rec.SUB_BRAND, G_MISS_CHAR) <> G_MISS_CHAR
2269 OR (NVL(p_singe_row_attrs_rec.SUB_BRAND, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2270 l_prod_single_row_attrs.SUB_BRAND IS NOT NULL AND l_validate_prod_rows)
2271 THEN
2272 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'SUB_BRAND');
2273 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2274 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2275 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2276 FND_MSG_PUB.ADD;
2277 END IF;
2278
2279 IF NVL(p_singe_row_attrs_rec.TRADE_ITEM_COUPON, G_MISS_NUM) <> G_MISS_NUM
2280 OR (NVL(p_singe_row_attrs_rec.TRADE_ITEM_COUPON, -1) <> G_MISS_NUM AND
2281 l_prod_single_row_attrs.TRADE_ITEM_COUPON IS NOT NULL AND l_validate_prod_rows)
2282 THEN
2283 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'TRADE_ITEM_COUPON');
2284 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2285 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2286 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2287 FND_MSG_PUB.ADD;
2288 END IF;
2289
2290 IF NVL(p_singe_row_attrs_rec.TRADE_ITEM_FORM_DESCRIPTION, G_MISS_CHAR) <> G_MISS_CHAR
2291 OR (NVL(p_singe_row_attrs_rec.TRADE_ITEM_FORM_DESCRIPTION, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2292 l_prod_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION IS NOT NULL AND l_validate_prod_rows)
2293 THEN
2294 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'TRADE_ITEM_FORM_DESCRIPTION');
2295 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2296 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2297 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2298 FND_MSG_PUB.ADD;
2299 END IF;
2300
2301 IF NVL(p_singe_row_attrs_rec.HAS_BATCH_NUMBER, G_MISS_CHAR) <> G_MISS_CHAR
2302 OR (NVL(p_singe_row_attrs_rec.HAS_BATCH_NUMBER, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2303 l_prod_single_row_attrs.HAS_BATCH_NUMBER IS NOT NULL AND l_validate_prod_rows)
2304 THEN
2305 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'HAS_BATCH_NUMBER');
2306 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2307 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2308 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2309 FND_MSG_PUB.ADD;
2310 END IF;
2311
2312 IF NVL(p_singe_row_attrs_rec.IS_NON_SOLD_TRADE_RET_FLAG, G_MISS_CHAR) <> G_MISS_CHAR
2313 OR (NVL(p_singe_row_attrs_rec.IS_NON_SOLD_TRADE_RET_FLAG, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2314 l_prod_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG IS NOT NULL AND l_validate_prod_rows)
2315 THEN
2316 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_NON_SOLD_TRADE_RET_FLAG');
2317 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2318 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2319 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2320 FND_MSG_PUB.ADD;
2321 END IF;
2322
2323 IF NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_MAR_REC_FLAG, G_MISS_CHAR) <> G_MISS_CHAR
2324 OR (NVL(p_singe_row_attrs_rec.IS_TRADE_ITEM_MAR_REC_FLAG, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2325 l_prod_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG IS NOT NULL AND l_validate_prod_rows)
2326 THEN
2327 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_TRADE_ITEM_MAR_REC_FLAG');
2328 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2329 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2330 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2331 FND_MSG_PUB.ADD;
2332 END IF;
2333
2334 IF NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_EXP_DATE, G_MISS_CHAR) <> G_MISS_CHAR
2335 OR (NVL(p_singe_row_attrs_rec.IS_PACK_MARKED_WITH_EXP_DATE, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2336 l_prod_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE IS NOT NULL AND l_validate_prod_rows)
2337 THEN
2338 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'IS_PACK_MARKED_WITH_EXP_DATE');
2339 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2340 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2341 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2342 FND_MSG_PUB.ADD;
2343 END IF;
2344
2345 IF NVL(p_singe_row_attrs_rec.FUNCTIONAL_NAME, G_MISS_CHAR) <> G_MISS_CHAR
2346 OR (NVL(p_singe_row_attrs_rec.FUNCTIONAL_NAME, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2347 l_prod_single_row_attrs.FUNCTIONAL_NAME IS NOT NULL AND l_validate_prod_rows)
2348 THEN
2349 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'FUNCTIONAL_NAME');
2350 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2351 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2352 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2353 FND_MSG_PUB.ADD;
2354 END IF;
2355
2356 IF NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
2357 OR (NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2358 l_prod_single_row_attrs.BRAND_OWNER_GLN IS NOT NULL AND l_validate_prod_rows)
2359 THEN
2360 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
2361 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2362 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2363 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2364 FND_MSG_PUB.ADD;
2365 END IF;
2366
2367 IF NVL(p_singe_row_attrs_rec.BRAND_OWNER_NAME, G_MISS_CHAR) <> G_MISS_CHAR
2368 OR (NVL(p_singe_row_attrs_rec.BRAND_OWNER_NAME, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2369 l_prod_single_row_attrs.BRAND_OWNER_NAME IS NOT NULL AND l_validate_prod_rows)
2370 THEN
2371 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_NAME');
2372 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2373 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2374 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2375 FND_MSG_PUB.ADD;
2376 END IF;
2377
2378 IF NVL(p_singe_row_attrs_rec.DIAMETER, G_MISS_NUM) <> G_MISS_NUM
2379 OR (NVL(p_singe_row_attrs_rec.DIAMETER, -1) <> G_MISS_NUM AND
2380 l_prod_single_row_attrs.DIAMETER IS NOT NULL AND l_validate_prod_rows)
2381 THEN
2382 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DIAMETER');
2383 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2384 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2385 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2386 FND_MSG_PUB.ADD;
2387 END IF;
2388
2389 IF NVL(p_singe_row_attrs_rec.DRAINED_WEIGHT, G_MISS_NUM) <> G_MISS_NUM
2390 OR (NVL(p_singe_row_attrs_rec.DRAINED_WEIGHT, -1) <> G_MISS_NUM AND
2391 l_prod_single_row_attrs.DRAINED_WEIGHT IS NOT NULL AND l_validate_prod_rows)
2392 THEN
2393 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DRAINED_WEIGHT');
2394 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2395 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2396 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2397 FND_MSG_PUB.ADD;
2398 END IF;
2399
2400 IF NVL(p_singe_row_attrs_rec.PEG_HORIZONTAL, G_MISS_NUM) <> G_MISS_NUM
2401 OR (NVL(p_singe_row_attrs_rec.PEG_HORIZONTAL, -1) <> G_MISS_NUM AND
2402 l_prod_single_row_attrs.PEG_HORIZONTAL IS NOT NULL AND l_validate_prod_rows)
2403 THEN
2404 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_HORIZONTAL');
2405 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2406 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2407 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2408 FND_MSG_PUB.ADD;
2409 END IF;
2410
2411 IF NVL(p_singe_row_attrs_rec.PEG_VERTICAL, G_MISS_NUM) <> G_MISS_NUM
2412 OR (NVL(p_singe_row_attrs_rec.PEG_VERTICAL, -1) <> G_MISS_NUM AND
2413 l_prod_single_row_attrs.PEG_VERTICAL IS NOT NULL AND l_validate_prod_rows)
2414 THEN
2415 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_VERTICAL');
2416 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2417 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2418 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2419 FND_MSG_PUB.ADD;
2420 END IF;
2421
2422 IF NVL(p_singe_row_attrs_rec.GENERIC_INGREDIENT, G_MISS_CHAR) <> G_MISS_CHAR
2423 OR (NVL(p_singe_row_attrs_rec.GENERIC_INGREDIENT, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2424 l_prod_single_row_attrs.GENERIC_INGREDIENT IS NOT NULL AND l_validate_prod_rows)
2425 THEN
2426 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GENERIC_INGREDIENT');
2427 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2428 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2429 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2430 FND_MSG_PUB.ADD;
2431 END IF;
2432
2433 IF NVL(p_singe_row_attrs_rec.GENERIC_INGREDIENT_STRGTH, G_MISS_NUM) <> G_MISS_NUM
2434 OR (NVL(p_singe_row_attrs_rec.GENERIC_INGREDIENT_STRGTH, -1) <> G_MISS_NUM AND
2435 l_prod_single_row_attrs.GENERIC_INGREDIENT_STRGTH IS NOT NULL AND l_validate_prod_rows)
2436 THEN
2437 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GENERIC_INGREDIENT_STRGTH');
2438 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2439 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2440 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2441 FND_MSG_PUB.ADD;
2442 END IF;
2443
2444 IF NVL(p_singe_row_attrs_rec.INGREDIENT_STRENGTH, G_MISS_CHAR) <> G_MISS_CHAR
2445 OR (NVL(p_singe_row_attrs_rec.INGREDIENT_STRENGTH, G_MISS_CHAR||'@') <> G_MISS_CHAR AND
2446 l_prod_single_row_attrs.INGREDIENT_STRENGTH IS NOT NULL AND l_validate_prod_rows)
2447 THEN
2448 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'INGREDIENT_STRENGTH');
2449 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2450 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2451 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2452 FND_MSG_PUB.ADD;
2453 END IF;
2454
2455 -- validating for multi row attributes
2456 -- validating the passed parameters
2457 IF p_multi_row_attrs_tbl.FIRST IS NOT NULL THEN
2458 l_index := p_multi_row_attrs_tbl.FIRST;
2459 WHILE l_index IS NOT NULL LOOP
2460 IF p_multi_row_attrs_tbl(l_index).TRANSACTION_TYPE <> 'DELETE' THEN
2461 IF NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_VALUE, G_MISS_CHAR) <> G_MISS_CHAR THEN
2462 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_VALUE');
2463 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2464 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2465 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2466 FND_MSG_PUB.ADD;
2467 END IF;
2468
2469 IF NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_LIST_AGENCY, G_MISS_CHAR) <> G_MISS_CHAR THEN
2470 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_LIST_AGENCY');
2471 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2472 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2473 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2474 FND_MSG_PUB.ADD;
2475 END IF;
2476
2477 IF NVL(p_multi_row_attrs_tbl(l_index).COUNTRY_OF_ORIGIN, G_MISS_CHAR) <> G_MISS_CHAR THEN
2478 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COUNTRY_OF_ORIGIN');
2479 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2480 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2481 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2482 FND_MSG_PUB.ADD;
2483 END IF;
2484
2485 IF NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_ID, G_MISS_NUM) <> G_MISS_NUM THEN
2486 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_ID');
2487 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2488 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2489 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2490 FND_MSG_PUB.ADD;
2491 END IF;
2492
2493 IF NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) <> G_MISS_CHAR THEN
2494 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
2495 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2496 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2497 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2498 FND_MSG_PUB.ADD;
2499 END IF;
2500
2501 IF NVL(p_multi_row_attrs_tbl(l_index).HANDLING_INSTRUCTIONS_CODE, G_MISS_CHAR) <> G_MISS_CHAR THEN
2502 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'HANDLING_INSTRUCTIONS_CODE');
2503 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2504 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2505 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2506 FND_MSG_PUB.ADD;
2507 END IF;
2508
2509 IF NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_LIST_AGENCY, G_MISS_CHAR) <> G_MISS_CHAR THEN
2510 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_LIST_AGENCY');
2511 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2512 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2513 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2514 FND_MSG_PUB.ADD;
2515 END IF;
2516
2517 IF NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_VALUE, G_MISS_CHAR) <> G_MISS_CHAR THEN
2518 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_VALUE');
2519 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTR_NOT_EDITABLE');
2520 FND_MESSAGE.Set_Token('GTID', l_gtid_disp);
2521 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2522 FND_MSG_PUB.ADD;
2523 END IF;
2524 END IF; -- if i.transaction_type <> 'DELETE'
2525 l_index := p_multi_row_attrs_tbl.NEXT(l_index);
2526 END LOOP; -- end loop while
2527 END IF; -- if p_multi_row_attrs_tbl.FIRST is not null
2528 END IF; -- 2. end
2529
2530 IF l_continue THEN
2531 -- 3. BrandOwnerGLN must be a number
2532 Debug_Msg('3. BrandOwnerGLN must be a number');
2533 l_bgln_valid := TRUE;
2534 IF NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, G_MISS_CHAR) <> G_MISS_CHAR THEN
2535 BEGIN
2536 l_brand_owner_gln := TO_NUMBER(p_singe_row_attrs_rec.BRAND_OWNER_GLN);
2537 EXCEPTION WHEN VALUE_ERROR THEN
2538 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
2539 FND_MESSAGE.Set_Name('EGO', 'EGO_BGLN_NOT_NUMBER');
2540 FND_MESSAGE.Set_Token('BGLN', l_attr1_disp);
2541 FND_MSG_PUB.ADD;
2542 l_bgln_valid := FALSE;
2543 END;
2544 END IF; -- 3.
2545
2546 -- 4. Length of BrandOwnerGLN must be 13
2547 Debug_Msg('4. Length of BrandOwnerGLN must be 13');
2548 IF NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
2549 AND LENGTH(p_singe_row_attrs_rec.BRAND_OWNER_GLN) <> 13 THEN
2550 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
2551 FND_MESSAGE.Set_Name('EGO', 'EGO_BGLN_INCORRECT_LENGTH');
2552 FND_MESSAGE.Set_Token('BGLN', l_attr1_disp);
2553 FND_MSG_PUB.ADD;
2554 l_bgln_valid := FALSE;
2555 END IF; -- 4.
2556
2557 -- 5. BrandOwnerGLN must have a valid check digit
2558 Debug_Msg('5. BrandOwnerGLN must have a valid check digit');
2559 IF l_bgln_valid AND NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN , G_MISS_CHAR) <> G_MISS_CHAR
2560 AND Is_Check_Digit_Invalid(p_singe_row_attrs_rec.BRAND_OWNER_GLN) THEN
2561 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
2562 FND_MESSAGE.Set_Name('EGO', 'EGO_BGLN_CHECKDIGIT_INVALID');
2563 FND_MESSAGE.Set_Token('BGLN', l_attr1_disp);
2564 FND_MSG_PUB.ADD;
2565 END IF; -- 5.
2566
2567 -- 6. BrandOwnerGLN and BrandOwnerName must co-exist
2568 Debug_Msg('6. BrandOwnerGLN and BrandOwnerName must co-exist');
2569 IF (NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, l_prod_single_row_attrs.BRAND_OWNER_GLN) IS NOT NULL
2570 AND NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
2571 AND (NVL(p_singe_row_attrs_rec.BRAND_OWNER_NAME, l_prod_single_row_attrs.BRAND_OWNER_NAME) IS NULL
2572 OR p_singe_row_attrs_rec.BRAND_OWNER_NAME = G_MISS_CHAR) )
2573 OR
2574 (NVL(p_singe_row_attrs_rec.BRAND_OWNER_NAME, l_prod_single_row_attrs.BRAND_OWNER_NAME) IS NOT NULL
2575 AND NVL(p_singe_row_attrs_rec.BRAND_OWNER_NAME, G_MISS_CHAR) <> G_MISS_CHAR
2576 AND (NVL(p_singe_row_attrs_rec.BRAND_OWNER_GLN, l_prod_single_row_attrs.BRAND_OWNER_GLN) IS NULL
2577 OR p_singe_row_attrs_rec.BRAND_OWNER_GLN = G_MISS_CHAR) ) THEN
2578 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_GLN');
2579 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'BRAND_OWNER_NAME');
2580 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTRS_MUST_COEXIST');
2581 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
2582 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
2583 FND_MSG_PUB.ADD;
2584 END IF; -- 6.
2585
2586 -- 7. EanuccCode and EanuccType must co-exist
2587 Debug_Msg('7. EanuccCode and EanuccType must co-exist');
2588 IF (NVL(p_singe_row_attrs_rec.EANUCC_CODE, l_prod_single_row_attrs.EANUCC_CODE) IS NOT NULL
2589 AND NVL(p_singe_row_attrs_rec.EANUCC_CODE, G_MISS_CHAR) <> G_MISS_CHAR
2590 AND (NVL(p_singe_row_attrs_rec.EANUCC_TYPE, l_prod_single_row_attrs.EANUCC_TYPE) IS NULL
2591 OR p_singe_row_attrs_rec.EANUCC_TYPE = G_MISS_CHAR) )
2592 OR
2593 (NVL(p_singe_row_attrs_rec.EANUCC_TYPE, l_prod_single_row_attrs.EANUCC_TYPE) IS NOT NULL
2594 AND NVL(p_singe_row_attrs_rec.EANUCC_TYPE, G_MISS_CHAR) <> G_MISS_CHAR
2595 AND (NVL(p_singe_row_attrs_rec.EANUCC_CODE, l_prod_single_row_attrs.EANUCC_CODE) IS NULL
2596 OR p_singe_row_attrs_rec.EANUCC_CODE = G_MISS_CHAR) ) THEN
2597 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2598 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_TYPE');
2599 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTRS_MUST_COEXIST');
2600 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
2601 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
2602 FND_MSG_PUB.ADD;
2603 END IF; -- 7.
2604
2605 -- 8. EanuccCode must be number
2606 Debug_Msg('8. EanuccCode must be number');
2607 l_eanucc_valid := TRUE;
2608 IF NVL(p_singe_row_attrs_rec.EANUCC_CODE, G_MISS_CHAR) <> G_MISS_CHAR THEN
2609 BEGIN
2610 l_eanucc_code_num := TO_NUMBER(p_singe_row_attrs_rec.EANUCC_CODE);
2611 EXCEPTION WHEN VALUE_ERROR THEN
2612 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2613 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_CODE_INVALID_NUMBER');
2614 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2615 FND_MSG_PUB.ADD;
2616 l_eanucc_valid := FALSE;
2617 END;
2618 END IF; -- 8.
2619
2620 -- 9. Length of EanuccCode must be equal to that specified by EanuccType
2621 Debug_Msg('9. Length of EanuccCode must be equal to that specified by EanuccType');
2622 l_eanucc_code := NVL(p_singe_row_attrs_rec.EANUCC_CODE, l_prod_single_row_attrs.EANUCC_CODE);
2623 l_eanucc_type := NVL(p_singe_row_attrs_rec.EANUCC_TYPE, l_prod_single_row_attrs.EANUCC_TYPE);
2624 IF l_eanucc_code = G_MISS_CHAR THEN
2625 l_eanucc_code := NULL;
2626 END IF;
2627 IF l_eanucc_type = G_MISS_CHAR THEN
2628 l_eanucc_type := NULL;
2629 END IF;
2630
2631 IF l_eanucc_code IS NOT NULL AND l_eanucc_type IS NOT NULL THEN
2632 l_eanucc_code_length := LENGTH(l_eanucc_code);
2633 IF (EANUCC_CODE_UG = l_eanucc_type AND EANUCC_CODE_UG_LENGTH <> l_eanucc_code_length) OR
2634 (EANUCC_CODE_UH = l_eanucc_type AND EANUCC_CODE_UH_LENGTH <> l_eanucc_code_length) OR
2635 (EANUCC_CODE_EN = l_eanucc_type AND EANUCC_CODE_EN_LENGTH <> l_eanucc_code_length) OR
2636 (EANUCC_CODE_UK = l_eanucc_type AND EANUCC_CODE_UK_LENGTH <> l_eanucc_code_length) OR
2637 (EANUCC_CODE_UP = l_eanucc_type AND EANUCC_CODE_UP_LENGTH <> l_eanucc_code_length) OR
2638 (EANUCC_CODE_UI = l_eanucc_type AND EANUCC_CODE_UI_LENGTH <> l_eanucc_code_length) OR
2639 (EANUCC_CODE_UD = l_eanucc_type AND EANUCC_CODE_UD_LENGTH <> l_eanucc_code_length) OR
2640 (EANUCC_CODE_UE = l_eanucc_type AND EANUCC_CODE_UE_LENGTH <> l_eanucc_code_length) OR
2641 (EANUCC_CODE_UA = l_eanucc_type AND EANUCC_CODE_UA_LENGTH <> l_eanucc_code_length) OR
2642 (EANUCC_CODE_UN = l_eanucc_type AND EANUCC_CODE_UN_LENGTH <> l_eanucc_code_length) OR
2643 (EANUCC_CODE_U2 = l_eanucc_type AND EANUCC_CODE_U2_LENGTH <> l_eanucc_code_length) THEN
2644 l_eanucc_code_req_length := 0;
2645 IF EANUCC_CODE_UG = l_eanucc_type THEN
2646 l_eanucc_code_req_length := EANUCC_CODE_UG_LENGTH;
2647 ELSIF EANUCC_CODE_UH = l_eanucc_type THEN
2648 l_eanucc_code_req_length := EANUCC_CODE_UH_LENGTH;
2649 ELSIF EANUCC_CODE_EN = l_eanucc_type THEN
2650 l_eanucc_code_req_length := EANUCC_CODE_EN_LENGTH;
2651 ELSIF EANUCC_CODE_UK = l_eanucc_type THEN
2652 l_eanucc_code_req_length := EANUCC_CODE_UK_LENGTH;
2653 ELSIF EANUCC_CODE_UP = l_eanucc_type THEN
2654 l_eanucc_code_req_length := EANUCC_CODE_UP_LENGTH;
2655 ELSIF EANUCC_CODE_UI = l_eanucc_type THEN
2656 l_eanucc_code_req_length := EANUCC_CODE_UI_LENGTH;
2657 ELSIF EANUCC_CODE_UD = l_eanucc_type THEN
2658 l_eanucc_code_req_length := EANUCC_CODE_UD_LENGTH;
2659 ELSIF EANUCC_CODE_UE = l_eanucc_type THEN
2660 l_eanucc_code_req_length := EANUCC_CODE_UE_LENGTH;
2661 ELSIF EANUCC_CODE_UA = l_eanucc_type THEN
2662 l_eanucc_code_req_length := EANUCC_CODE_UA_LENGTH;
2663 ELSIF EANUCC_CODE_UN = l_eanucc_type THEN
2664 l_eanucc_code_req_length := EANUCC_CODE_UN_LENGTH;
2665 ELSIF EANUCC_CODE_U2 = l_eanucc_type THEN
2666 l_eanucc_code_req_length := EANUCC_CODE_U2_LENGTH;
2667 END IF;
2668
2669 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2670 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_TYPE');
2671 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_CODE_INVALID_LENGTH');
2672 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2673 FND_MESSAGE.Set_Token('LENGTH', l_eanucc_code_req_length);
2674 FND_MESSAGE.Set_Token('EANUCC_TYPE', l_attr2_disp);
2675 FND_MSG_PUB.ADD;
2676 l_eanucc_valid := FALSE;
2677 END IF;
2678 END IF; -- 9.
2679
2680 -- 10. EanuccCode can not start with 098 or 099
2681 Debug_Msg('10. EanuccCode can not start with 098 or 099');
2682 IF SUBSTR(p_singe_row_attrs_rec.EANUCC_CODE, 1, 3) IN ('098', '099') THEN
2683 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2684 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_1TO3DIGIT_INVALID');
2685 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2686 FND_MSG_PUB.ADD;
2687 l_eanucc_valid := FALSE;
2688 END IF; -- 10.
2689
2690 -- 11. EanuccCode must have a valid check digit
2691 Debug_Msg('11. EanuccCode must have a valid check digit');
2692 IF l_eanucc_valid AND NVL(p_singe_row_attrs_rec.EANUCC_CODE, G_MISS_CHAR) <> G_MISS_CHAR
2693 AND Is_Check_Digit_Invalid(p_singe_row_attrs_rec.EANUCC_CODE) THEN
2694 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2695 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_CHECKDIGIT_INVALID');
2696 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2697 FND_MSG_PUB.ADD;
2698 l_eanucc_valid := FALSE;
2699 END IF; -- 11.
2700
2701 -- 12. EanuccCode and EanuccType must be unique
2702 Debug_Msg('12. EanuccCode and EanuccType must be unique');
2703 IF l_eanucc_valid AND l_eanucc_code IS NOT NULL AND l_eanucc_type IS NOT NULL THEN
2704 BEGIN
2705 SELECT MSIK.INVENTORY_ITEM_ID, CONCATENATED_SEGMENTS INTO l_item_id, l_item_number
2706 FROM MTL_SYSTEM_ITEMS_KFV MSIK, EGO_ITEM_GTN_ATTRS_B EGA
2707 WHERE EGA.INVENTORY_ITEM_ID = MSIK.INVENTORY_ITEM_ID
2708 AND EGA.ORGANIZATION_ID = MSIK.ORGANIZATION_ID
2709 AND EGA.EANUCC_CODE = l_eanucc_code
2710 AND EGA.EANUCC_TYPE = l_eanucc_type
2711 AND ROWNUM = 1;
2712
2713 IF (l_item_id <> p_inventory_item_id) THEN
2714 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2715 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_TYPE');
2716 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_NOT_UNIQUE');
2717 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2718 FND_MESSAGE.Set_Token('EANUCC_TYPE', l_attr2_disp);
2719 FND_MESSAGE.Set_Token('ITEM', l_item_number);
2720 FND_MSG_PUB.ADD;
2721 END IF;
2722 EXCEPTION WHEN NO_DATA_FOUND THEN
2723 IF NVL(G_CALLED_FROM_INTF, 'N') = 'Y' THEN
2724 BEGIN
2725 SELECT INVENTORY_ITEM_ID, ITEM_NUMBER INTO l_item_id, l_item_number
2726 FROM
2727 (
2728 SELECT
2729 INVENTORY_ITEM_ID,
2730 ITEM_NUMBER,
2731 MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'Eanucc_Code', ATTR_VALUE_STR, null), null)) AS EANUCC_CODE,
2732 MAX(DECODE(ATTR_GROUP_INT_NAME, 'Trade_Item_Description', DECODE(ATTR_INT_NAME, 'EANUCC_Type', ATTR_VALUE_STR, null), null)) AS EANUCC_TYPE
2733 FROM EGO_ITM_USR_ATTR_INTRFC
2734 WHERE ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_ATTRS'
2735 AND DATA_SET_ID = G_DATA_SET_ID
2736 AND PROCESS_STATUS = 2
2737 AND INVENTORY_ITEM_ID <> p_inventory_item_id
2738 GROUP BY INVENTORY_ITEM_ID, ITEM_NUMBER
2739 )
2740 WHERE EANUCC_CODE = l_eanucc_code
2741 AND EANUCC_TYPE = l_eanucc_type
2742 AND ROWNUM = 1;
2743
2744 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_CODE');
2745 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EANUCC_TYPE');
2746 FND_MESSAGE.Set_Name('EGO', 'EGO_EANUCC_NOT_UNIQUE');
2747 FND_MESSAGE.Set_Token('EANUCC_CODE', l_attr1_disp);
2748 FND_MESSAGE.Set_Token('EANUCC_TYPE', l_attr2_disp);
2749 FND_MESSAGE.Set_Token('ITEM', l_item_number);
2750 FND_MSG_PUB.ADD;
2751 EXCEPTION WHEN NO_DATA_FOUND THEN
2752 NULL;
2753 END;
2754 END IF; --IF NVL(G_CALLED_FROM_INTF, 'N') = 'Y' THEN
2755 END;
2756 END IF; -- 12.
2757
2758 -- 13. If Catalog Price is specified, Effective Start Date has to be specified
2759 Debug_Msg('13. If Catalog Price is specified, Effective Start Date has to be specified');
2760 IF (NVL(p_singe_row_attrs_rec.CATALOG_PRICE, l_prod_single_row_attrs.CATALOG_PRICE) IS NOT NULL
2761 AND NVL(p_singe_row_attrs_rec.CATALOG_PRICE, G_MISS_NUM) <> G_MISS_NUM
2762 AND (NVL(p_singe_row_attrs_rec.EFFECTIVE_START_DATE, l_prod_single_row_attrs.EFFECTIVE_START_DATE) IS NULL
2763 OR p_singe_row_attrs_rec.EFFECTIVE_START_DATE = G_MISS_DATE) ) THEN
2764 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_START_DATE');
2765 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'CATALOG_PRICE');
2766 FND_MESSAGE.Set_Name('EGO', 'EGO_EFFSTARTDT_REQD');
2767 FND_MESSAGE.Set_Token('EFF_ST_DT', l_attr1_disp);
2768 FND_MESSAGE.Set_Token('RETAIL_CATALOG', l_attr2_disp);
2769 FND_MSG_PUB.ADD;
2770 END IF; -- 13.
2771
2772 -- 14. If Suggested Retail Price is specified, Effective Start Date has to be specified
2773 Debug_Msg('14. If Suggested Retail Price is specified, Effective Start Date has to be specified');
2774 IF (NVL(p_singe_row_attrs_rec.SUGGESTED_RETAIL_PRICE, l_prod_single_row_attrs.SUGGESTED_RETAIL_PRICE) IS NOT NULL
2775 AND NVL(p_singe_row_attrs_rec.SUGGESTED_RETAIL_PRICE, G_MISS_NUM) <> G_MISS_NUM
2776 AND (NVL(p_singe_row_attrs_rec.EFFECTIVE_START_DATE, l_prod_single_row_attrs.EFFECTIVE_START_DATE) IS NULL
2777 OR p_singe_row_attrs_rec.EFFECTIVE_START_DATE = G_MISS_DATE) ) THEN
2778 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_START_DATE');
2779 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'SUGGESTED_RETAIL_PRICE');
2780 FND_MESSAGE.Set_Name('EGO', 'EGO_EFFSTARTDT_REQD');
2781 FND_MESSAGE.Set_Token('EFF_ST_DT', l_attr1_disp);
2782 FND_MESSAGE.Set_Token('RETAIL_CATALOG', l_attr2_disp);
2783 FND_MSG_PUB.ADD;
2784 END IF; -- 14.
2785
2786 -- validating multi row attributes
2787 IF p_multi_row_attrs_tbl.FIRST IS NOT NULL THEN
2788 l_index := p_multi_row_attrs_tbl.FIRST;
2789 WHILE l_index IS NOT NULL LOOP
2790 -- 15. If any of the Hazardous attributes are populated then all are required
2791 Debug_Msg('15. If any of the Hazardous attributes are populated then all are required');
2792 l_dngr_goods_margin_number := NULL;
2793 l_dngr_goods_hazardous_code := NULL;
2794 l_dngr_goods_pack_group := NULL;
2795 l_dngr_goods_reg_code := NULL;
2796 l_dngr_goods_shipping_name := NULL;
2797 l_united_nations_dang_goods_no := NULL;
2798 l_flash_point_temp := NULL;
2799 l_uom_flash_point_temp := NULL;
2800 l_dngr_goods_technical_name := NULL;
2801 IF p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CODE <> G_MISS_CHAR AND
2802 p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CODE IS NOT NULL
2803 THEN
2804 BEGIN
2805 SELECT
2806 DANGEROUS_GOODS_MARGIN_NUMBER,
2807 DANGEROUS_GOODS_HAZARDOUS_CODE,
2808 DANGEROUS_GOODS_PACK_GROUP,
2809 DANGEROUS_GOODS_REG_CODE,
2810 DANGEROUS_GOODS_SHIPPING_NAME,
2811 UNITED_NATIONS_DANG_GOODS_NO,
2812 FLASH_POINT_TEMP,
2813 UOM_FLASH_POINT_TEMP,
2814 DANGEROUS_GOODS_TECHNICAL_NAME
2815 INTO
2816 l_dngr_goods_margin_number,
2817 l_dngr_goods_hazardous_code,
2818 l_dngr_goods_pack_group,
2819 l_dngr_goods_reg_code,
2820 l_dngr_goods_shipping_name,
2821 l_united_nations_dang_goods_no,
2822 l_flash_point_temp,
2823 l_uom_flash_point_temp,
2824 l_dngr_goods_technical_name
2825 FROM EGO_ITM_GTN_MUL_ATTRS_VL eigmav, EGO_ATTR_GROUPS_V eagv
2826 WHERE eigmav.INVENTORY_ITEM_ID = p_inventory_item_id
2827 AND eigmav.ORGANIZATION_ID = p_organization_id
2828 AND eigmav.ATTR_GROUP_ID = eagv.ATTR_GROUP_ID
2829 AND eagv.ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_MULTI_ATTRS'
2830 AND eagv.APPLICATION_ID = EGO_APPL_ID
2831 AND eagv.ATTR_GROUP_NAME = 'Hazardous_Information'
2832 AND eigmav.CLASS_OF_DANGEROUS_CODE = p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CODE;
2833 EXCEPTION WHEN NO_DATA_FOUND THEN
2834 NULL;
2835 END;
2836 END IF; --IF p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CO
2837
2838 IF (NVL(p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CODE, G_MISS_CHAR) <> G_MISS_CHAR OR
2839 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_MARGIN_NUMBER, G_MISS_CHAR) <> G_MISS_CHAR OR
2840 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE, G_MISS_CHAR) <> G_MISS_CHAR OR
2841 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_PACK_GROUP, G_MISS_CHAR) <> G_MISS_CHAR OR
2842 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_REG_CODE, G_MISS_CHAR) <> G_MISS_CHAR OR
2843 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_SHIPPING_NAME, G_MISS_CHAR) <> G_MISS_CHAR OR
2844 NVL(p_multi_row_attrs_tbl(l_index).UNITED_NATIONS_DANG_GOODS_NO, G_MISS_NUM) <> G_MISS_NUM OR
2845 NVL(p_multi_row_attrs_tbl(l_index).FLASH_POINT_TEMP, G_MISS_NUM) <> G_MISS_NUM OR
2846 NVL(p_multi_row_attrs_tbl(l_index).UOM_FLASH_POINT_TEMP, G_MISS_CHAR) <> G_MISS_CHAR OR
2847 NVL(p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_TECHNICAL_NAME, G_MISS_CHAR) <> G_MISS_CHAR
2848 )
2849 THEN
2850 IF NVL(p_multi_row_attrs_tbl(l_index).CLASS_OF_DANGEROUS_CODE, G_MISS_CHAR) = G_MISS_CHAR THEN
2851 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'CLASS_OF_DANGEROUS_CODE');
2852 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2853 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2854 FND_MSG_PUB.ADD;
2855 END IF;
2856
2857 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_MARGIN_NUMBER = G_MISS_CHAR OR
2858 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_MARGIN_NUMBER IS NULL
2859 AND l_dngr_goods_margin_number IS NULL)
2860 )
2861 THEN
2862 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_MARGIN_NUMBER');
2863 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2864 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2865 FND_MSG_PUB.ADD;
2866 END IF;
2867
2868 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE = G_MISS_CHAR OR
2869 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE IS NULL
2870 AND l_dngr_goods_hazardous_code IS NULL)
2871 )
2872 THEN
2873 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_HAZARDOUS_CODE');
2874 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2875 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2876 FND_MSG_PUB.ADD;
2877 END IF;
2878
2879 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_PACK_GROUP = G_MISS_CHAR OR
2880 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_PACK_GROUP IS NULL
2881 AND l_dngr_goods_pack_group IS NULL)
2882 )
2883 THEN
2884 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_PACK_GROUP');
2885 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2886 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2887 FND_MSG_PUB.ADD;
2888 END IF;
2889
2890 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_REG_CODE = G_MISS_CHAR OR
2891 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_REG_CODE IS NULL
2892 AND l_dngr_goods_reg_code IS NULL)
2893 )
2894 THEN
2895 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_REG_CODE');
2896 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2897 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2898 FND_MSG_PUB.ADD;
2899 END IF;
2900
2901 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_SHIPPING_NAME = G_MISS_CHAR OR
2902 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_SHIPPING_NAME IS NULL
2903 AND l_dngr_goods_shipping_name IS NULL)
2904 )
2905 THEN
2906 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_SHIPPING_NAME');
2907 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2908 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2909 FND_MSG_PUB.ADD;
2910 END IF;
2911
2912 IF (p_multi_row_attrs_tbl(l_index).UNITED_NATIONS_DANG_GOODS_NO = G_MISS_NUM OR
2913 (p_multi_row_attrs_tbl(l_index).UNITED_NATIONS_DANG_GOODS_NO IS NULL
2914 AND l_united_nations_dang_goods_no IS NULL)
2915 )
2916 THEN
2917 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'UNITED_NATIONS_DANG_GOODS_NO');
2918 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2919 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2920 FND_MSG_PUB.ADD;
2921 END IF;
2922
2923 IF (p_multi_row_attrs_tbl(l_index).FLASH_POINT_TEMP = G_MISS_NUM OR
2924 (p_multi_row_attrs_tbl(l_index).FLASH_POINT_TEMP IS NULL
2925 AND l_flash_point_temp IS NULL)
2926 )
2927 THEN
2928 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'FLASH_POINT_TEMP');
2929 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2930 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2931 FND_MSG_PUB.ADD;
2932 END IF;
2933
2934 IF (p_multi_row_attrs_tbl(l_index).UOM_FLASH_POINT_TEMP = G_MISS_CHAR OR
2935 (p_multi_row_attrs_tbl(l_index).UOM_FLASH_POINT_TEMP IS NULL
2936 AND l_uom_flash_point_temp IS NULL)
2937 )
2938 THEN
2939 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'UOM_FLASH_POINT_TEMP');
2940 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2941 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2942 FND_MSG_PUB.ADD;
2943 END IF;
2944
2945 IF (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_TECHNICAL_NAME = G_MISS_CHAR OR
2946 (p_multi_row_attrs_tbl(l_index).DANGEROUS_GOODS_TECHNICAL_NAME IS NULL
2947 AND l_dngr_goods_technical_name IS NULL)
2948 )
2949 THEN
2950 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'DANGEROUS_GOODS_TECHNICAL_NAME');
2951 FND_MESSAGE.Set_Name('EGO', 'EGO_MISSING_HAZ_ATTR');
2952 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
2953 FND_MSG_PUB.ADD;
2954 END IF;
2955 END IF; -- 15.
2956
2957 -- 16. ColorCodeListAgency and ColorCodeValue must co-exist
2958 Debug_Msg('16. ColorCodeListAgency and ColorCodeValue must co-exist');
2959 IF (p_multi_row_attrs_tbl(l_index).COLOR_CODE_LIST_AGENCY IS NOT NULL
2960 AND NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_LIST_AGENCY, G_MISS_CHAR) <> G_MISS_CHAR
2961 AND NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_VALUE, G_MISS_CHAR) = G_MISS_CHAR)
2962 OR
2963 (p_multi_row_attrs_tbl(l_index).COLOR_CODE_VALUE IS NOT NULL
2964 AND NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_VALUE, G_MISS_CHAR) <> G_MISS_CHAR
2965 AND NVL(p_multi_row_attrs_tbl(l_index).COLOR_CODE_LIST_AGENCY, G_MISS_CHAR) = G_MISS_CHAR) THEN
2966 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_LIST_AGENCY');
2967 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'COLOR_CODE_VALUE');
2968 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTRS_MUST_COEXIST');
2969 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
2970 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
2971 FND_MSG_PUB.ADD;
2972 END IF; -- 16.
2973
2974 -- 17. Size Code value and Size Code List Agency must coexist
2975 Debug_Msg('17. Size Code value and Size Code List Agency must coexist');
2976 IF (p_multi_row_attrs_tbl(l_index).SIZE_CODE_LIST_AGENCY IS NOT NULL
2977 AND NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_LIST_AGENCY, G_MISS_CHAR) <> G_MISS_CHAR
2978 AND NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_VALUE, G_MISS_CHAR) = G_MISS_CHAR)
2979 OR
2980 (p_multi_row_attrs_tbl(l_index).SIZE_CODE_VALUE IS NOT NULL
2981 AND NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_VALUE, G_MISS_CHAR) <> G_MISS_CHAR
2982 AND NVL(p_multi_row_attrs_tbl(l_index).SIZE_CODE_LIST_AGENCY, G_MISS_CHAR) = G_MISS_CHAR) THEN
2983 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_LIST_AGENCY');
2984 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'SIZE_CODE_VALUE');
2985 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTRS_MUST_COEXIST');
2986 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
2987 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
2988 FND_MSG_PUB.ADD;
2989 END IF; -- 17.
2990
2991 -- 18. ManufacturerGLN and ManufacturerName must coexist
2992 Debug_Msg('18. ManufacturerGLN and ManufacturerName must coexist');
2993 l_manufacturer_id := NULL;
2994 IF p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN IS NOT NULL THEN
2995 BEGIN
2996 SELECT MANUFACTURER_ID INTO l_manufacturer_id
2997 FROM EGO_ITM_GTN_MUL_ATTRS_VL eigmav, EGO_ATTR_GROUPS_V eagv
2998 WHERE eigmav.INVENTORY_ITEM_ID = p_inventory_item_id
2999 AND eigmav.ORGANIZATION_ID = p_organization_id
3000 AND eigmav.ATTR_GROUP_ID = eagv.ATTR_GROUP_ID
3001 AND eagv.ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_MULTI_ATTRS'
3002 AND eagv.APPLICATION_ID = EGO_APPL_ID
3003 AND eagv.ATTR_GROUP_NAME = 'Manufacturing_Info'
3004 AND eigmav.MANUFACTURER_GLN = p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN;
3005 EXCEPTION WHEN NO_DATA_FOUND THEN
3006 NULL;
3007 END;
3008 END IF; --IF p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN IS NOT NULL THEN
3009
3010 IF (p_multi_row_attrs_tbl(l_index).MANUFACTURER_ID IS NOT NULL
3011 AND NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_ID, G_MISS_NUM) <> G_MISS_NUM
3012 AND NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) = G_MISS_CHAR
3013 )
3014 OR
3015 (p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN IS NOT NULL
3016 AND NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
3017 AND (p_multi_row_attrs_tbl(l_index).MANUFACTURER_ID = G_MISS_NUM OR
3018 (p_multi_row_attrs_tbl(l_index).MANUFACTURER_ID IS NULL AND l_manufacturer_id IS NULL)
3019 )
3020 )
3021 THEN
3022 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
3023 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_ID');
3024 FND_MESSAGE.Set_Name('EGO', 'EGO_ATTRS_MUST_COEXIST');
3025 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
3026 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
3027 FND_MSG_PUB.ADD;
3028 END IF; -- 18.
3029
3030 -- 19. ManufacturerGLN must be a number
3031 Debug_Msg('19. ManufacturerGLN must be a number');
3032 l_mgln_valid := TRUE;
3033 IF NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) <> G_MISS_CHAR THEN
3034 BEGIN
3035 l_manufacturer_gln := TO_NUMBER(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN);
3036 EXCEPTION WHEN VALUE_ERROR THEN
3037 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
3038 FND_MESSAGE.Set_Name('EGO', 'EGO_MGLN_NOT_NUMBER');
3039 FND_MESSAGE.Set_Token('MGLN_VALUE', p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN);
3040 FND_MESSAGE.Set_Token('MGLN', l_attr1_disp);
3041 FND_MSG_PUB.ADD;
3042 l_mgln_valid := FALSE;
3043 END;
3044 END IF; -- 19.
3045
3046 -- 20. Length of ManufacturerGLN must be 13
3047 Debug_Msg('20. Length of ManufacturerGLN must be 13');
3048 IF NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
3049 AND LENGTH(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN) <> 13 THEN
3050 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
3051 FND_MESSAGE.Set_Name('EGO', 'EGO_MGLN_INCORRECT_LENGTH');
3052 FND_MESSAGE.Set_Token('MGLN_VALUE', p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN);
3053 FND_MESSAGE.Set_Token('MGLN', l_attr1_disp);
3054 FND_MSG_PUB.ADD;
3055 l_mgln_valid := FALSE;
3056 END IF; -- 20.
3057
3058 -- 21. ManufacturerGLN must have a valid check digit
3059 Debug_Msg('21. ManufacturerGLN must have a valid check digit');
3060 IF l_mgln_valid AND NVL(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN, G_MISS_CHAR) <> G_MISS_CHAR
3061 AND Is_Check_Digit_Invalid(p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN) THEN
3062 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_MULTI_ATTRS', 'MANUFACTURER_GLN');
3063 FND_MESSAGE.Set_Name('EGO', 'EGO_MGLN_CHECKDIGIT_INVALID');
3064 FND_MESSAGE.Set_Token('MGLN_VALUE', p_multi_row_attrs_tbl(l_index).MANUFACTURER_GLN);
3065 FND_MESSAGE.Set_Token('MGLN', l_attr1_disp);
3066 FND_MSG_PUB.ADD;
3067 END IF; -- 21.
3068 l_index := p_multi_row_attrs_tbl.NEXT(l_index);
3069 END LOOP; -- multi row validations
3070 END IF;
3071
3072 -- 22. Uom is required for NET_CONTENT
3073 Debug_Msg('22. Uom is required for NET_CONTENT');
3074 IF NVL(p_singe_row_attrs_rec.NET_CONTENT, G_MISS_NUM) <> G_MISS_NUM
3075 AND (p_singe_row_attrs_rec.UOM_NET_CONTENT = G_MISS_CHAR
3076 OR (l_prod_single_row_attrs.UOM_NET_CONTENT IS NULL AND p_singe_row_attrs_rec.UOM_NET_CONTENT IS NULL)
3077 )
3078 THEN
3079 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'NET_CONTENT');
3080 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3081 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3082 FND_MSG_PUB.ADD;
3083 END IF; -- 22.
3084
3085 -- 23. Uom is required for GROSS_WEIGHT
3086 Debug_Msg('23. Uom is required for GROSS_WEIGHT');
3087 IF NVL(p_singe_row_attrs_rec.GROSS_WEIGHT, G_MISS_NUM) <> G_MISS_NUM
3088 AND NVL(p_singe_row_attrs_rec.UOM_GROSS_WEIGHT, G_MISS_CHAR) = G_MISS_CHAR THEN
3089 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GROSS_WEIGHT');
3090 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3091 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3092 FND_MSG_PUB.ADD;
3093 END IF; -- 23.
3094
3095 -- 24. Uom is required for PEG_VERTICAL
3096 Debug_Msg('24. Uom is required for PEG_VERTICAL');
3097 IF NVL(p_singe_row_attrs_rec.PEG_VERTICAL, G_MISS_NUM) <> G_MISS_NUM
3098 AND NVL(p_singe_row_attrs_rec.UOM_PEG_VERTICAL, G_MISS_CHAR) = G_MISS_CHAR THEN
3099 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_VERTICAL');
3100 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3101 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3102 FND_MSG_PUB.ADD;
3103 END IF; -- 24.
3104
3105 -- 25. Uom is required for PEG_HORIZONTAL
3106 Debug_Msg('25. Uom is required for PEG_HORIZONTAL');
3107 IF NVL(p_singe_row_attrs_rec.PEG_HORIZONTAL, G_MISS_NUM) <> G_MISS_NUM
3108 AND NVL(p_singe_row_attrs_rec.UOM_PEG_HORIZONTAL, G_MISS_CHAR) = G_MISS_CHAR THEN
3109 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PEG_HORIZONTAL');
3110 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3111 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3112 FND_MSG_PUB.ADD;
3113 END IF; -- 25.
3114
3115 -- 26. Uom is required for DRAINED_WEIGHT
3116 Debug_Msg('26. Uom is required for DRAINED_WEIGHT');
3117 IF NVL(p_singe_row_attrs_rec.DRAINED_WEIGHT, G_MISS_NUM) <> G_MISS_NUM
3118 AND NVL(p_singe_row_attrs_rec.UOM_DRAINED_WEIGHT, G_MISS_CHAR) = G_MISS_CHAR THEN
3119 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DRAINED_WEIGHT');
3120 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3121 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3122 FND_MSG_PUB.ADD;
3123 END IF; -- 26.
3124
3125 -- 27. Uom is required for DIAMETER
3126 Debug_Msg('27. Uom is required for DIAMETER');
3127 IF NVL(p_singe_row_attrs_rec.DIAMETER, G_MISS_NUM) <> G_MISS_NUM
3128 AND NVL(p_singe_row_attrs_rec.UOM_DIAMETER, G_MISS_CHAR) = G_MISS_CHAR THEN
3129 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DIAMETER');
3130 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3131 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3132 FND_MSG_PUB.ADD;
3133 END IF; -- 27.
3134
3135 -- 28. Uom is required for ORDERING_LEAD_TIME
3136 Debug_Msg('28. Uom is required for ORDERING_LEAD_TIME');
3137 IF NVL(p_singe_row_attrs_rec.ORDERING_LEAD_TIME, G_MISS_NUM) <> G_MISS_NUM
3138 AND NVL(p_singe_row_attrs_rec.UOM_ORDERING_LEAD_TIME, G_MISS_CHAR) = G_MISS_CHAR THEN
3139 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDERING_LEAD_TIME');
3140 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3141 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3142 FND_MSG_PUB.ADD;
3143 END IF; -- 28.
3144
3145 -- 29. Uom is required for GENERIC_INGREDIENT_STRGTH
3146 Debug_Msg('29. Uom is required for GENERIC_INGREDIENT_STRGTH');
3147 IF NVL(p_singe_row_attrs_rec.GENERIC_INGREDIENT_STRGTH, G_MISS_NUM) <> G_MISS_NUM
3148 AND NVL(p_singe_row_attrs_rec.UOM_GENERIC_INGREDIENT_STRGTH, G_MISS_CHAR) = G_MISS_CHAR THEN
3149 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'GENERIC_INGREDIENT_STRGTH');
3150 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3151 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3152 FND_MSG_PUB.ADD;
3153 END IF; -- 29.
3154
3155 -- 30. Uom is required for STACKING_WEIGHT_MAXIMUM
3156 Debug_Msg('30. Uom is required for STACKING_WEIGHT_MAXIMUM');
3157 IF NVL(p_singe_row_attrs_rec.STACKING_WEIGHT_MAXIMUM, G_MISS_NUM) <> G_MISS_NUM
3158 AND NVL(p_singe_row_attrs_rec.UOM_STACKING_WEIGHT_MAXIMUM, G_MISS_CHAR) = G_MISS_CHAR THEN
3159 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STACKING_WEIGHT_MAXIMUM');
3160 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3161 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3162 FND_MSG_PUB.ADD;
3163 END IF; -- 30.
3164
3165 -- 31. Uom is required for PIECES_PER_TRADE_ITEM
3166 Debug_Msg('31. Uom is required for PIECES_PER_TRADE_ITEM');
3167 IF NVL(p_singe_row_attrs_rec.PIECES_PER_TRADE_ITEM, G_MISS_NUM) <> G_MISS_NUM
3168 AND NVL(p_singe_row_attrs_rec.UOM_PIECES_PER_TRADE_ITEM, G_MISS_CHAR) = G_MISS_CHAR THEN
3169 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'PIECES_PER_TRADE_ITEM');
3170 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3171 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3172 FND_MSG_PUB.ADD;
3173 END IF; -- 31.
3174
3175 -- 32. Uom is required for NESTING_INCREMENT
3176 Debug_Msg('32. Uom is required for NESTING_INCREMENT');
3177 IF NVL(p_singe_row_attrs_rec.NESTING_INCREMENT, G_MISS_NUM) <> G_MISS_NUM
3178 AND NVL(p_singe_row_attrs_rec.UOM_NESTING_INCREMENT, G_MISS_CHAR) = G_MISS_CHAR THEN
3179 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'NESTING_INCREMENT');
3180 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3181 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3182 FND_MSG_PUB.ADD;
3183 END IF; -- 32.
3184
3185 -- 33. Uom is required for DEL_TO_DIST_CNTR_TEMP_MIN
3186 Debug_Msg('33. Uom is required for DEL_TO_DIST_CNTR_TEMP_MIN');
3187 IF NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
3188 AND (p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN = G_MISS_CHAR
3189 OR (l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NULL
3190 AND p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NULL)
3191 )
3192 THEN
3193 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
3194 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3195 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3196 FND_MSG_PUB.ADD;
3197 END IF; -- 33.
3198
3199 -- 34. Uom is required for DEL_TO_DIST_CNTR_TEMP_MAX
3200 Debug_Msg('34. Uom is required for DEL_TO_DIST_CNTR_TEMP_MAX');
3201 IF NVL(p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
3202 AND (p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX = G_MISS_CHAR
3203 OR (l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NULL
3204 AND p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NULL)
3205 )
3206 THEN
3207 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
3208 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3209 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3210 FND_MSG_PUB.ADD;
3211 END IF; -- 34.
3212
3213 -- 35. Uom is required for DELIVERY_TO_MRKT_TEMP_MIN
3214 Debug_Msg('35. Uom is required for DELIVERY_TO_MRKT_TEMP_MIN');
3215 IF NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
3216 AND (p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN = G_MISS_CHAR
3217 OR (l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NULL
3218 AND p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NULL)
3219 )
3220 THEN
3221 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
3222 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3223 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3224 FND_MSG_PUB.ADD;
3225 END IF; -- 35.
3226
3227 -- 36. Uom is required for DELIVERY_TO_MRKT_TEMP_MAX
3228 Debug_Msg('36. Uom is required for DELIVERY_TO_MRKT_TEMP_MAX');
3229 IF NVL(p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
3230 AND (p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX = G_MISS_CHAR
3231 OR (l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NULL
3232 AND p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NULL)
3233 )
3234 THEN
3235 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MAX');
3236 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3237 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3238 FND_MSG_PUB.ADD;
3239 END IF; -- 36.
3240
3241 -- 37. Uom is required for STORAGE_HANDLING_TEMP_MIN
3242 Debug_Msg('37. Uom is required for STORAGE_HANDLING_TEMP_MIN');
3243 IF NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN, G_MISS_NUM) <> G_MISS_NUM
3244 AND (p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN = G_MISS_CHAR
3245 OR (l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN IS NULL
3246 AND p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN IS NULL)
3247 )
3248 THEN
3249 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
3250 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3251 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3252 FND_MSG_PUB.ADD;
3253 END IF; -- 37.
3254
3255 -- 38. Uom is required for STORAGE_HANDLING_TEMP_MAX
3256 Debug_Msg('38. Uom is required for STORAGE_HANDLING_TEMP_MAX');
3257 IF NVL(p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX, G_MISS_NUM) <> G_MISS_NUM
3258 AND (p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX = G_MISS_CHAR
3259 OR (l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX IS NULL
3260 AND p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX IS NULL)
3261 )
3262 THEN
3263 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
3264 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_REQD');
3265 FND_MESSAGE.Set_Token('ATTR_NAME', l_attr1_disp);
3266 FND_MSG_PUB.ADD;
3267 END IF; -- 38.
3268
3269 -- 39. start_availability_date_time can not be greater than end_availability_date_time
3270 Debug_Msg('39. START_AVAILABILITY_DATE_TIME can not be greater than END_AVAILABILITY_DATE_TIME');
3271 IF p_singe_row_attrs_rec.START_AVAILABILITY_DATE_TIME IS NULL THEN
3272 l_min_date_value := l_prod_single_row_attrs.START_AVAILABILITY_DATE_TIME;
3273 ELSIF p_singe_row_attrs_rec.START_AVAILABILITY_DATE_TIME = G_MISS_DATE THEN
3274 l_min_date_value := NULL;
3275 ELSE
3276 l_min_date_value := p_singe_row_attrs_rec.START_AVAILABILITY_DATE_TIME;
3277 END IF;
3278
3279 IF p_singe_row_attrs_rec.END_AVAILABILITY_DATE_TIME IS NULL THEN
3280 l_max_date_value := l_prod_single_row_attrs.END_AVAILABILITY_DATE_TIME;
3281 ELSIF p_singe_row_attrs_rec.END_AVAILABILITY_DATE_TIME = G_MISS_DATE THEN
3282 l_max_date_value := NULL;
3283 ELSE
3284 l_max_date_value := p_singe_row_attrs_rec.END_AVAILABILITY_DATE_TIME;
3285 END IF;
3286
3287 IF (l_min_date_value IS NOT NULL AND l_max_date_value IS NOT NULL AND l_min_date_value > l_max_date_value) OR
3288 (l_min_date_value IS NULL AND l_max_date_value IS NOT NULL)
3289 THEN
3290 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'START_AVAILABILITY_DATE_TIME');
3291 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'END_AVAILABILITY_DATE_TIME');
3292 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3293 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3294 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3295 FND_MSG_PUB.ADD;
3296 END IF; -- 39.
3297
3298 -- 40. EFFECTIVE_START_DATE can not be greater than EFFECTIVE_END_DATE
3299 Debug_Msg('40. EFFECTIVE_START_DATE can not be greater than EFFECTIVE_END_DATE');
3300 IF p_singe_row_attrs_rec.EFFECTIVE_START_DATE IS NULL THEN
3301 l_min_date_value := l_prod_single_row_attrs.EFFECTIVE_START_DATE;
3302 ELSIF p_singe_row_attrs_rec.EFFECTIVE_START_DATE = G_MISS_DATE THEN
3303 l_min_date_value := NULL;
3304 ELSE
3305 l_min_date_value := p_singe_row_attrs_rec.EFFECTIVE_START_DATE;
3306 END IF;
3307
3308 IF p_singe_row_attrs_rec.EFFECTIVE_END_DATE IS NULL THEN
3309 l_max_date_value := l_prod_single_row_attrs.EFFECTIVE_END_DATE;
3310 ELSIF p_singe_row_attrs_rec.EFFECTIVE_END_DATE = G_MISS_DATE THEN
3311 l_max_date_value := NULL;
3312 ELSE
3313 l_max_date_value := p_singe_row_attrs_rec.EFFECTIVE_END_DATE;
3314 END IF;
3315
3316 IF (l_min_date_value IS NOT NULL AND l_max_date_value IS NOT NULL AND l_min_date_value > l_max_date_value)
3317 THEN
3318 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_START_DATE');
3319 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'EFFECTIVE_END_DATE');
3320 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3321 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3322 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3323 FND_MSG_PUB.ADD;
3324 END IF; -- 40.
3325
3326 -- 41. order_quantity_min can not be greater than order_quantity_max
3327 Debug_Msg('41. ORDER_QUANTITY_MIN can not be greater than ORDER_QUANTITY_MAX');
3328 IF p_singe_row_attrs_rec.ORDER_QUANTITY_MIN IS NULL THEN
3329 l_min_num_value := l_prod_single_row_attrs.ORDER_QUANTITY_MIN;
3330 ELSIF p_singe_row_attrs_rec.ORDER_QUANTITY_MIN = G_MISS_NUM THEN
3331 l_min_num_value := NULL;
3332 ELSE
3333 l_min_num_value := p_singe_row_attrs_rec.ORDER_QUANTITY_MIN;
3334 END IF;
3335
3336 IF p_singe_row_attrs_rec.ORDER_QUANTITY_MAX IS NULL THEN
3337 l_max_num_value := l_prod_single_row_attrs.ORDER_QUANTITY_MAX;
3338 ELSIF p_singe_row_attrs_rec.ORDER_QUANTITY_MAX = G_MISS_NUM THEN
3339 l_max_num_value := NULL;
3340 ELSE
3341 l_max_num_value := p_singe_row_attrs_rec.ORDER_QUANTITY_MAX;
3342 END IF;
3343
3344 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_num_value > l_max_num_value)
3345 THEN
3346 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_QUANTITY_MIN');
3347 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'ORDER_QUANTITY_MAX');
3348 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3349 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3350 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3351 FND_MSG_PUB.ADD;
3352 END IF; -- 41.
3353
3354 -- 42. DEL_TO_DIST_CNTR_TEMP_MIN can not be greater than DEL_TO_DIST_CNTR_TEMP_MAX
3355 Debug_Msg('42. DEL_TO_DIST_CNTR_TEMP_MIN can not be greater than DEL_TO_DIST_CNTR_TEMP_MAX');
3356 IF p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN IS NULL THEN
3357 l_min_num_value := l_prod_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN;
3358 ELSIF p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN = G_MISS_NUM THEN
3359 l_min_num_value := NULL;
3360 ELSE
3361 l_min_num_value := p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MIN;
3362 END IF;
3363
3364 IF p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX IS NULL THEN
3365 l_max_num_value := l_prod_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX;
3366 ELSIF p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX = G_MISS_NUM THEN
3367 l_max_num_value := NULL;
3368 ELSE
3369 l_max_num_value := p_singe_row_attrs_rec.DEL_TO_DIST_CNTR_TEMP_MAX;
3370 END IF;
3371
3372 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_num_value > l_max_num_value)
3373 THEN
3374 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
3375 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
3376 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3377 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3378 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3379 FND_MSG_PUB.ADD;
3380 END IF; -- 42.
3381
3382 -- 42.1. uom for DEL_TO_DIST_CNTR_TEMP_MIN must be same that of DEL_TO_DIST_CNTR_TEMP_MAX
3383 Debug_Msg('42.1. uom for DEL_TO_DIST_CNTR_TEMP_MIN must be same that of DEL_TO_DIST_CNTR_TEMP_MAX');
3384 IF p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NULL THEN
3385 l_min_char_value := l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN;
3386 ELSIF p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN = G_MISS_CHAR THEN
3387 l_min_char_value := NULL;
3388 ELSE
3389 l_min_char_value := p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MIN;
3390 END IF;
3391
3392 IF p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NULL THEN
3393 l_max_char_value := l_prod_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX;
3394 ELSIF p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX = G_MISS_CHAR THEN
3395 l_max_char_value := NULL;
3396 ELSE
3397 l_max_char_value := p_singe_row_attrs_rec.UOM_DEL_TO_DIST_CNTR_TEMP_MAX;
3398 END IF;
3399
3400 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_char_value <> l_max_char_value)
3401 THEN
3402 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MIN');
3403 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DEL_TO_DIST_CNTR_TEMP_MAX');
3404 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_MUST_BE_SAME');
3405 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
3406 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
3407 FND_MSG_PUB.ADD;
3408 END IF; -- 42.1.
3409
3410 -- 43. DELIVERY_TO_MRKT_TEMP_MIN can not be greater than DELIVERY_TO_MRKT_TEMP_MAX
3411 Debug_Msg('43. DELIVERY_TO_MRKT_TEMP_MIN can not be greater than DELIVERY_TO_MRKT_TEMP_MAX');
3412 IF p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN IS NULL THEN
3413 l_min_num_value := l_prod_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN;
3414 ELSIF p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN = G_MISS_NUM THEN
3415 l_min_num_value := NULL;
3416 ELSE
3417 l_min_num_value := p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MIN;
3418 END IF;
3419
3420 IF p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX IS NULL THEN
3421 l_max_num_value := l_prod_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX;
3422 ELSIF p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX = G_MISS_NUM THEN
3423 l_max_num_value := NULL;
3424 ELSE
3425 l_max_num_value := p_singe_row_attrs_rec.DELIVERY_TO_MRKT_TEMP_MAX;
3426 END IF;
3427
3428 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_num_value > l_max_num_value)
3429 THEN
3430 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
3431 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MAX');
3432 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3433 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3434 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3435 FND_MSG_PUB.ADD;
3436 END IF; -- 43.
3437
3438 -- 43.1. uom for DELIVERY_TO_MRKT_TEMP_MIN must be same that of DELIVERY_TO_MRKT_TEMP_MAX
3439 Debug_Msg('43.1. uom for DELIVERY_TO_MRKT_TEMP_MIN must be same that of DELIVERY_TO_MRKT_TEMP_MAX');
3440 IF p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NULL THEN
3441 l_min_char_value := l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN;
3442 ELSIF p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN = G_MISS_CHAR THEN
3443 l_min_char_value := NULL;
3444 ELSE
3445 l_min_char_value := p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MIN;
3446 END IF;
3447
3448 IF p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NULL THEN
3449 l_max_char_value := l_prod_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX;
3450 ELSIF p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX = G_MISS_CHAR THEN
3451 l_max_char_value := NULL;
3452 ELSE
3453 l_max_char_value := p_singe_row_attrs_rec.UOM_DELIVERY_TO_MRKT_TEMP_MAX;
3454 END IF;
3455
3456 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_char_value <> l_max_char_value)
3457 THEN
3458 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MIN');
3459 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'DELIVERY_TO_MRKT_TEMP_MAX');
3460 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_MUST_BE_SAME');
3461 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
3462 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
3463 FND_MSG_PUB.ADD;
3464 END IF; -- 43.1.
3465
3466 -- 44. STORAGE_HANDLING_TEMP_MIN can not be greater than STORAGE_HANDLING_TEMP_MAX
3467 Debug_Msg('44. STORAGE_HANDLING_TEMP_MIN can not be greater than STORAGE_HANDLING_TEMP_MAX');
3468 IF p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN IS NULL THEN
3469 l_min_num_value := l_prod_single_row_attrs.STORAGE_HANDLING_TEMP_MIN;
3470 ELSIF p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN = G_MISS_NUM THEN
3471 l_min_num_value := NULL;
3472 ELSE
3473 l_min_num_value := p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MIN;
3474 END IF;
3475
3476 IF p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX IS NULL THEN
3477 l_max_num_value := l_prod_single_row_attrs.STORAGE_HANDLING_TEMP_MAX;
3478 ELSIF p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX = G_MISS_NUM THEN
3479 l_max_num_value := NULL;
3480 ELSE
3481 l_max_num_value := p_singe_row_attrs_rec.STORAGE_HANDLING_TEMP_MAX;
3482 END IF;
3483
3484 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_num_value > l_max_num_value)
3485 THEN
3486 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
3487 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
3488 FND_MESSAGE.Set_Name('EGO', 'EGO_MIN_GT_MAX');
3489 FND_MESSAGE.Set_Token('MIN_ATTR', l_attr1_disp);
3490 FND_MESSAGE.Set_Token('MAX_ATTR', l_attr2_disp);
3491 FND_MSG_PUB.ADD;
3492 END IF; -- 44.
3493
3494 -- 44.1. uom for STORAGE_HANDLING_TEMP_MIN must be same that of STORAGE_HANDLING_TEMP_MAX
3495 Debug_Msg('44.1. uom for STORAGE_HANDLING_TEMP_MIN must be same that of STORAGE_HANDLING_TEMP_MAX');
3496 IF p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN IS NULL THEN
3497 l_min_char_value := l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN;
3498 ELSIF p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN = G_MISS_CHAR THEN
3499 l_min_char_value := NULL;
3500 ELSE
3501 l_min_char_value := p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MIN;
3502 END IF;
3503
3504 IF p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX IS NULL THEN
3505 l_max_char_value := l_prod_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX;
3506 ELSIF p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX = G_MISS_CHAR THEN
3507 l_max_char_value := NULL;
3508 ELSE
3509 l_max_char_value := p_singe_row_attrs_rec.UOM_STORAGE_HANDLING_TEMP_MAX;
3510 END IF;
3511
3512 IF (l_min_num_value IS NOT NULL AND l_max_num_value IS NOT NULL AND l_min_char_value <> l_max_char_value)
3513 THEN
3514 l_attr1_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MIN');
3515 l_attr2_disp := Get_Attribute_Display_Name('EGO_ITEM_GTIN_ATTRS', 'STORAGE_HANDLING_TEMP_MAX');
3516 FND_MESSAGE.Set_Name('EGO', 'EGO_UOM_MUST_BE_SAME');
3517 FND_MESSAGE.Set_Token('ATTR1', l_attr1_disp);
3518 FND_MESSAGE.Set_Token('ATTR2', l_attr2_disp);
3519 FND_MSG_PUB.ADD;
3520 END IF; -- 44.1.
3521 END IF; -- IF l_continue THEN
3522
3523 FND_MSG_PUB.Count_And_Get('T', x_msg_count, x_msg_data);
3524 IF x_msg_count > 0 THEN
3525 x_return_status := 'E';
3526 ELSE
3527 x_return_status := 'S';
3528 END IF;
3529 Debug_Msg('Finished GDSN Attributes Validations for Item,Org='||p_inventory_item_id||','||p_organization_id);
3530 Debug_Msg('Return Status = '||x_return_status);
3531 EXCEPTION WHEN OTHERS THEN
3532 IF c_prod_single_row_values%ISOPEN THEN
3533 CLOSE c_prod_single_row_values;
3534 END IF;
3535 x_return_status := 'U';
3536 x_msg_count := 1;
3537 x_msg_data := SQLERRM;
3538 Debug_Msg('Unexpected Error in GDSN Attributes Validations - '||x_msg_data);
3539 END Validate_Attributes;
3540
3541 /*
3542 *
3543 */
3544 PROCEDURE Do_Post_UCCnet_Attrs_Action ( p_data_set_id IN NUMBER
3545 ,p_entity_id IN NUMBER
3546 ,p_entity_code IN VARCHAR2
3547 ,p_add_errors_to_fnd_stack IN VARCHAR2) IS
3548 CURSOR c_intf_rows IS
3549 SELECT
3550 INVENTORY_ITEM_ID
3551 ,ORGANIZATION_ID
3552 ,ITEM_CATALOG_GROUP_ID
3553 ,MAX(TRANSACTION_ID) AS TRANSACTION_ID
3554 FROM EGO_ITM_USR_ATTR_INTRFC
3555 WHERE ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS')
3556 AND DATA_SET_ID = p_data_set_id
3557 AND PROCESS_STATUS = 2
3558 GROUP BY INVENTORY_ITEM_ID, ORGANIZATION_ID, ITEM_CATALOG_GROUP_ID;
3559
3560 CURSOR c_intf_row_attrs(c_inventory_item_id IN NUMBER, c_organization_id IN NUMBER) IS
3561 SELECT
3562 eiuai.INVENTORY_ITEM_ID
3563 ,eiuai.ORGANIZATION_ID
3564 ,eav.ATTR_ID
3565 ,eiuai.ATTR_INT_NAME
3566 ,eiuai.ATTR_VALUE_STR
3567 ,eiuai.ATTR_VALUE_NUM
3568 ,eiuai.ATTR_VALUE_DATE
3569 FROM EGO_ITM_USR_ATTR_INTRFC eiuai, EGO_ATTRS_V eav
3570 WHERE eiuai.ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS')
3571 AND eiuai.ATTR_GROUP_TYPE = eav.ATTR_GROUP_TYPE
3572 AND eiuai.ATTR_GROUP_INT_NAME = eav.ATTR_GROUP_NAME
3573 AND eiuai.ATTR_INT_NAME = eav.ATTR_NAME
3574 AND eav.APPLICATION_ID = EGO_APPL_ID
3575 AND eiuai.DATA_SET_ID = p_data_set_id
3576 AND eiuai.PROCESS_STATUS = 2
3577 AND eiuai.INVENTORY_ITEM_ID = c_inventory_item_id
3578 AND eiuai.ORGANIZATION_ID = c_organization_id;
3579
3580 CURSOR c_intf_extn_rows IS
3581 SELECT
3582 INVENTORY_ITEM_ID
3583 ,ORGANIZATION_ID
3584 ,ATTR_GROUP_INT_NAME
3585 ,MAX(TRANSACTION_ID) AS TRANSACTION_ID
3586 FROM EGO_ITM_USR_ATTR_INTRFC
3587 WHERE ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP'
3588 AND ATTR_GROUP_INT_NAME LIKE 'EGOINT#_GDSN%' ESCAPE '#'
3589 AND DATA_SET_ID = p_data_set_id
3590 AND PROCESS_STATUS = 2
3591 GROUP BY INVENTORY_ITEM_ID, ORGANIZATION_ID, ATTR_GROUP_INT_NAME;
3592
3593 CURSOR c_intf_row_extn_attrs(c_inventory_item_id IN NUMBER, c_organization_id IN NUMBER, c_attr_group_name IN VARCHAR2) IS
3594 SELECT
3595 eiuai.INVENTORY_ITEM_ID
3596 ,eiuai.ORGANIZATION_ID
3597 ,eiuai.ATTR_INT_NAME
3598 FROM EGO_ITM_USR_ATTR_INTRFC eiuai
3599 WHERE eiuai.ATTR_GROUP_TYPE = 'EGO_ITEMMGMT_GROUP'
3600 AND eiuai.ATTR_GROUP_INT_NAME = c_attr_group_name
3601 AND eiuai.DATA_SET_ID = p_data_set_id
3602 AND eiuai.PROCESS_STATUS = 2
3603 AND eiuai.INVENTORY_ITEM_ID = c_inventory_item_id
3604 AND eiuai.ORGANIZATION_ID = c_organization_id;
3605
3606 l_attribute_names EGO_VARCHAR_TBL_TYPE := EGO_VARCHAR_TBL_TYPE(null);
3607 l_attr_diffs EGO_USER_ATTR_DIFF_TABLE;
3608 l_pk_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3609 l_class_code_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3610 l_data_level_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3611 l_return_status VARCHAR2(10);
3612 l_msg_count NUMBER;
3613 l_msg_data VARCHAR2(4000);
3614 BEGIN
3615 Debug_Msg('Starting Do_Post_UCCnet_Attrs_Action');
3616 FOR i IN c_intf_rows LOOP
3617 Debug_Msg('Starting Do_Post_UCCnet_Attrs_Action for Item,Org='||i.INVENTORY_ITEM_ID||','||i.ORGANIZATION_ID);
3618 l_attribute_names := EGO_VARCHAR_TBL_TYPE(null);
3619 l_attr_diffs := EGO_USER_ATTR_DIFF_TABLE();
3620 FOR j IN c_intf_row_attrs(i.INVENTORY_ITEM_ID, i.ORGANIZATION_ID) LOOP
3621 -- populating variable for passing to EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES
3622 l_attribute_names.EXTEND;
3623 l_attribute_names(l_attribute_names.COUNT) := j.ATTR_INT_NAME;
3624 -- populating variable for passing to EGO_GTIN_PVT.Item_Propagate_Attributes
3625 l_attr_diffs.EXTEND();
3626 l_attr_diffs(l_attr_diffs.LAST) := EGO_USER_ATTR_DIFF_OBJ
3627 ( attr_id => j.ATTR_ID
3628 , attr_name => j.ATTR_INT_NAME
3629 , old_attr_value_str => null
3630 , old_attr_value_num => null
3631 , old_attr_value_date => null
3632 , old_attr_uom => null
3633 , new_attr_value_str => NVL(j.ATTR_VALUE_STR, G_MISS_CHAR)
3634 , new_attr_value_num => NVL(j.ATTR_VALUE_NUM, G_MISS_NUM)
3635 , new_attr_value_date => NVL(j.ATTR_VALUE_DATE, G_MISS_DATE)
3636 , new_attr_uom => null
3637 , unique_key_flag => null
3638 , extension_id => null
3639 );
3640 END LOOP;
3641
3642 IF l_attribute_names.COUNT > 0 THEN
3643 Debug_Msg('Calling EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES');
3644 EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES(
3645 i.INVENTORY_ITEM_ID,
3646 i.ORGANIZATION_ID,
3647 l_attribute_names,
3648 FND_API.G_FALSE,
3649 l_return_status,
3650 l_msg_count,
3651 l_msg_data);
3652
3653 Debug_Msg('Finished Calling EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES with status='||l_return_status);
3654 IF l_return_status <> 'S' THEN
3655 ERROR_HANDLER.Add_Error_Message
3656 (
3657 p_message_text => l_msg_data
3658 ,p_application_id => 'EGO'
3659 ,p_message_type => FND_API.G_RET_STS_ERROR
3660 ,p_row_identifier => i.TRANSACTION_ID
3661 ,p_entity_id => p_entity_id
3662 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
3663 ,p_entity_code => p_entity_code
3664 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
3665 );
3666 END IF; -- end IF l_return_st
3667 END IF; -- end IF l_attribute_names.COUN
3668
3669 IF l_attr_diffs.COUNT > 0 THEN
3670 Debug_Msg('Calling EGO_GTIN_PVT.Item_Propagate_Attributes');
3671 l_pk_column_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY
3672 ( EGO_COL_NAME_VALUE_PAIR_OBJ('INVENTORY_ITEM_ID', TO_CHAR(i.INVENTORY_ITEM_ID))
3673 , EGO_COL_NAME_VALUE_PAIR_OBJ('ORGANIZATION_ID', TO_CHAR(i.ORGANIZATION_ID))
3674 );
3675
3676 l_class_code_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY
3677 (EGO_COL_NAME_VALUE_PAIR_OBJ('ITEM_CATALOG_GROUP_ID', to_char(i.ITEM_CATALOG_GROUP_ID)));
3678
3679 l_data_level_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ('REVISION_ID', NULL));
3680
3681 l_msg_data := NULL;
3682 EGO_GTIN_PVT.Item_Propagate_Attributes
3683 ( p_pk_column_name_value_pairs => l_pk_column_name_value_pairs
3684 , p_class_code_name_value_pairs => l_class_code_name_value_pairs
3685 , p_data_level_name_value_pairs => l_data_level_name_value_pairs
3686 , p_attr_diffs => l_attr_diffs
3687 , p_transaction_type => 'UPDATE'
3688 , x_error_message => l_msg_data
3689 );
3690 Debug_Msg('Finished Calling EGO_GTIN_PVT.Item_Propagate_Attributes with '||l_msg_data);
3691 IF l_msg_data IS NOT NULL THEN
3692 ERROR_HANDLER.Add_Error_Message
3693 (
3694 p_message_text => l_msg_data
3695 ,p_application_id => 'EGO'
3696 ,p_message_type => FND_API.G_RET_STS_ERROR
3697 ,p_row_identifier => i.TRANSACTION_ID
3698 ,p_entity_id => p_entity_id
3699 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
3700 ,p_entity_code => p_entity_code
3701 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
3702 );
3703 END IF; -- end IF l_msg_data
3704 END IF; -- end IF l_attr_diffs.
3705 END LOOP;
3706
3707 -- processing GDSN extension attributes
3708 Debug_Msg('Processing GDSN Extension attributes ');
3709 FOR i IN c_intf_extn_rows LOOP
3710 Debug_Msg('Inventory_item_id, Organization_id, Attribute_Group_Name = '||i.INVENTORY_ITEM_ID||', '||i.ORGANIZATION_ID||', '||i.ATTR_GROUP_INT_NAME);
3711 l_attribute_names.DELETE;
3712 FOR j IN c_intf_row_extn_attrs(i.INVENTORY_ITEM_ID, i.ORGANIZATION_ID, i.ATTR_GROUP_INT_NAME) LOOP
3713 Debug_Msg('Adding Attribute - '||j.ATTR_INT_NAME);
3714 l_attribute_names.EXTEND;
3715 l_attribute_names(l_attribute_names.COUNT) := j.ATTR_INT_NAME;
3716 END LOOP; --FOR j IN c_intf_row_extn_attrs(i.INVENTORY_ITEM_ID, i.ORGANIZATION_ID, i.ATTR_GROUP_INT_NAME) LOOP
3717
3718 -- calling PROCESS_EXTN_ATTRIBUTE_UPDATES
3719 IF l_attribute_names.COUNT > 0 THEN
3720 Debug_Msg('Calling EGO_GTIN_PVT.PROCESS_EXTN_ATTRIBUTE_UPDATES');
3721 EGO_GTIN_PVT.PROCESS_EXTN_ATTRIBUTE_UPDATES(
3722 i.INVENTORY_ITEM_ID,
3723 i.ORGANIZATION_ID,
3724 l_attribute_names,
3725 i.ATTR_GROUP_INT_NAME,
3726 FND_API.G_FALSE,
3727 l_return_status,
3728 l_msg_count,
3729 l_msg_data);
3730
3731 Debug_Msg('Finished Calling EGO_GTIN_PVT.PROCESS_EXTN_ATTRIBUTE_UPDATES with status='||l_return_status);
3732 IF l_return_status <> 'S' THEN
3733 ERROR_HANDLER.Add_Error_Message
3734 (
3735 p_message_text => l_msg_data
3736 ,p_application_id => 'EGO'
3737 ,p_message_type => FND_API.G_RET_STS_ERROR
3738 ,p_row_identifier => i.TRANSACTION_ID
3739 ,p_entity_id => p_entity_id
3740 ,p_table_name => 'EGO_ITM_USR_ATTR_INTRFC'
3741 ,p_entity_code => p_entity_code
3742 ,p_addto_fnd_stack => p_add_errors_to_fnd_stack
3743 );
3744 END IF; -- end IF l_return_st
3745 END IF; -- end IF l_attribute_names.COUN
3746 END LOOP; -- FOR i IN c_intf_extn_rows LOOP
3747 Debug_Msg('Done Processing GDSN Extension attributes ');
3748 Debug_Msg('Finished Do_Post_UCCnet_Attrs_Action');
3749 END Do_Post_UCCnet_Attrs_Action;
3750
3751 /*
3752 */
3753 PROCEDURE Process_Multi_Row_AG(p_attr_group_name VARCHAR2,
3754 p_pk_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY,
3755 p_class_code_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY,
3756 p_data_level_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY,
3757 p_extension_id NUMBER,
3758 p_transaction_type VARCHAR2,
3759 p_attr_name_value_pairs EGO_USER_ATTR_DATA_TABLE,
3760 x_return_status OUT NOCOPY VARCHAR2,
3761 x_errorcode OUT NOCOPY NUMBER,
3762 x_msg_count OUT NOCOPY NUMBER,
3763 x_msg_data OUT NOCOPY VARCHAR2)
3764 IS
3765 l_mode VARCHAR2(100);
3766 l_return_status VARCHAR2(10);
3767 l_msg_count NUMBER;
3768 l_msg_data VARCHAR2(4000);
3769 l_errorcode NUMBER;
3770 BEGIN
3771 Debug_Msg('Starting Process_Multi_Row_AG for AG - '||p_attr_group_name);
3772 IF p_extension_id IS NOT NULL AND NVL(p_transaction_type, 'X') <> 'DELETE' THEN
3773 l_mode := 'UPDATE';
3774 ELSIF p_transaction_type = 'DELETE' THEN
3775 l_mode := 'DELETE';
3776 ELSE
3777 l_mode := 'SYNC';
3778 END IF;
3779 Debug_Msg('Process_Multi_Row_AG extension_id - '||p_extension_id);
3780 Debug_Msg('Process_Multi_Row_AG p_transaction_type - '||p_transaction_type);
3781
3782 EGO_USER_ATTRS_DATA_PVT.Process_Row (
3783 p_api_version => 1.0
3784 ,p_object_name => 'EGO_ITEM'
3785 ,p_application_id => 431
3786 ,p_attr_group_type => 'EGO_ITEM_GTIN_MULTI_ATTRS'
3787 ,p_attr_group_name => p_attr_group_name
3788 ,p_validate_hierarchy => FND_API.G_FALSE
3789 ,p_pk_column_name_value_pairs => p_pk_column_name_value_pairs
3790 ,p_class_code_name_value_pairs => p_class_code_name_value_pairs
3791 ,p_data_level_name_value_pairs => p_data_level_name_value_pairs
3792 ,p_extension_id => p_extension_id
3793 ,p_attr_name_value_pairs => p_attr_name_value_pairs
3794 ,p_entity_id => G_ENTITY_ID
3795 ,p_entity_index => G_ENTITY_INDEX
3796 ,p_entity_code => G_ENTITY_CODE
3797 ,p_mode => l_mode
3798 ,p_init_fnd_msg_list => FND_API.G_TRUE
3799 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
3800 ,p_commit => FND_API.G_FALSE
3801 ,x_return_status => l_return_status
3802 ,x_errorcode => l_errorcode
3803 ,x_msg_count => l_msg_count
3804 ,x_msg_data => l_msg_data
3805 );
3806 Debug_Msg('Finished Process_Multi_Row_AG with status - '||l_return_status);
3807
3808 IF l_return_status <> 'S' THEN
3809 x_return_status := l_return_status;
3810 x_msg_count := l_msg_count;
3811 x_msg_data := l_msg_data;
3812 FOR cnt IN 1..l_msg_count LOOP
3813 Debug_Msg('Error msg - '||cnt ||': '|| FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F'));
3814 END LOOP;
3815 Debug_Msg('Error msg - '|| l_msg_data);
3816 ELSE
3817 x_return_status := l_return_status;
3818 x_msg_count := l_msg_count;
3819 x_msg_data := l_msg_data;
3820 END IF;
3821 END Process_Multi_Row_AG;
3822
3823 /*
3824 ** This procedure creates/updates the UCCnet attributes for an item
3825 */
3826 PROCEDURE Process_UCCnet_Attrs_For_Item (
3827 p_api_version IN NUMBER
3828 ,p_inventory_item_id IN NUMBER
3829 ,p_organization_id IN NUMBER
3830 ,p_single_row_attrs_rec IN EGO_ITEM_PUB.UCCnet_Attrs_Singl_Row_Rec_Typ
3831 ,p_multi_row_attrs_table IN EGO_ITEM_PUB.UCCnet_Attrs_Multi_Row_Tbl_Typ
3832 ,p_check_policy IN VARCHAR2 DEFAULT FND_API.G_TRUE
3833 ,p_entity_id IN NUMBER DEFAULT NULL
3834 ,p_entity_index IN NUMBER DEFAULT NULL
3835 ,p_entity_code IN VARCHAR2 DEFAULT NULL
3836 ,p_init_error_handler IN VARCHAR2 DEFAULT FND_API.G_TRUE
3837 ,p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE
3838 ,x_return_status OUT NOCOPY VARCHAR2
3839 ,x_errorcode OUT NOCOPY NUMBER
3840 ,x_msg_count OUT NOCOPY NUMBER
3841 ,x_msg_data OUT NOCOPY VARCHAR2) IS
3842
3843 CURSOR c_uom_code IS
3844 SELECT a.APPLICATION_COLUMN_NAME, u.UOM_CODE
3845 FROM EGO_FND_DF_COL_USGS_EXT a, MTL_UNITS_OF_MEASURE_TL u
3846 WHERE a.UOM_CLASS = u.UOM_CLASS(+)
3847 AND u.BASE_UOM_FLAG(+) = 'Y'
3848 AND u.LANGUAGE(+) = USERENV('LANG')
3849 AND a.APPLICATION_ID = 431
3850 AND a.DESCRIPTIVE_FLEXFIELD_NAME IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS')
3851 AND a.APPLICATION_COLUMN_NAME IN (
3852 'GROSS_WEIGHT'
3853 ,'PEG_VERTICAL'
3854 ,'PEG_HORIZONTAL'
3855 ,'DRAINED_WEIGHT'
3856 ,'DIAMETER'
3857 ,'ORDERING_LEAD_TIME'
3858 ,'GENERIC_INGREDIENT_STRGTH'
3859 ,'STACKING_WEIGHT_MAXIMUM'
3860 ,'PIECES_PER_TRADE_ITEM'
3861 ,'NESTING_INCREMENT'
3862 ,'DEL_TO_DIST_CNTR_TEMP_MIN'
3863 ,'DEL_TO_DIST_CNTR_TEMP_MAX'
3864 ,'DELIVERY_TO_MRKT_TEMP_MIN'
3865 ,'DELIVERY_TO_MRKT_TEMP_MAX'
3866 ,'STORAGE_HANDLING_TEMP_MIN'
3867 ,'STORAGE_HANDLING_TEMP_MAX'
3868 ,'FLASH_POINT_TEMP'
3869 );
3870
3871 CURSOR c_attr_metadata IS
3872 SELECT ATTR_GROUP_TYPE, ATTR_GROUP_NAME, ATTR_NAME, DATABASE_COLUMN
3873 FROM EGO_ATTRS_V
3874 WHERE ATTR_GROUP_TYPE IN ('EGO_ITEM_GTIN_ATTRS', 'EGO_ITEM_GTIN_MULTI_ATTRS')
3875 AND APPLICATION_ID = EGO_APPL_ID;
3876
3877 l_single_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Singl_Row_Rec_Typ;
3878 l_multi_row_attrs EGO_ITEM_PUB.UCCnet_Attrs_Multi_Row_Tbl_Typ;
3879 l_return_status VARCHAR2(10);
3880 l_msg_count NUMBER;
3881 l_msg_data VARCHAR2(4000);
3882 l_failed_row_id_list VARCHAR2(4000);
3883 l_errorcode NUMBER;
3884 l_index BINARY_INTEGER;
3885
3886 l_msg_text VARCHAR2(4000);
3887 l_attributes_row_table EGO_USER_ATTR_ROW_TABLE;
3888 l_attributes_data_table EGO_USER_ATTR_DATA_TABLE;
3889 l_new_row BOOLEAN;
3890 l_row_identifier NUMBER;
3891 l_attribute_names EGO_VARCHAR_TBL_TYPE := EGO_VARCHAR_TBL_TYPE(null);
3892 l_trade_item_desc MTL_SYSTEM_ITEMS_B.TRADE_ITEM_DESCRIPTOR%TYPE;
3893 l_pk_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3894 l_cc_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3895 l_dl_column_name_value_pairs EGO_COL_NAME_VALUE_PAIR_ARRAY;
3896 l_category_id NUMBER;
3897
3898 TYPE t_col_list_type IS TABLE OF NUMBER INDEX BY VARCHAR2(100);
3899 l_multi_row_cols t_col_list_type;
3900
3901 TYPE t_number_tbl_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
3902
3903 TYPE t_attr_row_type IS RECORD(
3904 ATTR_GROUP_NAME VARCHAR2(100),
3905 ATTR_NAME VARCHAR2(100));
3906
3907 TYPE t_attr_meta_data_type IS TABLE OF t_attr_row_type INDEX BY VARCHAR2(100);
3908
3909 l_single_row_attrs_metadata t_attr_meta_data_type;
3910 l_multi_row_attrs_metadata t_attr_meta_data_type;
3911 l_related_class_codes_list VARCHAR2(150);
3912
3913 /*
3914 * Private Function for Process_UCCnet_Attrs_For_Item
3915 */
3916 FUNCTION Create_Attrs_Row_Table(p_attr_group_type VARCHAR2,
3917 p_attr_group_name VARCHAR2,
3918 p_get_new_rowid BOOLEAN,
3919 p_transaction_type VARCHAR2 DEFAULT NULL) RETURN NUMBER AS
3920 l_row_id NUMBER;
3921 l_index BINARY_INTEGER;
3922 l_transaction_type VARCHAR2(100);
3923 BEGIN
3924 l_row_id := NULL;
3925 IF NVL(g_row_identifier, 0) = 0 THEN
3926 g_row_identifier := 100;
3927 END IF; --IF NVL(g_row_identifier, 0) = 0 THEN
3928
3929 l_transaction_type := p_transaction_type;
3930 IF l_transaction_type IS NULL THEN
3931 l_transaction_type := 'SYNC';
3932 END IF; --IF p_transaction_type IS NULL THEN
3933
3934 IF l_attributes_row_table.FIRST IS NOT NULL THEN
3935 l_index := l_attributes_row_table.FIRST;
3936 WHILE l_index IS NOT NULL LOOP
3937 IF l_attributes_row_table(l_index).ATTR_GROUP_TYPE = p_attr_group_type
3938 AND l_attributes_row_table(l_index).ATTR_GROUP_NAME = p_attr_group_name
3939 AND p_get_new_rowid = FALSE THEN
3940 l_row_id := l_attributes_row_table(l_index).ROW_IDENTIFIER;
3941 END IF; --IF l_attributes_row_table(l_i
3942 l_index := l_attributes_row_table.NEXT(l_index);
3943 END LOOP; -- end loop while
3944
3945 IF l_row_id IS NULL THEN
3946 Debug_Msg('Creating Attrs Row Table for Attribute Group - '||p_attr_group_name||', with transaction type - '||l_transaction_type);
3947 l_attributes_row_table.EXTEND;
3948 l_attributes_row_table(l_attributes_row_table.COUNT) := EGO_USER_ATTR_ROW_OBJ(
3949 g_row_identifier -- ROW_IDENTIFIER
3950 , NULL -- ATTR_GROUP_ID
3951 , EGO_APPL_ID -- ATTR_GROUP_APP_ID
3952 , p_attr_group_type -- ATTR_GROUP_TYPE
3953 , p_attr_group_name -- ATTR_GROUP_NAME
3954 , 'ITEM_LEVEL' -- DATA_LEVEL (R12-C)
3955 , NULL -- DATA_LEVEL_1
3956 , NULL -- DATA_LEVEL_2
3957 , NULL -- DATA_LEVEL_3
3958 , NULL -- DATA_LEVEL_4 (R12-C)
3959 , NULL -- DATA_LEVEL_5 (R12-C)
3960 , l_transaction_type -- TRANSACTION_TYPE
3961 );
3962 l_row_id := g_row_identifier;
3963 g_row_identifier := g_row_identifier + 1;
3964 END IF; --IF l_row_id IS NULL THEN
3965 ELSE
3966 Debug_Msg('Creating Attrs Row Table for Attribute Group.. - '||p_attr_group_name||', with transaction type - '||l_transaction_type);
3967 l_attributes_row_table.EXTEND;
3968 l_attributes_row_table(l_attributes_row_table.COUNT) := EGO_USER_ATTR_ROW_OBJ(
3969 g_row_identifier -- ROW_IDENTIFIER
3970 , NULL -- ATTR_GROUP_ID
3971 , EGO_APPL_ID -- ATTR_GROUP_APP_ID
3972 , p_attr_group_type -- ATTR_GROUP_TYPE
3973 , p_attr_group_name -- ATTR_GROUP_NAME
3974 , 'ITEM_LEVEL' -- DATA_LEVEL (R12-C)
3975 , NULL -- DATA_LEVEL_1
3976 , NULL -- DATA_LEVEL_2
3977 , NULL -- DATA_LEVEL_3
3978 , NULL -- DATA_LEVEL_4 (R12-C)
3979 , NULL -- DATA_LEVEL_5 (R12-C)
3980 , l_transaction_type -- TRANSACTION_TYPE
3981 );
3982 l_row_id := g_row_identifier;
3983 g_row_identifier := g_row_identifier + 1;
3984 END IF; --IF l_attributes_row_table.FIRST IS
3985 RETURN l_row_id;
3986 END Create_Attrs_Row_Table;
3987
3988 BEGIN
3989 IF FND_API.To_Boolean(p_init_error_handler) THEN
3990 ERROR_HANDLER.Initialize;
3991 ERROR_HANDLER.Set_Bo_Identifier(EGO_USER_ATTRS_DATA_PVT.G_BO_IDENTIFIER);
3992 Debug_Msg('Initialized error handler');
3993 END IF;
3994 Debug_Msg('Starting Process_UCCnet_Attrs_For_Item for Item,Org='||p_inventory_item_id||','||p_organization_id);
3995
3996 l_single_row_attrs := p_single_row_attrs_rec;
3997 l_multi_row_attrs := p_multi_row_attrs_table;
3998 G_ENTITY_ID := p_entity_id;
3999 G_ENTITY_INDEX := p_entity_index;
4000 G_ENTITY_CODE := p_entity_code;
4001
4002 -- Bug: 5526085 added not null check
4003 IF l_multi_row_attrs.FIRST IS NOT NULL THEN
4004 Debug_Msg('Following are the multi-row attribute values ...');
4005 FOR i IN l_multi_row_attrs.FIRST..l_multi_row_attrs.LAST LOOP
4006 Debug_Msg('l_multi_row_attrs('||i||').EXTENSION_ID - '||l_multi_row_attrs(i).EXTENSION_ID);
4007 Debug_Msg('l_multi_row_attrs('||i||').TRANSACTION_TYPE - '||l_multi_row_attrs(i).TRANSACTION_TYPE);
4008 Debug_Msg('l_multi_row_attrs('||i||').MANUFACTURER_GLN - '||l_multi_row_attrs(i).MANUFACTURER_GLN);
4009 Debug_Msg('l_multi_row_attrs('||i||').MANUFACTURER_ID - '||l_multi_row_attrs(i).MANUFACTURER_ID);
4010 Debug_Msg('l_multi_row_attrs('||i||').BAR_CODE_TYPE - '||l_multi_row_attrs(i).BAR_CODE_TYPE);
4011 Debug_Msg('l_multi_row_attrs('||i||').COLOR_CODE_LIST_AGENCY - '||l_multi_row_attrs(i).COLOR_CODE_LIST_AGENCY);
4012 Debug_Msg('l_multi_row_attrs('||i||').COLOR_CODE_VALUE - '||l_multi_row_attrs(i).COLOR_CODE_VALUE);
4013 Debug_Msg('l_multi_row_attrs('||i||').CLASS_OF_DANGEROUS_CODE - '||l_multi_row_attrs(i).CLASS_OF_DANGEROUS_CODE);
4014 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_MARGIN_NUMBER - '||l_multi_row_attrs(i).DANGEROUS_GOODS_MARGIN_NUMBER);
4015 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_HAZARDOUS_CODE - '||l_multi_row_attrs(i).DANGEROUS_GOODS_HAZARDOUS_CODE);
4016 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_PACK_GROUP - '||l_multi_row_attrs(i).DANGEROUS_GOODS_PACK_GROUP);
4017 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_REG_CODE - '||l_multi_row_attrs(i).DANGEROUS_GOODS_REG_CODE);
4018 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_SHIPPING_NAME - '||l_multi_row_attrs(i).DANGEROUS_GOODS_SHIPPING_NAME);
4019 Debug_Msg('l_multi_row_attrs('||i||').UNITED_NATIONS_DANG_GOODS_NO - '||l_multi_row_attrs(i).UNITED_NATIONS_DANG_GOODS_NO);
4020 Debug_Msg('l_multi_row_attrs('||i||').FLASH_POINT_TEMP - '||l_multi_row_attrs(i).FLASH_POINT_TEMP);
4021 Debug_Msg('l_multi_row_attrs('||i||').UOM_FLASH_POINT_TEMP - '||l_multi_row_attrs(i).UOM_FLASH_POINT_TEMP);
4022 Debug_Msg('l_multi_row_attrs('||i||').COUNTRY_OF_ORIGIN - '||l_multi_row_attrs(i).COUNTRY_OF_ORIGIN);
4023 Debug_Msg('l_multi_row_attrs('||i||').HARMONIZED_TARIFF_SYS_ID_CODE - '||l_multi_row_attrs(i).HARMONIZED_TARIFF_SYS_ID_CODE);
4024 Debug_Msg('l_multi_row_attrs('||i||').SIZE_CODE_LIST_AGENCY - '||l_multi_row_attrs(i).SIZE_CODE_LIST_AGENCY);
4025 Debug_Msg('l_multi_row_attrs('||i||').SIZE_CODE_VALUE - '||l_multi_row_attrs(i).SIZE_CODE_VALUE);
4026 Debug_Msg('l_multi_row_attrs('||i||').HANDLING_INSTRUCTIONS_CODE - '||l_multi_row_attrs(i).HANDLING_INSTRUCTIONS_CODE);
4027 Debug_Msg('l_multi_row_attrs('||i||').DANGEROUS_GOODS_TECHNICAL_NAME - '||l_multi_row_attrs(i).DANGEROUS_GOODS_TECHNICAL_NAME);
4028 Debug_Msg('l_multi_row_attrs('||i||').DELIVERY_METHOD_INDICATOR - '||l_multi_row_attrs(i).DELIVERY_METHOD_INDICATOR);
4029 END LOOP;
4030 END IF;
4031
4032 SELECT ITEM_CATALOG_GROUP_ID INTO l_category_id
4033 FROM MTL_SYSTEM_ITEMS_B
4034 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
4035 AND ORGANIZATION_ID = p_organization_id;
4036
4037 l_pk_column_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY( EGO_COL_NAME_VALUE_PAIR_OBJ( 'INVENTORY_ITEM_ID' , TO_CHAR(p_inventory_item_id))
4038 ,EGO_COL_NAME_VALUE_PAIR_OBJ( 'ORGANIZATION_ID' , TO_CHAR(p_organization_id) ) );
4039
4040 -- Bug: 5523366
4041 EGO_ITEM_PVT.Get_Related_Class_Codes(
4042 p_classification_code => l_category_id
4043 , x_related_class_codes_list => l_related_class_codes_list );
4044
4045 l_cc_column_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(
4046 EGO_COL_NAME_VALUE_PAIR_OBJ( 'ITEM_CATALOG_GROUP_ID' , TO_CHAR(l_category_id) )
4047 , EGO_COL_NAME_VALUE_PAIR_OBJ( 'RELATED_CLASS_CODE_LIST_1' , l_related_class_codes_list ));
4048
4049 l_dl_column_name_value_pairs := EGO_COL_NAME_VALUE_PAIR_ARRAY(EGO_COL_NAME_VALUE_PAIR_OBJ( 'REVISION_ID' , NULL));
4050
4051 Debug_Msg('Checking the Trade Item Descriptor');
4052 BEGIN
4053 SELECT TRADE_ITEM_DESCRIPTOR INTO l_trade_item_desc
4054 FROM MTL_SYSTEM_ITEMS_B
4055 WHERE INVENTORY_ITEM_ID = p_inventory_item_id
4056 AND ORGANIZATION_ID = p_organization_id;
4057 EXCEPTION WHEN NO_DATA_FOUND THEN
4058 l_trade_item_desc := NULL;
4059 END;
4060 Debug_Msg('Production Trade Item Descriptor is '||l_trade_item_desc);
4061
4062 Debug_Msg('Populating Unit Of Measures');
4063 FOR i IN c_uom_code LOOP
4064 IF i.APPLICATION_COLUMN_NAME = 'GROSS_WEIGHT'
4065 AND l_single_row_attrs.UOM_GROSS_WEIGHT IS NULL AND l_single_row_attrs.GROSS_WEIGHT IS NOT NULL THEN
4066 l_single_row_attrs.UOM_GROSS_WEIGHT := i.UOM_CODE;
4067 ELSIF i.APPLICATION_COLUMN_NAME = 'PEG_VERTICAL'
4068 AND l_single_row_attrs.UOM_PEG_VERTICAL IS NULL AND l_single_row_attrs.PEG_VERTICAL IS NOT NULL THEN
4069 l_single_row_attrs.UOM_PEG_VERTICAL := i.UOM_CODE;
4070 ELSIF i.APPLICATION_COLUMN_NAME = 'PEG_HORIZONTAL'
4071 AND l_single_row_attrs.UOM_PEG_HORIZONTAL IS NULL AND l_single_row_attrs.PEG_HORIZONTAL IS NOT NULL THEN
4072 l_single_row_attrs.UOM_PEG_HORIZONTAL := i.UOM_CODE;
4073 ELSIF i.APPLICATION_COLUMN_NAME = 'DRAINED_WEIGHT'
4074 AND l_single_row_attrs.UOM_DRAINED_WEIGHT IS NULL AND l_single_row_attrs.DRAINED_WEIGHT IS NOT NULL THEN
4075 l_single_row_attrs.UOM_DRAINED_WEIGHT := i.UOM_CODE;
4076 ELSIF i.APPLICATION_COLUMN_NAME = 'DIAMETER'
4077 AND l_single_row_attrs.UOM_DIAMETER IS NULL AND l_single_row_attrs.DIAMETER IS NOT NULL THEN
4078 l_single_row_attrs.UOM_DIAMETER := i.UOM_CODE;
4079 ELSIF i.APPLICATION_COLUMN_NAME = 'ORDERING_LEAD_TIME'
4080 AND l_single_row_attrs.UOM_ORDERING_LEAD_TIME IS NULL AND l_single_row_attrs.ORDERING_LEAD_TIME IS NOT NULL THEN
4081 l_single_row_attrs.UOM_ORDERING_LEAD_TIME := i.UOM_CODE;
4082 ELSIF i.APPLICATION_COLUMN_NAME = 'GENERIC_INGREDIENT_STRGTH'
4083 AND l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH IS NULL AND l_single_row_attrs.GENERIC_INGREDIENT_STRGTH IS NOT NULL THEN
4084 l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH := i.UOM_CODE;
4085 ELSIF i.APPLICATION_COLUMN_NAME = 'STACKING_WEIGHT_MAXIMUM'
4086 AND l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM IS NULL AND l_single_row_attrs.STACKING_WEIGHT_MAXIMUM IS NOT NULL THEN
4087 l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM := i.UOM_CODE;
4088 ELSIF i.APPLICATION_COLUMN_NAME = 'PIECES_PER_TRADE_ITEM'
4089 AND l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM IS NULL AND l_single_row_attrs.PIECES_PER_TRADE_ITEM IS NOT NULL THEN
4090 l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM := i.UOM_CODE;
4091 ELSIF i.APPLICATION_COLUMN_NAME = 'NESTING_INCREMENT'
4092 AND l_single_row_attrs.UOM_NESTING_INCREMENT IS NULL AND l_single_row_attrs.NESTING_INCREMENT IS NOT NULL THEN
4093 l_single_row_attrs.UOM_NESTING_INCREMENT := i.UOM_CODE;
4094 ELSIF i.APPLICATION_COLUMN_NAME = 'DEL_TO_DIST_CNTR_TEMP_MIN'
4095 AND l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NULL AND l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN IS NOT NULL THEN
4096 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN := i.UOM_CODE;
4097 ELSIF i.APPLICATION_COLUMN_NAME = 'DEL_TO_DIST_CNTR_TEMP_MAX'
4098 AND l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NULL AND l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX IS NOT NULL THEN
4099 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX := i.UOM_CODE;
4100 ELSIF i.APPLICATION_COLUMN_NAME = 'DELIVERY_TO_MRKT_TEMP_MIN'
4101 AND l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NULL AND l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN IS NOT NULL THEN
4102 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN := i.UOM_CODE;
4103 ELSIF i.APPLICATION_COLUMN_NAME = 'DELIVERY_TO_MRKT_TEMP_MAX'
4104 AND l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NULL AND l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX IS NOT NULL THEN
4105 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX := i.UOM_CODE;
4106 ELSIF i.APPLICATION_COLUMN_NAME = 'STORAGE_HANDLING_TEMP_MIN'
4107 AND l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN IS NULL AND l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN IS NOT NULL THEN
4108 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN := i.UOM_CODE;
4109 ELSIF i.APPLICATION_COLUMN_NAME = 'STORAGE_HANDLING_TEMP_MAX'
4110 AND l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX IS NULL AND l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX IS NOT NULL THEN
4111 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX := i.UOM_CODE;
4112 ELSIF i.APPLICATION_COLUMN_NAME = 'FLASH_POINT_TEMP' AND l_multi_row_attrs.FIRST IS NOT NULL THEN
4113 l_index := l_multi_row_attrs.FIRST;
4114 WHILE l_index IS NOT NULL LOOP
4115 IF l_multi_row_attrs(l_index).FLASH_POINT_TEMP IS NOT NULL AND l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP IS NULL THEN
4116 l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP := i.UOM_CODE;
4117 END IF;
4118 l_index := l_multi_row_attrs.NEXT(l_index);
4119 END LOOP;
4120 END IF;
4121 END LOOP;
4122
4123 Debug_Msg('Calling Validate_Attributes');
4124 Validate_Attributes(
4125 p_inventory_item_id -- p_inventory_item_id
4126 ,p_organization_id -- p_organization_id
4127 ,l_single_row_attrs -- p_single_row_attrs_rec
4128 ,l_multi_row_attrs -- p_multi_row_attrs_tbl
4129 ,null -- p_extra_attrs_rec
4130 ,l_return_status -- x_return_status
4131 ,l_msg_count -- x_msg_count
4132 ,l_msg_data -- x_msg_data
4133 );
4134
4135 Debug_Msg('After Validate_Attributes, Return_Status='||l_return_status);
4136 IF l_return_status <> 'S' THEN
4137 x_return_status := l_return_status;
4138 x_msg_count := l_msg_count;
4139 x_msg_data := l_msg_data;
4140 IF l_msg_count > 0 AND l_return_status <> 'U' THEN
4141 FOR cnt IN 1..l_msg_count LOOP
4142 Debug_Msg('Error msg - '||cnt ||': '|| FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F'));
4143 l_msg_text := FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F');
4144 ERROR_HANDLER.Add_Error_Message
4145 (
4146 p_message_text => l_msg_text
4147 ,p_application_id => 'EGO'
4148 ,p_message_type => FND_API.G_RET_STS_ERROR
4149 ,p_row_identifier => p_inventory_item_id
4150 ,p_entity_id => p_entity_id
4151 ,p_entity_index => p_entity_index
4152 ,p_entity_code => p_entity_code
4153 );
4154 END LOOP;
4155 ELSIF l_msg_count > 0 AND l_return_status = 'U' THEN
4156 Debug_Msg('Error msg - '|| l_msg_data);
4157 l_msg_text := l_msg_data;
4158 ERROR_HANDLER.Add_Error_Message
4159 (
4160 p_message_text => l_msg_text
4161 ,p_application_id => 'EGO'
4162 ,p_message_type => FND_API.G_RET_STS_ERROR
4163 ,p_row_identifier => p_inventory_item_id
4164 ,p_entity_id => p_entity_id
4165 ,p_entity_index => p_entity_index
4166 ,p_entity_code => p_entity_code
4167 );
4168 END IF; -- IF l_msg_count
4169
4170 IF (FND_API.To_Boolean(p_init_error_handler)) THEN
4171 ERROR_HANDLER.Log_Error
4172 (p_write_err_to_inttable => 'Y'
4173 ,p_write_err_to_conclog => 'N'
4174 ,p_write_err_to_debugfile => ERROR_HANDLER.Get_Debug()
4175 );
4176 END IF;
4177 Debug_Msg('Returning from Process_UCCnet_Attrs_For_Item');
4178 RETURN;
4179 END IF; -- IF l_return_status <> 'S
4180
4181 l_attributes_row_table := EGO_USER_ATTR_ROW_TABLE();
4182 l_attributes_data_table := EGO_USER_ATTR_DATA_TABLE();
4183
4184 Debug_Msg('Populating Attributes metadata into local array');
4185 FOR i IN c_attr_metadata LOOP
4186 IF i.ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_ATTRS' THEN
4187 l_single_row_attrs_metadata(i.DATABASE_COLUMN).ATTR_GROUP_NAME := i.ATTR_GROUP_NAME;
4188 l_single_row_attrs_metadata(i.DATABASE_COLUMN).ATTR_NAME := i.ATTR_NAME;
4189 ELSIF i.ATTR_GROUP_TYPE = 'EGO_ITEM_GTIN_MULTI_ATTRS' THEN
4190 l_multi_row_attrs_metadata(i.DATABASE_COLUMN).ATTR_GROUP_NAME := i.ATTR_GROUP_NAME;
4191 l_multi_row_attrs_metadata(i.DATABASE_COLUMN).ATTR_NAME := i.ATTR_NAME;
4192 END IF;
4193 END LOOP;
4194
4195 Debug_Msg('Populating single row attributes');
4196 -- Populating single row attributes
4197 IF l_single_row_attrs.BRAND_NAME IS NOT NULL THEN
4198 IF l_single_row_attrs.BRAND_NAME = G_MISS_CHAR THEN
4199 l_single_row_attrs.BRAND_NAME := NULL;
4200 END IF;
4201 Debug_Msg('Creating Attribute Data Object for BRAND_NAME - '||l_single_row_attrs.BRAND_NAME);
4202 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4203 l_single_row_attrs_metadata('BRAND_NAME').ATTR_GROUP_NAME,
4204 FALSE);
4205 l_attributes_data_table.EXTEND;
4206 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4207 l_row_identifier,
4208 l_single_row_attrs_metadata('BRAND_NAME').ATTR_NAME,
4209 l_single_row_attrs.BRAND_NAME,
4210 NULL, NULL, NULL, NULL, NULL);
4211 l_attribute_names.EXTEND;
4212 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('BRAND_NAME').ATTR_NAME;
4213 END IF;
4214
4215 IF l_single_row_attrs.INVOICE_NAME IS NOT NULL THEN
4216 IF l_single_row_attrs.INVOICE_NAME = G_MISS_CHAR THEN
4217 l_single_row_attrs.INVOICE_NAME := NULL;
4218 END IF;
4219 Debug_Msg('Creating Attribute Data Object for INVOICE_NAME - '||l_single_row_attrs.INVOICE_NAME);
4220 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4221 l_single_row_attrs_metadata('INVOICE_NAME').ATTR_GROUP_NAME,
4222 FALSE);
4223 l_attributes_data_table.EXTEND;
4224 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4225 l_row_identifier,
4226 l_single_row_attrs_metadata('INVOICE_NAME').ATTR_NAME,
4227 l_single_row_attrs.INVOICE_NAME,
4228 NULL, NULL, NULL, NULL, NULL);
4229 l_attribute_names.EXTEND;
4230 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('INVOICE_NAME').ATTR_NAME;
4231 END IF;
4232
4233 IF l_single_row_attrs.SUB_BRAND IS NOT NULL THEN
4234 IF l_single_row_attrs.SUB_BRAND = G_MISS_CHAR THEN
4235 l_single_row_attrs.SUB_BRAND := NULL;
4236 END IF;
4237 Debug_Msg('Creating Attribute Data Object for SUB_BRAND - '||l_single_row_attrs.SUB_BRAND);
4238 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4239 l_single_row_attrs_metadata('SUB_BRAND').ATTR_GROUP_NAME,
4240 FALSE);
4241 l_attributes_data_table.EXTEND;
4242 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4243 l_row_identifier,
4244 l_single_row_attrs_metadata('SUB_BRAND').ATTR_NAME,
4245 l_single_row_attrs.SUB_BRAND,
4246 NULL, NULL, NULL, NULL, NULL);
4247 l_attribute_names.EXTEND;
4248 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('SUB_BRAND').ATTR_NAME;
4249 END IF;
4250
4251 IF l_single_row_attrs.EANUCC_CODE IS NOT NULL THEN
4252 IF l_single_row_attrs.EANUCC_CODE = G_MISS_CHAR THEN
4253 l_single_row_attrs.EANUCC_CODE := NULL;
4254 END IF;
4255 Debug_Msg('Creating Attribute Data Object for EANUCC_CODE - '||l_single_row_attrs.EANUCC_CODE);
4256 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4257 l_single_row_attrs_metadata('EANUCC_CODE').ATTR_GROUP_NAME,
4258 FALSE);
4259 l_attributes_data_table.EXTEND;
4260 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4261 l_row_identifier,
4262 l_single_row_attrs_metadata('EANUCC_CODE').ATTR_NAME,
4263 l_single_row_attrs.EANUCC_CODE,
4264 NULL, NULL, NULL, NULL, NULL);
4265 l_attribute_names.EXTEND;
4266 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('EANUCC_CODE').ATTR_NAME;
4267 END IF;
4268
4269 IF l_single_row_attrs.EANUCC_TYPE IS NOT NULL THEN
4270 IF l_single_row_attrs.EANUCC_TYPE = G_MISS_CHAR THEN
4271 l_single_row_attrs.EANUCC_TYPE := NULL;
4272 END IF;
4273 Debug_Msg('Creating Attribute Data Object for EANUCC_TYPE - '||l_single_row_attrs.EANUCC_TYPE);
4274 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4275 l_single_row_attrs_metadata('EANUCC_TYPE').ATTR_GROUP_NAME,
4276 FALSE);
4277 l_attributes_data_table.EXTEND;
4278 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4279 l_row_identifier,
4280 l_single_row_attrs_metadata('EANUCC_TYPE').ATTR_NAME,
4281 l_single_row_attrs.EANUCC_TYPE,
4282 NULL, NULL, NULL, NULL, NULL);
4283 l_attribute_names.EXTEND;
4284 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('EANUCC_TYPE').ATTR_NAME;
4285 END IF;
4286
4287 IF l_single_row_attrs.DESCRIPTION_SHORT IS NOT NULL THEN
4288 IF l_single_row_attrs.DESCRIPTION_SHORT = G_MISS_CHAR THEN
4289 l_single_row_attrs.DESCRIPTION_SHORT := NULL;
4290 END IF;
4291 Debug_Msg('Creating Attribute Data Object for DESCRIPTION_SHORT - '||l_single_row_attrs.DESCRIPTION_SHORT);
4292 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4293 l_single_row_attrs_metadata('DESCRIPTION_SHORT').ATTR_GROUP_NAME,
4294 FALSE);
4295 l_attributes_data_table.EXTEND;
4296 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4297 l_row_identifier,
4298 l_single_row_attrs_metadata('DESCRIPTION_SHORT').ATTR_NAME,
4299 l_single_row_attrs.DESCRIPTION_SHORT,
4300 NULL, NULL, NULL, NULL, NULL);
4301 l_attribute_names.EXTEND;
4302 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DESCRIPTION_SHORT').ATTR_NAME;
4303 END IF;
4304
4305 IF l_single_row_attrs.TRADE_ITEM_COUPON IS NOT NULL THEN
4306 IF l_single_row_attrs.TRADE_ITEM_COUPON = G_MISS_NUM THEN
4307 l_single_row_attrs.TRADE_ITEM_COUPON := NULL;
4308 END IF;
4309 Debug_Msg('Creating Attribute Data Object for TRADE_ITEM_COUPON - '||l_single_row_attrs.TRADE_ITEM_COUPON);
4310 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4311 l_single_row_attrs_metadata('TRADE_ITEM_COUPON').ATTR_GROUP_NAME,
4312 FALSE);
4313 l_attributes_data_table.EXTEND;
4314 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4315 l_row_identifier,
4316 l_single_row_attrs_metadata('TRADE_ITEM_COUPON').ATTR_NAME,
4317 NULL,
4318 l_single_row_attrs.TRADE_ITEM_COUPON,
4319 NULL, NULL, NULL, NULL);
4320 l_attribute_names.EXTEND;
4321 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('TRADE_ITEM_COUPON').ATTR_NAME;
4322 END IF;
4323
4324 IF l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION IS NOT NULL THEN
4325 IF l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION = G_MISS_CHAR THEN
4326 l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION := NULL;
4327 END IF;
4328 Debug_Msg('Creating Attribute Data Object for TRADE_ITEM_FORM_DESCRIPTION - '||l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION);
4329 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4330 l_single_row_attrs_metadata('TRADE_ITEM_FORM_DESCRIPTION').ATTR_GROUP_NAME,
4331 FALSE);
4332 l_attributes_data_table.EXTEND;
4333 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4334 l_row_identifier,
4335 l_single_row_attrs_metadata('TRADE_ITEM_FORM_DESCRIPTION').ATTR_NAME,
4336 l_single_row_attrs.TRADE_ITEM_FORM_DESCRIPTION,
4337 NULL, NULL, NULL, NULL, NULL);
4338 l_attribute_names.EXTEND;
4339 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('TRADE_ITEM_FORM_DESCRIPTION').ATTR_NAME;
4340 END IF;
4341
4342 IF l_single_row_attrs.FUNCTIONAL_NAME IS NOT NULL THEN
4343 IF l_single_row_attrs.FUNCTIONAL_NAME = G_MISS_CHAR THEN
4344 l_single_row_attrs.FUNCTIONAL_NAME := NULL;
4345 END IF;
4346 Debug_Msg('Creating Attribute Data Object for FUNCTIONAL_NAME - '||l_single_row_attrs.FUNCTIONAL_NAME);
4347 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4348 l_single_row_attrs_metadata('FUNCTIONAL_NAME').ATTR_GROUP_NAME,
4349 FALSE);
4350 l_attributes_data_table.EXTEND;
4351 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4352 l_row_identifier,
4353 l_single_row_attrs_metadata('FUNCTIONAL_NAME').ATTR_NAME,
4354 l_single_row_attrs.FUNCTIONAL_NAME,
4355 NULL, NULL, NULL, NULL, NULL);
4356 l_attribute_names.EXTEND;
4357 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('FUNCTIONAL_NAME').ATTR_NAME;
4358 END IF;
4359
4360 IF l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE IS NOT NULL THEN
4361 IF l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE = G_MISS_CHAR THEN
4362 l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE := NULL;
4363 END IF;
4364 Debug_Msg('Creating Attribute Data Object for IS_BARCODE_SYMBOLOGY_DERIVABLE - '||l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE);
4365 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4366 l_single_row_attrs_metadata('IS_BARCODE_SYMBOLOGY_DERIVABLE').ATTR_GROUP_NAME,
4367 FALSE);
4368 l_attributes_data_table.EXTEND;
4369 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4370 l_row_identifier,
4371 l_single_row_attrs_metadata('IS_BARCODE_SYMBOLOGY_DERIVABLE').ATTR_NAME,
4372 l_single_row_attrs.IS_BARCODE_SYMBOLOGY_DERIVABLE,
4373 NULL, NULL, NULL, NULL, NULL);
4374 l_attribute_names.EXTEND;
4375 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_BARCODE_SYMBOLOGY_DERIVABLE').ATTR_NAME;
4376 END IF;
4377
4378 IF l_single_row_attrs.BRAND_OWNER_GLN IS NOT NULL THEN
4379 IF l_single_row_attrs.BRAND_OWNER_GLN = G_MISS_CHAR THEN
4380 l_single_row_attrs.BRAND_OWNER_GLN := NULL;
4381 END IF;
4382 Debug_Msg('Creating Attribute Data Object for BRAND_OWNER_GLN - '||l_single_row_attrs.BRAND_OWNER_GLN);
4383 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4384 l_single_row_attrs_metadata('BRAND_OWNER_GLN').ATTR_GROUP_NAME,
4385 FALSE);
4386 l_attributes_data_table.EXTEND;
4387 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4388 l_row_identifier,
4389 l_single_row_attrs_metadata('BRAND_OWNER_GLN').ATTR_NAME,
4390 l_single_row_attrs.BRAND_OWNER_GLN,
4391 NULL, NULL, NULL, NULL, NULL);
4392 l_attribute_names.EXTEND;
4393 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('BRAND_OWNER_GLN').ATTR_NAME;
4394 END IF;
4395
4396 IF l_single_row_attrs.BRAND_OWNER_NAME IS NOT NULL THEN
4397 IF l_single_row_attrs.BRAND_OWNER_NAME = G_MISS_CHAR THEN
4398 l_single_row_attrs.BRAND_OWNER_NAME := NULL;
4399 END IF;
4400 Debug_Msg('Creating Attribute Data Object for BRAND_OWNER_NAME - '||l_single_row_attrs.BRAND_OWNER_NAME);
4401 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4402 l_single_row_attrs_metadata('BRAND_OWNER_NAME').ATTR_GROUP_NAME,
4403 FALSE);
4404 l_attributes_data_table.EXTEND;
4405 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4406 l_row_identifier,
4407 l_single_row_attrs_metadata('BRAND_OWNER_NAME').ATTR_NAME,
4408 l_single_row_attrs.BRAND_OWNER_NAME,
4409 NULL, NULL, NULL, NULL, NULL);
4410 l_attribute_names.EXTEND;
4411 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('BRAND_OWNER_NAME').ATTR_NAME;
4412 END IF;
4413
4414 IF l_single_row_attrs.NET_CONTENT IS NOT NULL THEN
4415 IF l_single_row_attrs.NET_CONTENT = G_MISS_NUM THEN
4416 l_single_row_attrs.NET_CONTENT := NULL;
4417 END IF;
4418 Debug_Msg('Creating Attribute Data Object for NET_CONTENT - '||l_single_row_attrs.NET_CONTENT);
4419 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4420 l_single_row_attrs_metadata('NET_CONTENT').ATTR_GROUP_NAME,
4421 FALSE);
4422 l_attributes_data_table.EXTEND;
4423 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4424 l_row_identifier,
4425 l_single_row_attrs_metadata('NET_CONTENT').ATTR_NAME,
4426 NULL,
4427 l_single_row_attrs.NET_CONTENT,
4428 NULL, NULL, NULL, NULL);
4429 l_attribute_names.EXTEND;
4430 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('NET_CONTENT').ATTR_NAME;
4431 END IF;
4432
4433 IF l_single_row_attrs.GROSS_WEIGHT IS NOT NULL THEN
4434 IF l_single_row_attrs.GROSS_WEIGHT = G_MISS_NUM THEN
4435 l_single_row_attrs.GROSS_WEIGHT := NULL;
4436 END IF;
4437 IF l_single_row_attrs.UOM_GROSS_WEIGHT = G_MISS_CHAR THEN
4438 l_single_row_attrs.UOM_GROSS_WEIGHT := NULL;
4439 END IF;
4440 Debug_Msg('Creating Attribute Data Object for GROSS_WEIGHT - '||l_single_row_attrs.GROSS_WEIGHT);
4441 Debug_Msg('Creating Attribute Data Object for UOM_GROSS_WEIGHT - '||l_single_row_attrs.UOM_GROSS_WEIGHT);
4442
4443 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4444 l_single_row_attrs_metadata('GROSS_WEIGHT').ATTR_GROUP_NAME,
4445 FALSE);
4446 l_attributes_data_table.EXTEND;
4447 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4448 l_row_identifier,
4449 l_single_row_attrs_metadata('GROSS_WEIGHT').ATTR_NAME,
4450 NULL,
4451 l_single_row_attrs.GROSS_WEIGHT,
4452 NULL, NULL, l_single_row_attrs.UOM_GROSS_WEIGHT, NULL);
4453 l_attribute_names.EXTEND;
4454 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('GROSS_WEIGHT').ATTR_NAME;
4455 END IF;
4456
4457 IF l_single_row_attrs.UOM_NET_CONTENT IS NOT NULL THEN
4458 IF l_single_row_attrs.UOM_NET_CONTENT = G_MISS_CHAR THEN
4459 l_single_row_attrs.UOM_NET_CONTENT := NULL;
4460 END IF;
4461 Debug_Msg('Creating Attribute Data Object for UOM_NET_CONTENT - '||l_single_row_attrs.UOM_NET_CONTENT);
4462 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4463 l_single_row_attrs_metadata('UOM_NET_CONTENT').ATTR_GROUP_NAME,
4464 FALSE);
4465 l_attributes_data_table.EXTEND;
4466 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4467 l_row_identifier,
4468 l_single_row_attrs_metadata('UOM_NET_CONTENT').ATTR_NAME,
4469 l_single_row_attrs.UOM_NET_CONTENT,
4470 NULL, NULL, NULL, NULL, NULL);
4471 l_attribute_names.EXTEND;
4472 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_NET_CONTENT').ATTR_NAME;
4473 END IF;
4474
4475 IF l_single_row_attrs.DIAMETER IS NOT NULL THEN
4476 IF l_single_row_attrs.DIAMETER = G_MISS_NUM THEN
4477 l_single_row_attrs.DIAMETER := NULL;
4478 END IF;
4479 IF l_single_row_attrs.UOM_DIAMETER = G_MISS_CHAR THEN
4480 l_single_row_attrs.UOM_DIAMETER := NULL;
4481 END IF;
4482 Debug_Msg('Creating Attribute Data Object for DIAMETER - '||l_single_row_attrs.DIAMETER);
4483 Debug_Msg('Creating Attribute Data Object for UOM_DIAMETER - '||l_single_row_attrs.UOM_DIAMETER);
4484
4485 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4486 l_single_row_attrs_metadata('DIAMETER').ATTR_GROUP_NAME,
4487 FALSE);
4488 l_attributes_data_table.EXTEND;
4489 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4490 l_row_identifier,
4491 l_single_row_attrs_metadata('DIAMETER').ATTR_NAME,
4492 NULL,
4493 l_single_row_attrs.DIAMETER,
4494 NULL, NULL, l_single_row_attrs.UOM_DIAMETER, NULL);
4495 l_attribute_names.EXTEND;
4496 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DIAMETER').ATTR_NAME;
4497 END IF;
4498
4499 IF l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM IS NOT NULL THEN
4500 IF l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM = G_MISS_CHAR THEN
4501 l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM := NULL;
4502 END IF;
4503 Debug_Msg('Creating Attribute Data Object for DEPT_OF_TRNSPRT_DANG_GOODS_NUM - '||l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM);
4504 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4505 l_single_row_attrs_metadata('DEPT_OF_TRNSPRT_DANG_GOODS_NUM').ATTR_GROUP_NAME,
4506 FALSE);
4507 l_attributes_data_table.EXTEND;
4508 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4509 l_row_identifier,
4510 l_single_row_attrs_metadata('DEPT_OF_TRNSPRT_DANG_GOODS_NUM').ATTR_NAME,
4511 l_single_row_attrs.DEPT_OF_TRNSPRT_DANG_GOODS_NUM,
4512 NULL, NULL, NULL, NULL, NULL);
4513 l_attribute_names.EXTEND;
4514 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DEPT_OF_TRNSPRT_DANG_GOODS_NUM').ATTR_NAME;
4515 END IF;
4516
4517 IF l_single_row_attrs.RETURN_GOODS_POLICY IS NOT NULL THEN
4518 IF l_single_row_attrs.RETURN_GOODS_POLICY = G_MISS_CHAR THEN
4519 l_single_row_attrs.RETURN_GOODS_POLICY := NULL;
4520 END IF;
4521 Debug_Msg('Creating Attribute Data Object for RETURN_GOODS_POLICY - '||l_single_row_attrs.RETURN_GOODS_POLICY);
4522 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4523 l_single_row_attrs_metadata('RETURN_GOODS_POLICY').ATTR_GROUP_NAME,
4524 FALSE);
4525 l_attributes_data_table.EXTEND;
4526 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4527 l_row_identifier,
4528 l_single_row_attrs_metadata('RETURN_GOODS_POLICY').ATTR_NAME,
4529 l_single_row_attrs.RETURN_GOODS_POLICY,
4530 NULL, NULL, NULL, NULL, NULL);
4531 l_attribute_names.EXTEND;
4532 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('RETURN_GOODS_POLICY').ATTR_NAME;
4533 END IF;
4534
4535 IF l_single_row_attrs.EFFECTIVE_END_DATE IS NOT NULL THEN
4536 IF l_single_row_attrs.EFFECTIVE_END_DATE = G_MISS_DATE THEN
4537 l_single_row_attrs.EFFECTIVE_END_DATE := NULL;
4538 END IF;
4539 Debug_Msg('Creating Attribute Data Object for EFFECTIVE_END_DATE - '||l_single_row_attrs.EFFECTIVE_END_DATE);
4540 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4541 l_single_row_attrs_metadata('EFFECTIVE_END_DATE').ATTR_GROUP_NAME,
4542 FALSE);
4543 l_attributes_data_table.EXTEND;
4544 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4545 l_row_identifier,
4546 l_single_row_attrs_metadata('EFFECTIVE_END_DATE').ATTR_NAME,
4547 NULL, NULL,
4548 l_single_row_attrs.EFFECTIVE_END_DATE,
4549 NULL, NULL, NULL);
4550 l_attribute_names.EXTEND;
4551 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('EFFECTIVE_END_DATE').ATTR_NAME;
4552 END IF;
4553
4554 IF l_single_row_attrs.SUGGESTED_RETAIL_PRICE IS NOT NULL THEN
4555 IF l_single_row_attrs.SUGGESTED_RETAIL_PRICE = G_MISS_NUM THEN
4556 l_single_row_attrs.SUGGESTED_RETAIL_PRICE := NULL;
4557 END IF;
4558 Debug_Msg('Creating Attribute Data Object for SUGGESTED_RETAIL_PRICE - '||l_single_row_attrs.SUGGESTED_RETAIL_PRICE);
4559 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4560 l_single_row_attrs_metadata('SUGGESTED_RETAIL_PRICE').ATTR_GROUP_NAME,
4561 FALSE);
4562 l_attributes_data_table.EXTEND;
4563 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4564 l_row_identifier,
4565 l_single_row_attrs_metadata('SUGGESTED_RETAIL_PRICE').ATTR_NAME,
4566 NULL,
4567 l_single_row_attrs.SUGGESTED_RETAIL_PRICE,
4568 NULL, NULL, NULL, NULL);
4569 l_attribute_names.EXTEND;
4570 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('SUGGESTED_RETAIL_PRICE').ATTR_NAME;
4571 END IF;
4572
4573 IF l_single_row_attrs.IS_TRADE_ITEM_A_CONSUMER_UNIT IS NOT NULL THEN
4574 IF l_single_row_attrs.IS_TRADE_ITEM_A_CONSUMER_UNIT = G_MISS_CHAR THEN
4575 l_single_row_attrs.IS_TRADE_ITEM_A_CONSUMER_UNIT := NULL;
4576 END IF;
4577 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_A_CONSUMER_UNIT - '||l_single_row_attrs.IS_TRADE_ITEM_A_CONSUMER_UNIT);
4578 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4579 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_CONSUMER_UNIT').ATTR_GROUP_NAME,
4580 FALSE);
4581 l_attributes_data_table.EXTEND;
4582 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4583 l_row_identifier,
4584 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_CONSUMER_UNIT').ATTR_NAME,
4585 l_single_row_attrs.IS_TRADE_ITEM_A_CONSUMER_UNIT,
4586 NULL, NULL, NULL, NULL, NULL);
4587 l_attribute_names.EXTEND;
4588 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_A_CONSUMER_UNIT').ATTR_NAME;
4589 END IF;
4590
4591 IF l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT IS NOT NULL THEN
4592 IF l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT = G_MISS_CHAR THEN
4593 l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT := NULL;
4594 END IF;
4595 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_A_BASE_UNIT - '||l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT);
4596 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4597 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_BASE_UNIT').ATTR_GROUP_NAME,
4598 FALSE);
4599 l_attributes_data_table.EXTEND;
4600 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4601 l_row_identifier,
4602 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_BASE_UNIT').ATTR_NAME,
4603 l_single_row_attrs.IS_TRADE_ITEM_A_BASE_UNIT,
4604 NULL, NULL, NULL, NULL, NULL);
4605 l_attribute_names.EXTEND;
4606 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_A_BASE_UNIT').ATTR_NAME;
4607 END IF;
4608
4609 IF l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT IS NOT NULL THEN
4610 IF l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT = G_MISS_CHAR THEN
4611 l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT := NULL;
4612 END IF;
4613 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_A_VARIABLE_UNIT - '||l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT);
4614 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4615 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_VARIABLE_UNIT').ATTR_GROUP_NAME,
4616 FALSE);
4617 l_attributes_data_table.EXTEND;
4618 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4619 l_row_identifier,
4620 l_single_row_attrs_metadata('IS_TRADE_ITEM_A_VARIABLE_UNIT').ATTR_NAME,
4621 l_single_row_attrs.IS_TRADE_ITEM_A_VARIABLE_UNIT,
4622 NULL, NULL, NULL, NULL, NULL);
4623 l_attribute_names.EXTEND;
4624 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_A_VARIABLE_UNIT').ATTR_NAME;
4625 END IF;
4626
4627 IF l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG IS NOT NULL THEN
4628 IF l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG = G_MISS_CHAR THEN
4629 l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG := NULL;
4630 END IF;
4631 Debug_Msg('Creating Attribute Data Object for IS_NET_CONTENT_DEC_FLAG - '||l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG);
4632 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4633 l_single_row_attrs_metadata('IS_NET_CONTENT_DEC_FLAG').ATTR_GROUP_NAME,
4634 FALSE);
4635 l_attributes_data_table.EXTEND;
4636 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4637 l_row_identifier,
4638 l_single_row_attrs_metadata('IS_NET_CONTENT_DEC_FLAG').ATTR_NAME,
4639 l_single_row_attrs.IS_NET_CONTENT_DEC_FLAG,
4640 NULL, NULL, NULL, NULL, NULL);
4641 l_attribute_names.EXTEND;
4642 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_NET_CONTENT_DEC_FLAG').ATTR_NAME;
4643 END IF;
4644
4645 IF l_single_row_attrs.DRAINED_WEIGHT IS NOT NULL THEN
4646 IF l_single_row_attrs.DRAINED_WEIGHT = G_MISS_NUM THEN
4647 l_single_row_attrs.DRAINED_WEIGHT := NULL;
4648 END IF;
4649 IF l_single_row_attrs.UOM_DRAINED_WEIGHT = G_MISS_CHAR THEN
4650 l_single_row_attrs.UOM_DRAINED_WEIGHT := NULL;
4651 END IF;
4652 Debug_Msg('Creating Attribute Data Object for DRAINED_WEIGHT - '||l_single_row_attrs.DRAINED_WEIGHT);
4653 Debug_Msg('Creating Attribute Data Object for UOM_DRAINED_WEIGHT - '||l_single_row_attrs.UOM_DRAINED_WEIGHT);
4654
4655 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4656 l_single_row_attrs_metadata('DRAINED_WEIGHT').ATTR_GROUP_NAME,
4657 FALSE);
4658 l_attributes_data_table.EXTEND;
4659 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4660 l_row_identifier,
4661 l_single_row_attrs_metadata('DRAINED_WEIGHT').ATTR_NAME,
4662 NULL,
4663 l_single_row_attrs.DRAINED_WEIGHT,
4664 NULL, NULL, l_single_row_attrs.UOM_DRAINED_WEIGHT, NULL);
4665 l_attribute_names.EXTEND;
4666 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DRAINED_WEIGHT').ATTR_NAME;
4667 END IF;
4668
4669 IF l_single_row_attrs.PEG_HORIZONTAL IS NOT NULL THEN
4670 IF l_single_row_attrs.PEG_HORIZONTAL = G_MISS_NUM THEN
4671 l_single_row_attrs.PEG_HORIZONTAL := NULL;
4672 END IF;
4673 IF l_single_row_attrs.UOM_PEG_HORIZONTAL = G_MISS_CHAR THEN
4674 l_single_row_attrs.UOM_PEG_HORIZONTAL := NULL;
4675 END IF;
4676 Debug_Msg('Creating Attribute Data Object for PEG_HORIZONTAL - '||l_single_row_attrs.PEG_HORIZONTAL);
4677 Debug_Msg('Creating Attribute Data Object for UOM_PEG_HORIZONTAL - '||l_single_row_attrs.UOM_PEG_HORIZONTAL);
4678
4679 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4680 l_single_row_attrs_metadata('PEG_HORIZONTAL').ATTR_GROUP_NAME,
4681 FALSE);
4682 l_attributes_data_table.EXTEND;
4683 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4684 l_row_identifier,
4685 l_single_row_attrs_metadata('PEG_HORIZONTAL').ATTR_NAME,
4686 NULL,
4687 l_single_row_attrs.PEG_HORIZONTAL,
4688 NULL, NULL, l_single_row_attrs.UOM_PEG_HORIZONTAL, NULL);
4689 l_attribute_names.EXTEND;
4690 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('PEG_HORIZONTAL').ATTR_NAME;
4691 END IF;
4692
4693 IF l_single_row_attrs.PEG_VERTICAL IS NOT NULL THEN
4694 IF l_single_row_attrs.PEG_VERTICAL = G_MISS_NUM THEN
4695 l_single_row_attrs.PEG_VERTICAL := NULL;
4696 END IF;
4697 IF l_single_row_attrs.UOM_PEG_VERTICAL = G_MISS_CHAR THEN
4698 l_single_row_attrs.UOM_PEG_VERTICAL := NULL;
4699 END IF;
4700 Debug_Msg('Creating Attribute Data Object for PEG_VERTICAL - '||l_single_row_attrs.PEG_VERTICAL);
4701 Debug_Msg('Creating Attribute Data Object for UOM_PEG_VERTICAL - '||l_single_row_attrs.UOM_PEG_VERTICAL);
4702
4703 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4704 l_single_row_attrs_metadata('PEG_VERTICAL').ATTR_GROUP_NAME,
4705 FALSE);
4706 l_attributes_data_table.EXTEND;
4707 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4708 l_row_identifier,
4709 l_single_row_attrs_metadata('PEG_VERTICAL').ATTR_NAME,
4710 NULL,
4711 l_single_row_attrs.PEG_VERTICAL,
4712 NULL, NULL, l_single_row_attrs.UOM_PEG_VERTICAL, NULL);
4713 l_attribute_names.EXTEND;
4714 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('PEG_VERTICAL').ATTR_NAME;
4715 END IF;
4716
4717 IF l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE IS NOT NULL THEN
4718 IF l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE = G_MISS_CHAR THEN
4719 l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE := NULL;
4720 END IF;
4721 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_INFO_PRIVATE - '||l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE);
4722 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4723 l_single_row_attrs_metadata('IS_TRADE_ITEM_INFO_PRIVATE').ATTR_GROUP_NAME,
4724 FALSE);
4725 l_attributes_data_table.EXTEND;
4726 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4727 l_row_identifier,
4728 l_single_row_attrs_metadata('IS_TRADE_ITEM_INFO_PRIVATE').ATTR_NAME,
4729 l_single_row_attrs.IS_TRADE_ITEM_INFO_PRIVATE,
4730 NULL, NULL, NULL, NULL, NULL);
4731 l_attribute_names.EXTEND;
4732 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_INFO_PRIVATE').ATTR_NAME;
4733 END IF;
4734
4735 IF l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM IS NOT NULL THEN
4736 IF l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM = G_MISS_NUM THEN
4737 l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM := NULL;
4738 END IF;
4739 Debug_Msg('Creating Attribute Data Object for QUANTITY_OF_COMP_LAY_ITEM - '||l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM);
4740 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4741 l_single_row_attrs_metadata('QUANTITY_OF_COMP_LAY_ITEM').ATTR_GROUP_NAME,
4742 FALSE);
4743 l_attributes_data_table.EXTEND;
4744 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4745 l_row_identifier,
4746 l_single_row_attrs_metadata('QUANTITY_OF_COMP_LAY_ITEM').ATTR_NAME,
4747 NULL,
4748 l_single_row_attrs.QUANTITY_OF_COMP_LAY_ITEM,
4749 NULL, NULL, NULL, NULL);
4750 l_attribute_names.EXTEND;
4751 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('QUANTITY_OF_COMP_LAY_ITEM').ATTR_NAME;
4752 END IF;
4753
4754 IF l_single_row_attrs.GENERIC_INGREDIENT IS NOT NULL THEN
4755 IF l_single_row_attrs.GENERIC_INGREDIENT = G_MISS_CHAR THEN
4756 l_single_row_attrs.GENERIC_INGREDIENT := NULL;
4757 END IF;
4758 Debug_Msg('Creating Attribute Data Object for GENERIC_INGREDIENT - '||l_single_row_attrs.GENERIC_INGREDIENT);
4759 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4760 l_single_row_attrs_metadata('GENERIC_INGREDIENT').ATTR_GROUP_NAME,
4761 FALSE);
4762 l_attributes_data_table.EXTEND;
4763 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4764 l_row_identifier,
4765 l_single_row_attrs_metadata('GENERIC_INGREDIENT').ATTR_NAME,
4766 l_single_row_attrs.GENERIC_INGREDIENT,
4767 NULL, NULL, NULL, NULL, NULL);
4768 l_attribute_names.EXTEND;
4769 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('GENERIC_INGREDIENT').ATTR_NAME;
4770 END IF;
4771
4772 IF l_single_row_attrs.GENERIC_INGREDIENT_STRGTH IS NOT NULL THEN
4773 IF l_single_row_attrs.GENERIC_INGREDIENT_STRGTH = G_MISS_NUM THEN
4774 l_single_row_attrs.GENERIC_INGREDIENT_STRGTH := NULL;
4775 END IF;
4776 IF l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH = G_MISS_CHAR THEN
4777 l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH := NULL;
4778 END IF;
4779 Debug_Msg('Creating Attribute Data Object for GENERIC_INGREDIENT_STRGTH - '||l_single_row_attrs.GENERIC_INGREDIENT_STRGTH);
4780 Debug_Msg('Creating Attribute Data Object for UOM_GENERIC_INGREDIENT_STRGTH - '||l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH);
4781
4782 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4783 l_single_row_attrs_metadata('GENERIC_INGREDIENT_STRGTH').ATTR_GROUP_NAME,
4784 FALSE);
4785 l_attributes_data_table.EXTEND;
4786 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4787 l_row_identifier,
4788 l_single_row_attrs_metadata('GENERIC_INGREDIENT_STRGTH').ATTR_NAME,
4789 NULL,
4790 l_single_row_attrs.GENERIC_INGREDIENT_STRGTH,
4791 NULL, NULL, l_single_row_attrs.UOM_GENERIC_INGREDIENT_STRGTH, NULL);
4792 l_attribute_names.EXTEND;
4793 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('GENERIC_INGREDIENT_STRGTH').ATTR_NAME;
4794 END IF;
4795
4796 IF l_single_row_attrs.INGREDIENT_STRENGTH IS NOT NULL THEN
4797 IF l_single_row_attrs.INGREDIENT_STRENGTH = G_MISS_CHAR THEN
4798 l_single_row_attrs.INGREDIENT_STRENGTH := NULL;
4799 END IF;
4800 Debug_Msg('Creating Attribute Data Object for INGREDIENT_STRENGTH - '||l_single_row_attrs.INGREDIENT_STRENGTH);
4801 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4802 l_single_row_attrs_metadata('INGREDIENT_STRENGTH').ATTR_GROUP_NAME,
4803 FALSE);
4804 l_attributes_data_table.EXTEND;
4805 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4806 l_row_identifier,
4807 l_single_row_attrs_metadata('INGREDIENT_STRENGTH').ATTR_NAME,
4808 l_single_row_attrs.INGREDIENT_STRENGTH,
4809 NULL, NULL, NULL, NULL, NULL);
4810 l_attribute_names.EXTEND;
4811 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('INGREDIENT_STRENGTH').ATTR_NAME;
4812 END IF;
4813
4814 IF l_single_row_attrs.EFFECTIVE_START_DATE IS NOT NULL THEN
4815 IF l_single_row_attrs.EFFECTIVE_START_DATE = G_MISS_DATE THEN
4816 l_single_row_attrs.EFFECTIVE_START_DATE := NULL;
4817 END IF;
4818 Debug_Msg('Creating Attribute Data Object for EFFECTIVE_START_DATE - '||l_single_row_attrs.EFFECTIVE_START_DATE);
4819 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4820 l_single_row_attrs_metadata('EFFECTIVE_START_DATE').ATTR_GROUP_NAME,
4821 FALSE);
4822 l_attributes_data_table.EXTEND;
4823 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4824 l_row_identifier,
4825 l_single_row_attrs_metadata('EFFECTIVE_START_DATE').ATTR_NAME,
4826 NULL, NULL,
4827 l_single_row_attrs.EFFECTIVE_START_DATE,
4828 NULL, NULL, NULL);
4829 l_attribute_names.EXTEND;
4830 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('EFFECTIVE_START_DATE').ATTR_NAME;
4831 END IF;
4832
4833 IF l_single_row_attrs.CATALOG_PRICE IS NOT NULL THEN
4834 IF l_single_row_attrs.CATALOG_PRICE = G_MISS_NUM THEN
4835 l_single_row_attrs.CATALOG_PRICE := NULL;
4836 END IF;
4837 Debug_Msg('Creating Attribute Data Object for CATALOG_PRICE - '||l_single_row_attrs.CATALOG_PRICE);
4838 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4839 l_single_row_attrs_metadata('CATALOG_PRICE').ATTR_GROUP_NAME,
4840 FALSE);
4841 l_attributes_data_table.EXTEND;
4842 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4843 l_row_identifier,
4844 l_single_row_attrs_metadata('CATALOG_PRICE').ATTR_NAME,
4845 NULL,
4846 l_single_row_attrs.CATALOG_PRICE,
4847 NULL, NULL, NULL, NULL);
4848 l_attribute_names.EXTEND;
4849 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('CATALOG_PRICE').ATTR_NAME;
4850 END IF;
4851
4852 IF l_single_row_attrs.START_AVAILABILITY_DATE_TIME IS NOT NULL THEN
4853 IF l_single_row_attrs.START_AVAILABILITY_DATE_TIME = G_MISS_DATE THEN
4854 l_single_row_attrs.START_AVAILABILITY_DATE_TIME := NULL;
4855 END IF;
4856 Debug_Msg('Creating Attribute Data Object for START_AVAILABILITY_DATE_TIME - '||l_single_row_attrs.START_AVAILABILITY_DATE_TIME);
4857 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4858 l_single_row_attrs_metadata('START_AVAILABILITY_DATE_TIME').ATTR_GROUP_NAME,
4859 FALSE);
4860 l_attributes_data_table.EXTEND;
4861 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4862 l_row_identifier,
4863 l_single_row_attrs_metadata('START_AVAILABILITY_DATE_TIME').ATTR_NAME,
4864 NULL, NULL,
4865 l_single_row_attrs.START_AVAILABILITY_DATE_TIME,
4866 NULL, NULL, NULL);
4867 l_attribute_names.EXTEND;
4868 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('START_AVAILABILITY_DATE_TIME').ATTR_NAME;
4869 END IF;
4870
4871 IF l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME IS NOT NULL THEN
4872 IF l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME = G_MISS_DATE THEN
4873 l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME := NULL;
4874 END IF;
4875 Debug_Msg('Creating Attribute Data Object for CONSUMER_AVAIL_DATE_TIME - '||l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME);
4876 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4877 l_single_row_attrs_metadata('CONSUMER_AVAIL_DATE_TIME').ATTR_GROUP_NAME,
4878 FALSE);
4879 l_attributes_data_table.EXTEND;
4880 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4881 l_row_identifier,
4882 l_single_row_attrs_metadata('CONSUMER_AVAIL_DATE_TIME').ATTR_NAME,
4883 NULL, NULL,
4884 l_single_row_attrs.CONSUMER_AVAIL_DATE_TIME,
4885 NULL, NULL, NULL);
4886 l_attribute_names.EXTEND;
4887 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('CONSUMER_AVAIL_DATE_TIME').ATTR_NAME;
4888 END IF;
4889
4890 IF l_single_row_attrs.ORDERING_LEAD_TIME IS NOT NULL THEN
4891 IF l_single_row_attrs.ORDERING_LEAD_TIME = G_MISS_NUM THEN
4892 l_single_row_attrs.ORDERING_LEAD_TIME := NULL;
4893 END IF;
4894 IF l_single_row_attrs.UOM_ORDERING_LEAD_TIME = G_MISS_CHAR THEN
4895 l_single_row_attrs.UOM_ORDERING_LEAD_TIME := NULL;
4896 END IF;
4897 Debug_Msg('Creating Attribute Data Object for ORDERING_LEAD_TIME - '||l_single_row_attrs.ORDERING_LEAD_TIME);
4898 Debug_Msg('Creating Attribute Data Object for UOM_ORDERING_LEAD_TIME - '||l_single_row_attrs.UOM_ORDERING_LEAD_TIME);
4899
4900 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4901 l_single_row_attrs_metadata('ORDERING_LEAD_TIME').ATTR_GROUP_NAME,
4902 FALSE);
4903 l_attributes_data_table.EXTEND;
4904 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4905 l_row_identifier,
4906 l_single_row_attrs_metadata('ORDERING_LEAD_TIME').ATTR_NAME,
4907 NULL,
4908 l_single_row_attrs.ORDERING_LEAD_TIME,
4909 NULL, NULL, l_single_row_attrs.UOM_ORDERING_LEAD_TIME, NULL);
4910 l_attribute_names.EXTEND;
4911 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ORDERING_LEAD_TIME').ATTR_NAME;
4912 END IF;
4913
4914 IF l_single_row_attrs.ORDER_QUANTITY_MAX IS NOT NULL THEN
4915 IF l_single_row_attrs.ORDER_QUANTITY_MAX = G_MISS_NUM THEN
4916 l_single_row_attrs.ORDER_QUANTITY_MAX := NULL;
4917 END IF;
4918 Debug_Msg('Creating Attribute Data Object for ORDER_QUANTITY_MAX - '||l_single_row_attrs.ORDER_QUANTITY_MAX);
4919 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4920 l_single_row_attrs_metadata('ORDER_QUANTITY_MAX').ATTR_GROUP_NAME,
4921 FALSE);
4922 l_attributes_data_table.EXTEND;
4923 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4924 l_row_identifier,
4925 l_single_row_attrs_metadata('ORDER_QUANTITY_MAX').ATTR_NAME,
4926 NULL,
4927 l_single_row_attrs.ORDER_QUANTITY_MAX,
4928 NULL, NULL, NULL, NULL);
4929 l_attribute_names.EXTEND;
4930 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ORDER_QUANTITY_MAX').ATTR_NAME;
4931 END IF;
4932
4933 IF l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO IS NOT NULL THEN
4934 IF l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO = G_MISS_CHAR THEN
4935 l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO := NULL;
4936 END IF;
4937 Debug_Msg('Creating Attribute Data Object for MATERIAL_SAFETY_DATA_SHEET_NO - '||l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO);
4938 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4939 l_single_row_attrs_metadata('MATERIAL_SAFETY_DATA_SHEET_NO').ATTR_GROUP_NAME,
4940 FALSE);
4941 l_attributes_data_table.EXTEND;
4942 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4943 l_row_identifier,
4944 l_single_row_attrs_metadata('MATERIAL_SAFETY_DATA_SHEET_NO').ATTR_NAME,
4945 l_single_row_attrs.MATERIAL_SAFETY_DATA_SHEET_NO,
4946 NULL, NULL, NULL, NULL, NULL);
4947 l_attribute_names.EXTEND;
4948 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('MATERIAL_SAFETY_DATA_SHEET_NO').ATTR_NAME;
4949 END IF;
4950
4951 IF l_single_row_attrs.EFFECTIVE_DATE IS NOT NULL THEN
4952 IF l_single_row_attrs.EFFECTIVE_DATE = G_MISS_DATE THEN
4953 l_single_row_attrs.EFFECTIVE_DATE := NULL;
4954 END IF;
4955 Debug_Msg('Creating Attribute Data Object for EFFECTIVE_DATE - '||l_single_row_attrs.EFFECTIVE_DATE);
4956 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4957 l_single_row_attrs_metadata('EFFECTIVE_DATE').ATTR_GROUP_NAME,
4958 FALSE);
4959 l_attributes_data_table.EXTEND;
4960 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4961 l_row_identifier,
4962 l_single_row_attrs_metadata('EFFECTIVE_DATE').ATTR_NAME,
4963 NULL, NULL,
4964 l_single_row_attrs.EFFECTIVE_DATE,
4965 NULL, NULL, NULL);
4966 l_attribute_names.EXTEND;
4967 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('EFFECTIVE_DATE').ATTR_NAME;
4968 END IF;
4969
4970 IF l_single_row_attrs.END_AVAILABILITY_DATE_TIME IS NOT NULL THEN
4971 IF l_single_row_attrs.END_AVAILABILITY_DATE_TIME = G_MISS_DATE THEN
4972 l_single_row_attrs.END_AVAILABILITY_DATE_TIME := NULL;
4973 END IF;
4974 Debug_Msg('Creating Attribute Data Object for END_AVAILABILITY_DATE_TIME - '||l_single_row_attrs.END_AVAILABILITY_DATE_TIME);
4975 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4976 l_single_row_attrs_metadata('END_AVAILABILITY_DATE_TIME').ATTR_GROUP_NAME,
4977 FALSE);
4978 l_attributes_data_table.EXTEND;
4979 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4980 l_row_identifier,
4981 l_single_row_attrs_metadata('END_AVAILABILITY_DATE_TIME').ATTR_NAME,
4982 NULL, NULL,
4983 l_single_row_attrs.END_AVAILABILITY_DATE_TIME,
4984 NULL, NULL, NULL);
4985 l_attribute_names.EXTEND;
4986 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('END_AVAILABILITY_DATE_TIME').ATTR_NAME;
4987 END IF;
4988
4989 IF l_single_row_attrs.ORDER_QUANTITY_MIN IS NOT NULL THEN
4990 IF l_single_row_attrs.ORDER_QUANTITY_MIN = G_MISS_NUM THEN
4991 l_single_row_attrs.ORDER_QUANTITY_MIN := NULL;
4992 END IF;
4993 Debug_Msg('Creating Attribute Data Object for ORDER_QUANTITY_MIN - '||l_single_row_attrs.ORDER_QUANTITY_MIN);
4994 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
4995 l_single_row_attrs_metadata('ORDER_QUANTITY_MIN').ATTR_GROUP_NAME,
4996 FALSE);
4997 l_attributes_data_table.EXTEND;
4998 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
4999 l_row_identifier,
5000 l_single_row_attrs_metadata('ORDER_QUANTITY_MIN').ATTR_NAME,
5001 NULL,
5002 l_single_row_attrs.ORDER_QUANTITY_MIN,
5003 NULL, NULL, NULL, NULL);
5004 l_attribute_names.EXTEND;
5005 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ORDER_QUANTITY_MIN').ATTR_NAME;
5006 END IF;
5007
5008 IF l_single_row_attrs.ORDER_SIZING_FACTOR IS NOT NULL THEN
5009 IF l_single_row_attrs.ORDER_SIZING_FACTOR = G_MISS_NUM THEN
5010 l_single_row_attrs.ORDER_SIZING_FACTOR := NULL;
5011 END IF;
5012 Debug_Msg('Creating Attribute Data Object for ORDER_SIZING_FACTOR - '||l_single_row_attrs.ORDER_SIZING_FACTOR);
5013 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5014 l_single_row_attrs_metadata('ORDER_SIZING_FACTOR').ATTR_GROUP_NAME,
5015 FALSE);
5016 l_attributes_data_table.EXTEND;
5017 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5018 l_row_identifier,
5019 l_single_row_attrs_metadata('ORDER_SIZING_FACTOR').ATTR_NAME,
5020 NULL,
5021 l_single_row_attrs.ORDER_SIZING_FACTOR,
5022 NULL, NULL, NULL, NULL);
5023 l_attribute_names.EXTEND;
5024 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ORDER_SIZING_FACTOR').ATTR_NAME;
5025 END IF;
5026
5027 IF l_single_row_attrs.ORDER_QUANTITY_MULTIPLE IS NOT NULL THEN
5028 IF l_single_row_attrs.ORDER_QUANTITY_MULTIPLE = G_MISS_NUM THEN
5029 l_single_row_attrs.ORDER_QUANTITY_MULTIPLE := NULL;
5030 END IF;
5031 Debug_Msg('Creating Attribute Data Object for ORDER_QUANTITY_MULTIPLE - '||l_single_row_attrs.ORDER_QUANTITY_MULTIPLE);
5032 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5033 l_single_row_attrs_metadata('ORDER_QUANTITY_MULTIPLE').ATTR_GROUP_NAME,
5034 FALSE);
5035 l_attributes_data_table.EXTEND;
5036 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5037 l_row_identifier,
5038 l_single_row_attrs_metadata('ORDER_QUANTITY_MULTIPLE').ATTR_NAME,
5039 NULL,
5040 l_single_row_attrs.ORDER_QUANTITY_MULTIPLE,
5041 NULL, NULL, NULL, NULL);
5042 l_attribute_names.EXTEND;
5043 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ORDER_QUANTITY_MULTIPLE').ATTR_NAME;
5044 END IF;
5045
5046 IF l_single_row_attrs.DESCRIPTIVE_SIZE IS NOT NULL THEN
5047 IF l_single_row_attrs.DESCRIPTIVE_SIZE = G_MISS_CHAR THEN
5048 l_single_row_attrs.DESCRIPTIVE_SIZE := NULL;
5049 END IF;
5050 Debug_Msg('Creating Attribute Data Object for DESCRIPTIVE_SIZE - '||l_single_row_attrs.DESCRIPTIVE_SIZE);
5051 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5052 l_single_row_attrs_metadata('DESCRIPTIVE_SIZE').ATTR_GROUP_NAME,
5053 FALSE);
5054 l_attributes_data_table.EXTEND;
5055 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5056 l_row_identifier,
5057 l_single_row_attrs_metadata('DESCRIPTIVE_SIZE').ATTR_NAME,
5058 l_single_row_attrs.DESCRIPTIVE_SIZE,
5059 NULL, NULL, NULL, NULL, NULL);
5060 l_attribute_names.EXTEND;
5061 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DESCRIPTIVE_SIZE').ATTR_NAME;
5062 END IF;
5063
5064 IF l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT IS NOT NULL THEN
5065 IF l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT = G_MISS_CHAR THEN
5066 l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT := NULL;
5067 END IF;
5068 Debug_Msg('Creating Attribute Data Object for DEGREE_OF_ORIGINAL_WORT - '||l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT);
5069 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5070 l_single_row_attrs_metadata('DEGREE_OF_ORIGINAL_WORT').ATTR_GROUP_NAME,
5071 FALSE);
5072 l_attributes_data_table.EXTEND;
5073 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5074 l_row_identifier,
5075 l_single_row_attrs_metadata('DEGREE_OF_ORIGINAL_WORT').ATTR_NAME,
5076 l_single_row_attrs.DEGREE_OF_ORIGINAL_WORT,
5077 NULL, NULL, NULL, NULL, NULL);
5078 l_attribute_names.EXTEND;
5079 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DEGREE_OF_ORIGINAL_WORT').ATTR_NAME;
5080 END IF;
5081
5082 IF l_single_row_attrs.SECURITY_TAG_LOCATION IS NOT NULL THEN
5083 IF l_single_row_attrs.SECURITY_TAG_LOCATION = G_MISS_CHAR THEN
5084 l_single_row_attrs.SECURITY_TAG_LOCATION := NULL;
5085 END IF;
5086 Debug_Msg('Creating Attribute Data Object for SECURITY_TAG_LOCATION - '||l_single_row_attrs.SECURITY_TAG_LOCATION);
5087 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5088 l_single_row_attrs_metadata('SECURITY_TAG_LOCATION').ATTR_GROUP_NAME,
5089 FALSE);
5090 l_attributes_data_table.EXTEND;
5091 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5092 l_row_identifier,
5093 l_single_row_attrs_metadata('SECURITY_TAG_LOCATION').ATTR_NAME,
5094 l_single_row_attrs.SECURITY_TAG_LOCATION,
5095 NULL, NULL, NULL, NULL, NULL);
5096 l_attribute_names.EXTEND;
5097 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('SECURITY_TAG_LOCATION').ATTR_NAME;
5098 END IF;
5099
5100 IF l_single_row_attrs.PIECES_PER_TRADE_ITEM IS NOT NULL THEN
5101 IF l_single_row_attrs.PIECES_PER_TRADE_ITEM = G_MISS_NUM THEN
5102 l_single_row_attrs.PIECES_PER_TRADE_ITEM := NULL;
5103 END IF;
5104 IF l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM = G_MISS_CHAR THEN
5105 l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM := NULL;
5106 END IF;
5107 Debug_Msg('Creating Attribute Data Object for PIECES_PER_TRADE_ITEM - '||l_single_row_attrs.PIECES_PER_TRADE_ITEM);
5108 Debug_Msg('Creating Attribute Data Object for UOM_PIECES_PER_TRADE_ITEM - '||l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM);
5109
5110 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5111 l_single_row_attrs_metadata('PIECES_PER_TRADE_ITEM').ATTR_GROUP_NAME,
5112 FALSE);
5113 l_attributes_data_table.EXTEND;
5114 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5115 l_row_identifier,
5116 l_single_row_attrs_metadata('PIECES_PER_TRADE_ITEM').ATTR_NAME,
5117 NULL,
5118 l_single_row_attrs.PIECES_PER_TRADE_ITEM,
5119 NULL, NULL, l_single_row_attrs.UOM_PIECES_PER_TRADE_ITEM, NULL);
5120 l_attribute_names.EXTEND;
5121 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('PIECES_PER_TRADE_ITEM').ATTR_NAME;
5122 END IF;
5123
5124 IF l_single_row_attrs.NESTING_INCREMENT IS NOT NULL THEN
5125 IF l_single_row_attrs.NESTING_INCREMENT = G_MISS_NUM THEN
5126 l_single_row_attrs.NESTING_INCREMENT := NULL;
5127 END IF;
5128 IF l_single_row_attrs.UOM_NESTING_INCREMENT = G_MISS_CHAR THEN
5129 l_single_row_attrs.UOM_NESTING_INCREMENT := NULL;
5130 END IF;
5131 Debug_Msg('Creating Attribute Data Object for NESTING_INCREMENT - '||l_single_row_attrs.NESTING_INCREMENT);
5132 Debug_Msg('Creating Attribute Data Object for UOM_NESTING_INCREMENT - '||l_single_row_attrs.UOM_NESTING_INCREMENT);
5133
5134 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5135 l_single_row_attrs_metadata('NESTING_INCREMENT').ATTR_GROUP_NAME,
5136 FALSE);
5137 l_attributes_data_table.EXTEND;
5138 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5139 l_row_identifier,
5140 l_single_row_attrs_metadata('NESTING_INCREMENT').ATTR_NAME,
5141 NULL,
5142 l_single_row_attrs.NESTING_INCREMENT,
5143 NULL, NULL, l_single_row_attrs.UOM_NESTING_INCREMENT, NULL);
5144 l_attribute_names.EXTEND;
5145 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('NESTING_INCREMENT').ATTR_NAME;
5146 END IF;
5147
5148 IF l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED IS NOT NULL THEN
5149 IF l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED = G_MISS_CHAR THEN
5150 l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED := NULL;
5151 END IF;
5152 Debug_Msg('Creating Attribute Data Object for IS_OUT_OF_BOX_PROVIDED - '||l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED);
5153 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5154 l_single_row_attrs_metadata('IS_OUT_OF_BOX_PROVIDED').ATTR_GROUP_NAME,
5155 FALSE);
5156 l_attributes_data_table.EXTEND;
5157 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5158 l_row_identifier,
5159 l_single_row_attrs_metadata('IS_OUT_OF_BOX_PROVIDED').ATTR_NAME,
5160 l_single_row_attrs.IS_OUT_OF_BOX_PROVIDED,
5161 NULL, NULL, NULL, NULL, NULL);
5162 l_attribute_names.EXTEND;
5163 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_OUT_OF_BOX_PROVIDED').ATTR_NAME;
5164 END IF;
5165
5166 IF l_single_row_attrs.URL_FOR_WARRANTY IS NOT NULL THEN
5167 IF l_single_row_attrs.URL_FOR_WARRANTY = G_MISS_CHAR THEN
5168 l_single_row_attrs.URL_FOR_WARRANTY := NULL;
5169 END IF;
5170 Debug_Msg('Creating Attribute Data Object for URL_FOR_WARRANTY - '||l_single_row_attrs.URL_FOR_WARRANTY);
5171 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5172 l_single_row_attrs_metadata('URL_FOR_WARRANTY').ATTR_GROUP_NAME,
5173 FALSE);
5174 l_attributes_data_table.EXTEND;
5175 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5176 l_row_identifier,
5177 l_single_row_attrs_metadata('URL_FOR_WARRANTY').ATTR_NAME,
5178 l_single_row_attrs.URL_FOR_WARRANTY,
5179 NULL, NULL, NULL, NULL, NULL);
5180 l_attribute_names.EXTEND;
5181 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('URL_FOR_WARRANTY').ATTR_NAME;
5182 END IF;
5183
5184 IF l_single_row_attrs.WARRANTY_DESCRIPTION IS NOT NULL THEN
5185 IF l_single_row_attrs.WARRANTY_DESCRIPTION = G_MISS_CHAR THEN
5186 l_single_row_attrs.WARRANTY_DESCRIPTION := NULL;
5187 END IF;
5188 Debug_Msg('Creating Attribute Data Object for WARRANTY_DESCRIPTION - '||l_single_row_attrs.WARRANTY_DESCRIPTION);
5189 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5190 l_single_row_attrs_metadata('WARRANTY_DESCRIPTION').ATTR_GROUP_NAME,
5191 FALSE);
5192 l_attributes_data_table.EXTEND;
5193 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5194 l_row_identifier,
5195 l_single_row_attrs_metadata('WARRANTY_DESCRIPTION').ATTR_NAME,
5196 l_single_row_attrs.WARRANTY_DESCRIPTION,
5197 NULL, NULL, NULL, NULL, NULL);
5198 l_attribute_names.EXTEND;
5199 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('WARRANTY_DESCRIPTION').ATTR_NAME;
5200 END IF;
5201
5202 IF l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION IS NOT NULL THEN
5203 IF l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION = G_MISS_CHAR THEN
5204 l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION := NULL;
5205 END IF;
5206 Debug_Msg('Creating Attribute Data Object for TRADE_ITEM_FINISH_DESCRIPTION - '||l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION);
5207 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5208 l_single_row_attrs_metadata('TRADE_ITEM_FINISH_DESCRIPTION').ATTR_GROUP_NAME,
5209 FALSE);
5210 l_attributes_data_table.EXTEND;
5211 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5212 l_row_identifier,
5213 l_single_row_attrs_metadata('TRADE_ITEM_FINISH_DESCRIPTION').ATTR_NAME,
5214 l_single_row_attrs.TRADE_ITEM_FINISH_DESCRIPTION,
5215 NULL, NULL, NULL, NULL, NULL);
5216 l_attribute_names.EXTEND;
5217 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('TRADE_ITEM_FINISH_DESCRIPTION').ATTR_NAME;
5218 END IF;
5219
5220 IF l_single_row_attrs.STACKING_WEIGHT_MAXIMUM IS NOT NULL THEN
5221 IF l_single_row_attrs.STACKING_WEIGHT_MAXIMUM = G_MISS_NUM THEN
5222 l_single_row_attrs.STACKING_WEIGHT_MAXIMUM := NULL;
5223 END IF;
5224 IF l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM = G_MISS_CHAR THEN
5225 l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM := NULL;
5226 END IF;
5227 Debug_Msg('Creating Attribute Data Object for STACKING_WEIGHT_MAXIMUM - '||l_single_row_attrs.STACKING_WEIGHT_MAXIMUM);
5228 Debug_Msg('Creating Attribute Data Object for UOM_STACKING_WEIGHT_MAXIMUM - '||l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM);
5229
5230 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5231 l_single_row_attrs_metadata('STACKING_WEIGHT_MAXIMUM').ATTR_GROUP_NAME,
5232 FALSE);
5233 l_attributes_data_table.EXTEND;
5234 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5235 l_row_identifier,
5236 l_single_row_attrs_metadata('STACKING_WEIGHT_MAXIMUM').ATTR_NAME,
5237 NULL,
5238 l_single_row_attrs.STACKING_WEIGHT_MAXIMUM,
5239 NULL, NULL, l_single_row_attrs.UOM_STACKING_WEIGHT_MAXIMUM, NULL);
5240 l_attribute_names.EXTEND;
5241 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('STACKING_WEIGHT_MAXIMUM').ATTR_NAME;
5242 END IF;
5243
5244 IF l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE IS NOT NULL THEN
5245 IF l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE = G_MISS_CHAR THEN
5246 l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE := NULL;
5247 END IF;
5248 Debug_Msg('Creating Attribute Data Object for IS_PACK_MARKED_WITH_EXP_DATE - '||l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE);
5249 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5250 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_EXP_DATE').ATTR_GROUP_NAME,
5251 FALSE);
5252 l_attributes_data_table.EXTEND;
5253 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5254 l_row_identifier,
5255 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_EXP_DATE').ATTR_NAME,
5256 l_single_row_attrs.IS_PACK_MARKED_WITH_EXP_DATE,
5257 NULL, NULL, NULL, NULL, NULL);
5258 l_attribute_names.EXTEND;
5259 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_EXP_DATE').ATTR_NAME;
5260 END IF;
5261
5262 IF l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT IS NOT NULL THEN
5263 IF l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT = G_MISS_CHAR THEN
5264 l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT := NULL;
5265 END IF;
5266 Debug_Msg('Creating Attribute Data Object for IS_PACK_MARKED_WITH_GREEN_DOT - '||l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT);
5267 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5268 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_GREEN_DOT').ATTR_GROUP_NAME,
5269 FALSE);
5270 l_attributes_data_table.EXTEND;
5271 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5272 l_row_identifier,
5273 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_GREEN_DOT').ATTR_NAME,
5274 l_single_row_attrs.IS_PACK_MARKED_WITH_GREEN_DOT,
5275 NULL, NULL, NULL, NULL, NULL);
5276 l_attribute_names.EXTEND;
5277 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_GREEN_DOT').ATTR_NAME;
5278 END IF;
5279
5280 IF l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED IS NOT NULL THEN
5281 IF l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED = G_MISS_CHAR THEN
5282 l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED := NULL;
5283 END IF;
5284 Debug_Msg('Creating Attribute Data Object for IS_PACK_MARKED_WITH_INGRED - '||l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED);
5285 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5286 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_INGRED').ATTR_GROUP_NAME,
5287 FALSE);
5288 l_attributes_data_table.EXTEND;
5289 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5290 l_row_identifier,
5291 l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_INGRED').ATTR_NAME,
5292 l_single_row_attrs.IS_PACK_MARKED_WITH_INGRED,
5293 NULL, NULL, NULL, NULL, NULL);
5294 l_attribute_names.EXTEND;
5295 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_PACK_MARKED_WITH_INGRED').ATTR_NAME;
5296 END IF;
5297
5298 IF l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC IS NOT NULL THEN
5299 IF l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC = G_MISS_CHAR THEN
5300 l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC := NULL;
5301 END IF;
5302 Debug_Msg('Creating Attribute Data Object for IS_PACKAGE_MARKED_AS_REC - '||l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC);
5303 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5304 l_single_row_attrs_metadata('IS_PACKAGE_MARKED_AS_REC').ATTR_GROUP_NAME,
5305 FALSE);
5306 l_attributes_data_table.EXTEND;
5307 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5308 l_row_identifier,
5309 l_single_row_attrs_metadata('IS_PACKAGE_MARKED_AS_REC').ATTR_NAME,
5310 l_single_row_attrs.IS_PACKAGE_MARKED_AS_REC,
5311 NULL, NULL, NULL, NULL, NULL);
5312 l_attribute_names.EXTEND;
5313 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_PACKAGE_MARKED_AS_REC').ATTR_NAME;
5314 END IF;
5315
5316 IF l_single_row_attrs.IS_PACKAGE_MARKED_RET IS NOT NULL THEN
5317 IF l_single_row_attrs.IS_PACKAGE_MARKED_RET = G_MISS_CHAR THEN
5318 l_single_row_attrs.IS_PACKAGE_MARKED_RET := NULL;
5319 END IF;
5320 Debug_Msg('Creating Attribute Data Object for IS_PACKAGE_MARKED_RET - '||l_single_row_attrs.IS_PACKAGE_MARKED_RET);
5321 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5322 l_single_row_attrs_metadata('IS_PACKAGE_MARKED_RET').ATTR_GROUP_NAME,
5323 FALSE);
5324 l_attributes_data_table.EXTEND;
5325 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5326 l_row_identifier,
5327 l_single_row_attrs_metadata('IS_PACKAGE_MARKED_RET').ATTR_NAME,
5328 l_single_row_attrs.IS_PACKAGE_MARKED_RET,
5329 NULL, NULL, NULL, NULL, NULL);
5330 l_attribute_names.EXTEND;
5331 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_PACKAGE_MARKED_RET').ATTR_NAME;
5332 END IF;
5333
5334 IF l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER IS NOT NULL THEN
5335 IF l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER = G_MISS_NUM THEN
5336 l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER := NULL;
5337 END IF;
5338 Debug_Msg('Creating Attribute Data Object for FAT_PERCENT_IN_DRY_MATTER - '||l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER);
5339 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5340 l_single_row_attrs_metadata('FAT_PERCENT_IN_DRY_MATTER').ATTR_GROUP_NAME,
5341 FALSE);
5342 l_attributes_data_table.EXTEND;
5343 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5344 l_row_identifier,
5345 l_single_row_attrs_metadata('FAT_PERCENT_IN_DRY_MATTER').ATTR_NAME,
5346 NULL,
5347 l_single_row_attrs.FAT_PERCENT_IN_DRY_MATTER,
5348 NULL, NULL, NULL, NULL);
5349 l_attribute_names.EXTEND;
5350 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('FAT_PERCENT_IN_DRY_MATTER').ATTR_NAME;
5351 END IF;
5352
5353 IF l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN IS NOT NULL THEN
5354 IF l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN = G_MISS_NUM THEN
5355 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN := NULL;
5356 END IF;
5357 Debug_Msg('Creating Attribute Data Object for DEL_TO_DIST_CNTR_TEMP_MIN - '||l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN);
5358 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5359 l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_GROUP_NAME,
5360 FALSE);
5361 l_attributes_data_table.EXTEND;
5362 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5363 l_row_identifier,
5364 l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_NAME,
5365 NULL,
5366 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MIN,
5367 NULL, NULL, NULL, NULL);
5368 l_attribute_names.EXTEND;
5369 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_NAME;
5370 END IF;
5371
5372 IF l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN IS NOT NULL THEN
5373 IF l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN = G_MISS_CHAR THEN
5374 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN := NULL;
5375 END IF;
5376 Debug_Msg('Creating Attribute Data Object for UOM_DEL_TO_DIST_CNTR_TEMP_MIN - '||l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN);
5377 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5378 l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_GROUP_NAME,
5379 FALSE);
5380 l_attributes_data_table.EXTEND;
5381 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5382 l_row_identifier,
5383 l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_NAME,
5384 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MIN,
5385 NULL, NULL, NULL, NULL, NULL);
5386 l_attribute_names.EXTEND;
5387 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MIN').ATTR_NAME;
5388 END IF;
5389
5390 IF l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX IS NOT NULL THEN
5391 IF l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX = G_MISS_NUM THEN
5392 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX := NULL;
5393 END IF;
5394 Debug_Msg('Creating Attribute Data Object for DEL_TO_DIST_CNTR_TEMP_MAX - '||l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX);
5395 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5396 l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_GROUP_NAME,
5397 FALSE);
5398 l_attributes_data_table.EXTEND;
5399 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5400 l_row_identifier,
5401 l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_NAME,
5402 NULL,
5403 l_single_row_attrs.DEL_TO_DIST_CNTR_TEMP_MAX,
5404 NULL, NULL, NULL, NULL);
5405 l_attribute_names.EXTEND;
5406 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_NAME;
5407 END IF;
5408
5409 IF l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX IS NOT NULL THEN
5410 IF l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX = G_MISS_CHAR THEN
5411 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX := NULL;
5412 END IF;
5413 Debug_Msg('Creating Attribute Data Object for UOM_DEL_TO_DIST_CNTR_TEMP_MAX - '||l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX);
5414 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5415 l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_GROUP_NAME,
5416 FALSE);
5417 l_attributes_data_table.EXTEND;
5418 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5419 l_row_identifier,
5420 l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_NAME,
5421 l_single_row_attrs.UOM_DEL_TO_DIST_CNTR_TEMP_MAX,
5422 NULL, NULL, NULL, NULL, NULL);
5423 l_attribute_names.EXTEND;
5424 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_DEL_TO_DIST_CNTR_TEMP_MAX').ATTR_NAME;
5425 END IF;
5426
5427 IF l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN IS NOT NULL THEN
5428 IF l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN = G_MISS_NUM THEN
5429 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN := NULL;
5430 END IF;
5431 Debug_Msg('Creating Attribute Data Object for DELIVERY_TO_MRKT_TEMP_MIN - '||l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN);
5432 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5433 l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MIN').ATTR_GROUP_NAME,
5434 FALSE);
5435 l_attributes_data_table.EXTEND;
5436 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5437 l_row_identifier,
5438 l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MIN').ATTR_NAME,
5439 NULL,
5440 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MIN,
5441 NULL, NULL, NULL, NULL);
5442 l_attribute_names.EXTEND;
5443 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MIN').ATTR_NAME;
5444 END IF;
5445
5446 IF l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN IS NOT NULL THEN
5447 IF l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN = G_MISS_CHAR THEN
5448 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN := NULL;
5449 END IF;
5450 Debug_Msg('Creating Attribute Data Object for UOM_DELIVERY_TO_MRKT_TEMP_MIN - '||l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN);
5451 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5452 l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MIN').ATTR_GROUP_NAME,
5453 FALSE);
5454 l_attributes_data_table.EXTEND;
5455 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5456 l_row_identifier,
5457 l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MIN').ATTR_NAME,
5458 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MIN,
5459 NULL, NULL, NULL, NULL, NULL);
5460 l_attribute_names.EXTEND;
5461 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MIN').ATTR_NAME;
5462 END IF;
5463
5464 IF l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX IS NOT NULL THEN
5465 IF l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX = G_MISS_NUM THEN
5466 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX := NULL;
5467 END IF;
5468 Debug_Msg('Creating Attribute Data Object for DELIVERY_TO_MRKT_TEMP_MAX - '||l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX);
5469 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5470 l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MAX').ATTR_GROUP_NAME,
5471 FALSE);
5472 l_attributes_data_table.EXTEND;
5473 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5474 l_row_identifier,
5475 l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MAX').ATTR_NAME,
5476 NULL,
5477 l_single_row_attrs.DELIVERY_TO_MRKT_TEMP_MAX,
5478 NULL, NULL, NULL, NULL);
5479 l_attribute_names.EXTEND;
5480 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('DELIVERY_TO_MRKT_TEMP_MAX').ATTR_NAME;
5481 END IF;
5482
5483 IF l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX IS NOT NULL THEN
5484 IF l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX = G_MISS_CHAR THEN
5485 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX := NULL;
5486 END IF;
5487 Debug_Msg('Creating Attribute Data Object for UOM_DELIVERY_TO_MRKT_TEMP_MAX - '||l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX);
5488 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5489 l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MAX').ATTR_GROUP_NAME,
5490 FALSE);
5491 l_attributes_data_table.EXTEND;
5492 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5493 l_row_identifier,
5494 l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MAX').ATTR_NAME,
5495 l_single_row_attrs.UOM_DELIVERY_TO_MRKT_TEMP_MAX,
5496 NULL, NULL, NULL, NULL, NULL);
5497 l_attribute_names.EXTEND;
5498 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_DELIVERY_TO_MRKT_TEMP_MAX').ATTR_NAME;
5499 END IF;
5500
5501 IF l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN IS NOT NULL THEN
5502 IF l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN = G_MISS_NUM THEN
5503 l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN := NULL;
5504 END IF;
5505 Debug_Msg('Creating Attribute Data Object for STORAGE_HANDLING_TEMP_MIN - '||l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN);
5506 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5507 l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MIN').ATTR_GROUP_NAME,
5508 FALSE);
5509 l_attributes_data_table.EXTEND;
5510 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5511 l_row_identifier,
5512 l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MIN').ATTR_NAME,
5513 NULL,
5514 l_single_row_attrs.STORAGE_HANDLING_TEMP_MIN,
5515 NULL, NULL, NULL, NULL);
5516 l_attribute_names.EXTEND;
5517 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MIN').ATTR_NAME;
5518 END IF;
5519
5520 IF l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN IS NOT NULL THEN
5521 IF l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN = G_MISS_CHAR THEN
5522 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN := NULL;
5523 END IF;
5524 Debug_Msg('Creating Attribute Data Object for UOM_STORAGE_HANDLING_TEMP_MIN - '||l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN);
5525 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5526 l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MIN').ATTR_GROUP_NAME,
5527 FALSE);
5528 l_attributes_data_table.EXTEND;
5529 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5530 l_row_identifier,
5531 l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MIN').ATTR_NAME,
5532 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MIN,
5533 NULL, NULL, NULL, NULL, NULL);
5534 l_attribute_names.EXTEND;
5535 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MIN').ATTR_NAME;
5536 END IF;
5537
5538 IF l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX IS NOT NULL THEN
5539 IF l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX = G_MISS_NUM THEN
5540 l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX := NULL;
5541 END IF;
5542 Debug_Msg('Creating Attribute Data Object for STORAGE_HANDLING_TEMP_MAX - '||l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX);
5543 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5544 l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MAX').ATTR_GROUP_NAME,
5545 FALSE);
5546 l_attributes_data_table.EXTEND;
5547 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5548 l_row_identifier,
5549 l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MAX').ATTR_NAME,
5550 NULL,
5551 l_single_row_attrs.STORAGE_HANDLING_TEMP_MAX,
5552 NULL, NULL, NULL, NULL);
5553 l_attribute_names.EXTEND;
5554 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('STORAGE_HANDLING_TEMP_MAX').ATTR_NAME;
5555 END IF;
5556
5557 IF l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX IS NOT NULL THEN
5558 IF l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX = G_MISS_CHAR THEN
5559 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX := NULL;
5560 END IF;
5561 Debug_Msg('Creating Attribute Data Object for UOM_STORAGE_HANDLING_TEMP_MAX - '||l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX);
5562 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5563 l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MAX').ATTR_GROUP_NAME,
5564 FALSE);
5565 l_attributes_data_table.EXTEND;
5566 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5567 l_row_identifier,
5568 l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MAX').ATTR_NAME,
5569 l_single_row_attrs.UOM_STORAGE_HANDLING_TEMP_MAX,
5570 NULL, NULL, NULL, NULL, NULL);
5571 l_attribute_names.EXTEND;
5572 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('UOM_STORAGE_HANDLING_TEMP_MAX').ATTR_NAME;
5573 END IF;
5574
5575 IF l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM IS NOT NULL THEN
5576 IF l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM = G_MISS_NUM THEN
5577 l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM := NULL;
5578 END IF;
5579 Debug_Msg('Creating Attribute Data Object for RETAIL_PRICE_ON_TRADE_ITEM - '||l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM);
5580 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5581 l_single_row_attrs_metadata('RETAIL_PRICE_ON_TRADE_ITEM').ATTR_GROUP_NAME,
5582 FALSE);
5583 l_attributes_data_table.EXTEND;
5584 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5585 l_row_identifier,
5586 l_single_row_attrs_metadata('RETAIL_PRICE_ON_TRADE_ITEM').ATTR_NAME,
5587 NULL,
5588 l_single_row_attrs.RETAIL_PRICE_ON_TRADE_ITEM,
5589 NULL, NULL, NULL, NULL);
5590 l_attribute_names.EXTEND;
5591 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('RETAIL_PRICE_ON_TRADE_ITEM').ATTR_NAME;
5592 END IF;
5593
5594 IF l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL IS NOT NULL THEN
5595 IF l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL = G_MISS_NUM THEN
5596 l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL := NULL;
5597 END IF;
5598 Debug_Msg('Creating Attribute Data Object for PERCENT_OF_ALCOHOL_BY_VOL - '||l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL);
5599 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5600 l_single_row_attrs_metadata('PERCENT_OF_ALCOHOL_BY_VOL').ATTR_GROUP_NAME,
5601 FALSE);
5602 l_attributes_data_table.EXTEND;
5603 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5604 l_row_identifier,
5605 l_single_row_attrs_metadata('PERCENT_OF_ALCOHOL_BY_VOL').ATTR_NAME,
5606 NULL,
5607 l_single_row_attrs.PERCENT_OF_ALCOHOL_BY_VOL,
5608 NULL, NULL, NULL, NULL);
5609 l_attribute_names.EXTEND;
5610 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('PERCENT_OF_ALCOHOL_BY_VOL').ATTR_NAME;
5611 END IF;
5612
5613 IF l_single_row_attrs.ISBN_NUMBER IS NOT NULL THEN
5614 IF l_single_row_attrs.ISBN_NUMBER = G_MISS_CHAR THEN
5615 l_single_row_attrs.ISBN_NUMBER := NULL;
5616 END IF;
5617 Debug_Msg('Creating Attribute Data Object for ISBN_NUMBER - '||l_single_row_attrs.ISBN_NUMBER);
5618 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5619 l_single_row_attrs_metadata('ISBN_NUMBER').ATTR_GROUP_NAME,
5620 FALSE);
5621 l_attributes_data_table.EXTEND;
5622 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5623 l_row_identifier,
5624 l_single_row_attrs_metadata('ISBN_NUMBER').ATTR_NAME,
5625 l_single_row_attrs.ISBN_NUMBER,
5626 NULL, NULL, NULL, NULL, NULL);
5627 l_attribute_names.EXTEND;
5628 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ISBN_NUMBER').ATTR_NAME;
5629 END IF;
5630
5631 IF l_single_row_attrs.ISSN_NUMBER IS NOT NULL THEN
5632 IF l_single_row_attrs.ISSN_NUMBER = G_MISS_CHAR THEN
5633 l_single_row_attrs.ISSN_NUMBER := NULL;
5634 END IF;
5635 Debug_Msg('Creating Attribute Data Object for ISSN_NUMBER - '||l_single_row_attrs.ISSN_NUMBER);
5636 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5637 l_single_row_attrs_metadata('ISSN_NUMBER').ATTR_GROUP_NAME,
5638 FALSE);
5639 l_attributes_data_table.EXTEND;
5640 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5641 l_row_identifier,
5642 l_single_row_attrs_metadata('ISSN_NUMBER').ATTR_NAME,
5643 l_single_row_attrs.ISSN_NUMBER,
5644 NULL, NULL, NULL, NULL, NULL);
5645 l_attribute_names.EXTEND;
5646 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('ISSN_NUMBER').ATTR_NAME;
5647 END IF;
5648
5649 IF l_single_row_attrs.IS_INGREDIENT_IRRADIATED IS NOT NULL THEN
5650 IF l_single_row_attrs.IS_INGREDIENT_IRRADIATED = G_MISS_CHAR THEN
5651 l_single_row_attrs.IS_INGREDIENT_IRRADIATED := NULL;
5652 END IF;
5653 Debug_Msg('Creating Attribute Data Object for IS_INGREDIENT_IRRADIATED - '||l_single_row_attrs.IS_INGREDIENT_IRRADIATED);
5654 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5655 l_single_row_attrs_metadata('IS_INGREDIENT_IRRADIATED').ATTR_GROUP_NAME,
5656 FALSE);
5657 l_attributes_data_table.EXTEND;
5658 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5659 l_row_identifier,
5660 l_single_row_attrs_metadata('IS_INGREDIENT_IRRADIATED').ATTR_NAME,
5661 l_single_row_attrs.IS_INGREDIENT_IRRADIATED,
5662 NULL, NULL, NULL, NULL, NULL);
5663 l_attribute_names.EXTEND;
5664 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_INGREDIENT_IRRADIATED').ATTR_NAME;
5665 END IF;
5666
5667 IF l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED IS NOT NULL THEN
5668 IF l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED = G_MISS_CHAR THEN
5669 l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED := NULL;
5670 END IF;
5671 Debug_Msg('Creating Attribute Data Object for IS_RAW_MATERIAL_IRRADIATED - '||l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED);
5672 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5673 l_single_row_attrs_metadata('IS_RAW_MATERIAL_IRRADIATED').ATTR_GROUP_NAME,
5674 FALSE);
5675 l_attributes_data_table.EXTEND;
5676 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5677 l_row_identifier,
5678 l_single_row_attrs_metadata('IS_RAW_MATERIAL_IRRADIATED').ATTR_NAME,
5679 l_single_row_attrs.IS_RAW_MATERIAL_IRRADIATED,
5680 NULL, NULL, NULL, NULL, NULL);
5681 l_attribute_names.EXTEND;
5682 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_RAW_MATERIAL_IRRADIATED').ATTR_NAME;
5683 END IF;
5684
5685 IF l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD IS NOT NULL THEN
5686 IF l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD = G_MISS_CHAR THEN
5687 l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD := NULL;
5688 END IF;
5689 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_GENETICALLY_MOD - '||l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD);
5690 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5691 l_single_row_attrs_metadata('IS_TRADE_ITEM_GENETICALLY_MOD').ATTR_GROUP_NAME,
5692 FALSE);
5693 l_attributes_data_table.EXTEND;
5694 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5695 l_row_identifier,
5696 l_single_row_attrs_metadata('IS_TRADE_ITEM_GENETICALLY_MOD').ATTR_NAME,
5697 l_single_row_attrs.IS_TRADE_ITEM_GENETICALLY_MOD,
5698 NULL, NULL, NULL, NULL, NULL);
5699 l_attribute_names.EXTEND;
5700 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_GENETICALLY_MOD').ATTR_NAME;
5701 END IF;
5702
5703 IF l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED IS NOT NULL THEN
5704 IF l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED = G_MISS_CHAR THEN
5705 l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED := NULL;
5706 END IF;
5707 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_IRRADIATED - '||l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED);
5708 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5709 l_single_row_attrs_metadata('IS_TRADE_ITEM_IRRADIATED').ATTR_GROUP_NAME,
5710 FALSE);
5711 l_attributes_data_table.EXTEND;
5712 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5713 l_row_identifier,
5714 l_single_row_attrs_metadata('IS_TRADE_ITEM_IRRADIATED').ATTR_NAME,
5715 l_single_row_attrs.IS_TRADE_ITEM_IRRADIATED,
5716 NULL, NULL, NULL, NULL, NULL);
5717 l_attribute_names.EXTEND;
5718 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_IRRADIATED').ATTR_NAME;
5719 END IF;
5720
5721 IF l_single_row_attrs.IS_TRADE_ITEM_RECALLED IS NOT NULL THEN
5722 IF l_single_row_attrs.IS_TRADE_ITEM_RECALLED = G_MISS_CHAR THEN
5723 l_single_row_attrs.IS_TRADE_ITEM_RECALLED := NULL;
5724 END IF;
5725 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_RECALLED - '||l_single_row_attrs.IS_TRADE_ITEM_RECALLED);
5726 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5727 l_single_row_attrs_metadata('IS_TRADE_ITEM_RECALLED').ATTR_GROUP_NAME,
5728 FALSE);
5729 l_attributes_data_table.EXTEND;
5730 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5731 l_row_identifier,
5732 l_single_row_attrs_metadata('IS_TRADE_ITEM_RECALLED').ATTR_NAME,
5733 l_single_row_attrs.IS_TRADE_ITEM_RECALLED,
5734 NULL, NULL, NULL, NULL, NULL);
5735 l_attribute_names.EXTEND;
5736 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_RECALLED').ATTR_NAME;
5737 END IF;
5738
5739 IF l_single_row_attrs.MODEL_NUMBER IS NOT NULL THEN
5740 IF l_single_row_attrs.MODEL_NUMBER = G_MISS_CHAR THEN
5741 l_single_row_attrs.MODEL_NUMBER := NULL;
5742 END IF;
5743 Debug_Msg('Creating Attribute Data Object for MODEL_NUMBER - '||l_single_row_attrs.MODEL_NUMBER);
5744 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5745 l_single_row_attrs_metadata('MODEL_NUMBER').ATTR_GROUP_NAME,
5746 FALSE);
5747 l_attributes_data_table.EXTEND;
5748 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5749 l_row_identifier,
5750 l_single_row_attrs_metadata('MODEL_NUMBER').ATTR_NAME,
5751 l_single_row_attrs.MODEL_NUMBER,
5752 NULL, NULL, NULL, NULL, NULL);
5753 l_attribute_names.EXTEND;
5754 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('MODEL_NUMBER').ATTR_NAME;
5755 END IF;
5756
5757 IF l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER IS NOT NULL THEN
5758 IF l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER = G_MISS_NUM THEN
5759 l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER := NULL;
5760 END IF;
5761 Debug_Msg('Creating Attribute Data Object for QUANITY_OF_ITEM_IN_LAYER - '||l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER);
5762 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5763 l_single_row_attrs_metadata('QUANITY_OF_ITEM_IN_LAYER').ATTR_GROUP_NAME,
5764 FALSE);
5765 l_attributes_data_table.EXTEND;
5766 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5767 l_row_identifier,
5768 l_single_row_attrs_metadata('QUANITY_OF_ITEM_IN_LAYER').ATTR_NAME,
5769 NULL,
5770 l_single_row_attrs.QUANITY_OF_ITEM_IN_LAYER,
5771 NULL, NULL, NULL, NULL);
5772 l_attribute_names.EXTEND;
5773 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('QUANITY_OF_ITEM_IN_LAYER').ATTR_NAME;
5774 END IF;
5775
5776 IF l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK IS NOT NULL THEN
5777 IF l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK = G_MISS_NUM THEN
5778 l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK := NULL;
5779 END IF;
5780 Debug_Msg('Creating Attribute Data Object for QUANTITY_OF_ITEM_INNER_PACK - '||l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK);
5781 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5782 l_single_row_attrs_metadata('QUANTITY_OF_ITEM_INNER_PACK').ATTR_GROUP_NAME,
5783 FALSE);
5784 l_attributes_data_table.EXTEND;
5785 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5786 l_row_identifier,
5787 l_single_row_attrs_metadata('QUANTITY_OF_ITEM_INNER_PACK').ATTR_NAME,
5788 NULL,
5789 l_single_row_attrs.QUANTITY_OF_ITEM_INNER_PACK,
5790 NULL, NULL, NULL, NULL);
5791 l_attribute_names.EXTEND;
5792 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('QUANTITY_OF_ITEM_INNER_PACK').ATTR_NAME;
5793 END IF;
5794
5795 IF l_single_row_attrs.QUANTITY_OF_INNER_PACK IS NOT NULL THEN
5796 IF l_single_row_attrs.QUANTITY_OF_INNER_PACK = G_MISS_NUM THEN
5797 l_single_row_attrs.QUANTITY_OF_INNER_PACK := NULL;
5798 END IF;
5799 Debug_Msg('Creating Attribute Data Object for QUANTITY_OF_INNER_PACK - '||l_single_row_attrs.QUANTITY_OF_INNER_PACK);
5800 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5801 l_single_row_attrs_metadata('QUANTITY_OF_INNER_PACK').ATTR_GROUP_NAME,
5802 FALSE);
5803 l_attributes_data_table.EXTEND;
5804 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5805 l_row_identifier,
5806 l_single_row_attrs_metadata('QUANTITY_OF_INNER_PACK').ATTR_NAME,
5807 NULL,
5808 l_single_row_attrs.QUANTITY_OF_INNER_PACK,
5809 NULL, NULL, NULL, NULL);
5810 l_attribute_names.EXTEND;
5811 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('QUANTITY_OF_INNER_PACK').ATTR_NAME;
5812 END IF;
5813
5814 IF l_single_row_attrs.HAS_BATCH_NUMBER IS NOT NULL THEN
5815 IF l_single_row_attrs.HAS_BATCH_NUMBER = G_MISS_CHAR THEN
5816 l_single_row_attrs.HAS_BATCH_NUMBER := NULL;
5817 END IF;
5818 Debug_Msg('Creating Attribute Data Object for HAS_BATCH_NUMBER - '||l_single_row_attrs.HAS_BATCH_NUMBER);
5819 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5820 l_single_row_attrs_metadata('HAS_BATCH_NUMBER').ATTR_GROUP_NAME,
5821 FALSE);
5822 l_attributes_data_table.EXTEND;
5823 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5824 l_row_identifier,
5825 l_single_row_attrs_metadata('HAS_BATCH_NUMBER').ATTR_NAME,
5826 l_single_row_attrs.HAS_BATCH_NUMBER,
5827 NULL, NULL, NULL, NULL, NULL);
5828 l_attribute_names.EXTEND;
5829 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('HAS_BATCH_NUMBER').ATTR_NAME;
5830 END IF;
5831
5832 IF l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG IS NOT NULL THEN
5833 IF l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG = G_MISS_CHAR THEN
5834 l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG := NULL;
5835 END IF;
5836 Debug_Msg('Creating Attribute Data Object for IS_NON_SOLD_TRADE_RET_FLAG - '||l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG);
5837 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5838 l_single_row_attrs_metadata('IS_NON_SOLD_TRADE_RET_FLAG').ATTR_GROUP_NAME,
5839 FALSE);
5840 l_attributes_data_table.EXTEND;
5841 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5842 l_row_identifier,
5843 l_single_row_attrs_metadata('IS_NON_SOLD_TRADE_RET_FLAG').ATTR_NAME,
5844 l_single_row_attrs.IS_NON_SOLD_TRADE_RET_FLAG,
5845 NULL, NULL, NULL, NULL, NULL);
5846 l_attribute_names.EXTEND;
5847 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_NON_SOLD_TRADE_RET_FLAG').ATTR_NAME;
5848 END IF;
5849
5850 IF l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG IS NOT NULL THEN
5851 IF l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG = G_MISS_CHAR THEN
5852 l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG := NULL;
5853 END IF;
5854 Debug_Msg('Creating Attribute Data Object for IS_TRADE_ITEM_MAR_REC_FLAG - '||l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG);
5855 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5856 l_single_row_attrs_metadata('IS_TRADE_ITEM_MAR_REC_FLAG').ATTR_GROUP_NAME,
5857 FALSE);
5858 l_attributes_data_table.EXTEND;
5859 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5860 l_row_identifier,
5861 l_single_row_attrs_metadata('IS_TRADE_ITEM_MAR_REC_FLAG').ATTR_NAME,
5862 l_single_row_attrs.IS_TRADE_ITEM_MAR_REC_FLAG,
5863 NULL, NULL, NULL, NULL, NULL);
5864 l_attribute_names.EXTEND;
5865 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('IS_TRADE_ITEM_MAR_REC_FLAG').ATTR_NAME;
5866 END IF;
5867
5868 IF l_single_row_attrs.STACKING_FACTOR IS NOT NULL THEN
5869 IF l_single_row_attrs.STACKING_FACTOR = G_MISS_NUM THEN
5870 l_single_row_attrs.STACKING_FACTOR := NULL;
5871 END IF;
5872 Debug_Msg('Creating Attribute Data Object for STACKING_FACTOR - '||l_single_row_attrs.STACKING_FACTOR);
5873 l_row_identifier := Create_Attrs_Row_Table('EGO_ITEM_GTIN_ATTRS',
5874 l_single_row_attrs_metadata('STACKING_FACTOR').ATTR_GROUP_NAME,
5875 FALSE);
5876 l_attributes_data_table.EXTEND;
5877 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5878 l_row_identifier,
5879 l_single_row_attrs_metadata('STACKING_FACTOR').ATTR_NAME,
5880 NULL,
5881 l_single_row_attrs.STACKING_FACTOR,
5882 NULL, NULL, NULL, NULL);
5883 l_attribute_names.EXTEND;
5884 l_attribute_names(l_attribute_names.COUNT) := l_single_row_attrs_metadata('STACKING_FACTOR').ATTR_NAME;
5885 END IF;
5886
5887 Debug_Msg('Calling EGO_ITEM_PUB.Process_User_Attrs_For_Item');
5888 EGO_ITEM_PVT.Process_User_Attrs_For_Item(
5889 p_api_version => 1.0
5890 ,p_inventory_item_id => p_inventory_item_id
5891 ,p_organization_id => p_organization_id
5892 ,p_attributes_row_table => l_attributes_row_table
5893 ,p_attributes_data_table => l_attributes_data_table
5894 ,p_do_policy_check => p_check_policy
5895 ,p_validate_hierarchy => FND_API.G_FALSE
5896 ,p_entity_id => p_entity_id
5897 ,p_entity_index => p_entity_index
5898 ,p_entity_code => p_entity_code
5899 ,p_init_error_handler => p_init_error_handler
5900 ,p_init_fnd_msg_list => FND_API.G_FALSE
5901 ,p_add_errors_to_fnd_stack => FND_API.G_TRUE
5902 ,p_commit => FND_API.G_FALSE
5903 ,x_failed_row_id_list => l_failed_row_id_list
5904 ,x_return_status => l_return_status
5905 ,x_errorcode => l_errorcode
5906 ,x_msg_count => l_msg_count
5907 ,x_msg_data => l_msg_data);
5908
5909 Debug_Msg('Finished EGO_ITEM_PVT.Process_User_Attrs_For_Item with status - '||l_return_status);
5910
5911 IF l_return_status <> 'S' THEN
5912 x_return_status := l_return_status;
5913 x_msg_count := l_msg_count;
5914 x_msg_data := l_msg_data;
5915 FOR cnt IN 1..l_msg_count LOOP
5916 Debug_Msg('Error msg - '||cnt ||': '|| FND_MSG_PUB.Get(p_msg_index => cnt, p_encoded => 'F'));
5917 END LOOP;
5918 Debug_Msg('Error msg - '|| l_msg_data);
5919 ELSIF l_return_status = 'S' THEN
5920 Debug_Msg('Singe Row Attributes (and deletion of multi-row attributes) processing is successful');
5921 Debug_Msg('Processing multi row attributes');
5922 IF l_multi_row_attrs.FIRST IS NOT NULL THEN
5923 Debug_Msg('Multi row attributes EXIST');
5924 l_index := l_multi_row_attrs.FIRST;
5925 WHILE l_index IS NOT NULL LOOP
5926 Debug_Msg('Processing row# - '||l_index);
5927 -- processing attribute group - Manufacturing_Info
5928 IF l_multi_row_attrs(l_index).MANUFACTURER_ID IS NOT NULL OR l_multi_row_attrs(l_index).MANUFACTURER_GLN IS NOT NULL
5929 THEN
5930 l_attributes_data_table.DELETE;
5931 IF l_multi_row_attrs(l_index).MANUFACTURER_ID IS NOT NULL
5932 THEN
5933 Debug_Msg('Creating Attribute Data Object for MANUFACTURER_ID - '||l_multi_row_attrs(l_index).MANUFACTURER_ID);
5934 IF l_multi_row_attrs(l_index).MANUFACTURER_ID = G_MISS_NUM THEN
5935 l_multi_row_attrs(l_index).MANUFACTURER_ID := NULL;
5936 END IF;
5937 l_attributes_data_table.EXTEND;
5938 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5939 1,
5940 l_multi_row_attrs_metadata('MANUFACTURER_ID').ATTR_NAME,
5941 NULL,
5942 l_multi_row_attrs(l_index).MANUFACTURER_ID,
5943 NULL, NULL, NULL, NULL);
5944 l_attribute_names.EXTEND;
5945 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('MANUFACTURER_ID').ATTR_NAME;
5946 END IF;
5947
5948 IF l_multi_row_attrs(l_index).MANUFACTURER_GLN IS NOT NULL
5949 THEN
5950 Debug_Msg('Creating Attribute Data Object for MANUFACTURER_GLN - '||l_multi_row_attrs(l_index).MANUFACTURER_GLN);
5951 IF l_multi_row_attrs(l_index).MANUFACTURER_GLN = G_MISS_CHAR THEN
5952 l_multi_row_attrs(l_index).MANUFACTURER_GLN := NULL;
5953 END IF;
5954 l_attributes_data_table.EXTEND;
5955 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5956 1,
5957 l_multi_row_attrs_metadata('MANUFACTURER_GLN').ATTR_NAME,
5958 l_multi_row_attrs(l_index).MANUFACTURER_GLN,
5959 NULL, NULL, NULL, NULL, NULL);
5960 l_attribute_names.EXTEND;
5961 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('MANUFACTURER_GLN').ATTR_NAME;
5962 END IF;
5963
5964 -- processing this AG
5965 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('MANUFACTURER_ID').ATTR_GROUP_NAME,
5966 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
5967 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
5968 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
5969 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
5970 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
5971 p_attr_name_value_pairs => l_attributes_data_table,
5972 x_return_status => l_return_status,
5973 x_errorcode => l_errorcode,
5974 x_msg_count => l_msg_count,
5975 x_msg_data => l_msg_data);
5976
5977 IF l_return_status <> 'S' THEN
5978 x_return_status := l_return_status;
5979 x_msg_count := l_msg_count;
5980 x_msg_data := l_msg_data;
5981 RETURN;
5982 END IF;
5983 END IF; -- IF l_multi_row_attrs(l_index).MANUFACTURER_ID IS NOT NULL OR
5984
5985 -- processing attribute group - Country_Of_Origin
5986 IF l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN IS NOT NULL THEN
5987 Debug_Msg('Creating Attribute Data Object for COUNTRY_OF_ORIGIN - '||l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN);
5988 IF l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN = G_MISS_CHAR THEN
5989 l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN := NULL;
5990 END IF;
5991
5992 l_attributes_data_table.DELETE;
5993 l_attributes_data_table.EXTEND;
5994 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
5995 1,
5996 l_multi_row_attrs_metadata('COUNTRY_OF_ORIGIN').ATTR_NAME,
5997 l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN,
5998 NULL, NULL, NULL, NULL, NULL);
5999 l_attribute_names.EXTEND;
6000 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('COUNTRY_OF_ORIGIN').ATTR_NAME;
6001
6002 -- processing this AG
6003 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('COUNTRY_OF_ORIGIN').ATTR_GROUP_NAME,
6004 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6005 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6006 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6007 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6008 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6009 p_attr_name_value_pairs => l_attributes_data_table,
6010 x_return_status => l_return_status,
6011 x_errorcode => l_errorcode,
6012 x_msg_count => l_msg_count,
6013 x_msg_data => l_msg_data);
6014
6015 IF l_return_status <> 'S' THEN
6016 x_return_status := l_return_status;
6017 x_msg_count := l_msg_count;
6018 x_msg_data := l_msg_data;
6019 RETURN;
6020 END IF;
6021 END IF; -- IF l_multi_row_attrs(l_index).COUNTRY_OF_ORIGIN IS NOT NULL THEN
6022
6023 -- processing attribute group - TRADE_ITEM_HARMN_SYS_IDENT
6024 IF l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE IS NOT NULL THEN
6025 Debug_Msg('Creating Attribute Data Object for HARMONIZED_TARIFF_SYS_ID_CODE - '||l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE);
6026 IF l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE = G_MISS_NUM THEN
6027 l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE := NULL;
6028 END IF;
6029
6030 l_attributes_data_table.DELETE;
6031 l_attributes_data_table.EXTEND;
6032 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6033 1,
6034 l_multi_row_attrs_metadata('HARMONIZED_TARIFF_SYS_ID_CODE').ATTR_NAME,
6035 NULL,
6036 l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE,
6037 NULL, NULL, NULL, NULL);
6038 l_attribute_names.EXTEND;
6039 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('HARMONIZED_TARIFF_SYS_ID_CODE').ATTR_NAME;
6040
6041 -- processing this AG
6042 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('HARMONIZED_TARIFF_SYS_ID_CODE').ATTR_GROUP_NAME,
6043 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6044 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6045 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6046 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6047 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6048 p_attr_name_value_pairs => l_attributes_data_table,
6049 x_return_status => l_return_status,
6050 x_errorcode => l_errorcode,
6051 x_msg_count => l_msg_count,
6052 x_msg_data => l_msg_data);
6053
6054 IF l_return_status <> 'S' THEN
6055 x_return_status := l_return_status;
6056 x_msg_count := l_msg_count;
6057 x_msg_data := l_msg_data;
6058 RETURN;
6059 END IF;
6060 END IF; -- IF l_multi_row_attrs(l_index).HARMONIZED_TARIFF_SYS_ID_CODE IS NOT NULL THEN
6061
6062 -- processing attribute group - Size_Description
6063 IF l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY IS NOT NULL OR l_multi_row_attrs(l_index).SIZE_CODE_VALUE IS NOT NULL
6064 THEN
6065 l_attributes_data_table.DELETE;
6066 IF l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY IS NOT NULL THEN
6067 Debug_Msg('Creating Attribute Data Object for SIZE_CODE_LIST_AGENCY - '||l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY);
6068 IF l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY = G_MISS_CHAR THEN
6069 l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY := NULL;
6070 END IF;
6071
6072 l_attributes_data_table.EXTEND;
6073 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6074 1,
6075 l_multi_row_attrs_metadata('SIZE_CODE_LIST_AGENCY').ATTR_NAME,
6076 l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY,
6077 NULL, NULL, NULL, NULL, NULL);
6078 l_attribute_names.EXTEND;
6079 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('SIZE_CODE_LIST_AGENCY').ATTR_NAME;
6080 END IF; -- IF l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY IS NOT NULL THEN
6081
6082 IF l_multi_row_attrs(l_index).SIZE_CODE_VALUE IS NOT NULL THEN
6083 Debug_Msg('Creating Attribute Data Object for SIZE_CODE_VALUE - '||l_multi_row_attrs(l_index).SIZE_CODE_VALUE);
6084 IF l_multi_row_attrs(l_index).SIZE_CODE_VALUE = G_MISS_CHAR THEN
6085 l_multi_row_attrs(l_index).SIZE_CODE_VALUE := NULL;
6086 END IF;
6087
6088 l_attributes_data_table.EXTEND;
6089 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6090 1,
6091 l_multi_row_attrs_metadata('SIZE_CODE_VALUE').ATTR_NAME,
6092 l_multi_row_attrs(l_index).SIZE_CODE_VALUE,
6093 NULL, NULL, NULL, NULL, NULL);
6094 l_attribute_names.EXTEND;
6095 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('SIZE_CODE_VALUE').ATTR_NAME;
6096 END IF; -- IF l_multi_row_attrs(l_index).SIZE_CODE_VALUE IS NOT NULL THEN
6097
6098 -- processing this AG
6099 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('SIZE_CODE_VALUE').ATTR_GROUP_NAME,
6100 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6101 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6102 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6103 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6104 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6105 p_attr_name_value_pairs => l_attributes_data_table,
6106 x_return_status => l_return_status,
6107 x_errorcode => l_errorcode,
6108 x_msg_count => l_msg_count,
6109 x_msg_data => l_msg_data);
6110
6111 IF l_return_status <> 'S' THEN
6112 x_return_status := l_return_status;
6113 x_msg_count := l_msg_count;
6114 x_msg_data := l_msg_data;
6115 RETURN;
6116 END IF;
6117 END IF; -- IF l_multi_row_attrs(l_index).SIZE_CODE_LIST_AGENCY IS NOT NULL OR l_
6118
6119 -- processing attribute group - Delivery_Method_Indicator
6120 IF l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR IS NOT NULL THEN
6121 Debug_Msg('Creating Attribute Data Object for DELIVERY_METHOD_INDICATOR - '||l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR);
6122 IF l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR = G_MISS_CHAR THEN
6123 l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR := NULL;
6124 END IF;
6125
6126 l_attributes_data_table.DELETE;
6127 l_attributes_data_table.EXTEND;
6128 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6129 1,
6130 l_multi_row_attrs_metadata('DELIVERY_METHOD_INDICATOR').ATTR_NAME,
6131 l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR,
6132 NULL, NULL, NULL, NULL, NULL);
6133 l_attribute_names.EXTEND;
6134 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DELIVERY_METHOD_INDICATOR').ATTR_NAME;
6135
6136 -- processing this AG
6137 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('DELIVERY_METHOD_INDICATOR').ATTR_GROUP_NAME,
6138 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6139 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6140 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6141 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6142 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6143 p_attr_name_value_pairs => l_attributes_data_table,
6144 x_return_status => l_return_status,
6145 x_errorcode => l_errorcode,
6146 x_msg_count => l_msg_count,
6147 x_msg_data => l_msg_data);
6148
6149 IF l_return_status <> 'S' THEN
6150 x_return_status := l_return_status;
6151 x_msg_count := l_msg_count;
6152 x_msg_data := l_msg_data;
6153 RETURN;
6154 END IF;
6155 END IF; -- IF l_multi_row_attrs(l_index).DELIVERY_METHOD_INDICATOR IS NOT NULL THEN
6156
6157 -- processing attribute group - Handling_Information
6158 IF l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE IS NOT NULL THEN
6159 Debug_Msg('Creating Attribute Data Object for HANDLING_INSTRUCTIONS_CODE - '||l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE);
6160 IF l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE = G_MISS_CHAR THEN
6161 l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE := NULL;
6162 END IF;
6163
6164 l_attributes_data_table.DELETE;
6165 l_attributes_data_table.EXTEND;
6166 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6167 1,
6168 l_multi_row_attrs_metadata('HANDLING_INSTRUCTIONS_CODE').ATTR_NAME,
6169 l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE,
6170 NULL, NULL, NULL, NULL, NULL);
6171 l_attribute_names.EXTEND;
6172 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('HANDLING_INSTRUCTIONS_CODE').ATTR_NAME;
6173
6174 -- processing this AG
6175 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('HANDLING_INSTRUCTIONS_CODE').ATTR_GROUP_NAME,
6176 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6177 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6178 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6179 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6180 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6181 p_attr_name_value_pairs => l_attributes_data_table,
6182 x_return_status => l_return_status,
6183 x_errorcode => l_errorcode,
6184 x_msg_count => l_msg_count,
6185 x_msg_data => l_msg_data);
6186
6187 IF l_return_status <> 'S' THEN
6188 x_return_status := l_return_status;
6189 x_msg_count := l_msg_count;
6190 x_msg_data := l_msg_data;
6191 RETURN;
6192 END IF;
6193 END IF; -- IF l_multi_row_attrs(l_index).HANDLING_INSTRUCTIONS_CODE IS NOT NULL THEN
6194
6195 -- processing attribute group - Hazardous_Information
6196 IF l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE IS NOT NULL OR
6197 l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER IS NOT NULL OR
6198 l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE IS NOT NULL OR
6199 l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP IS NOT NULL OR
6200 l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE IS NOT NULL OR
6201 l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME IS NOT NULL OR
6202 l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME IS NOT NULL OR
6203 l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO IS NOT NULL OR
6204 l_multi_row_attrs(l_index).FLASH_POINT_TEMP IS NOT NULL OR
6205 l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP IS NOT NULL
6206 THEN
6207 l_attributes_data_table.DELETE;
6208 IF l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE IS NOT NULL THEN
6209 Debug_Msg('Creating Attribute Data Object for CLASS_OF_DANGEROUS_CODE - '||l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE);
6210 IF l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE = G_MISS_CHAR THEN
6211 l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE := NULL;
6212 END IF;
6213
6214 l_attributes_data_table.EXTEND;
6215 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6216 1,
6217 l_multi_row_attrs_metadata('CLASS_OF_DANGEROUS_CODE').ATTR_NAME,
6218 l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE,
6219 NULL, NULL, NULL, NULL, NULL);
6220 l_attribute_names.EXTEND;
6221 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('CLASS_OF_DANGEROUS_CODE').ATTR_NAME;
6222 END IF; -- IF l_multi_row_attrs(l_index).CLASS_OF_DANGEROUS_CODE IS NOT NULL THEN
6223
6224 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER IS NOT NULL THEN
6225 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_MARGIN_NUMBER - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER);
6226 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER = G_MISS_CHAR THEN
6227 l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER := NULL;
6228 END IF;
6229
6230 l_attributes_data_table.EXTEND;
6231 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6232 1,
6233 l_multi_row_attrs_metadata('DANGEROUS_GOODS_MARGIN_NUMBER').ATTR_NAME,
6234 l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER,
6235 NULL, NULL, NULL, NULL, NULL);
6236 l_attribute_names.EXTEND;
6237 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_MARGIN_NUMBER').ATTR_NAME;
6238 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_MARGIN_NUMBER IS NOT NULL THEN
6239
6240 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE IS NOT NULL THEN
6241 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_HAZARDOUS_CODE - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE);
6242 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE = G_MISS_CHAR THEN
6243 l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE := NULL;
6244 END IF;
6245
6246 l_attributes_data_table.EXTEND;
6247 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6248 1,
6249 l_multi_row_attrs_metadata('DANGEROUS_GOODS_HAZARDOUS_CODE').ATTR_NAME,
6250 l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE,
6251 NULL, NULL, NULL, NULL, NULL);
6252 l_attribute_names.EXTEND;
6253 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_HAZARDOUS_CODE').ATTR_NAME;
6254 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_HAZARDOUS_CODE IS NOT NULL THEN
6255
6256 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP IS NOT NULL THEN
6257 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_PACK_GROUP - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP);
6258 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP = G_MISS_CHAR THEN
6259 l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP := NULL;
6260 END IF;
6261 l_attributes_data_table.EXTEND;
6262 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6263 1,
6264 l_multi_row_attrs_metadata('DANGEROUS_GOODS_PACK_GROUP').ATTR_NAME,
6265 l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP,
6266 NULL, NULL, NULL, NULL, NULL);
6267 l_attribute_names.EXTEND;
6268 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_PACK_GROUP').ATTR_NAME;
6269 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_PACK_GROUP IS NOT NULL THEN
6270
6271 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE IS NOT NULL THEN
6272 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_REG_CODE - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE);
6273 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE = G_MISS_CHAR THEN
6274 l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE := NULL;
6275 END IF;
6276 l_attributes_data_table.EXTEND;
6277 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6278 1,
6279 l_multi_row_attrs_metadata('DANGEROUS_GOODS_REG_CODE').ATTR_NAME,
6280 l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE,
6281 NULL, NULL, NULL, NULL, NULL);
6282 l_attribute_names.EXTEND;
6283 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_REG_CODE').ATTR_NAME;
6284 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_REG_CODE IS NOT NULL THEN
6285
6286 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME IS NOT NULL THEN
6287 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_SHIPPING_NAME - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME);
6288 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME = G_MISS_CHAR THEN
6289 l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME := NULL;
6290 END IF;
6291 l_attributes_data_table.EXTEND;
6292 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6293 1,
6294 l_multi_row_attrs_metadata('DANGEROUS_GOODS_SHIPPING_NAME').ATTR_NAME,
6295 l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME,
6296 NULL, NULL, NULL, NULL, NULL);
6297 l_attribute_names.EXTEND;
6298 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_SHIPPING_NAME').ATTR_NAME;
6299 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_SHIPPING_NAME IS NOT NULL THEN
6300
6301 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME IS NOT NULL THEN
6302 Debug_Msg('Creating Attribute Data Object for DANGEROUS_GOODS_TECHNICAL_NAME - '||l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME);
6303 IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME = G_MISS_CHAR THEN
6304 l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME := NULL;
6305 END IF;
6306 l_attributes_data_table.EXTEND;
6307 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6308 1,
6309 l_multi_row_attrs_metadata('DANGEROUS_GOODS_TECHNICAL_NAME').ATTR_NAME,
6310 l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME,
6311 NULL, NULL, NULL, NULL, NULL);
6312 l_attribute_names.EXTEND;
6313 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('DANGEROUS_GOODS_TECHNICAL_NAME').ATTR_NAME;
6314 END IF; --IF l_multi_row_attrs(l_index).DANGEROUS_GOODS_TECHNICAL_NAME IS NOT NULL THEN
6315
6316 IF l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO IS NOT NULL THEN
6317 Debug_Msg('Creating Attribute Data Object for UNITED_NATIONS_DANG_GOODS_NO - '||l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO);
6318 IF l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO = G_MISS_NUM THEN
6319 l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO := NULL;
6320 END IF;
6321 l_attributes_data_table.EXTEND;
6322 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6323 1,
6324 l_multi_row_attrs_metadata('UNITED_NATIONS_DANG_GOODS_NO').ATTR_NAME,
6325 NULL,
6326 l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO,
6327 NULL, NULL, NULL, NULL);
6328 l_attribute_names.EXTEND;
6329 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('UNITED_NATIONS_DANG_GOODS_NO').ATTR_NAME;
6330 END IF; --IF l_multi_row_attrs(l_index).UNITED_NATIONS_DANG_GOODS_NO IS NOT NULL THEN
6331
6332 IF l_multi_row_attrs(l_index).FLASH_POINT_TEMP IS NOT NULL THEN
6333 Debug_Msg('Creating Attribute Data Object for FLASH_POINT_TEMP - '||l_multi_row_attrs(l_index).FLASH_POINT_TEMP);
6334 IF l_multi_row_attrs(l_index).FLASH_POINT_TEMP = G_MISS_NUM THEN
6335 l_multi_row_attrs(l_index).FLASH_POINT_TEMP := NULL;
6336 END IF;
6337 l_attributes_data_table.EXTEND;
6338 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6339 1,
6340 l_multi_row_attrs_metadata('FLASH_POINT_TEMP').ATTR_NAME,
6341 NULL,
6342 l_multi_row_attrs(l_index).FLASH_POINT_TEMP,
6343 NULL, NULL, NULL, NULL);
6344 l_attribute_names.EXTEND;
6345 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('FLASH_POINT_TEMP').ATTR_NAME;
6346 END IF; --IF l_multi_row_attrs(l_index).FLASH_POINT_TEMP IS NOT NULL THEN
6347
6348 IF l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP IS NOT NULL THEN
6349 Debug_Msg('Creating Attribute Data Object for UOM_FLASH_POINT_TEMP - '||l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP);
6350 IF l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP = G_MISS_CHAR THEN
6351 l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP := NULL;
6352 END IF;
6353 l_attributes_data_table.EXTEND;
6354 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6355 1,
6356 l_multi_row_attrs_metadata('UOM_FLASH_POINT_TEMP').ATTR_NAME,
6357 l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP,
6358 NULL, NULL, NULL, NULL, NULL);
6359 l_attribute_names.EXTEND;
6360 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('UOM_FLASH_POINT_TEMP').ATTR_NAME;
6361 END IF; --IF l_multi_row_attrs(l_index).UOM_FLASH_POINT_TEMP IS NOT NULL THEN
6362
6363 -- processing this AG
6364 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('DANGEROUS_GOODS_TECHNICAL_NAME').ATTR_GROUP_NAME,
6365 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6366 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6367 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6368 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6369 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6370 p_attr_name_value_pairs => l_attributes_data_table,
6371 x_return_status => l_return_status,
6372 x_errorcode => l_errorcode,
6373 x_msg_count => l_msg_count,
6374 x_msg_data => l_msg_data);
6375
6376 IF l_return_status <> 'S' THEN
6377 x_return_status := l_return_status;
6378 x_msg_count := l_msg_count;
6379 x_msg_data := l_msg_data;
6380 RETURN;
6381 END IF;
6382 END IF;
6383
6384 -- processing attribute group - Bar_Code
6385 IF l_multi_row_attrs(l_index).BAR_CODE_TYPE IS NOT NULL THEN
6386 Debug_Msg('Creating Attribute Data Object for BAR_CODE_TYPE - '||l_multi_row_attrs(l_index).BAR_CODE_TYPE);
6387 IF l_multi_row_attrs(l_index).BAR_CODE_TYPE = G_MISS_CHAR THEN
6388 l_multi_row_attrs(l_index).BAR_CODE_TYPE := NULL;
6389 END IF;
6390 l_attributes_data_table.DELETE;
6391 l_attributes_data_table.EXTEND;
6392 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6393 1,
6394 l_multi_row_attrs_metadata('BAR_CODE_TYPE').ATTR_NAME,
6395 l_multi_row_attrs(l_index).BAR_CODE_TYPE,
6396 NULL, NULL, NULL, NULL, NULL);
6397 l_attribute_names.EXTEND;
6398 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('BAR_CODE_TYPE').ATTR_NAME;
6399
6400 -- processing this AG
6401 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('BAR_CODE_TYPE').ATTR_GROUP_NAME,
6402 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6403 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6404 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6405 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6406 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6407 p_attr_name_value_pairs => l_attributes_data_table,
6408 x_return_status => l_return_status,
6409 x_errorcode => l_errorcode,
6410 x_msg_count => l_msg_count,
6411 x_msg_data => l_msg_data);
6412
6413 IF l_return_status <> 'S' THEN
6414 x_return_status := l_return_status;
6415 x_msg_count := l_msg_count;
6416 x_msg_data := l_msg_data;
6417 RETURN;
6418 END IF;
6419 END IF; --IF l_multi_row_attrs(l_index).BAR_CODE_TYPE IS NOT NULL THEN
6420
6421 -- processing attribute group - Gtin_Color_Description
6422 IF l_multi_row_attrs(l_index).COLOR_CODE_VALUE IS NOT NULL OR
6423 l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY IS NOT NULL
6424 THEN
6425 l_attributes_data_table.DELETE;
6426 IF l_multi_row_attrs(l_index).COLOR_CODE_VALUE IS NOT NULL THEN
6427 Debug_Msg('Creating Attribute Data Object for COLOR_CODE_VALUE - '||l_multi_row_attrs(l_index).COLOR_CODE_VALUE);
6428 IF l_multi_row_attrs(l_index).COLOR_CODE_VALUE = G_MISS_CHAR THEN
6429 l_multi_row_attrs(l_index).COLOR_CODE_VALUE := NULL;
6430 END IF;
6431 l_attributes_data_table.EXTEND;
6432 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6433 1,
6434 l_multi_row_attrs_metadata('COLOR_CODE_VALUE').ATTR_NAME,
6435 l_multi_row_attrs(l_index).COLOR_CODE_VALUE,
6436 NULL, NULL, NULL, NULL, NULL);
6437 l_attribute_names.EXTEND;
6438 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('COLOR_CODE_VALUE').ATTR_NAME;
6439 END IF; --IF l_multi_row_attrs(l_index).COLOR_CODE_VALUE IS NOT NULL THEN
6440
6441 IF l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY IS NOT NULL THEN
6442 Debug_Msg('Creating Attribute Data Object for COLOR_CODE_LIST_AGENCY - '||l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY);
6443 IF l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY = G_MISS_CHAR THEN
6444 l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY := NULL;
6445 END IF;
6446 l_attributes_data_table.EXTEND;
6447 l_attributes_data_table(l_attributes_data_table.COUNT) := EGO_USER_ATTR_DATA_OBJ(
6448 1,
6449 l_multi_row_attrs_metadata('COLOR_CODE_LIST_AGENCY').ATTR_NAME,
6450 l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY,
6451 NULL, NULL, NULL, NULL, NULL);
6452 l_attribute_names.EXTEND;
6453 l_attribute_names(l_attribute_names.COUNT) := l_multi_row_attrs_metadata('COLOR_CODE_LIST_AGENCY').ATTR_NAME;
6454 END IF; --IF l_multi_row_attrs(l_index).COLOR_CODE_LIST_AGENCY IS NOT NULL THEN
6455
6456 -- processing this AG
6457 Process_Multi_Row_AG(p_attr_group_name => l_multi_row_attrs_metadata('COLOR_CODE_LIST_AGENCY').ATTR_GROUP_NAME,
6458 p_pk_column_name_value_pairs => l_pk_column_name_value_pairs,
6459 p_class_code_name_value_pairs => l_cc_column_name_value_pairs,
6460 p_data_level_name_value_pairs => l_dl_column_name_value_pairs,
6461 p_extension_id => l_multi_row_attrs(l_index).EXTENSION_ID,
6462 p_transaction_type => l_multi_row_attrs(l_index).TRANSACTION_TYPE,
6463 p_attr_name_value_pairs => l_attributes_data_table,
6464 x_return_status => l_return_status,
6465 x_errorcode => l_errorcode,
6466 x_msg_count => l_msg_count,
6467 x_msg_data => l_msg_data);
6468
6469 IF l_return_status <> 'S' THEN
6470 x_return_status := l_return_status;
6471 x_msg_count := l_msg_count;
6472 x_msg_data := l_msg_data;
6473 RETURN;
6474 END IF;
6475 END IF; --IF l_multi_row_attrs(l_index).COLOR_CODE_VALUE IS NOT NULL OR
6476
6477 l_index := l_multi_row_attrs.NEXT(l_index);
6478 END LOOP; -- end while
6479 END IF; -- IF p_multi_row_attrs_table.FIRST IS NOT NULL THEN
6480 Debug_Msg('Done, Processing multi row attributes');
6481
6482 IF l_attribute_names.COUNT > 0 THEN
6483 Debug_Msg('Calling EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES');
6484 EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES(
6485 p_inventory_item_id,
6486 p_organization_id,
6487 l_attribute_names,
6488 FND_API.G_FALSE,
6489 l_return_status,
6490 l_msg_count,
6491 l_msg_data);
6492
6493 Debug_Msg('Finished Calling EGO_GTIN_PVT.PROCESS_ATTRIBUTE_UPDATES with status='||l_return_status);
6494 IF l_return_status <> 'S' THEN
6495 Debug_Msg('Error msg - '|| l_msg_data);
6496 IF FND_API.To_Boolean(p_init_error_handler) THEN
6497 ERROR_HANDLER.Initialize;
6498 ERROR_HANDLER.Set_Bo_Identifier(EGO_USER_ATTRS_DATA_PVT.G_BO_IDENTIFIER);
6499 END IF;
6500 ERROR_HANDLER.Add_Error_Message
6501 (
6502 p_message_text => l_msg_text
6503 ,p_application_id => 'EGO'
6504 ,p_message_type => FND_API.G_RET_STS_ERROR
6505 ,p_row_identifier => p_inventory_item_id
6506 ,p_entity_id => p_entity_id
6507 ,p_entity_index => p_entity_index
6508 ,p_entity_code => p_entity_code
6509 );
6510 IF (FND_API.To_Boolean(p_init_error_handler)) THEN
6511 ERROR_HANDLER.Log_Error
6512 (p_write_err_to_inttable => 'Y'
6513 ,p_write_err_to_debugfile => ERROR_HANDLER.Get_Debug()
6514 );
6515 END IF;
6516 END IF; -- end IF l_return_status <> 'S' THEN
6517 END IF; --IF l_attribute_names.COUNT > 0 THEN
6518 x_return_status := l_return_status;
6519 x_msg_count := l_msg_count;
6520 x_msg_data := l_msg_data;
6521 END IF; -- IF l_return_status <> 'S
6522
6523 IF FND_API.To_Boolean(p_commit) THEN
6524 Debug_Msg('p_commit is TRUE, so commiting');
6525 COMMIT;
6526 END IF;
6527
6528 Debug_Msg('Finished Process_UCCnet_Attrs_For_Item');
6529 EXCEPTION WHEN OTHERS THEN
6530 x_return_status := 'U';
6531 x_msg_count := 1;
6532 x_msg_data := SQLERRM;
6533 Debug_Msg('Unexpected Error in Process_UCCnet_Attrs_For_Item - '||x_msg_data);
6534 IF FND_API.To_Boolean(p_commit) THEN
6535 COMMIT;
6536 END IF;
6537 END Process_UCCnet_Attrs_For_Item;
6538
6539 END EGO_GTIN_ATTRS_PVT;