1 PACKAGE pa_retn_billing_pkg AUTHID CURRENT_USER AS
2 /* $Header: PAXIRTBS.pls 120.2 2005/08/19 17:14:34 mwasowic noship $ */
3
4 -- Struct to store the retention invoice format
5
6 G_Inv_By_Bill_Trans_Currency VARCHAR2(1);
7 G_error_code VARCHAR2(3) := 'N';
8
9
10 TYPE RetnBillingInvFmt IS RECORD (
11 column_code VARCHAR2(30),
12 usertext varchar2(80),
13 column_value VARCHAR2(80),
14 start_position NUMBER,
15 end_position NUMBER,
16 right_justify_flag VARCHAR2(1)
17 );
18
19 TYPE TabRetnBillingInvFmt IS TABLE OF RetnBillingInvFmt
20 INDEX BY BINARY_INTEGER;
21
22 -- Function Get_Retn_Billing_Inv_Format
23 -- Purpose This is used to get the invoice format for a given project
24
25 Function Get_Retn_Billing_Inv_Format(p_project_id NUMBER)
26 RETURN pa_retn_billing_pkg.TabRetnBillingInvFmt;
27
28 -- Procedure Retention_Billing_Processing
29 -- Purpose This is used to process Retention invoices
30 -- This procedure will be called from invoice processing
31
32 Procedure Retention_Billing_Processing (p_request_id IN NUMBER,
33 p_start_proj_number IN VARCHAR2,
34 p_end_proj_number IN VARCHAR2,
35 x_return_status OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
36 /*
37 p_project_type_id IN NUMBER,
38 p_project_org_id IN NUMBER,
39 p_agreement_id IN NUMBER,
40 p_customer_id IN NUMBER,
41 p_mcb_flag IN VARCHAR2,
42 */
43
44 -- Procedure Build_Retn_Invoice_Header
45 -- Purpose This is used to build retention invoice header
46
47 PROCEDURE Build_Retn_Invoice_Header(p_project_id IN NUMBER,
48 p_agreement_id IN NUMBER,
49 p_customer_id IN NUMBER,
50 p_request_id IN NUMBER,
51 x_draft_invoice_num OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
52 x_output_tax_code OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
53 x_Output_tax_exempt_flag OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
54 x_Output_tax_exempt_number OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
55 x_Output_exempt_reason_code OUT NOCOPY VARCHAR2); --File.Sql.39 bug 4440895
56
57 -- Function CheckInvoiceExists
58 -- Purpose This is used to find for a project,agreement id, request id has an inovice
59
60 FUNCTION CheckInvoiceExists( p_project_id IN NUMBER,
61 p_agreement_id IN NUMBER,
62 p_request_id IN VARCHAR2) RETURN VARCHAR2;
63
64 -- Procedure Create_Retn_Invoice_Lines
65 -- Purpose This is used to create retention invoice lines
66
67 PROCEDURE Create_Retn_Invoice_Lines( p_project_id IN NUMBER,
68 p_customer_id IN NUMBER,
69 p_task_id IN NUMBER DEFAULT NULL,
70 p_agreement_id IN NUMBER,
71 p_draft_invoice_num IN NUMBER,
72 p_request_id IN NUMBER,
73 p_invproc_currency IN VARCHAR2,
74 p_projfunc_currency IN VARCHAR2,
75 p_project_currency IN VARCHAR2,
76 p_funding_currency IN VARCHAR2,
77 p_projfunc_amount IN NUMBER,
78 p_project_amount IN NUMBER,
79 p_funding_amount IN NUMBER,
80 p_invproc_amount IN NUMBER,
81 p_billing_method IN VARCHAR2,
82 p_billing_method_code IN VARCHAR2,
83 p_method_value IN VARCHAR2,
84 p_total_retained IN NUMBER,
85 p_billing_percentage IN NUMBER,
86 p_billing_amount IN NUMBER,
87 p_output_tax_code IN VARCHAR2,
88 p_Output_tax_exempt_flag IN VARCHAR2,
89 p_Output_tax_exempt_number IN VARCHAR2,
90 p_Output_exempt_reason_code IN VARCHAR2,
91 p_comp_percent IN NUMBER,
92 p_bill_cycle_id IN NUMBER,
93 p_TotRetenion IN NUMBER,
94 p_client_extn_flag IN VARCHAR2);
95
96 -- Procedure Create_Retn_Invoice_Details
97 -- Purpose This is used to create retention invoice details
98
99 PROCEDURE Create_Retn_Invoice_Details (
100 p_project_id IN NUMBER,
101 p_task_id IN NUMBER DEFAULT NULL,
102 p_draft_invoice_num IN NUMBER,
103 p_line_num IN NUMBER,
104 p_agreement_id IN NUMBER,
105 p_request_id IN NUMBER);
106
107 PROCEDURE Update_ProjFunc_Attributes( p_project_id IN NUMBER,
108 p_draft_invoice_num IN NUMBER);
109
110 -- Update the invoice transaction attributes
111
112 PROCEDURE Update_Inv_Trans_Attributes(p_request_id IN NUMBER);
113
114 PROCEDURE Invoice_Generation_Exceptions (p_request_id IN NUMBER,
115 p_start_proj_number IN VARCHAR2,
116 p_end_proj_number IN VARCHAR2);
117
118 END pa_retn_billing_pkg;