1 PACKAGE ARP_STAGED_DUNNING AUTHID CURRENT_USER AS
2 /* $Header: ARCUSDLS.pls 115.5 2002/11/15 02:29:02 anukumar ship $ */
3
4 /*-------------------------------------------------------------------------+
5 | |
6 | PUBLIC CONSTANTS |
7 | |
8 +-------------------------------------------------------------------------*/
9
10 MAX_STAGED_DUNNING constant NUMBER := 20;
11
12 /*-------------------------------------------------------------------------+
13 | |
14 | PUBLIC TYPES |
15 | |
16 +-------------------------------------------------------------------------*/
17
18 -- to store site information
19 /* 2107939
20 Added the include_payments field. */
21
22 TYPE site_type IS RECORD
23 (
24 site_use_id VARCHAR2(40)
25 ,customer_id VARCHAR2(40)
26 ,dunning_level VARCHAR2(1)
27 ,payment_grace_days VARCHAR2(10)
28 ,grace_days VARCHAR2(1)
29 ,include_payments VARCHAR2(1)
30 ,dun_disputed_items VARCHAR2(1)
31 ,letter_set_id VARCHAR2(16)
32 );
33
34 -- to store parameter information
35 TYPE parameter_type IS RECORD
36 (
37 dunning_level_from NUMBER(2)
38 ,dunning_level_to NUMBER(2)
39 ,dun_date VARCHAR2(20)
40 ,transaction_type_from VARCHAR2(21)
41 ,transaction_type_to VARCHAR2(21));
42
43 -- type to store letter id information
44 TYPE letter_id_tab IS TABLE OF
45 ar_dunning_letter_set_lines.dunning_letter_id%TYPE
46 INDEX BY BINARY_INTEGER;
47
48 /*-------------------------------------------------------------------------+
49 | |
50 | |
51 | PUBLIC VARIABLES |
52 | |
53 +-------------------------------------------------------------------------*/
54
55 site site_type;
56 parameter parameter_type;
57 letter_tab letter_id_tab;
58
59 /*-------------------------------------------------------------------------+
60 | |
61 | PUBLIC FUNCTIONS |
62 | |
63 +-------------------------------------------------------------------------*/
64
65
66
67 /*----------------------------------------------------------------------------*
68 | PUBLIC FUNCTION |
69 | staged_dunning( site IN site_type |
70 | ,parameter IN parameter_type |
71 | ,letter_tab IN OUT NOCOPY letter_id_tab |
72 | ,letter_count IN OUT NOCOPY NUMBER |
73 | ,single_letter_flag IN VARCHAR2) RETURN BOOLEAN |
74 | |
75 | DESCRIPTION |
76 | Given an input list of parameters for a customer/site, get dunning let- |
77 | ters for on which the open payment schedules of this customer/site will|
78 | be printed. Return FALSE if NO letter could be found |
79 | |
80 | |
81 | MODIFIES |
82 | letter_tab store dunning letter information |
83 | letter_count number of dunning letters found |
84 | |
85 | RETURNS |
86 | TRUE - no ORACLE error |
87 | FALSE - ORACLE error occured or more than MAX_STAGED_DUNNING found |
88 | |
89 | |
90 | HISTORY |
91 | 7/31/95 Christine Vogel Created |
92 | 8/7/96 Paul Rooney Modified to accept single_letter_flag |
93 | 8/25/96 Simon Jou Modified for staged dunning/credit memo |
94 *----------------------------------------------------------------------------*/
95
96 FUNCTION staged_dunning( site IN site_type
97 ,parameter IN parameter_type
98 ,letter_tab IN OUT NOCOPY letter_id_tab
99 ,letter_count IN OUT NOCOPY NUMBER
100 ,single_letter_flag VARCHAR2) RETURN BOOLEAN ;
101
102
103 /*----------------------------------------------------------------------------*
104 | PUBLIC FUNCTION |
105 | get_cpa( site IN site_type |
106 | ,curr_code IN VARCHAR2 |
107 | ,min_dun_amount IN OUT NOCOPY NUMBER |
108 | ,min_dun_inv_amount IN OUT NOCOPY NUMBER ) RETURN BOOLEAN |
109 | |
110 | DESCRIPTION |
111 | for a given customer/site and currency get the minimum dunning amount |
112 | and minimum dunning invoice amount |
113 | |
114 | MODIFIES |
115 | min_dun_amount store the amount found |
116 | min_dun_inv_amount store amount found |
117 | |
118 | RETURNS |
119 | TRUE if no error occured |
120 | FALSE else |
121 | |
122 | |
123 | KNOWN BUGS |
124 | |
125 | |
126 | HISTORY |
127 | 7/31/95 Christine Vogel Created |
128 | |
129 *----------------------------------------------------------------------------*/
130
131
132 FUNCTION get_cpa( site IN site_type
133 ,curr_code IN VARCHAR2
134 ,min_dun_amount OUT NOCOPY NUMBER
135 ,min_dun_inv_amount OUT NOCOPY NUMBER) RETURN BOOLEAN;
136
137
138 /*----------------------------------------------------------------------------*
139 | PRIVATE FUNCTION |
140 | get_new_dunning_level( ps_id IN NUMBER |
141 | ,staged_dunning_level IN OUT NOCOPY NUMBER |
142 | ,current_dun_date IN DATE |
143 | ,last_dunning_level_override_date IN DATE |
144 | ,days_late IN NUMBER |
145 | ,letter_set_id IN NUMBER ) RETURN BOOLEAN |
146 | |
147 | DESCRIPTION |
148 | for a payment schedule get the new dunning level. The user has the |
149 | possibility to update the dunning level. Thatfore , dunning level can |
150 | not be increased by 1 with every printing of a dunning letter |
151 | |
152 | |
153 | RETURNS |
154 | TRUE if open payment should be dunned, else return FALSE |
155 | |
156 | MODIFIES |
157 | staged_dunning_level |
158 | |
159 | |
160 | KNOWN BUGS |
161 | |
162 | |
163 | HISTORY |
164 | 7/31/95 Christine Vogel Created |
165 | 8/25/96 Simon Jou Modified for staged dunning/credit memo |
166 | |
167 *----------------------------------------------------------------------------*/
168
169
170 FUNCTION get_new_dunning_level(ps_id IN NUMBER
171 ,staged_dunning_level IN OUT NOCOPY NUMBER
172 ,current_dun_date IN DATE
173 ,dunning_level_override_date IN DATE
174 ,days_late IN NUMBER
175 ,o_letter_set_id IN NUMBER ) RETURN BOOLEAN;
176
177
178 END ARP_STAGED_DUNNING;