Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchkdbt.inc
More file actions
331 lines (309 loc) · 12.4 KB
/
chkdbt.inc
File metadata and controls
331 lines (309 loc) · 12.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
*****************************************************************************
. Debt management
.
.
dbtdat IFILE NODUP,UPPER
*
.dbts file is 66 byte records
.
dbtrcrd LIST
dbtdisc DIM ^40
dbtamt FORM 7.2
dbtlmnt FORM 7.2
dbtrate FORM 2.3
LISTEND
ApplyInterest FORM 1
dbttot FORM 7.2
#mod FORM 1
#d10 DIM ^10
#d18 DIM ^19
#d40 DIM ^40
#d50 DIM ^50
#d80 DIM ^80
#f4 FORM 4
StartDbt
CLEAR ftrap
TRAP noFile IF IO
OPEN dbtdat,debts
IF (ftrap)
PREP dbtdat,debts,debts,"1-40","66"
ENDIF
TRAPCLR IO
.
MOVE "Appliy_Interest",d40
CLOCK ini,d40
IF OVER
CLEAR ApplyInterest
ELSE
CHOP d40,d40
MOVE d40,ApplyInterest
ENDIF
.
dbtlst.InsertColumn USING "Description",200,1
dbtlst.InsertColumn USING "Amount",70,2,01
dbtlst.InsertColumn USING "Last Payment",76,3
dbtlst.InsertColumn USING "LP Amount",65,4,01
dbtlst.InsertColumn USING "Limit",60,5,01
dbtlst.InsertColumn USING "APR",60,6
dbtlst.SetExtendedStyle USING 0x01,0x01
.
SETITEM cfgAPRchk,0,ApplyInterest
.
CALL LoadDbt
RETURN
AddDbt
GETITEM EdtDbtDisc,0,#d40
RETURN IF (#d40="")
.
GETITEM EdtDbtAmt,0,#d10
CHOP #d10,#d10
RETURN IF (#d10="")
.
CALL StripLeadingSpcae USING #d10
CALL StripLeadingSpcae USING #d40
MOVE #d40,dbtdisc
MOVE #d10,dbtamt
.
GETITEM EdtDbtLmnt,0,#d10
CHOP #d10,#d10
MOVE #d10,dbtlmnt
.
GETITEM EdtDbtAPR,0,#d10
CHOP #d10,#d10
CALL StripLeadingSpcae USING #d10
MOVE #d10,dbtrate
.
WRITE dbtdat,dbtdisc;dbtrcrd
CLEAR #d18
.
CHOP dbtdisc,dbtdisc
dbtlst.InsertItem GIVING #f4 USING dbtdisc
MOVE dbtamt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,1
MOVE dbtlmnt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,4
MOVE dbtrate,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,5
.
CLEAR #d10,#d40
SETITEM EdtDbtDisc,0,#d40
SETITEM EdtDbtAmt,0,#d10
SETITEM EdtDbtLmnt,0,#d10
SETITEM EdtDbtAPR,0,#d10
CALL totlDBT
RETURN
SModDbt
dbtlst.GetNextItem GIVING #f4 USING 2 ;selected
dbtlst.GetItemText GIVING #d40 USING #f4,0 ;description
dbtlst.GetItemText GIVING #d10 USING #f4,1 ;Amount
CHOP #d40,#d40
SETPROP dbtlst,ENABLED=0
CALL StripLeadingSpcae USING #d10
CALL StripLeadingSpcae USING #d40
SETITEM EdtDbtDisc,0,#d40
SETITEM EdtDbtAmt,0,#d10
dbtlst.GetItemText GIVING #d10 USING #f4,4 ;limit
CALL StripLeadingSpcae USING #d10
SETITEM EdtDbtLmnt,0,#d10
dbtlst.GetItemText GIVING #d10 USING #f4,5 ;APR
CALL StripLeadingSpcae USING #d10
SETITEM EdtDbtAPR,0,#d10
.
READ dbtdat,#d40;dbtrcrd
SETPROP DbtModBtn,ENABLED=1
MOVE "Cancel",#d10
SETITEM rmdbtbtn,0,#d10
SET #mod
SETITEM EdtDbtAmt,1,0
SETITEM EdtDbtAmt,2,999
SETFOCUS EdtDbtAmt
RETURN
ModDbt
GETITEM EdtDbtDisc,0,#d40
CHOP #d40,#d40
RETURN IF (#d40="")
.
GETITEM EdtDbtAmt,0,#d10
CHOP #d10,#d10
RETURN IF (#d10="")
.
CALL StripLeadingSpcae USING #d40
CALL StripLeadingSpcae USING #d10
MOVE #d40,dbtdisc
MOVE #d10,dbtamt
.
GETITEM EdtDbtLmnt,0,#d10
CHOP #d10,#d10
MOVE #d10,dbtlmnt
.
GETITEM EdtDbtAPR,0,#d10
CHOP #d10,#d10
CALL StripLeadingSpcae USING #d10
MOVE #d10,dbtrate
.
UPDATE dbtdat;dbtrcrd ;update the record data
READKEY dbtdat,#d40 ; get the old key
DELETEK dbtdat,#d40 ; delete the old key
INSERT dbtdat,dbtdisc ; insert the new key
.
CALL getLastPmnt
PACKKEY #d80,dbtdisc,dbtamt," ",Date,pmnt,dbtlmnt
dbtlst.GetNextItem GIVING #f4 USING 2 ;selected
dbtlst.DeleteItem USING #f4
dbtlst.InsertItem GIVING #f4 USING dbtdisc
MOVE dbtamt,#d10
dbtlst.SetItemText USING #f4,#d10,1
MOVE Date,#d10
dbtlst.SetItemText USING #f4,#d10,2
MOVE pmnt,#d10
dbtlst.SetItemText USING #f4,#d10,3
MOVE dbtlmnt,#d10
dbtlst.SetItemText USING #f4,#d10,4
MOVE dbtrate,#d10
dbtlst.SetItemText USING #f4,#d10,5
CALL totlDBT
ModDbtCnl
SETPROP dbtlst,ENABLED=1
MOVE "Remove",#d10
SETITEM rmdbtbtn,0,#d10
CLEAR #d10,#d40,#mod
SETITEM EdtDbtDisc,0,#d40
SETITEM EdtDbtAmt,0,#d10
SETITEM EdtDbtLmnt,0,#d10
SETITEM EdtDbtAPR,0,#d10
SETPROP DbtModBtn,ENABLED=0
RETURN
RmDbt
IF (#mod)
CALL ModDbtCnl
RETURN
ENDIF
dbtlst.GetNextItem GIVING #f4 USING 2 ;selected
dbtlst.GetItemText GIVING #d40 USING #f4,0 ;description
CHOP #d40,#d40
READ dbtdat,#d40;dbtrcrd
DELETE dbtdat
dbtlst.DeleteItem USING #f4
dbtlst.SetItemState USING #f4,2,2 ;selected
CALL totlDBT
RETURN
TotlDbt
REPOSIT dbtdat,ZERO
CLEAR dbttot
TRAP nothing noreset IF IO ;just read passed deleted records
LOOP
READ dbtdat,seq;dbtrcrd
BREAK IF OVER
ADD dbtamt,dbttot
REPEAT
TRAPCLR IO
MOVE dbttot,#d10
SETITEM EdtDbtTotal,0,#d10
RETURN
nothing
RETURN
f7p3 FORM 7.3
ApplytoDPT
MOVE disc,#d40
READ dbtdat,#d40;dbtrcrd
RETURN IF OVER
appmpt
PACKKEY #d80,recrd
PACK #d50,"Apply to this debt? : ",dbtdisc
ALERT plain,#d50,#f4,"Apply to this dept?"
IF (#f4>"2")
UNPACK #d80,recrd
RETURN
ENDIF
SWITCH #f4
CASE "1"
IF (ApplyInterest="1")
MOVE (dbtamt*((dbtrate/100)/12)),f7p3
MOVE f7p3,f7p2
PACK #d50,"Apply $",f7p2," interest to balence first?"
ALERT TYPE=4,#d50,#f4,"Interest Charge"
IF ( #f4="6" | #f4="1" )
ADD f7p2,dbtamt
ENDIF
ENDIF
MOVE (dbtamt-pmnt),f7p2
MOVE f7p2,dbtamt
UPDATE dbtdat;dbtrcrd
CHOP dbtdisc,#d40
MOVE #d40,dbtdisc
dbtlst.FindItem GIVING #f4 USING *TEXT=dbtdisc
CALL getLastPmnt
IF (#f4 > "-1")
dbtlst.DeleteItem USING #f4
dbtlst.InsertItem GIVING #f4 USING dbtdisc
MOVE dbtamt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,1
MOVE Date,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,2
MOVE pmnt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,3
MOVE dbtlmnt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,4
MOVE dbtrate,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,5
ELSE
ALERT STOP,dbtdisc,#f4,"LV Processing error!!!"
UNPACK #d80,recrd
RETURN
ENDIF
CALL totlDBT
CASE "2"
READKS dbtdat;dbtrcrd
IF OVER
UNPACK #d80,recrd
RETURN
ENDIF
GOTO appmpt
ENDSWITCH
UNPACK #d80,recrd
RETURN
LoadDbt
;****LOAD the debt management DISPLAY AND calculate balence****
REPOSIT dbtdat,ZERO
TRAP nothing noreset IF IO ;just read passed deleted records
LOOP
READ dbtdat,seq;dbtrcrd
BREAK IF OVER
CHOP dbtdisc,#d40
MOVE dbtamt,#d10
CHOP #d10,#d10
CALL getLastPmnt
CHOP dbtdisc,dbtdisc
dbtlst.InsertItem GIVING #f4 USING dbtdisc
MOVE dbtamt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,1
MOVE Date,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,2
MOVE pmnt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,3
MOVE dbtlmnt,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,4
MOVE dbtrate,#d10
CHOP #d10,#d10
dbtlst.SetItemText USING #f4,#d10,5
REPEAT
TRAPCLR IO
CALL TotlDbt
RETURN
getLastPmnt
CLEAR recrd
PACK #d50,"03x",#d40
READLAST chkbkdat,#d50;recrd
RETURN
You can’t perform that action at this time.
