41: END IF;
42:
43: IF(p_item.main_obj_type.organization_id IS NOT NULL
44: AND p_item.main_obj_type.organization_id <> FND_API.g_miss_num) THEN
45: l_is_master_org := INV_EBI_UTIL.is_master_org(
46: p_organization_id => p_item.main_obj_type.organization_id
47: );
48:
49: END IF;
120: FND_MSG_PUB.initialize;
121:
122: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
123: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL);
124: INV_EBI_UTIL.SETUP(); --- one time for each process.
125:
126: INV_EBI_UTIL.debug_line('STEP: 10 '||'START INSIDE INV_EBI_ITEM_PUB.process_item '||
127: 'ORGANIZATION CODE: '||p_item.main_obj_type.organization_code||
128: 'Item Number: '||p_item.main_obj_type.item_number
122: l_output_status := inv_ebi_output_status(fnd_api.g_ret_sts_success,NULL,NULL,NULL);
123: x_out := inv_ebi_item_output_obj(NULL,NULL,NULL,NULL,l_output_status,NULL,NULL,NULL,NULL,NULL);
124: INV_EBI_UTIL.SETUP(); --- one time for each process.
125:
126: INV_EBI_UTIL.debug_line('STEP: 10 '||'START INSIDE INV_EBI_ITEM_PUB.process_item '||
127: 'ORGANIZATION CODE: '||p_item.main_obj_type.organization_code||
128: 'Item Number: '||p_item.main_obj_type.item_number
129: );
130: INV_EBI_UTIL.debug_line('STEP: 20 '||'START CALLING INV_EBI_ITEM_HELPER.populate_item_ids ');
126: INV_EBI_UTIL.debug_line('STEP: 10 '||'START INSIDE INV_EBI_ITEM_PUB.process_item '||
127: 'ORGANIZATION CODE: '||p_item.main_obj_type.organization_code||
128: 'Item Number: '||p_item.main_obj_type.item_number
129: );
130: INV_EBI_UTIL.debug_line('STEP: 20 '||'START CALLING INV_EBI_ITEM_HELPER.populate_item_ids ');
131: INV_EBI_ITEM_HELPER.populate_item_ids(
132: p_item => p_item
133: ,x_out => x_out
134: ,x_item => l_item
132: p_item => p_item
133: ,x_out => x_out
134: ,x_item => l_item
135: );
136: INV_EBI_UTIL.debug_line('STEP: 30 '||'END CALLING INV_EBI_ITEM_HELPER.populate_item_ids ');
137:
138: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
139: RAISE FND_API.g_exc_unexpected_error;
140: END IF;
138: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
139: RAISE FND_API.g_exc_unexpected_error;
140: END IF;
141:
142: INV_EBI_UTIL.debug_line('STEP: 40 '||'START CALLING validate_item ');
143: validate_item (
144: p_transaction_type => p_operation
145: ,p_item => l_item
146: ,x_out => x_out
144: p_transaction_type => p_operation
145: ,p_item => l_item
146: ,x_out => x_out
147: );
148: INV_EBI_UTIL.debug_line('STEP: 50 '||'END CALLING validate_item ');
149:
150: IF (x_out.output_status.return_status <> FND_API.g_ret_sts_success) THEN
151: RAISE FND_API.g_exc_unexpected_error;
152: END IF;
161: l_item.main_obj_type.effectivity_date := sysdate+(2/(60*60*24));
162: END IF;
163:
164: --To create Production item
165: INV_EBI_UTIL.debug_line('STEP: 60 '||'START CALLING INV_EBI_ITEM_HELPER.sync_item ');
166:
167: INV_EBI_ITEM_HELPER.sync_item (
168: p_commit => FND_API.g_false
169: ,p_operation => p_operation
170: ,p_item => l_item
171: ,x_out => l_out
172: );
173:
174: INV_EBI_UTIL.debug_line('STEP: 70 '||'END CALLING INV_EBI_ITEM_HELPER.sync_item ');
175: IF (l_out.output_status.return_status <> fnd_api.g_ret_sts_success) THEN
176: x_out.output_status.msg_data := l_out.output_status.msg_data;
177: RAISE fnd_api.g_exc_unexpected_error;
178: END IF;
185: x_out.operating_unit := l_out.operating_unit;
186: x_out.operating_unit_id := l_out.operating_unit_id;
187:
188: -- To process Udas
189: IF (INV_EBI_UTIL.is_pim_installed AND l_item.main_obj_type.item_catalog_group_id IS NOT NULL ) THEN
190: IF (l_item.uda_type IS NOT NULL AND l_item.uda_type.attribute_group_tbl.COUNT > 0) THEN
191: INV_EBI_ITEM_HELPER.process_item_uda(
192: p_api_version => l_api_version
193: ,p_inventory_item_id => x_out.inventory_item_id
207: END IF;
208:
209: x_out.uda_output := l_out.uda_output;
210:
211: x_out.output_status.error_table := INV_EBI_UTIL.get_error_table();
212:
213: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
214:
215: IF FND_API.to_boolean(p_commit) THEN
209: x_out.uda_output := l_out.uda_output;
210:
211: x_out.output_status.error_table := INV_EBI_UTIL.get_error_table();
212:
213: x_out.output_status.msg_data := INV_EBI_UTIL.get_error_table_msgtxt(x_out.output_status.error_table);
214:
215: IF FND_API.to_boolean(p_commit) THEN
216: COMMIT;
217: END IF;
214:
215: IF FND_API.to_boolean(p_commit) THEN
216: COMMIT;
217: END IF;
218: INV_EBI_UTIL.debug_line('STEP: 80 '||'END INSIDE INV_EBI_ITEM_HELPER.process_item '||
219: 'ORGANIZATION CODE: '||p_item.main_obj_type.organization_code||
220: 'Item Number: '||p_item.main_obj_type.item_number
221: );
222: INV_EBI_UTIL.wrapup;
218: INV_EBI_UTIL.debug_line('STEP: 80 '||'END INSIDE INV_EBI_ITEM_HELPER.process_item '||
219: 'ORGANIZATION CODE: '||p_item.main_obj_type.organization_code||
220: 'Item Number: '||p_item.main_obj_type.item_number
221: );
222: INV_EBI_UTIL.wrapup;
223: EXCEPTION
224: WHEN FND_API.g_exc_error THEN
225: ROLLBACK TO inv_ebi_process_item_save_pnt;
226: x_out.output_status.return_status := FND_API.g_ret_sts_error;
520: BEGIN
521: SAVEPOINT inv_ebi_prc_itm_list_save_pnt;
522: ERROR_HANDLER.Initialize;
523: FND_MSG_PUB.initialize;
524: INV_EBI_UTIL.setup();
525: INV_EBI_UTIL.debug_line('STEP: 10 START INSIDE INV_EBI_ITEM_PUB.process_item_list');
526: x_return_status := FND_API.G_RET_STS_SUCCESS ;
527: x_out := inv_ebi_item_output_obj_tbl();
528: IF (p_item IS NOT NULL AND p_item.count > 0) THEN
521: SAVEPOINT inv_ebi_prc_itm_list_save_pnt;
522: ERROR_HANDLER.Initialize;
523: FND_MSG_PUB.initialize;
524: INV_EBI_UTIL.setup();
525: INV_EBI_UTIL.debug_line('STEP: 10 START INSIDE INV_EBI_ITEM_PUB.process_item_list');
526: x_return_status := FND_API.G_RET_STS_SUCCESS ;
527: x_out := inv_ebi_item_output_obj_tbl();
528: IF (p_item IS NOT NULL AND p_item.count > 0) THEN
529: x_out.extend(p_item.count);
530: FOR i in 1..p_item.count
531: LOOP
532: l_inv_ebi_item_obj := p_item(i);
533: IF l_inv_ebi_item_obj.main_obj_type.organization_id IS NOT NULL THEN
534: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_id);
535: ELSE
536: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
537: END IF;
538: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
532: l_inv_ebi_item_obj := p_item(i);
533: IF l_inv_ebi_item_obj.main_obj_type.organization_id IS NOT NULL THEN
534: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_id);
535: ELSE
536: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
537: END IF;
538: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
539: IF(l_is_master_org = fnd_api.g_true ) THEN
540: INV_EBI_UTIL.debug_line('STEP: 20 START CALLING INV_EBI_ITEM_PUB.process_item for ');
536: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
537: END IF;
538: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
539: IF(l_is_master_org = fnd_api.g_true ) THEN
540: INV_EBI_UTIL.debug_line('STEP: 20 START CALLING INV_EBI_ITEM_PUB.process_item for ');
541: INV_EBI_ITEM_PUB.process_item(
542: p_commit => p_commit
543: ,p_operation => p_operation
544: ,p_item => l_inv_ebi_item_obj
543: ,p_operation => p_operation
544: ,p_item => l_inv_ebi_item_obj
545: ,x_out => l_inv_ebi_item_output_obj
546: );
547: INV_EBI_UTIL.debug_line('STEP: 30 END CALLING INV_EBI_ITEM_PUB.process_item for ');
548:
549: x_out(i) := l_inv_ebi_item_output_obj;
550: x_out(i).integration_id := l_inv_ebi_item_obj.integration_id;
551: IF x_out(i).output_status.return_status <> FND_API.G_RET_STS_SUCCESS THEN
562: FOR i in 1..p_item.count
563: LOOP
564: l_inv_ebi_item_obj := p_item(i);
565: IF l_inv_ebi_item_obj.main_obj_type.organization_id IS NOT NULL THEN
566: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_id);
567: ELSE
568: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
569: END IF;
570: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
564: l_inv_ebi_item_obj := p_item(i);
565: IF l_inv_ebi_item_obj.main_obj_type.organization_id IS NOT NULL THEN
566: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_id);
567: ELSE
568: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
569: END IF;
570: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
571: IF(l_is_master_org = fnd_api.g_false ) THEN
572: INV_EBI_UTIL.debug_line('STEP: 20 START CALLING INV_EBI_ITEM_PUB.process_item for ');
568: l_is_master_org := INV_EBI_UTIL.is_master_org(l_inv_ebi_item_obj.main_obj_type.organization_code);
569: END IF;
570: l_item_number := l_inv_ebi_item_obj.main_obj_type.item_number;
571: IF(l_is_master_org = fnd_api.g_false ) THEN
572: INV_EBI_UTIL.debug_line('STEP: 20 START CALLING INV_EBI_ITEM_PUB.process_item for ');
573: INV_EBI_ITEM_PUB.process_item(
574: p_commit => p_commit
575: ,p_operation => p_operation
576: ,p_item => l_inv_ebi_item_obj
575: ,p_operation => p_operation
576: ,p_item => l_inv_ebi_item_obj
577: ,x_out => l_inv_ebi_item_output_obj
578: );
579: INV_EBI_UTIL.debug_line('STEP: 30 END CALLING INV_EBI_ITEM_PUB.process_item for ');
580:
581: x_out(i) := l_inv_ebi_item_output_obj;
582: x_out(i).integration_id := l_inv_ebi_item_obj.integration_id;
583: IF x_out(i).output_status.return_status <> FND_API.G_RET_STS_SUCCESS THEN
591: END IF;
592: IF FND_API.to_boolean(p_commit) THEN
593: COMMIT;
594: END IF;
595: INV_EBI_UTIL.debug_line('STEP: 40 END INSIDE INV_EBI_ITEM_PUB.process_item_list');
596: INV_EBI_UTIL.wrapup;
597: EXCEPTION
598: WHEN FND_API.g_exc_unexpected_error THEN
599: ROLLBACK TO inv_ebi_prc_itm_list_save_pnt;
592: IF FND_API.to_boolean(p_commit) THEN
593: COMMIT;
594: END IF;
595: INV_EBI_UTIL.debug_line('STEP: 40 END INSIDE INV_EBI_ITEM_PUB.process_item_list');
596: INV_EBI_UTIL.wrapup;
597: EXCEPTION
598: WHEN FND_API.g_exc_unexpected_error THEN
599: ROLLBACK TO inv_ebi_prc_itm_list_save_pnt;
600: WHEN OTHERS THEN