DBA Data[Home] [Help]

PACKAGE: APPS.AP_INVOICE_DISTRIBUTIONS_PKG

Source


1 PACKAGE AP_INVOICE_DISTRIBUTIONS_PKG AUTHID CURRENT_USER as
2 /* $Header: apiindis.pls 120.17 2011/09/22 06:43:06 nbshaik ship $ */
3 
4   --Invoice Lines: Distributions
5   PROCEDURE CHECK_UNIQUE (X_ROWID                    VARCHAR2,
6                           X_INVOICE_ID               NUMBER,
7 			  X_INVOICE_LINE_NUMBER	     NUMBER,
8                           X_DISTRIBUTION_LINE_NUMBER NUMBER,
9                           X_Calling_Sequence         VARCHAR2);
10 
11   FUNCTION Get_UOM(X_CCID NUMBER, X_Ch_Of_Accts_Id NUMBER) RETURN VARCHAR2;
12 
13   FUNCTION Get_Posted_Status(X_Accrual_Posted_Flag VARCHAR2,
14                              X_Cash_Posted_Flag    VARCHAR2,
18 
15                              X_Posted_Flag         VARCHAR2,
16                              X_Org_Id          IN  NUMBER DEFAULT
17                              mo_global.get_current_org_id ) RETURN VARCHAR2;
19   PROCEDURE Select_Summary(X_Invoice_Id       IN     NUMBER,
20                            X_Total            IN OUT NOCOPY NUMBER,
21                            X_Total_Rtot_DB    IN OUT NOCOPY NUMBER,
22                            X_LINE_NUMBER      IN     NUMBER, --Bug4539547
23                            X_Calling_Sequence IN            VARCHAR2);
24 
25   PROCEDURE Set_Inv_Packet_Id(X_Invoice_Id       IN     NUMBER,
26                               X_Packet_Id        IN OUT NOCOPY NUMBER,
27                               X_Calling_Sequence IN VARCHAR2);
28   FUNCTION  Query_New_Packet_Id(X_Rowid            VARCHAR2,
29                                 X_Packet_Id        NUMBER,
30                                 X_Calling_Sequence VARCHAR2) RETURN BOOLEAN;
31 
32   FUNCTION  All_Encumbered(X_Invoice_Id       NUMBER,
33                            X_Rowid            VARCHAR2,
34                            X_Calling_Sequence VARCHAR2) RETURN BOOLEAN;
35   FUNCTION  Check_Cash_Basis_Paid(X_Invoice_Id       NUMBER,
36                                   X_Calling_Sequence VARCHAR2) RETURN BOOLEAN;
37 
38   PROCEDURE Adjust_PO(X_PO_Distribution_Id NUMBER,
39                       X_Line_Location_id   NUMBER,
40                       X_Quantity_Billed    NUMBER,
41                       X_Amount_Billed      NUMBER,
42                       X_Match_Basis        VARCHAR2,  /* Amount Based Matching */
43                       X_Matched_Uom        VARCHAR2, /* Bug 4121303 */
44                       X_Calling_Sequence   VARCHAR2);
45 
46   FUNCTION  Substrbyte(X_String           IN VARCHAR2,
47                        X_Start            IN NUMBER,
48                        X_End              IN NUMBER,
49                        X_Calling_Sequence IN VARCHAR2) RETURN VARCHAR2;
50 
51   /*==========================================================================*/
52   /*                                                                          */
53   /* This function is called from ap_invoice_lines_pkg.insert_from_dist_set   */
54   /* to generate invoice distributions from a distribution set given an       */
55   /* existing invoice line.  This function will:                              */
56   /* 1) create distributions in either candidate or permanent mode depending  */
57   /*    X_generate_permanent parameter.                                       */
58   /* 2) if an error is encountered, the debug info and context will be        */
59   /*    populated into the OUT parameters.                                    */
60   /* 3) return TRUE if the generation was successful or FALSE otherwise.      */
61   /*                                                                          */
62   /*==========================================================================*/
63 
64   FUNCTION Insert_From_Dist_Set(
65            X_batch_id            IN         NUMBER,
66            X_invoice_id          IN         NUMBER,
67            X_line_number         IN         NUMBER,
68            X_dist_tab            IN         AP_INVOICE_LINES_PKG.dist_tab_type,
69            X_Generate_Permanent  IN         VARCHAR2 DEFAULT 'N',
70            X_Debug_Info          OUT NOCOPY VARCHAR2,
71            X_Debug_Context       OUT NOCOPY VARCHAR2,
72            X_Calling_Sequence    IN         VARCHAR2) RETURN BOOLEAN;
73 
74 /*
75  *  eTax Uptake.  Commenting out this function.  It will
76  *  be obsolete
77   PROCEDURE insert_prepay_dist (X_invoice_id         IN number,
78                                 X_GL_Date            IN date,
79                                 X_Period_Name        IN varchar2,
80                                 X_Type_1099          IN varchar2,
81                                 X_Income_Tax_Region  IN varchar2,
82                                 X_Offset_VAT_code    IN varchar2,
83                                 X_calling_sequence   IN varchar2);
84 */
85 
86 --ETAX: Invwkb
87 /*
88   PROCEDURE insert_dist (
89               X_invoice_id                 IN number,
90               X_invoice_line_number        IN number,
91               X_invoice_distribution_id    IN number,
92               X_Line_Type                  IN varchar2,
93               X_GL_Date                    IN date,
94               X_Period_Name                IN varchar2,
95               X_Type_1099                  IN varchar2,
96               X_Income_Tax_Region          IN varchar2,
97               X_Amount                     IN number,
98               X_Code_Combination_Id        IN number,
99               X_PA_Quantity                IN number,
100               X_Description                IN varchar2,
101               X_tax_recoverable_flag       IN varchar2,
102               X_po_distribution_id         IN number,
103               X_Attribute_Category         IN varchar2,
104               X_Attribute1                 IN varchar2,
105               X_Attribute2                 IN varchar2,
106               X_Attribute3                 IN varchar2,
107               X_Attribute4                 IN varchar2,
108               X_Attribute5                 IN varchar2,
109               X_Attribute6                 IN varchar2,
110               X_Attribute7                 IN varchar2,
111               X_Attribute8                 IN varchar2,
112               X_Attribute9                 IN varchar2,
113               X_Attribute10                IN varchar2,
114               X_Attribute11                IN varchar2,
115               X_Attribute12                IN varchar2,
116               X_Attribute13                IN varchar2,
117               X_Attribute14                IN varchar2,
121               X_cc_reversal_flag           IN varchar2 DEFAULT NULL);
118               X_Attribute15                IN varchar2,
119               X_Calling_Sequence           IN varchar2,
120               X_company_prepaid_invoice_id IN number DEFAULT NULL,
122   */
123 
124   PROCEDURE update_distributions (
125             X_invoice_id                   IN            number,
126             X_line_number                  IN            number,
127             X_type_1099                    IN            varchar2,
128             X_income_tax_region            IN            varchar2,
129             X_vendor_changed_flag          IN OUT NOCOPY varchar2,
130             X_update_base                  IN OUT NOCOPY varchar2,
131             X_reset_match_status           IN OUT NOCOPY varchar2,
132             X_update_occurred              IN OUT NOCOPY varchar2,
133             X_calling_sequence             IN            varchar2);
134 
135    PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
136                        X_Invoice_Id                     NUMBER,
137                        -- Invoice Lines Project Stage 1
138                        X_Invoice_Line_Number            NUMBER,
139                        X_Distribution_Class             VARCHAR2,
140                        X_Invoice_Distribution_Id IN OUT NOCOPY NUMBER,
141                        X_Dist_Code_Combination_Id       NUMBER,
142                        X_Last_Update_Date               DATE,
143                        X_Last_Updated_By                NUMBER,
144                        X_Accounting_Date                DATE,
145                        X_Period_Name                    VARCHAR2,
146                        X_Set_Of_Books_Id                NUMBER,
147                        X_Amount                         NUMBER,
148                        X_Description                    VARCHAR2,
149                        X_Type_1099                      VARCHAR2,
150                        X_Posted_Flag                    VARCHAR2,
151                        X_Batch_Id                       NUMBER,
152                        X_Quantity_Invoiced              NUMBER,
153                        X_Unit_Price                     NUMBER,
154                        X_Match_Status_Flag              VARCHAR2,
155                        X_Attribute_Category             VARCHAR2,
156                        X_Attribute1                     VARCHAR2,
157                        X_Attribute2                     VARCHAR2,
158                        X_Attribute3                     VARCHAR2,
159                        X_Attribute4                     VARCHAR2,
160                        X_Attribute5                     VARCHAR2,
161                        X_Prepay_Amount_Remaining        NUMBER,
162                        X_Assets_Addition_Flag           VARCHAR2,
163                        X_Assets_Tracking_Flag           VARCHAR2,
164                        X_Distribution_Line_Number       NUMBER,
165                        X_Line_Type_Lookup_Code          VARCHAR2,
166                        X_Po_Distribution_Id             NUMBER,
167                        X_Base_Amount                    NUMBER,
168                        X_Pa_Addition_Flag               VARCHAR2,
169                        X_Posted_Amount                  NUMBER,
170                        X_Posted_Base_Amount             NUMBER,
171                        X_Encumbered_Flag                VARCHAR2,
172                        X_Accrual_Posted_Flag            VARCHAR2,
173                        X_Cash_Posted_Flag               VARCHAR2,
174                        X_Last_Update_Login              NUMBER,
175                        X_Creation_Date                  DATE,
176                        X_Created_By                     NUMBER,
177                        X_Stat_Amount                    NUMBER,
178                        X_Attribute11                    VARCHAR2,
179                        X_Attribute12                    VARCHAR2,
180                        X_Attribute13                    VARCHAR2,
181                        X_Attribute14                    VARCHAR2,
182                        X_Attribute6                     VARCHAR2,
183                        X_Attribute7                     VARCHAR2,
184                        X_Attribute8                     VARCHAR2,
185                        X_Attribute9                     VARCHAR2,
186                        X_Attribute10                    VARCHAR2,
187                        X_Attribute15                    VARCHAR2,
188                        X_Accts_Pay_Code_Comb_Id         NUMBER,
189                        X_Reversal_Flag                  VARCHAR2,
190                        X_Parent_Invoice_Id              NUMBER,
191                        X_Income_Tax_Region              VARCHAR2,
192                        X_Final_Match_Flag               VARCHAR2,
193                        X_Expenditure_Item_Date          DATE,
194                        X_Expenditure_Organization_Id    NUMBER,
195                        X_Expenditure_Type               VARCHAR2,
196                        X_Pa_Quantity                    NUMBER,
197                        X_Project_Id                     NUMBER,
198                        X_Task_Id                        NUMBER,
199                        X_Quantity_Variance              NUMBER,
200                        X_Base_Quantity_Variance         NUMBER,
201                        X_Packet_Id                      NUMBER,
202                        X_Awt_Flag                       VARCHAR2,
203                        X_Awt_Group_Id                   NUMBER,
204                        X_Pay_Awt_Group_Id               NUMBER,--bug6639866
205                        X_Awt_Tax_Rate_Id                NUMBER,
206                        X_Awt_Gross_Amount               NUMBER,
207                        X_Reference_1                    VARCHAR2,
208                        X_Reference_2                    VARCHAR2,
209                        X_Org_Id                         NUMBER,
210                        X_Other_Invoice_Id               NUMBER,
214                        X_Program_Id                     NUMBER,
211                        X_Awt_Invoice_Id                 NUMBER,
212                        X_Awt_Origin_Group_Id            NUMBER,
213                        X_Program_Application_Id         NUMBER,
215                        X_Program_Update_Date            DATE,
216                        X_Request_Id                     NUMBER,
217                        X_Tax_Recoverable_Flag           VARCHAR2,
218                        X_Award_Id                       NUMBER,
219                        X_Start_Expense_Date             DATE,
220                        X_Merchant_Document_Number       VARCHAR2,
221                        X_Merchant_Name                  VARCHAR2,
222                        X_Merchant_Reference             VARCHAR2,
223                        X_Merchant_Tax_Reg_Number        VARCHAR2,
224                        X_Merchant_Taxpayer_Id           VARCHAR2,
225                        X_Country_Of_Supply              VARCHAR2,
226                        X_Parent_Reversal_id    NUMBER,
227                        X_rcv_transaction_id    NUMBER,
228                        X_matched_uom_lookup_code  VARCHAR2,
229                        X_global_attribute_category      VARCHAR2 DEFAULT NULL,
230                        X_global_attribute1              VARCHAR2 DEFAULT NULL,
231                        X_global_attribute2              VARCHAR2 DEFAULT NULL,
232                        X_global_attribute3              VARCHAR2 DEFAULT NULL,
233                        X_global_attribute4              VARCHAR2 DEFAULT NULL,
234                        X_global_attribute5              VARCHAR2 DEFAULT NULL,
235                        X_global_attribute6              VARCHAR2 DEFAULT NULL,
236                        X_global_attribute7              VARCHAR2 DEFAULT NULL,
237                        X_global_attribute8              VARCHAR2 DEFAULT NULL,
238                        X_global_attribute9              VARCHAR2 DEFAULT NULL,
239                        X_global_attribute10             VARCHAR2 DEFAULT NULL,
240                        X_global_attribute11             VARCHAR2 DEFAULT NULL,
241                        X_global_attribute12             VARCHAR2 DEFAULT NULL,
242                        X_global_attribute13             VARCHAR2 DEFAULT NULL,
243                        X_global_attribute14             VARCHAR2 DEFAULT NULL,
244                        X_global_attribute15             VARCHAR2 DEFAULT NULL,
245                        X_global_attribute16             VARCHAR2 DEFAULT NULL,
246                        X_global_attribute17             VARCHAR2 DEFAULT NULL,
247                        X_global_attribute18             VARCHAR2 DEFAULT NULL,
248                        X_global_attribute19             VARCHAR2 DEFAULT NULL,
249                        X_global_attribute20             VARCHAR2 DEFAULT NULL,
250                        -- Invoice Lines Project Stage 1
251                        X_rounding_amt                   NUMBER DEFAULT NULL,
252                        X_charge_applicable_to_dist_id   NUMBER DEFAULT NULL,
253                        X_corrected_invoice_dist_id      NUMBER DEFAULT NULL,
254                        X_related_id                     NUMBER DEFAULT NULL,
255                        X_asset_book_type_code           VARCHAR2 DEFAULT NULL,
256                        X_asset_category_id              NUMBER DEFAULT NULL ,
257 		       X_intended_use			VARCHAR2 DEFAULT NULL,
258                        x_calling_sequence               VARCHAR2 );
259 
260   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
261                      X_Invoice_Id                       NUMBER,
262                      -- Invoice Lines Project Stage 1
263                      X_Invoice_Line_Number              NUMBER,
264                      X_Distribution_Class               VARCHAR2,
265                      X_Invoice_Distribution_Id          NUMBER,
266                      X_Dist_Code_Combination_Id         NUMBER,
267                      X_Accounting_Date                  DATE,
268                      X_Period_Name                      VARCHAR2,
269                      X_Set_Of_Books_Id                  NUMBER,
270                      X_Amount                           NUMBER,
271                      X_Description                      VARCHAR2,
272                      X_Type_1099                        VARCHAR2,
273                      X_Posted_Flag                      VARCHAR2,
274                      X_Batch_Id                         NUMBER,
275                      X_Quantity_Invoiced                NUMBER,
276                      X_Unit_Price                       NUMBER,
277                      X_Match_Status_Flag                VARCHAR2,
278                      X_Attribute_Category               VARCHAR2,
279                      X_Attribute1                       VARCHAR2,
280                      X_Attribute2                       VARCHAR2,
281                      X_Attribute3                       VARCHAR2,
282                      X_Attribute4                       VARCHAR2,
283                      X_Attribute5                       VARCHAR2,
284                      X_Prepay_Amount_Remaining          NUMBER,
285                      X_Assets_Addition_Flag             VARCHAR2,
286                      X_Assets_Tracking_Flag             VARCHAR2,
287                      X_Distribution_Line_Number         NUMBER,
288                      X_Line_Type_Lookup_Code            VARCHAR2,
289                      X_Po_Distribution_Id               NUMBER,
290                      X_Base_Amount                      NUMBER,
291                      X_Pa_Addition_Flag                 VARCHAR2,
292                      X_Posted_Amount                    NUMBER,
293                      X_Posted_Base_Amount               NUMBER,
294                      X_Encumbered_Flag                  VARCHAR2,
295                      X_Accrual_Posted_Flag              VARCHAR2,
296                      X_Cash_Posted_Flag                 VARCHAR2,
297                      X_Stat_Amount                      NUMBER,
298                      X_Attribute11                      VARCHAR2,
302                      X_Attribute6                       VARCHAR2,
299                      X_Attribute12                      VARCHAR2,
300                      X_Attribute13                      VARCHAR2,
301                      X_Attribute14                      VARCHAR2,
303                      X_Attribute7                       VARCHAR2,
304                      X_Attribute8                       VARCHAR2,
305                      X_Attribute9                       VARCHAR2,
306                      X_Attribute10                      VARCHAR2,
307                      X_Attribute15                      VARCHAR2,
308                      X_Accts_Pay_Code_Comb_Id    NUMBER,
309                      X_Reversal_Flag                    VARCHAR2,
310                      X_Parent_Invoice_Id                NUMBER,
311                      X_Income_Tax_Region                VARCHAR2,
312                      X_Final_Match_Flag                 VARCHAR2,
313                      X_Expenditure_Item_Date            DATE,
314                      X_Expenditure_Organization_Id      NUMBER,
315                      X_Expenditure_Type                 VARCHAR2,
316                      X_Pa_Quantity                      NUMBER,
317                      X_Project_Id                       NUMBER,
318                      X_Task_Id                          NUMBER,
319                      X_Quantity_Variance                NUMBER,
320                      X_Base_Quantity_Variance           NUMBER,
321                      X_Packet_Id                        NUMBER,
322                      X_Awt_Flag                         VARCHAR2,
323                      X_Awt_Group_Id                     NUMBER,
324                      X_Pay_Awt_Group_Id                 NUMBER,--bug6639866
325                      X_Awt_Tax_Rate_Id                  NUMBER,
326                      X_Awt_Gross_Amount                 NUMBER,
327                      X_Reference_1                      VARCHAR2,
328                      X_Reference_2                      VARCHAR2,
329                      X_Org_Id                           NUMBER,
330                      X_Other_Invoice_Id                 NUMBER,
331                      X_Awt_Invoice_Id                   NUMBER,
332                      X_Awt_Origin_Group_Id              NUMBER,
333                      X_Program_Application_Id           NUMBER,
334                      X_Program_Id                       NUMBER,
335                      X_Program_Update_Date              DATE,
336                      X_Request_Id                       NUMBER,
337                      X_Tax_Recoverable_Flag             VARCHAR2,
338                      X_Award_Id                         NUMBER,
339                      X_Start_Expense_Date               DATE,
340                      X_Merchant_Document_Number         VARCHAR2,
341                      X_Merchant_Name                    VARCHAR2,
342                      X_Merchant_Reference               VARCHAR2,
343                      X_Merchant_Tax_Reg_Number          VARCHAR2,
344                      X_Merchant_Taxpayer_Id             VARCHAR2,
345                      X_Country_Of_Supply                VARCHAR2,
346                      X_global_attribute_category        VARCHAR2 DEFAULT NULL,
347                      X_global_attribute1                VARCHAR2 DEFAULT NULL,
348                      X_global_attribute2                VARCHAR2 DEFAULT NULL,
349                      X_global_attribute3                VARCHAR2 DEFAULT NULL,
350                      X_global_attribute4                VARCHAR2 DEFAULT NULL,
351                      X_global_attribute5                VARCHAR2 DEFAULT NULL,
352                      X_global_attribute6                VARCHAR2 DEFAULT NULL,
353                      X_global_attribute7                VARCHAR2 DEFAULT NULL,
354                      X_global_attribute8                VARCHAR2 DEFAULT NULL,
355                      X_global_attribute9                VARCHAR2 DEFAULT NULL,
356                      X_global_attribute10               VARCHAR2 DEFAULT NULL,
357                      X_global_attribute11               VARCHAR2 DEFAULT NULL,
358                      X_global_attribute12               VARCHAR2 DEFAULT NULL,
359                      X_global_attribute13               VARCHAR2 DEFAULT NULL,
360                      X_global_attribute14               VARCHAR2 DEFAULT NULL,
361                      X_global_attribute15               VARCHAR2 DEFAULT NULL,
362                      X_global_attribute16               VARCHAR2 DEFAULT NULL,
363                      X_global_attribute17               VARCHAR2 DEFAULT NULL,
364                      X_global_attribute18               VARCHAR2 DEFAULT NULL,
365                      X_global_attribute19               VARCHAR2 DEFAULT NULL,
366                      X_global_attribute20               VARCHAR2 DEFAULT NULL,
367                      -- Invoice Lines Project Stage 1
368                      X_rounding_amt                   NUMBER DEFAULT NULL,
369                      X_charge_applicable_to_dist_id   NUMBER DEFAULT NULL,
370                      X_corrected_invoice_dist_id      NUMBER DEFAULT NULL,
374                      --ETAX: Invoice Workbench
371                      X_related_id                     NUMBER DEFAULT NULL,
372                      X_asset_book_type_code           VARCHAR2 DEFAULT NULL,
373                      X_asset_category_id              NUMBER DEFAULT NULL,
375                      X_Intended_Use                   VARCHAR2 DEFAULT NULL,
376                      X_Calling_Sequence               VARCHAR2 );
377 
378 
379 
380 
381   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
382                        X_Invoice_Id                     NUMBER,
383                        -- Invoice Lines Project Stage 1
384                        X_Invoice_Line_Number            NUMBER,
385                        X_Distribution_Class             VARCHAR2,
386                        X_Dist_Code_Combination_Id       NUMBER,
387                        X_Last_Update_Date               DATE,
388                        X_Last_Updated_By                NUMBER,
389                        X_Accounting_Date                DATE,
390                        X_Period_Name                    VARCHAR2,
391                        X_Set_Of_Books_Id                NUMBER,
392                        X_Amount                         NUMBER,
393                        X_Description                    VARCHAR2,
394                        X_Type_1099                      VARCHAR2,
395                        X_Posted_Flag                    VARCHAR2,
396                        X_Batch_Id                       NUMBER,
397                        X_Quantity_Invoiced              NUMBER,
398                        X_Unit_Price                     NUMBER,
399                        X_Match_Status_Flag              VARCHAR2,
400                        X_Attribute_Category             VARCHAR2,
401                        X_Attribute1                     VARCHAR2,
402                        X_Attribute2                     VARCHAR2,
403                        X_Attribute3                     VARCHAR2,
404                        X_Attribute4                     VARCHAR2,
405                        X_Attribute5                     VARCHAR2,
406                        X_Prepay_Amount_Remaining        NUMBER,
407                        X_Assets_Addition_Flag           VARCHAR2,
408                        X_Assets_Tracking_Flag           VARCHAR2,
409                        X_Distribution_Line_Number       NUMBER,
410                        X_Line_Type_Lookup_Code          VARCHAR2,
411                        X_Po_Distribution_Id             NUMBER,
412                        X_Base_Amount                    NUMBER,
413                        X_Pa_Addition_Flag               VARCHAR2,
414                        X_Posted_Amount                  NUMBER,
415                        X_Posted_Base_Amount             NUMBER,
416                        X_Encumbered_Flag                VARCHAR2,
417                        X_Accrual_Posted_Flag              VARCHAR2,
418                        X_Cash_Posted_Flag                 VARCHAR2,
419                        X_Last_Update_Login              NUMBER,
420                        X_Stat_Amount                    NUMBER,
421                        X_Attribute11                    VARCHAR2,
422                        X_Attribute12                    VARCHAR2,
423                        X_Attribute13                    VARCHAR2,
424                        X_Attribute14                    VARCHAR2,
425                        X_Attribute6                     VARCHAR2,
426                        X_Attribute7                     VARCHAR2,
427                        X_Attribute8                     VARCHAR2,
428                        X_Attribute9                     VARCHAR2,
429                        X_Attribute10                    VARCHAR2,
430                        X_Attribute15                    VARCHAR2,
431                        X_Accts_Pay_Code_Comb_Id         NUMBER,
432                        X_Reversal_Flag                  VARCHAR2,
433                        X_Parent_Invoice_Id              NUMBER,
434                        X_Income_Tax_Region              VARCHAR2,
435                        X_Final_Match_Flag               VARCHAR2,
436                        X_Expenditure_Item_Date          DATE,
437                        X_Expenditure_Organization_Id    NUMBER,
438                        X_Expenditure_Type               VARCHAR2,
439                        X_Pa_Quantity                    NUMBER,
440                        X_Project_Id                     NUMBER,
441                        X_Task_Id                        NUMBER,
442                        X_Quantity_Variance              NUMBER,
443                        X_Base_Quantity_Variance         NUMBER,
444                        X_Packet_Id                      NUMBER,
445                        X_Awt_Flag                       VARCHAR2,
446                        X_Awt_Group_Id                   NUMBER,
447                        X_Pay_Awt_Group_Id               NUMBER,--bug6639866
448                        X_Awt_Tax_Rate_Id                NUMBER,
449                        X_Awt_Gross_Amount               NUMBER,
450                        X_Reference_1                    VARCHAR2,
451                        X_Reference_2                    VARCHAR2,
452                        X_Org_Id                         NUMBER,
453                        X_Other_Invoice_Id               NUMBER,
454                        X_Awt_Invoice_Id                 NUMBER,
455                        X_Awt_Origin_Group_Id            NUMBER,
456                        X_Program_Application_Id         NUMBER,
457                        X_Program_Id                     NUMBER,
458                        X_Program_Update_Date            DATE,
459                        X_Request_Id                     NUMBER,
460                        X_Tax_Recoverable_Flag           VARCHAR2,
461                        X_Award_Id                       NUMBER,
462                        X_Start_Expense_Date             DATE,
463                        X_Merchant_Document_Number       VARCHAR2,
467                        X_Country_Of_Supply              VARCHAR2,
464                        X_Merchant_Name                  VARCHAR2,
465                        X_Merchant_Tax_Reg_Number        VARCHAR2,
466                        X_Merchant_Taxpayer_Id           VARCHAR2,
468                        X_Merchant_Reference             VARCHAR2,
469                        X_global_attribute_category      VARCHAR2 DEFAULT NULL,
470                        X_global_attribute1              VARCHAR2 DEFAULT NULL,
471                        X_global_attribute2              VARCHAR2 DEFAULT NULL,
472                        X_global_attribute3              VARCHAR2 DEFAULT NULL,
473                        X_global_attribute4              VARCHAR2 DEFAULT NULL,
474                        X_global_attribute5              VARCHAR2 DEFAULT NULL,
475                        X_global_attribute6              VARCHAR2 DEFAULT NULL,
476                        X_global_attribute7              VARCHAR2 DEFAULT NULL,
477                        X_global_attribute8              VARCHAR2 DEFAULT NULL,
478                        X_global_attribute9              VARCHAR2 DEFAULT NULL,
479                        X_global_attribute10             VARCHAR2 DEFAULT NULL,
480                        X_global_attribute11             VARCHAR2 DEFAULT NULL,
481                        X_global_attribute12             VARCHAR2 DEFAULT NULL,
482                        X_global_attribute13             VARCHAR2 DEFAULT NULL,
483                        X_global_attribute14             VARCHAR2 DEFAULT NULL,
484                        X_global_attribute15             VARCHAR2 DEFAULT NULL,
485                        X_global_attribute16             VARCHAR2 DEFAULT NULL,
486                        X_global_attribute17             VARCHAR2 DEFAULT NULL,
487                        X_global_attribute18             VARCHAR2 DEFAULT NULL,
488                        X_global_attribute19             VARCHAR2 DEFAULT NULL,
489                        X_global_attribute20             VARCHAR2 DEFAULT NULL,
490                        X_Calling_Sequence               VARCHAR2,
491                        -- Invoice Lines Project Stage 1
492                        X_rounding_amt                   NUMBER DEFAULT NULL,
493                        X_charge_applicable_to_dist_id    NUMBER DEFAULT NULL,
494                        X_corrected_invoice_dist_id      NUMBER DEFAULT NULL,
495                        X_related_id                     NUMBER DEFAULT NULL,
496                        X_asset_book_type_code           VARCHAR2 DEFAULT NULL,
497                        X_asset_category_id              NUMBER DEFAULT NULL,
498 		       X_Intended_Use			VARCHAR2 DEFAULT NULL);
499 
500   PROCEDURE Delete_Row(X_Rowid            VARCHAR2,
501                        X_Calling_Sequence VARCHAR2);
502 
503   FUNCTION Get_UOM_From_Segments(
504           X_Concatenated_Segments         IN      VARCHAR2,
505           X_Ch_Of_Accts_Id                IN      NUMBER) RETURN VARCHAR2;
506 
507   -- Bug 1567235
508   /* Function to get the sum of distribution amount for a given invoice
509      and the balancing segment  */
510   FUNCTION Get_Segment_Dist_Amount(
511            X_invoice_id                   IN      NUMBER,
512            X_Prepay_Dist_CCID             IN      NUMBER,
513            X_Sob_Id                       IN      NUMBER) RETURN NUMBER;
514 
515   -- Bug 1567235.
516   /* Procedure to get the sum of distribution amount for a given invoice
517      and the sum of the distribution amount for a given prepayment */
518   PROCEDURE Get_Prepay_Amount_Available(
519             X_Invoice_ID                   IN      NUMBER,
520             X_Prepay_ID                    IN      NUMBER,
521             X_Sob_Id                       IN      NUMBER,
522             X_Balancing_Segment            OUT NOCOPY     VARCHAR2,
526   -- Bug 1648309
523             X_Prepay_Amount                OUT NOCOPY     NUMBER,
524             X_Invoice_Amount               OUT NOCOPY     NUMBER);
525 
527   FUNCTION Check_Diff_Dist_Segments(
528            X_Invoice_Id                   IN      NUMBER,
529            X_Sob_Id                       IN      NUMBER) RETURN BOOLEAN;
530 
531   -- Bug 1567235
532   /* Function to get the value of the balancing segment for a given
533      CCID */
534   FUNCTION get_balancing_segment_value(
535           X_dist_code_combination_id      IN      NUMBER,
536           X_Sob_Id                        IN      NUMBER) RETURN VARCHAR2;
537 
538   -- Bug 2118673
539   /* Function to get the value of the balancing segment for a given
540      account */
541   FUNCTION get_balancing_seg_from_acc(
542           X_Account      IN VARCHAR2,
543           X_Sob_Id       IN NUMBER) RETURN VARCHAR2;
544 
545   --  This function corrects error roundings in the biggest distribution
546   --  for a given non-base currency invoice.
547   PROCEDURE Round_Biggest_Distribution(
548    X_Base_Currency_Code     IN VARCHAR2,
549           X_Invoice_Id         IN NUMBER,
550           X_Calling_Sequence   IN VARCHAR2);
551 
552 /*==========================================================================*/
553 /*                                                                          */
554 /* This function may be called from any process that needs to insert a dist */
555 /* from a line that is not PO/RCV matched or distribution set based.        */
556 /* This function should only be called if a default account is available at */
557 /* the line level either standalone or to be built from overlay code concat.*/
558 /* If a freight or misc line, then there should be no allocations associated*/
559 /*  with it.                                                                */
560 /* The following are the parameters and how/which should be populated by a  */
561 /* calling module:                                                */
562 /* 1) X_batch_id -- If batch control enabled, this is a mandatory parameter */
563 /* 2) X_invoice_id - This is mutually exclusive with X_invoice_lines_rec.   */
564 /*                 -- If calling module provides invoice id and line number */
565 /*                 -- this function will read from trx table into a line    */
566 /*                 -- record, else it will use the X_invoice_lines_rec as   */
567 /*                 -- line record.                                          */
568 /* 3) X_invoice_date - Mandatory parameter.                                 */
569 /* 4) X_vendor_id - Mandatory parameter.                                    */
570 /* 5) X_invoice_currency - Mandatory parameter.                             */
571 /* 6) X_exchange_rate - Mandatory if foreign currency invoice.             */
572 /* 7) X_exchange_rate_type - Mandatory if foreign currency invoice.         */
573 /* 8) X_line_number - Line number for line to generate dist for.  Should    */
574 /*                  -- be populated if calling module does not pass line    */
575 /*                  -- record.                                              */
576 /* 9) X_invoice_lines_rec - Line record requesting generation of dist       */
577 /*                        -- If the calling module has it (as in Import)    */
578 /*                        -- it is most performant to pass it as argument   */
579 /*                        -- rather than invoice id and line number combo.  */
580 /* 10)X_line_source - Should be populated with 'IMPORT' if called from the  */
581 /*                  -- Open interface.  This will improve performance for   */
582 /*                  -- the interface, since account derivation should have  */
583 /*                  -- already been done there.                             */
584 /* 11)X_Generate_Permanent - Pass Y if calling module wants to create       */
585 /*                         -- permanent distributions, N otherwise.         */
586 /* 12)X_Validate_Info - Indicates whether calling module requests this      */
587 /*                    -- function to perform validations                    */
588 /* 13)Other parameters are used for error handling.                         */
589 /* This function will:                                                      */
590 /* 1) create a distributions in either candidate or permanent mode depending*/
591 /*    X_generate_permanent parameter.                                       */
592 /* 2) if an error is encountered, and the error refers to invalid data the  */
593 /*    error code will be populated as follows:                              */
594 /*    'INVALID_ACCOUNT' - Account provided did not pass validation          */
595 /*    'CANNOT_OVERLAY'  - Cannot produce a valid account using overlay info */
596 /*    'NO_OPEN_PERIOD'  - Cannot find an open period.                       */
597 /*    'GL_DATE_PA_NOT_OPEN' -  GL date is not open period for PA.           */
598 /* 3) if an unexpected error occurs, the debug info and context will be     */
599 /*    populated into the OUT parameters.                                    */
600 /* 4) if an error occurs while validating PA information, the               */
601 /*    X_Msg_Application and X_Msg_Data will be returned in OUT parameters.  */
602 /* 5) return TRUE if the generation was successful or FALSE otherwise.      */
603 /* 6) If called from the Interface Import, most validations will be ignored */
604 /*    as they are assumed to be handled by the Import Validation.  We       */
605 /*    distinguish the case by whether the invoice_lines_rec parameter is    */
606 /*    populated or null.  It should only be populated when called from the  */
607 /*    Import.                                                               */
608 /*                                                                          */
609 /*==========================================================================*/
610 FUNCTION Insert_Single_Dist_From_Line(
611          X_batch_id            IN         AP_INVOICES.BATCH_ID%TYPE,
612          X_invoice_id          IN         NUMBER,
616          X_exchange_rate       IN         AP_INVOICES.EXCHANGE_RATE%TYPE,
613          X_invoice_date        IN         AP_INVOICES.INVOICE_DATE%TYPE,
614          X_vendor_id           IN         AP_INVOICES.VENDOR_ID%TYPE,
615          X_invoice_currency    IN         AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE,
617          X_exchange_rate_type  IN         AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE,
618          X_exchange_date       IN         AP_INVOICES.EXCHANGE_DATE%TYPE,
619          X_line_number         IN         NUMBER,
620          X_invoice_lines_rec   IN         AP_INVOICES_PKG.r_invoice_line_rec,
621          X_line_source         IN         VARCHAR2,
622          X_Generate_Permanent  IN         VARCHAR2 DEFAULT 'N',
623          X_Validate_Info       IN         BOOLEAN DEFAULT TRUE,
624          X_Error_Code          OUT NOCOPY VARCHAR2,
625          X_Debug_Info          OUT NOCOPY VARCHAR2,
626          X_Debug_Context       OUT NOCOPY VARCHAR2,
627          X_Msg_Application     OUT NOCOPY VARCHAR2,
628          X_Msg_Data            OUT NOCOPY VARCHAR2,
629          X_Calling_Sequence    IN         VARCHAR2) RETURN BOOLEAN;
630 
631 --Bug 8346277
632 FUNCTION Insert_AWT_Dist_From_Line(
633          X_batch_id            IN         AP_INVOICES.BATCH_ID%TYPE,
634          X_invoice_id          IN         NUMBER,
635          X_invoice_date        IN         AP_INVOICES.INVOICE_DATE%TYPE,
636          X_vendor_id           IN         AP_INVOICES.VENDOR_ID%TYPE,
637          X_invoice_currency    IN         AP_INVOICES.INVOICE_CURRENCY_CODE%TYPE,
638          X_exchange_rate       IN         AP_INVOICES.EXCHANGE_RATE%TYPE,
639          X_exchange_rate_type  IN         AP_INVOICES.EXCHANGE_RATE_TYPE%TYPE,
640          X_exchange_date       IN         AP_INVOICES.EXCHANGE_DATE%TYPE,
641          X_line_number         IN         NUMBER,
642          X_invoice_lines_rec   IN         AP_INVOICES_PKG.r_invoice_line_rec,
643          X_line_source         IN         VARCHAR2,
644          X_Generate_Permanent  IN         VARCHAR2 DEFAULT 'N',
645          X_Validate_Info       IN         BOOLEAN DEFAULT TRUE,
646          X_Error_Code          OUT NOCOPY VARCHAR2,
647          X_Debug_Info          OUT NOCOPY VARCHAR2,
648          X_Debug_Context       OUT NOCOPY VARCHAR2,
649          X_Msg_Application     OUT NOCOPY VARCHAR2,
650          X_Msg_Data            OUT NOCOPY VARCHAR2,
651          X_Calling_Sequence    IN         VARCHAR2) RETURN BOOLEAN;
652 
653   /*========================================================================*/
654   /*                                                                        */
655   /* This function may be called from any process that needs to insert dists*/
656   /* from a charge line that has an associated allocation rule.             */
657   /* This function will:                                                    */
658   /* 1) create a distributions in either candidate or permanent mode        */
659   /*    depending on X_generate_permanent parameter.                        */
660   /* 2) X_Validate_Info parameter indicates whether validations should be   */
661   /*    performed.  This parameter should be FALSE if calling module        */
662   /*    already performed validations e.g. Open Interface Import.  However, */
663   /*    the overlay process/PA account process will still take place        */
664   /*    and may produce an error.                                           */
665   /* 3) if an error is encountered, and the error refers to invalid data the*/
666   /*    error code will be populated as follows:                            */
667   /*   'NO_ALLOCATION_RULE_FOUND' - No allocation rule was found associated */
668   /*                                with the charge line                    */
669   /*   'ALLOCATION_ALREADY_EXECUTED' - The allocation rule has already been */
670   /*                                   executed.                            */
671   /*   'NON_FULL_INVOICE' -  Allocation rule indicates full proration but   */
672   /*                         invoice is not complete.                       */
673   /*   'UNDISTRIBUTED_LINE_EXISTS' - Allocating to an undistributed line is */
674   /*                                 not possible and one such line exists. */
675   /*   'IMPROPER_LINE_IN_ALLOC_RULE' -A line contains 0 total distributions */
676   /*                                   and we cannot allocate against it.   */
677   /*   'CANNOT_READ_EXP_DATE' - Failed to read expenditure item date.       */
678   /*   'INVALID_ACCOUNT' - Account provided did not pass validation         */
679   /*   'CANNOT_OVERLAY'  - Cannot produce a valid a/c using overlay info    */
680   /*   'NO_OPEN_PERIOD'  - Cannot find an open period.                      */
681   /*   'GL_DATE_PA_NOT_OPEN' -  GL date is not open period for PA.          */
682   /* 4) if an unexpected error occurs, the debug info and context will be   */
683   /*    populated into the OUT parameters.                                  */
684   /* 5) if an error occurs while validating PA information, the             */
685   /*    X_Msg_Application and X_Msg_Data will be returned in OUT parameters.*/
686   /* 6) return TRUE if the generation was successful or FALSE otherwise.    */
687   /*                                                                        */
688   /*========================================================================*/
689   FUNCTION Insert_Charge_From_Alloc(
690          X_invoice_id          IN         NUMBER,
691          X_line_number         IN         NUMBER,
692          X_Generate_Permanent  IN         VARCHAR2 DEFAULT 'N',
693          X_Validate_Info       IN         BOOLEAN DEFAULT TRUE,
694          X_Error_Code          OUT NOCOPY VARCHAR2,
695          X_Debug_Info          OUT NOCOPY VARCHAR2,
696          X_Debug_Context       OUT NOCOPY VARCHAR2,
697          X_Msg_Application     OUT NOCOPY VARCHAR2,
698          X_Msg_Data            OUT NOCOPY VARCHAR2,
699          X_Calling_Sequence    IN         VARCHAR2) RETURN BOOLEAN;
700 
701   /*========================================================================*/
702   /*                                                                        */
703   /* This function may be called to get the original amount for an ITEM     */
704   /* or ACCRUAL type line that has been split into ITEM/ACCRUAL, IPV and ERV*/
705   /* It may also be called in Price Corrections where there was no original */
706   /* ITEM/ACCRUAL but simply IPV which may have been split into IPV and ERV.*/
707   /*                                                                        */
708   /*========================================================================*/
709   FUNCTION Get_Total_Dist_Amount(
710          X_invoice_distribution_id IN       NUMBER) RETURN NUMBER;
711 
712     /*========================================================================*/
713   /*                                                                        */
714   /* Function to get the distribution line number by given distribution id  */
715   /*                                                                        */
716   /*========================================================================*/
717 
718   FUNCTION GET_DIST_LINE_NUM(
719           X_invoice_dist_id    IN         NUMBER) RETURN NUMBER;
720 
721   /*========================================================================*/
722   /*                                                                        */
723   /* Function to get the invoice line number by given distribution id       */
724   /*                                                                        */
725   /*========================================================================*/
726 
727   FUNCTION GET_INV_LINE_NUM(
728           X_invoice_dist_id    IN         NUMBER) RETURN NUMBER;
729 
730   /*========================================================================*/
731   /*                                                                        */
732   /* Function to get the invoice number by given distribution id            */
733   /*                                                                        */
734   /*========================================================================*/
735 
736   FUNCTION GET_INVOICE_NUM(
737           X_invoice_dist_id    IN         NUMBER) RETURN VARCHAR2;
738 
739   /*========================================================================*/
740   /*                                                                        */
741   /* Function to get the correct related_id for reveral distribution line   */
742   /*          when system is reversing the distribution or discard inv line */
743   /*                                                                        */
744   /*========================================================================*/
745 
746   FUNCTION GET_REVERSAL_RELATED_ID(
747           X_related_dist_id    IN         NUMBER) RETURN NUMBER;
748 
749 
750   --Invoice Lines: Distributions
751   /*========================================================================*/
752   /* Function to get the reversing distribution num for a particular       */
753   /* invoice distribution id						   */
754   /*=======================================================================*/
755 
756   FUNCTION GET_REVERSING_DIST_NUM (
757 	  X_Invoice_Dist_id    IN	  NUMBER) RETURN NUMBER;
758 
759   FUNCTION Calculate_Variance(
760             X_DISTRIBUTION_ID      IN            NUMBER,
761             X_REPORTING_LEDGER_ID  IN            NUMBER,
762             X_DISTRIBUTION_AMT        OUT NOCOPY NUMBER,
763             X_DIST_BASE_AMT           OUT NOCOPY NUMBER,
764             X_IPV                  IN OUT NOCOPY NUMBER,
765             X_BIPV                 IN OUT NOCOPY NUMBER,
766             X_ERV                  IN OUT NOCOPY NUMBER,
767             X_DEBUG_INFO           IN OUT NOCOPY VARCHAR2,
768             X_DEBUG_CONTEXT        IN OUT NOCOPY VARCHAR2,
769             X_CALLING_SEQUENCE     IN OUT NOCOPY VARCHAR2) Return Boolean;
770 
771  --Invoice Lines: Distributions
772  FUNCTION Dist_Refer_Active_Corr(P_Invoice_Dist_ID  IN NUMBER,
773 				 P_Calling_Sequence IN VARCHAR2) RETURN BOOLEAN;
774 
775  --Invoice Lines: Distributions
776  FUNCTION Chrg_Refer_Active_Dist(P_Invoice_Dist_Id  IN NUMBER,
777 				 P_Calling_Sequence IN VARCHAR2) RETURN BOOLEAN;
778  --Invoice Lines: Distributions
779  PROCEDURE Make_Distributions_Permanent
780                    (P_Invoice_Id          IN NUMBER,
781                     P_Invoice_Line_Number IN NUMBER DEFAULT NULL,
782 		    P_Calling_Sequence    IN VARCHAR2);
783 
784  --Invoice Lines: Distributions
785  Function Associated_Charges(
786 		P_Invoice_Id              IN NUMBER,
787                 P_Invoice_Distribution_Id IN NUMBER) RETURN NUMBER;
788 
789  --Invoice Lines: Distributions: Wrapper for Java. -- Bug 9374412
790  FUNCTION Dist_Refer_Active_Corr_Wrap(P_Invoice_Dist_ID  IN NUMBER,
791 				 P_Calling_Sequence IN VARCHAR2) RETURN NUMBER;
792 
793  --Invoice Lines: Distributions: Wrapper for Java. -- Bug 9374412
794  FUNCTION Chrg_Refer_Active_Dist_Wrap(P_Invoice_Dist_Id  IN NUMBER,
795 				 P_Calling_Sequence IN VARCHAR2) RETURN NUMBER;
796 
797  --bug 12557265 to check if the distribution is parent of any awt distribution
798 FUNCTION IS_AWT_COMPUTED_dist(P_DISTRIBUTION_ID IN  varchar2, P_INVOICE_ID IN VARCHAR2)
799 RETURN  VARCHAR2 ;
800 
801 
802 END AP_INVOICE_DISTRIBUTIONS_PKG;
803