-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGOOD.STAND.LTR
270 lines (227 loc) · 7.05 KB
/
GOOD.STAND.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
[
SymForm PDF Driver - GOOD.STAND.LTR
Auto generated variables - GOOD.STAND.LTR.DEF
Auto generated procedures - GOOD.STAND.LTR.PRO
PDF Form filename - GOOD.STAND.LTR.pdf
Author: KFCU\lfarris
Created: 10/29/2021 10:43:18 AM
Version: SymPDFCreator 4.2.4
]
SUBROUTINE DEMAND WINDOWS
TARGET = ACCOUNT
DEFINE
#INCLUDE "RD.WINDOWS.DEF"
#INCLUDE "RD.GETDATA.DEF"
#INCLUDE "SYMPDF.DEF"
#INCLUDE "GOOD.STAND.LTR.DEF"
ALTMAILFOUND=NUMBER
ALTSTREET=CHARACTER
ALTCITYSTATEZIP=CHARACTER
ERRORTEXT=CHARACTER
[Variables for PowerFrame Doc launch]
HOSTNAME = CHARACTER
PORTNUMBER = 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 = "GOOD_STAND_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 = "GOOD.STAND.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, "GOOD.STAND.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,"GOOD.STAND.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
AcctNum="XXXXXX"+SEGMENT(ACCOUNT:NUMBER,7,10)
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 GOOD.STAND.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
GOOD.STAND.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
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 "Good Standing Letter"
SET TEXT:2 TO USERNAME
SET EXPIRATIONDATE TO SYSTEMDATE+365
END
IF ERRORTEXT="" THEN POPUPMESSAGE(0, "Note Created")
ELSE
POPUPMESSAGE(2, ERRORTEXT)
END
#INCLUDE "SYMPDF.PRO"
#INCLUDE "GOOD.STAND.LTR.PRO"