1 PACKAGE wms_label_custom_pkg AUTHID CURRENT_USER AS
2 /*$Header: WMSLACPS.pls 120.1.12020000.2 2013/02/26 07:08:20 srsomasu noship $*/
3 /*
4 Custom Hook API - Configurable Label Printing ER
5 */
6 -- Start of comments
7 -- API name : custom_restrict_labels
8 -- Type : Public
9 -- Function : Allows customer to add/remove the LPNs that are getting printed for LPN,LPN Content
10 -- and LPN Summary labels.Below points are worth noting before writing any code here
11 -- 1.p_entity_table is indexed continuously from 1 .. n
12 -- 2.Customer can choose not to print labels for some or all of the LPNs by removing them from the p_entity_table
13 -- 3.For non receiving related flows, new LPNs can be added to p_entity_table, as long as the
14 -- newly added LPNs are child or parent of the passed in LPNs present in p_entity_table
15 -- 4.For receiving related flows(Business_Flow_code in [1,2, 3, 4, 25]), no new LPNs
16 -- can be added to the p_entity_table, even if added labels will not be printed for the newly added LPNs
17 -- 5.If p_entity_table has - LPNA and LPNB, and custom code removes LPNA,LPNB and adds LPNC,LPND(not child or parent
18 -- of LPNA,LPNB) to p_entity_table, then Labels will be printed for LPNA,LPNB
19 -- 6.If custom code deletes all the LPNs in p_entity_table, then no labels will be printed
20 -- EXAMPLE SCENARIOS
21 -- LPNPAR,LPNCHILD are newly added LPNs by custom code and they have parent/child relationship with passed in LPNs LPNA,LPNB,LPNC
22 -- LPNE,LPNF are newly added LPNs by custom code and they dont have any parent/child relationship with any of the input LPNs
23 -- --------------------------------------------------------------------------------------------------------------
24 -- Business Flow Code | p_entity_table - LPN IN List | p_entity_table - LPN OUT List | Labels Printed for
25 -- --------------------------------------------------------------------------------------------------------------
26 -- All | LPNA,LPNB,LPNC | LPNA,LPNE,LPNF | LPNA
27 -- All | LPNA,LPNB,LPC | Custom code deletes all LPNs | No Lable will be printed
28 -- All | LPNA,LPNB,LPNC | LPNE,LPNF | LPNA,LPNB,LPNC
29 -- 1,2, 3, 4, 25 | LPNA,LPNB | LPNA,LPNB,LPNPAR,LPNCHILD | LPNA,LPNB
30 -- Other than 1,2, 3, 4, 25 | LPNA,LPNB | LPNA,LPNB,LPNPAR,LPNCHILD | LPNA,LPNB,LPNPAR,LPNCHILD
31 --
32 -- Pre-reqs : none
33 --
34 -- Parameters :
35 -- p_org_id - Organization ID
36 -- p_transaction_id - Transaction id
37 -- p_transaction_identifier - Transaction identifier which tells what is the type of p_transaction_id passed in.
38 -- It can have one of the below values based on the business flow:
39 -- 'MMTT.TRANSACTION_TEMP_ID';
40 -- 'MTI.TRANSACTION_INTERFACE_ID';
41 -- 'MTRL.LINE_ID';
42 -- 'RT.GROUP_ID';
43 -- 'RSH.SHIPMENT_HEADER_ID';
44 -- 'WSH.DELIVERY_DETAIL_ID';
45 -- 'WND.DELIVERY_ID';
46 -- 'MCCE.CYCLE_COUNT_ENTRY_ID';
47 -- 'LPN_ID';
48 -- 'NULL_TRX_ID';
49 --
50 -- p_item_id - Inventory item id
51 -- p_subinventory_code - Subinventory code
52 -- p_locator_id - Locator id
53 -- p_lot - Lot number
54 -- p_revision - Revision
55 -- p_source_header_id - Source header id. Ex - Sales order header id in case of sales order related flows
56 -- p_source_line_id - Source line id Ex - Sales order line id in case of sales order related flows
57 -- p_label_type - Label type
58 -- p_label_format_id - Label format id
59 -- p_business_flow_code - Business flow code
60 -- p_entity_type - Type of entity that is being passed. For LPN,LP Content and LPN Summary labels, entity type is "LPN"
61 -- p_entity_table - List of entities as represented by entity type. It will be list of LPNs, for "LPN" entity type
62 --
63 -- Return parameters:
64 -- p_entity_table - List of entities as decided by custom code
65 --
66 -- Version : not tracked
67 -- End of comments
68 PROCEDURE custom_restrict_labels(
69 p_org_id IN NUMBER ,
70 p_transaction_id IN NUMBER ,
71 p_transaction_identifier IN VARCHAR2 ,
72 p_item_id IN NUMBER ,
73 p_subinventory_code IN VARCHAR2 ,
74 p_locator_id IN NUMBER ,
75 p_lot IN VARCHAR2 ,
76 p_revision IN VARCHAR2 ,
77 p_source_header_id IN NUMBER ,
78 p_source_line_id IN NUMBER,
79 p_label_type IN NUMBER,
80 p_label_format_id IN NUMBER,
81 p_business_flow_code IN NUMBER ,
82 p_entity_type IN VARCHAR2,
83 p_entity_table IN OUT NOCOPY INV_LABEL.l_cust_entity_table_type);
84 END wms_label_custom_pkg;