DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_EXP_HOLD

Source


1 PACKAGE BODY igi_exp_hold AS
2 --  $Header: igiexpmb.pls 115.7 2003/08/09 11:46:22 rgopalan ship $
3 
4 PROCEDURE Process_Inv_Hold_Status(p_invoice_id          IN NUMBER,
5 			          p_line_location_id	IN NUMBER,
6 				  p_rcv_transaction_id  IN NUMBER,
7 				  p_hold_lookup_code	IN VARCHAR2,
8 				  p_should_have_hold	IN VARCHAR2,
9 				  p_hold_reason         IN VARCHAR2,
10 				  p_system_user	        IN NUMBER,
11 				  p_holds               IN OUT NOCOPY HOLDSARRAY,
12 				  p_holds_count	        IN OUT NOCOPY COUNTARRAY,
13 				  p_release_count       IN OUT NOCOPY COUNTARRAY,
14 				  p_calling_sequence	IN VARCHAR2);
15 
16 PROCEDURE Update_Inv_Dists_To_Approved(p_invoice_id	  IN NUMBER,
17 			               p_user_id          IN NUMBER,
18      			               p_calling_sequence IN VARCHAR2);
19 
20 PROCEDURE Get_Hold_Status(p_invoice_id	        IN NUMBER,
21 			  p_line_location_id	IN NUMBER,
22 			  p_rcv_transaction_id  IN NUMBER,
23 			  p_hold_lookup_code	IN VARCHAR2,
24 			  p_system_user	        IN NUMBER,
25 			  p_status	        IN OUT NOCOPY VARCHAR2,
26 			  p_return_hold_reason  IN OUT NOCOPY VARCHAR2,
27 			  p_user_id             IN OUT NOCOPY VARCHAR2,
28 			  p_resp_id	        IN OUT NOCOPY VARCHAR2,
29 			  p_calling_sequence  	IN VARCHAR2) ;
30 
31 PROCEDURE Release_Hold(p_invoice_id		IN NUMBER,
32 		       p_line_location_id	IN NUMBER,
33 		       p_rcv_transaction_id	IN NUMBER,
34 		       p_hold_lookup_code	IN VARCHAR2,
35 		       p_holds			IN OUT NOCOPY HOLDSARRAY,
36 		       p_release_count		IN OUT NOCOPY COUNTARRAY,
37 		       p_calling_sequence	IN VARCHAR2) ;
38 
39 PROCEDURE Set_Hold(p_invoice_id		IN NUMBER,
40                    p_line_location_id	IN NUMBER,
41 		   p_rcv_transaction_id	IN NUMBER,
42 		   p_hold_lookup_code	IN VARCHAR2,
43 		   p_hold_reason	IN VARCHAR2,
44 		   p_holds	        IN OUT NOCOPY HOLDSARRAY,
45 		   p_holds_count	IN OUT NOCOPY COUNTARRAY,
46 		   p_calling_sequence	IN VARCHAR2);
47 
48 PROCEDURE Get_Release_Lookup_For_Hold(p_hold_lookup_code    IN VARCHAR2,
49 		   		      p_release_lookup_code IN OUT NOCOPY VARCHAR2,
50 				      p_calling_sequence    IN VARCHAR2);
51 
52 --
53 -- PROCESS_INV_HOLD_STATUS:  Procedure that process and invoice hold status.
54 --			     Determines whether to place or release a given
55 -- hold.
56 --
57 -- Parameters:
58 --
59 -- p_invoice_id:  Invoice Id
60 --
61 -- p_line_location_id:  Line Location Id
62 --
63 -- p_hold_lookup_code:  Hold Lookup Code
64 --
65 -- p_should_have_hold:  ('Y' or 'N') to indicate whether the invoice should
66 --			have the hold (previous parameter)
67 --
68 -- p_hold_reason:  AWT ERROR parameter.  The only hold whose hold reason is
69 --		   not static.
70 --
71 -- p_system_user:  Approval Program User Id
72 --
73 -- p_holds:  Holds Array
74 --
75 -- p_holds_count:  Holds Count Array
76 --
77 -- p_release_count:  Release Count Array
78 --
79 -- p_calling_sequence:  Debugging string to indicate path of module calls to be
80 --                      printed out NOCOPY upon error.
81 --
82 -- Procedure Flow:
83 -- ---------------
84 --
85 -- Retrieve current hold_status for current hold
86 -- IF already_on_hold
87 --   IF shoould_not_have_hold OR if p_hold_reason is different from the
88 --     exists hold reason
89 --     Release the hold
90 -- ELSIF should_have_hold and hold_status <> Released By User
91 --   IF p_hold_reason is null or existing_hold_reason id different from
92 --    p_hold_reason
93 --     Place the hold on the invoice
94 --============================================================================
95 PROCEDURE Process_Inv_Hold_Status(p_invoice_id 		IN NUMBER,
96 				  p_line_location_id	IN NUMBER,
97 				  p_rcv_transaction_id  IN NUMBER,
98 				  p_hold_lookup_code	IN VARCHAR2,
99 				  p_should_have_hold	IN VARCHAR2,
100 				  p_hold_reason		IN VARCHAR2,
101 				  p_system_user		IN NUMBER,
102 				  p_holds		IN OUT NOCOPY HOLDSARRAY,
103 				  p_holds_count		IN OUT NOCOPY COUNTARRAY,
104 				  p_release_count	IN OUT NOCOPY COUNTARRAY,
105 				  p_calling_sequence	IN VARCHAR2)IS
106 BEGIN
107 NULL;
108 END Process_Inv_Hold_Status;
109 
110 
111 --============================================================================
112 -- GET_HOLD_STATUS:  Prcedure to return the hold information and status
113 --		     of an invoice, whether it is ALREADY ON HOLD,
114 -- RELEASED BY USER or NOT ON HOLD.
115 --============================================================================
116 PROCEDURE Get_Hold_Status(p_invoice_id		IN NUMBER,
117 			  p_line_location_id	IN NUMBER,
118 			  p_rcv_transaction_id  IN NUMBER,
119 			  p_hold_lookup_code	IN VARCHAR2,
120 			  p_system_user		IN NUMBER,
121 			  p_status		IN OUT NOCOPY VARCHAR2,
122 			  p_return_hold_reason  IN OUT NOCOPY VARCHAR2,
123 			  p_user_id     	IN OUT NOCOPY VARCHAR2,
124 			  p_resp_id		IN OUT NOCOPY VARCHAR2,
125 			  p_calling_sequence  	IN VARCHAR2) IS
126 BEGIN
127 NULL;
128 END Get_Hold_Status;
129 
130 --============================================================================
131 -- RELEASE_HOLD:  Procedure to release a hold from an invoice and update the
132 --                the release count array.
133 --============================================================================
134 PROCEDURE Release_Hold(p_invoice_id             IN NUMBER,
135                        p_line_location_id       IN NUMBER,
136                        p_rcv_transaction_id     IN NUMBER,
137                        p_hold_lookup_code       IN VARCHAR2,
138                        p_holds                  IN OUT NOCOPY HOLDSARRAY,
139                        p_release_count          IN OUT NOCOPY COUNTARRAY,
140                        p_calling_sequence       IN VARCHAR2) IS
141 BEGIN
142 NULL;
143 END Release_Hold;
144 
145 --============================================================================
146 -- SET_HOLD:  Procedure to Set an Invoice on Hold and update the hold count
147 --            array.
148 --============================================================================
149 
150 PROCEDURE Set_Hold(p_invoice_id                 IN NUMBER,
151                    p_line_location_id           IN NUMBER,
152                    p_rcv_transaction_id         IN NUMBER,
153                    p_hold_lookup_code           IN VARCHAR2,
154                    p_hold_reason                IN VARCHAR2,
155                    p_holds                      IN OUT NOCOPY HOLDSARRAY,
156                    p_holds_count                IN OUT NOCOPY COUNTARRAY,
157                    p_calling_sequence           IN VARCHAR2) IS
158 BEGIN
159 NULL;
160 END Set_Hold;
161 
162 --============================================================================
163 -- GET_RELEASE_LOOKUP_FOR_HOLD:  Procedure given a hold_lookup_code retunrs
164 --                               the associated return_lookup_code
165 --============================================================================
166 PROCEDURE Get_Release_Lookup_For_Hold(p_hold_lookup_code       IN VARCHAR2,
167                                       p_release_lookup_code    IN OUT NOCOPY VARCHAR2,
168                                       p_calling_sequence       IN VARCHAR2) IS
169 BEGIN
170 NULL;
171 END Get_Release_Lookup_For_Hold;
172 
173 
174  FUNCTION get_approval_status(l_invoice_id               IN NUMBER,
175  		              l_invoice_amount           IN NUMBER,
176 		              l_payment_status_flag      IN VARCHAR2,
177 		              l_invoice_type_lookup_code IN VARCHAR2,
178 		              l_calling_sequence         IN VARCHAR2) RETURN VARCHAR2 ;
179 
180      -----------------------------------------------------------------------
181      -- Function get_approval_status returns the invoice approval status
182      -- lookup code.
183      --
184      -- Invoices:
185      --                 'APPROVED'
186      --                 'NEEDS REAPPROVAL'
187      --                 'NEVER APPROVED'
188      --                 'CANCELLED'
189      --
190      -- Prepayments:
191      --                 'AVAILABLE'
192      --                 'CANCELLED'
193      --                 'FULL'
194      --                 'UNAPPROVED'
195      --                 'UNPAID'
196      FUNCTION get_approval_status(l_invoice_id IN NUMBER,
197                                   l_invoice_amount IN NUMBER,
198                                   l_payment_status_flag IN VARCHAR2,
199                                   l_invoice_type_lookup_code IN VARCHAR2,
200 		                  l_calling_sequence         IN VARCHAR2)
201          RETURN VARCHAR2
202      IS
203      BEGIN NULL;
204      END get_approval_status;
205 
206 
207 --============================================================================
208 -- UPDATE_INV_DISTS_TO_APPROVED:  Procedure that updates the invoice
209 --                                distribution match_status_flag to 'A'
210 -- if encumbered or has no postable holds or is a reversal line, otherwise
211 -- if the invoice has postable holds then the match_status_flag remains a
212 -- 'T'.
213 --============================================================================
214 PROCEDURE Update_Inv_Dists_To_Approved(p_invoice_id       IN NUMBER,
215                                        p_user_id          IN NUMBER,
216                                        p_calling_sequence IN VARCHAR2) IS
217      BEGIN NULL;
218      END Update_Inv_Dists_To_Approved;
219 
220 
221 --============================================================================
222 -- FUNCTION:
223 --        Determine if the source of the invoice excludes it from EXP.
224 --
225 --============================================================================
226 
227 FUNCTION invoice_not_excluded( p_invoice_id       NUMBER
228                              , p_source           VARCHAR2
229                              , p_calling_sequence VARCHAR2) RETURN BOOLEAN
230 IS
231      BEGIN NULL;
232      END invoice_not_excluded ;
233 
234 --============================================================================
235 -- PLACE_EXP_HOLD:
236 --              Procedure that places an Exchange Protocol Hold if there
237 --              are no other holds placed by the approval process.
238 --
239 --============================================================================
240 
241  PROCEDURE place_hold( p_invoice_id       IN NUMBER
242                      , p_source           IN VARCHAR2
243                      , p_cancelled_date   IN DATE
244                      , p_calling_sequence IN VARCHAR2 )
245  IS
246      BEGIN NULL;
247      END place_hold;
248 
249 END igi_exp_hold ;