1 PACKAGE PO_DOCUMENT_ACTION_UTIL AUTHID CURRENT_USER AS
2 -- $Header: POXDAULS.pls 120.2.12020000.2 2013/02/10 13:09:10 vegajula ship $
3
4 -- Global Constants
5
6
7 -- Global Types
8
9 TYPE DOC_STATE_ARRAY_TBL_TYPE IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
10
11 TYPE DOC_STATE_REC_TYPE IS RECORD
12 (
13 auth_states DOC_STATE_ARRAY_TBL_TYPE,
14 closed_states DOC_STATE_ARRAY_TBL_TYPE,
15 hold_flag VARCHAR(1),
16 frozen_flag VARCHAR(1),
17 fully_reserved_flag VARCHAR(1)
18 );
19
20
21 -- Methods
22
23
24 FUNCTION check_doc_state(
25 p_document_id IN NUMBER
26 , p_document_type IN VARCHAR2
27 , p_draft_id IN NUMBER --CLM Apprvl
28 , p_line_id IN NUMBER DEFAULT NULL
29 , p_shipment_id IN NUMBER DEFAULT NULL
30 , p_allowed_states IN PO_DOCUMENT_ACTION_UTIL.DOC_STATE_REC_TYPE
31 , x_return_status OUT NOCOPY VARCHAR2
32 ) RETURN BOOLEAN;
33
34
35 FUNCTION check_doc_state(
36 p_document_id IN NUMBER
37 , p_document_type IN VARCHAR2
38 , p_line_id IN NUMBER DEFAULT NULL
39 , p_shipment_id IN NUMBER DEFAULT NULL
40 , p_allowed_states IN PO_DOCUMENT_ACTION_UTIL.DOC_STATE_REC_TYPE
41 , x_return_status OUT NOCOPY VARCHAR2
42 ) RETURN BOOLEAN;
43
44 PROCEDURE get_doc_preparer_id(
45 p_document_id IN NUMBER
46 , p_document_type IN VARCHAR2
47 , p_draft_id IN NUMBER --CLM Apprvl
48 , x_return_status OUT NOCOPY VARCHAR2
49 , x_preparer_id OUT NOCOPY NUMBER
50 );
51
52 PROCEDURE get_doc_preparer_id(
53 p_document_id IN NUMBER
54 , p_document_type IN VARCHAR2
55 , x_return_status OUT NOCOPY VARCHAR2
56 , x_preparer_id OUT NOCOPY NUMBER
57 );
58
59 PROCEDURE get_employee_id(
60 p_user_id IN NUMBER
61 , x_return_status OUT NOCOPY VARCHAR2
62 , x_employee_flag OUT NOCOPY BOOLEAN
63 , x_employee_id OUT NOCOPY NUMBER
64 );
65
66
67 PROCEDURE get_employee_info(
68 p_user_id IN NUMBER
69 , x_return_status OUT NOCOPY VARCHAR2
70 , x_employee_flag OUT NOCOPY BOOLEAN
71 , x_employee_id OUT NOCOPY NUMBER
72 , x_employee_name OUT NOCOPY VARCHAR2
73 , x_location_id OUT NOCOPY NUMBER
74 , x_location_code OUT NOCOPY VARCHAR2
75 , x_is_buyer_flag OUT NOCOPY BOOLEAN
76 );
77
78 PROCEDURE change_doc_auth_state(
79 p_document_id IN NUMBER
80 , p_document_type IN VARCHAR2
81 , p_document_subtype IN VARCHAR2
82 , p_draft_id IN NUMBER --CLM Apprvl
83 , p_action IN VARCHAR2
84 , p_fwd_to_id IN NUMBER
85 , p_offline_code IN VARCHAR2
86 , p_approval_path_id IN NUMBER
87 , p_note IN VARCHAR2
88 , p_new_status IN VARCHAR2
89 , p_notify_action IN VARCHAR2
90 , p_notify_employee IN NUMBER
91 , x_return_status OUT NOCOPY VARCHAR2
92 );
93
94 PROCEDURE change_doc_auth_state(
95 p_document_id IN NUMBER
96 , p_document_type IN VARCHAR2
97 , p_document_subtype IN VARCHAR2
98 , p_action IN VARCHAR2
99 , p_fwd_to_id IN NUMBER
100 , p_offline_code IN VARCHAR2
101 , p_approval_path_id IN NUMBER
102 , p_note IN VARCHAR2
103 , p_new_status IN VARCHAR2
104 , p_notify_action IN VARCHAR2
105 , p_notify_employee IN NUMBER
106 , x_return_status OUT NOCOPY VARCHAR2
107 );
108
109
110 PROCEDURE handle_ctl_action_history(
111 p_document_id IN NUMBER
112 , p_document_type IN VARCHAR2
113 , p_document_subtype IN VARCHAR2
114 , p_line_id IN NUMBER
115 , p_shipment_id IN NUMBER
116 , p_action IN VARCHAR2
117 , p_reason IN VARCHAR2
118 , p_user_id IN NUMBER
119 , p_login_id IN NUMBER
120 , x_return_status OUT NOCOPY VARCHAR2
121 );
122
123 PROCEDURE upd_idv_qty_amt(
124 p_po_line_id IN NUMBER
125 , p_draft_id IN NUMBER
126 , p_po_mode IN VARCHAR2
127 , x_return_status OUT NOCOPY VARCHAR2
128 );
129
130 PROCEDURE upd_idv_qty_amt_hdr(
131 p_po_header_id IN NUMBER
132 , p_draft_id IN NUMBER
133 , p_po_mode IN VARCHAR2
134 , x_return_status OUT NOCOPY VARCHAR2
135 );
136
137 --<Bug 14254141 :Cancel Refactoring Project>
138 -- Made the procedure "update_doc_auth_status" public
139 -- as the same code logic was need while updating the doucmnet
140 -- during Cancel [Called from po_document_cancel_pvt.approve_entity(..)].
141 -- Cannot use "change_doc_auth_state" as it updates the action history table
142 -- For Cancel, action history will be stamped with action='CANCEL'
143 -- and not 'APPROVE' and 'SUBMIT'.
144 -- Action Histoy update is handled in Cancel code itself.
145 PROCEDURE update_doc_auth_status(
146 p_document_id IN NUMBER
147 , p_document_type IN VARCHAR2
148 , p_document_subtype IN VARCHAR2
149 , p_draft_id IN NUMBER :=-1 --CLM Apprvl
150 , p_new_status IN VARCHAR2
151 , p_user_id IN NUMBER
152 , p_login_id IN NUMBER
153 , x_return_status OUT NOCOPY VARCHAR2
154 );
155
156 END PO_DOCUMENT_ACTION_UTIL;