-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathABA.LTR
340 lines (286 loc) · 8.05 KB
/
ABA.LTR
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
332
333
334
335
336
337
338
339
340
[
SymForm PDF Driver - ABA.LTR
Auto generated variables - ABA.LTR.DEF
Auto generated procedures - ABA.LTR.PRO
PDF Form filename - ABA.LTR.pdf
Author: KFCU\lfarris
Created: 10/27/2021 8:39:30 AM
Version: SymPDFCreator 4.2.4
Incident#105824 CHECKINGNUMBER and SAVINGSNUMBER fields on form should be SHARE:ID+ACCOUNT:NUMBER, instead of ACCOUNT:NUMBER+SHARE:ID
]
SUBROUTINE DEMAND WINDOWS
TARGET=ACCOUNT
DEFINE
#INCLUDE "RD.WINDOWS.DEF"
#INCLUDE "RD.GETDATA.DEF"
#INCLUDE "SYMPDF.DEF"
#INCLUDE "ABA.LTR.DEF"
[Variables for PowerFrame Doc launch]
HOSTNAME = CHARACTER
PORTNUMBER = CHARACTER
SAVECOUNT=NUMBER
SAVINGSNUMBER=CHARACTER ARRAY(99)
TMPNAME=CHARACTER
CHKCOUNT=NUMBER
CHECKINGNUMBER=CHARACTER ARRAY(9)
ALTMAILFOUND=NUMBER
ALTSTREET=CHARACTER
ALTCITYSTATEZIP=CHARACTER
ERRORTEXT=CHARACTER
END
SETUP
[Set Variables for PowerFrame Doc launch]
IF SYSSYMDIRECTORY<>132 THEN
DO
HOSTNAME = "powerframe-test.jha-sys.com"
PORTNUMBER = "42"+FORMAT("999",SYSSYMDIRECTORY)
END
ELSE
DO
HOSTNAME = "powerframe-prod.jha-sys.com"
PORTNUMBER = "42132"
END
[---Call On Demand Program---]
INITSUBROUTINE(fileError)
CALL ERRORCHECKER
[To run PowerFrame Doc]
@ENVARGCHAR2 = HOSTNAME [Host name/IP]
@ENVARGCHAR3 = PORTNUMBER [Port # - normally 42XXX where XXX is the SYM #]
@ENVARGCHAR4 = "ABA_LTR"[PowerFrame Doc set name - should be on the PowerFrame Design Portal]
@ENVARGCHAR5 = "" [String to pass variables to the PowerFrame Doc set]
EXECUTE("RD.POAS.DOC.CALL.SUBR",fileError)
[ PRINT OPTIONS
PRINTERNAME="" [ PRINTER NAME (OPTIONAL) ]
PRINTCOPIES=1 [ 0 = ONE COPY (DEFAULT) ]
[ 1 = ONE COPY ]
[ n = n COPIES ]
PRINTMODE=0 [ 0 = FULL (DEFAULT) ]
[ 1 = AUTOMATIC ]
[ 2 = SILENT ]
PRINTANDTHEN=0 [ 0 = DO NOTHING (DEFAULT) ]
[ 1 = SUBMIT FORM ]
[ 2 = CLOSE FORM ]
PRINTDUPLEX=0 [ 0 = DEFAULT (DEFAULT) ]
[ 1 = SIMPLEX ]
[ 2 = DUPLEX LONG EDGE ]
[ 3 = DUPLEX SHORT EDGE ]
PRINTCONTENTS=0 [ 0 = DOC (DEFAULT) ]
[ 1 = DOC AND COMMENTS ]
[ 2 = FORM FIELDS ONLY ]
FORMNAME="ABA.LTR"
CALL FORMSETUP
[ NOTE: if you don't want to load previous saved forms
set the following LOADSAVEDFORMS flag to FALSE ]
LOADSAVEDFORMS=TRUE
SAVEDESCRIPTION=FORMNAME
FOR ACCOUNT ACCOUNT:NUMBER
DO
CALL DATASETUP
CALL CUSTOMSETUP
END
CLOSEFORM=FALSE
WHILELIMIT=100000
WHILE(CLOSEFORM=FALSE)
DO
CALL SHOWFORM
CALL CLEARCHECKBOXES
CALL GETRESPONSE
IF(FORMMESSAGE="SUBMIT") THEN
DO
CLOSEFORM=CLOSEAFTERSUBMIT
IF(DOFORMFMP=TRUE) THEN
DO
CALL FORMFMP
IF(FORMFMPERROR<>"") THEN
DO
POPUPMESSAGE(2, "ABA.LTR FM ERROR: "+FORMFMPERROR)
CLOSEFORM=FALSE
END
END
CALL FINALIZEFORM
IF(DOOPTICAL=TRUE AND OPTICALTYPE<>"") THEN
DO
CALL STOREOPTICAL
IF(OPTICALERROR<>"") THEN
DO
POPUPMESSAGE(2, "ABA.LTR OPTICAL ERROR: "+OPTICALERROR)
CLOSEFORM=FALSE
END
END
CALL CREATENOTE
END
FORMVERSION=FORMVERSION+1
END ]
END
PRINT TITLE="PDF FORM "+FORMNAME
SUPPRESSNEWLINE
END
PROCEDURE ERRORCHECKER
IF fileError <> "EOF" AND
fileError <> "" THEN
DO
POPUPMESSAGE(2,""+fileError)
TERMINATE
END
END
[
This procedure is to initialize custom variables defined on the
PDF Form file. Any variables not recognized by the 'SymPDF Creator'
will be declared as a custom CHARACTER variable with the field name.
Examples:
MYFIELD = "MYVALUE"
MYFIELD = FORMAT("99/99/9999",SYSTEMDATE)
]
PROCEDURE CUSTOMSETUP
[ CALL FINDALTMAIL
DateField=FORMAT("99/99/9999", SYSTEMDATE)
MemberName=CAPITALIZE(NAME:LONGNAME)
IF ALTMAILFOUND=0 THEN
DO
StreetAddress=CAPITALIZE(NAME:STREET)+" "+CAPITALIZE(NAME:EXTRAADDRESS)
CityStateZip=CAPITALIZE(NAME:CITY)+", "+NAME:STATE+" "+NAME:ZIPCODE
END
ELSE
DO
StreetAddress=ALTSTREET
CityStateZip=ALTCITYSTATEZIP
END
FOR EACH SHARE WITH SHARE:SHARECODE=0
DO
SAVECOUNT=SAVECOUNT+1
SAVINGSNUMBER(SAVECOUNT)=SHARE:ID+ACCOUNT:NUMBER
END
FOR EACH SHARE WITH SHARE:SHARECODE=1
DO
CHKCOUNT=CHKCOUNT+1
CHECKINGNUMBER(CHKCOUNT)=SHARE:ID+ACCOUNT:NUMBER
END
UserName=CAPITALIZE(SEGMENT(SYSUSERNAME(SYSUSERNUMBER), 1, LENGTH(SYSUSERNAME(SYSUSERNUMBER))-2))
FOR USER WITH NUMBER FORMAT("9999", SYSUSERNUMBER)
DO
UserTitle=CAPITALIZE(USER:JOBTITLE)
END
CALL CUSTOMJAVASCRIPT
CALL EMAILSETUP ]
END
[
This procedure is to override data pased in the ABA.LTR.PRO,
specifically in the WRITEFORMDATA Procedure. Commands here must
be in the same format as in the WRITEFORMDATA Procedure.
This is used for customization since most times you can
(if possible) set the values in the CUSTOMSETUP procedure above.
Examples:
FIELDNAME = "MYFIELD" CHARACTERDATA = "Hello SymFormPDF" CALL WRITECHARACTER
FIELDNAME = "MYFIELD" MONEYDATA = $3.14 CALL WRITEMONEY
]
PROCEDURE CUSTOMWRITEFORMDATA
END
[
This procedure is to override data read back from the PDF in the
ABA.LTR.PRO, specifically in the READFORMDATA Procedure.
Commands here can be used to do some special reading of variables
most times this is not used.
]
PROCEDURE CUSTOMREADFORMDATA
END
[
This procedure is to send special JavaScript code to the PDF from.
The code specified here will be executed after the field data is
loaded into the fields. You can declare object variables that are
used in your form. For example, you could pass the entire Account
tree to be used in your javascript functions.
Example:
JSTEXT = "app.alert('Hello SymFormPDF JavaScript!');" CALL WRITEJS
]
PROCEDURE CUSTOMJAVASCRIPT
TMPNUM=0
JSTEXT="dataSet1 = ["
CALL WRITEJS
FOR TMPNUM=0 TO SAVECOUNT
DO
TMPNAME=SAVINGSNUMBER(TMPNUM)
JSTEXT="{"
CALL WRITEJS
JSTEXT=" toString: function(){return '"+TMPNAME+"'},"
CALL WRITEJS
JSTEXT="},"
CALL WRITEJS
END
JSTEXT="];"
CALL WRITEJS
JSTEXT="var SavingsAccount = this.getField('SavingsAccount');"
CALL WRITEJS
JSTEXT="SavingsAccount.clearItems();"
CALL WRITEJS
JSTEXT="SavingsAccount.setItems(dataSet1);"
CALL WRITEJS
TMPNUM=0
JSTEXT="dataSet2 = ["
CALL WRITEJS
FOR TMPNUM=0 TO CHKCOUNT
DO
TMPNAME=CHECKINGNUMBER(TMPNUM)
JSTEXT="{"
CALL WRITEJS
JSTEXT=" toString: function(){return '"+TMPNAME+"'},"
CALL WRITEJS
JSTEXT="},"
CALL WRITEJS
END
JSTEXT="];"
CALL WRITEJS
JSTEXT="var CheckingAccount = this.getField('CheckingAccount');"
CALL WRITEJS
JSTEXT="CheckingAccount.clearItems();"
CALL WRITEJS
JSTEXT="CheckingAccount.setItems(dataSet2);"
CALL WRITEJS
END
[
This procedure is to enable email and set up email for the PDF form.
If you set the EMAILFORMAT to HTML, you can use html markup in tne
email message body.
EMAILENABLED 0 = FALSE
1 = TRUE
EMAILFORMAT 0 = Plain Text
1 = HTML
EMAILFROM This is required if EMAILENABLED = TRUE
Example: "[email protected]"
Example:
EMAILTEXT = "This is the email body message" CALL WRITEEMAIL
]
PROCEDURE EMAILSETUP
EMAILENABLED=0
EMAILFORMAT=0
EMAILFROM=""
EMAILSUBJECT=""
END
[
PROCEDURE FINDALTMAIL
ALTMAILFOUND=0
FOR ACCOUNT ACCOUNT:NUMBER
DO
FOR EACH NAME WITH NAME:TYPE=3 AND(NAME:EXPIRATIONDATE='--/--/----'OR NAME:EXPIRATIONDATE>SYSTEMDATE)
DO
ALTMAILFOUND=1
ALTSTREET=CAPITALIZE(NAME:STREET)+" "+CAPITALIZE(NAME:EXTRAADDRESS)
ALTCITYSTATEZIP=CAPITALIZE(NAME:CITY)+", "+NAME:STATE+" "+NAME:ZIPCODE
END
UNTIL ALTMAILFOUND=1
END
END
PROCEDURE CREATENOTE
FMPERFORM CREATE NOTE BEFOREFIRST (0,0,ERRORTEXT)
DO
SET TEXT:1 TO "ABA Letter"
SET TEXT:2 TO "Savings Account= "+SavingsAccount
SET TEXT:3 TO "Checking Account="+CheckingAccount
SET TEXT:4 TO USERNAME
SET EXPIRATIONDATE TO SYSTEMDATE+365
END
IF ERRORTEXT=""THEN POPUPMESSAGE(0,"Note Created")
ELSE
POPUPMESSAGE(2,ERRORTEXT)
END ]
#INCLUDE "SYMPDF.PRO"
#INCLUDE "ABA.LTR.PRO"