1: PACKAGE BODY inv_genealogy_report_gen AS
2: /* $Header: INVLTGNB.pls 120.17.12020000.2 2012/07/09 08:08:51 asugandh ship $ */
3: --
4: -- File : INVLTGNB.pls
5: -- Content : inv_genealogy_report_gen Body
1: PACKAGE BODY inv_genealogy_report_gen AS
2: /* $Header: INVLTGNB.pls 120.17.12020000.2 2012/07/09 08:08:51 asugandh ship $ */
3: --
4: -- File : INVLTGNB.pls
5: -- Content : inv_genealogy_report_gen Body
6: -- Description : generate XML file for genealogy report
7: -- Notes :
8: -- Modified : 07/18/05 lgao created orginal file
9: --
6: -- Description : generate XML file for genealogy report
7: -- Notes :
8: -- Modified : 07/18/05 lgao created orginal file
9: --
10: g_pkg_name CONSTANT VARCHAR2(30) := 'inv_genealogy_report_gen';
11: g_debug NUMBER;
12: g_inventory_item_id NUMBER;
13: g_organization_id NUMBER;
14: g_organization_desc VARCHAR2(240);
63: , p_wip_entity_name IN VARCHAR2
64: , p_level IN NUMBER -- 1 query item, 2 component item
65: );
66: Procedure write_item_info
67: ( p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
68: );
69:
70: Procedure write_lot_info
71: ( p_lot_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.lot_attributes_rec_type
67: ( p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
68: );
69:
70: Procedure write_lot_info
71: ( p_lot_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.lot_attributes_rec_type
72: );
73:
74: Procedure write_serial_info
75: ( p_serial_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.serial_attributes_rec_type
71: ( p_lot_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.lot_attributes_rec_type
72: );
73:
74: Procedure write_serial_info
75: ( p_serial_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.serial_attributes_rec_type
76: );
77:
78: Procedure write_work_order_info
79: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
75: ( p_serial_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.serial_attributes_rec_type
76: );
77:
78: Procedure write_work_order_info
79: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
80: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
81: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
82: );
83:
76: );
77:
78: Procedure write_work_order_info
79: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
80: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
81: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
82: );
83:
84: Procedure write_material_txn_info
77:
78: Procedure write_work_order_info
79: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
80: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
81: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
82: );
83:
84: Procedure write_material_txn_info
85: ( p_material_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.material_txn_rec_type
81: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
82: );
83:
84: Procedure write_material_txn_info
85: ( p_material_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.material_txn_rec_type
86: );
87:
88: Procedure write_pending_txn_info
89: ( p_pending_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.pending_txn_rec_type
85: ( p_material_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.material_txn_rec_type
86: );
87:
88: Procedure write_pending_txn_info
89: ( p_pending_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.pending_txn_rec_type
90: );
91:
92: Procedure write_product_info
93: ( p_product_rec IN OUT NOCOPY inv_genealogy_report_gen.product_rec_type
89: ( p_pending_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.pending_txn_rec_type
90: );
91:
92: Procedure write_product_info
93: ( p_product_rec IN OUT NOCOPY inv_genealogy_report_gen.product_rec_type
94: );
95:
96: Procedure write_component_info
97: ( p_component_rec IN OUT NOCOPY inv_genealogy_report_gen.component_rec_type
93: ( p_product_rec IN OUT NOCOPY inv_genealogy_report_gen.product_rec_type
94: );
95:
96: Procedure write_component_info
97: ( p_component_rec IN OUT NOCOPY inv_genealogy_report_gen.component_rec_type
98: );
99:
100: Procedure write_quality_collections_info
101: ( p_quality_collections_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_collections_rec_type
97: ( p_component_rec IN OUT NOCOPY inv_genealogy_report_gen.component_rec_type
98: );
99:
100: Procedure write_quality_collections_info
101: ( p_quality_collections_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_collections_rec_type
102: );
103:
104: Procedure write_quality_samples_info
105: ( p_quality_samples_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_samples_rec_type
101: ( p_quality_collections_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_collections_rec_type
102: );
103:
104: Procedure write_quality_samples_info
105: ( p_quality_samples_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_samples_rec_type
106: );
107:
108: Procedure write_lotbased_wip_txn_info
109: ( p_lotbased_wip_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.lotbased_wip_txn_rec_type
105: ( p_quality_samples_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_samples_rec_type
106: );
107:
108: Procedure write_lotbased_wip_txn_info
109: ( p_lotbased_wip_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.lotbased_wip_txn_rec_type
110: );
111:
112: Procedure write_move_txn_info
113: ( p_move_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.move_txn_rec_type
109: ( p_lotbased_wip_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.lotbased_wip_txn_rec_type
110: );
111:
112: Procedure write_move_txn_info
113: ( p_move_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.move_txn_rec_type
114: );
115:
116: Procedure write_grade_status_info
117: ( p_grade_status_rec IN OUT NOCOPY inv_genealogy_report_gen.grade_status_rec_type
113: ( p_move_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.move_txn_rec_type
114: );
115:
116: Procedure write_grade_status_info
117: ( p_grade_status_rec IN OUT NOCOPY inv_genealogy_report_gen.grade_status_rec_type
118: );
119:
120: procedure get_all_children
121: ( p_object_id IN NUMBER
635: l_allow_security VARCHAR2(1);
636: l_security Number;
637: x_return_status VARCHAR2(5);
638:
639: l_item_info_rec inv_genealogy_report_gen.item_info_rec_type;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
636: l_security Number;
637: x_return_status VARCHAR2(5);
638:
639: l_item_info_rec inv_genealogy_report_gen.item_info_rec_type;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
637: x_return_status VARCHAR2(5);
638:
639: l_item_info_rec inv_genealogy_report_gen.item_info_rec_type;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
638:
639: l_item_info_rec inv_genealogy_report_gen.item_info_rec_type;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
639: l_item_info_rec inv_genealogy_report_gen.item_info_rec_type;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
640: l_lot_attributes_rec inv_genealogy_report_gen.lot_attributes_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
641: l_serial_attributes_rec inv_genealogy_report_gen.serial_attributes_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
642: l_work_order_header_rec inv_genealogy_report_gen.work_order_header_rec_type;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
643: l_work_order_dtl_rec inv_genealogy_report_gen.work_order_dtl_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
644: l_material_txn_rec inv_genealogy_report_gen.material_txn_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
652: l_grade_status_rec inv_genealogy_report_gen.grade_status_rec_type ;
645: l_pending_txn_rec inv_genealogy_report_gen.pending_txn_rec_type ;
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
652: l_grade_status_rec inv_genealogy_report_gen.grade_status_rec_type ;
653:
646: l_product_rec inv_genealogy_report_gen.product_rec_type ;
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
652: l_grade_status_rec inv_genealogy_report_gen.grade_status_rec_type ;
653:
654: Cursor get_wip IS
647: l_component_rec inv_genealogy_report_gen.component_rec_type ;
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
652: l_grade_status_rec inv_genealogy_report_gen.grade_status_rec_type ;
653:
654: Cursor get_wip IS
655: SELECT wip_entity_name
648: l_quality_collections_rec inv_genealogy_report_gen.quality_collections_rec_type;
649: l_quality_samples_rec inv_genealogy_report_gen.quality_samples_rec_type;
650: l_move_txn_rec inv_genealogy_report_gen.move_txn_rec_type ;
651: l_lotbased_wip_txn_rec inv_genealogy_report_gen.lotbased_wip_txn_rec_type ;
652: l_grade_status_rec inv_genealogy_report_gen.grade_status_rec_type ;
653:
654: Cursor get_wip IS
655: SELECT wip_entity_name
656: , entity_type
945:
946: End write_genealogy_report;
947:
948: Procedure write_item_info
949: ( p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
950: ) IS
951: cursor get_more_item_info is
952: Select shelf_life_days
953: , concatenated_segments
976: XML_write('retest_interval', p_item_info_rec.retest_interval);
977: End write_item_info;
978:
979: Procedure write_lot_info
980: ( p_lot_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.lot_attributes_rec_type
981: ) IS
982: l_orig_txn_id NUMBER;
983: l_txn_action_id NUMBER;
984: l_txn_type_id NUMBER;
1088: write_group_end('Lot_attributes');
1089: End write_lot_info;
1090:
1091: Procedure write_serial_info
1092: ( p_serial_attributes_rec IN OUT NOCOPY inv_genealogy_report_gen.serial_attributes_rec_type
1093: ) IS
1094: l_wip_entity_id NUMBER;
1095: l_inventory_item_id NUMBER;
1096:
1161: write_group_end('Serial_Info');
1162: End write_serial_info;
1163:
1164: Procedure write_work_order_info
1165: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
1166: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
1167: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
1168: ) IS
1169:
1162: End write_serial_info;
1163:
1164: Procedure write_work_order_info
1165: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
1166: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
1167: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
1168: ) IS
1169:
1170: l_batch_status VARCHAR2(80);
1163:
1164: Procedure write_work_order_info
1165: ( p_work_order_header_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_header_rec_type
1166: , p_work_order_dtl_rec IN OUT NOCOPY inv_genealogy_report_gen.work_order_dtl_rec_type
1167: , p_item_info_rec IN OUT NOCOPY inv_genealogy_report_gen.item_info_rec_type
1168: ) IS
1169:
1170: l_batch_status VARCHAR2(80);
1171: l_job_status VARCHAR2(80);
1301:
1302: End write_work_order_info;
1303:
1304: Procedure write_material_txn_info
1305: ( p_material_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.material_txn_rec_type
1306: ) IS
1307:
1308: l_transaction_type_id NUMBER;
1309: l_locator_id NUMBER;
1505: Close l_rec_query;
1506: End write_material_txn_info;
1507:
1508: Procedure write_pending_txn_info
1509: ( p_pending_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.pending_txn_rec_type
1510: ) IS
1511: l_transaction_type_id NUMBER;
1512: l_locator_id NUMBER;
1513: l_txn_status_code NUMBER;
1687:
1688: End write_pending_txn_info;
1689:
1690: Procedure write_product_info
1691: ( p_product_rec IN OUT NOCOPY inv_genealogy_report_gen.product_rec_type
1692: ) IS
1693:
1694: l_locator_id NUMBER;
1695:
1775:
1776: End write_product_info;
1777:
1778: Procedure write_component_info
1779: ( p_component_rec IN OUT NOCOPY inv_genealogy_report_gen.component_rec_type
1780: ) IS
1781:
1782: l_locator_id NUMBER;
1783:
1854:
1855: End write_component_info;
1856:
1857: Procedure write_quality_collections_info
1858: ( p_quality_collections_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_collections_rec_type
1859: ) IS
1860:
1861: l_where VARCHAR2(2000);
1862: l_query VARCHAR2(5000);
1941:
1942: End write_quality_collections_info;
1943:
1944: Procedure write_quality_samples_info
1945: ( p_quality_samples_rec IN OUT NOCOPY inv_genealogy_report_gen.quality_samples_rec_type
1946: ) IS
1947:
1948: l_locator_id NUMBER;
1949: l_count NUMBER;
2146:
2147: End write_quality_samples_info;
2148:
2149: Procedure write_lotbased_wip_txn_info
2150: ( p_lotbased_wip_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.lotbased_wip_txn_rec_type
2151: ) IS
2152: l_user_name VARCHAR2(240);
2153: l_wip_entity_name VARCHAR2(240);
2154: l_item_no VARCHAR2(240);
2213:
2214: End write_lotbased_wip_txn_info;
2215:
2216: Procedure write_move_txn_info
2217: ( p_move_txn_rec IN OUT NOCOPY inv_genealogy_report_gen.move_txn_rec_type
2218: ) IS
2219: l_user_name VARCHAR2(240);
2220: l_wip_entity_name VARCHAR2(240);
2221: l_item_no VARCHAR2(240);
2301:
2302: End write_move_txn_info;
2303:
2304: Procedure write_grade_status_info
2305: ( p_grade_status_rec IN OUT NOCOPY inv_genealogy_report_gen.grade_status_rec_type
2306: ) IS
2307:
2308: l_user_id NUMBER;
2309: cursor get_grade_status is