Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:sform.002
Deck SFORM Part 002
49 Modifications
Listing Sections
- Deck SFORM Start
- Deck SFORM Part 1 (Line 1453)
- Deck SFORM Part 2 (Line 3127)
- Deck SFORM Part 3 (Line 4583)
- Deck SFORM Part 4 (Line 5960)
- Deck SFORM Part 5 (Line 7272)
Source
Seq # *Modification Id* Act ----------------------------+ 03127 M00S01658.sform +++| IVAL = YY*10000 + MM*100 + DD; 03128 M00S01659.sform +++| 03129 M00S01660.sform +++|END # DATEVL # 03130 M00S01661.sform +++|CONTROL EJECT; 03131 M00S01662.sform +++| 03132 M00S01663.sform +++|PROC ERRMSG(PANELNAME,PROCNAME,PROCMSG,FATAL); 03133 M00S01664.sform +++| 03134 M00S01665.sform +++|# TITLE ERRMSG - ERROR MESSAGE PROCEDURE. # 03135 M00S01666.sform +++| 03136 M00S01667.sform +++|BEGIN # ERRMSG # 03137 M00S01668.sform +++| 03138 M00S01669.sform +++|# 03139 M00S01670.sform +++|** ERRMSG - ERROR MESSAGE PROCEDURE. 03140 M00S01671.sform +++|* 03141 M00S01672.sform +++|* THIS PROCEDURE ISSUES A DAYFILE MESSAGE INDICATING WHICH 03142 M00S01673.sform +++|* PANEL CAUSED AN ERROR AND THE PROCEDURE THAT DETECTED IT. 03143 M00S01674.sform +++|* IT ALSO TERMINATES THE PROGRAM IF THE ERROR IS FATAL. 03144 M00S01675.sform +++|* 03145 M00S01676.sform +++|* PROC ERRMSG(PANELNAME,PROCNAME,PROCMSG,FATAL) 03146 M00S01677.sform +++|* 03147 M00S01678.sform +++|* ENTRY PANELNAME = THE NAME OF THE PANEL. 03148 M00S01679.sform +++|* PROCNAME = THE NAME OF THE EXTERNAL PROCEDURE 03149 M00S01680.sform +++|* THAT DETECTED THE ERROR. 03150 M00S01681.sform +++|* PROCMSG = THE ERROR MESSAGE. 03151 M00S01682.sform +++|* FATAL = TRUE IF THE ERROR IS FATAL, FALSE OTHERWISE. 03152 M00S01683.sform +++|* 03153 M00S01684.sform +++|* EXIT MESSAGE ISSUED TO DAYFILE, PROGRAM TERMINATED IF FATAL 03154 M00S01685.sform +++|* IS TRUE. 03155 M00S01686.sform +++|*
Line S01687 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03156 M01S01687.242l642 ---|* CALLS VDTCLO, VDTCLS, VDTMSG$, VDTSTM.
Line S00802 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03157 M01S00802.242l642 +++|*IF UNDEF,QTRM 03158 M01S00803.242l642 +++|* CALLS VDTCLO, VDTCLS, VDTMSG$, VDTSTM. 03159 M01S00804.242l642 +++|*ELSE 03160 M01S00805.242l642 +++|*ENDIF 03161 M00S01688.sform +++|* 03162 M00S01689.sform +++|* USES TERACTIVEP, TERACTPANI, TERCNWRIOV, TERMESREAD, 03163 M00S01690.sform +++|* TERMESWRIT, TERSCREENM, TERSHOWFLG. 03164 M00S01691.sform +++|* 03165 M00S01692.sform +++|* NOTES THIS PROCEDURE IS CALLED BY SFCLOS WHEN A PANEL CANNOT BE 03166 M00S01693.sform +++|* CLOSED (INFORMATIVE MESSAGE ONLY), BY GETADD WHEN A READ, 03167 M00S01694.sform +++|* WRITE, OR SHOW OF A PANEL THAT IS NOT IN THE PANEL LOAD 03168 M00S01695.sform +++|* TABLE IS ATTEMPTED (INFORMATIVE MESSAGE AND TERMINATION 03169 M00S01696.sform +++|* OF PROGRAM), BY WRIPAN WHEN AN ATTEMPT IS MADE TO WRITE 03170 M00S01697.sform +++|* AN OVERLAY PANEL BEFORE A PRIMARY PANEL (INFORMATIVE 03171 M00S01698.sform +++|* MESSAGE AND TERMINATION OF PROGRAM) AND BY SFLOAD IF 03172 M00S01699.sform +++|* AN INTERNAL FAST DYNAMIC LOADER ERROR HAS OCCURRED 03173 M00S01700.sform +++|* (INFORMATIVE MESSAGE ONLY). 03174 M00S01701.sform +++|# 03175 M00S01702.sform +++|ITEM PANELNAME C(7); # PANEL NAME # 03176 M00S01703.sform +++|ITEM PROCNAME C(6); # PROCEDURE NAME # 03177 M00S01704.sform +++|ITEM PROCMSG C(20); # DAYFILE ERROR MESSAGE # 03178 M00S01705.sform +++|ITEM FATAL B; # PANEL NAME # 03179 M00S01706.sform +++| 03180 M00S01707.sform +++|ITEM DAYFILE I = 0; # ISSUE MESSAGE TO DAYFILE # 03181 M00S01708.sform +++|ITEM DAYMESSAGE C(41) = " XXXXXX - PANEL ";
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform19 |
Seq # *Modification Id* Act ----------------------------+ 03182 M01S00001.sform19 +++|ITEM EMPTY I = O"00"; # OCTAL ZERO / COLON #
Line S00806 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03183 M01S00806.242l642 +++|*IF UNDEF,QTRM 03184 M00S01709.sform +++|ITEM LINE I = 0; # INDICATES LINE MODE TO VDT # 03185 M00S01710.sform +++|ITEM NOMSG I = 0; # NO B-DISPLAY MESSAGE #
Line S00807 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03186 M01S00807.242l642 +++|*ENDIF 03187 M00S01711.sform +++|ITEM NONAME C(25) = "NAME IS BLANK. "; # ERROR MSG. #
Line S01712 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03188 M01S01712.242l642 ---|ITEM RECALL I = 1; # RECALL PARAMTER FOR VDTCLO #
Line S00808 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03189 M01S00808.242l642 +++|*IF UNDEF,QTRM 03190 M01S00809.242l642 +++|ITEM RECALL I = 1; # RECALL PARAMETER FOR VDTCLO # 03191 M01S00810.242l642 +++|*ENDIF 03192 M00S01713.sform +++|ITEM PANINDEX I; # INDEX INTO PANEL NAME # 03193 M00S01714.sform +++|ITEM PANLEN I; # LENGTH OF PANEL NAME #
Line S00811 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03194 M01S00811.242l642 +++|*IF UNDEF,QTRM 03195 M00S01715.sform +++|ITEM PLTCOUNT I; # COUNTER TO CLEAR PLT #
Line S00812 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03196 M01S00812.242l642 +++|*ENDIF 03197 M00S01716.sform +++|ITEM SPACE I = O"55"; # DISPLAY CODE BLANK # 03198 M00S01717.sform +++| 03199 M00S01718.sform +++|C<1,6>DAYMESSAGE = PROCNAME; # PUT IN PROCEDURE NAME # 03200 M00S01719.sform +++| 03201 M00S01720.sform +++|PANLEN = 0; 03202 M00S01721.sform +++|FOR PANINDEX = 0 STEP 1 UNTIL 6 DO 03203 M00S01722.sform +++| BEGIN # FIND PANEL NAME LENGTH #
Line S01723 Modification History | |
---|---|
M01 (Removed by) | sform19 |
Seq # *Modification Id* Act ----------------------------+ 03204 M01S01723.sform19 ---| IF C<PANINDEX,1>PANELNAME NQ SPACE THEN PANLEN = PANINDEX + 1;
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform19 |
Seq # *Modification Id* Act ----------------------------+ 03205 M01S00002.sform19 +++| IF C<PANINDEX,1>PANELNAME NQ SPACE 03206 M01S00003.sform19 +++| AND C<PANINDEX,1>PANELNAME NQ EMPTY THEN 03207 M01S00004.sform19 +++| BEGIN # IF NOT AT END OF PANEL NAME # 03208 M01S00005.sform19 +++| PANLEN = PANINDEX + 1; 03209 M01S00006.sform19 +++| END 03210 M00S01724.sform +++| END 03211 M00S01725.sform +++| 03212 M00S01726.sform +++|IF PANLEN EQ 0 OR PANELNAME EQ 0 THEN 03213 M00S01727.sform +++| BEGIN # IF BLANK PANEL NAME # 03214 M00S01728.sform +++| C<16,25>DAYMESSAGE = NONAME; # OVER RIDE PROCEDURE MSG. # 03215 M00S01729.sform +++| END 03216 M00S01730.sform +++|ELSE 03217 M00S01731.sform +++| BEGIN # PUT IN NAME AND MESSAGE # 03218 M00S01732.sform +++| C<16,PANLEN>DAYMESSAGE = PANELNAME; 03219 M00S01733.sform +++| C<16+PANLEN,25-PANLEN>DAYMESSAGE = PROCMSG; 03220 M00S01734.sform +++| END 03221 M00S01735.sform +++| 03222 M00S01736.sform +++|VDTMSG$(DAYMESSAGE,DAYFILE,1); # ISSUE DAYFILE MESSAGE # 03223 M00S01737.sform +++| 03224 M00S01738.sform +++|IF FATAL THEN 03225 M00S01739.sform +++| BEGIN # IF FATAL ERROR #
Line S00813 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03226 M01S00813.242l642 +++|*IF UNDEF,QTRM 03227 M00S01740.sform +++| IF TERSCREENM[0] THEN 03228 M00S01741.sform +++| BEGIN # IF IN SCREEN MODE #
Line S01742 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03229 M01S01742.242l642 ---| TERSCREENM[0] = FALSE; # SET LINE MODE #
Line S00814 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03230 M02S00814.252l678 ---| IF FIRSTWRITE THEN
Line S00136 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03231 M01S00136.252l678 +++| IF NOT TERVDTBOOC[0] THEN
Line S00815 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03232 M01S00815.242l642 +++| BEGIN # IF FIRST WRITE # 03233 M01S00816.242l642 +++| VDTBOO; # BEGIN OUTPUT SEQUENCE # 03234 M01S00817.242l642 +++| END 03235 M00S01743.sform +++| VDTCLS; # CLEAR SCREEN # 03236 M00S01744.sform +++| FOR PLTCOUNT = 1 STEP 1 UNTIL PLTNUMENT[0] DO 03237 M00S01745.sform +++| BEGIN # CLEAR SEQUENCE NUMBERS # 03238 M00S01746.sform +++| PLTENTRYNM[PLTCOUNT] = 0; 03239 M00S01747.sform +++| END 03240 M00S01748.sform +++| PLTNUMONSC[0] = 0; # NO PANELS ON SCREEN # 03241 M00S01749.sform +++| TERMESWRIT[0] = FALSE; 03242 M00S01750.sform +++| TERMESREAD[0] = FALSE;
Line S01751 Modification History | |
---|---|
M01 (Removed by) | ns2231 |
Seq # *Modification Id* Act ----------------------------+ 03243 M01S01751.ns2231 ---| VDTSTM(TERMMODEL,LINE); # SET LINE MODE #
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2231 |
Seq # *Modification Id* Act ----------------------------+ 03244 M01S00002.ns2231 +++| VDTSTM(LINE,DUMMY); # SET LINE MODE #
Line S00818 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03245 M02S00818.252l678 ---| VDTEOO; # END OUTPUT SEQUENCE #
Line S00137 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03246 M01S00137.252l678 +++| IF NOT TERNOVDTEO[0] THEN VDTEOO;
Line S00819 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03247 M02S00819.252l678 ---| FIRSTWRITE = TRUE;
Line S00138 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03248 M01S00138.252l678 +++| TERVDTBOOC[0] = FALSE; 03249 M00S01752.sform +++| VDTCLO(RECALL); # FLUSH OUTPUT, RECALL # 03250 M00S01753.sform +++| END
Line S01754 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03251 M01S01754.242l642 ---| ACTIVEPAN = " "; # CLEAR ACTIVE PANEL NAME # 03252 M01S01755.242l642 ---| ACTPANPLTI = 0; # CLEAR PLT INDEX #
Line S00820 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03253 M01S00820.242l642 +++| TERACTPANL[0] = " "; # CLEAR ACTIVE PANEL NAME # 03254 M01S00821.242l642 +++| TERACTPLTI[0] = 0; # CLEAR PLT INDEX # 03255 M00S01756.sform +++| TERCNWRIOV[0] = FALSE; # DO NOT ALLOW OVERLAY WRITE # 03256 M00S01757.sform +++| VDTMSG$(NOMSG,1,1); # CLEAR B-DISPLAY # 03257 M00S01758.sform +++| TERSHOWFLG[0] = FALSE; 03258 M00S01759.sform +++| TERREADFLG[0] = FALSE;
Line S01760 Modification History | |
---|---|
M01 (Removed by) | sform21 |
Seq # *Modification Id* Act ----------------------------+ 03259 M01S01760.sform21 ---| STOP; # TERMINATE PROGRAM #
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform21 |
Seq # *Modification Id* Act ----------------------------+ 03260 M01S00002.sform21 +++| ABORT; # ABORT THE PROGRAM #
Line S00822 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03261 M01S00822.242l642 +++|*ELSE
Line S00823 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | sform21 |
Seq # *Modification Id* Act ----------------------------+ 03262 M02S00823.sform21 ---| STOP; # ABORT THE USER #
Line S00003 Modification History | |
---|---|
M01 (Added by) | sform21 |
Seq # *Modification Id* Act ----------------------------+ 03263 M01S00003.sform21 +++| ABORT; # ABORT THE USER #
Line S00824 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03264 M01S00824.242l642 +++|*ENDIF 03265 M00S01761.sform +++| END 03266 M00S01762.sform +++| 03267 M00S01763.sform +++|END # ERRMSG # 03268 M00S01764.sform +++|CONTROL EJECT; 03269 M00S01765.sform +++| 03270 M00S01766.sform +++|PROC FFIELD(INPOS,FIELD,OFFSET,OUTFLAG); 03271 M00S01767.sform +++| 03272 M00S01768.sform +++|# TITLE FFIELD - FIND INPUT FIELD. # 03273 M00S01769.sform +++| 03274 M00S01770.sform +++|BEGIN # FFIELD # 03275 M00S01771.sform +++| 03276 M00S01772.sform +++|# 03277 M00S01773.sform +++|** FFIELD - FIND INPUT FIELD. 03278 M00S01774.sform +++|* 03279 M00S01775.sform +++|* THIS PROCEDURE FINDS THE ACTIVE INPUT FIELD ASSOCIATED WITH 03280 M00S01776.sform +++|* THE INPUT RECEIVED FROM SCREEN POSITION INPOS. 03281 M00S01777.sform +++|* 03282 M00S01778.sform +++|* PROC FFIELD(INPOS,FIELD,OFFSET) 03283 M00S01779.sform +++|* 03284 M00S01780.sform +++|* ENTRY INPOS = X/Y POSITION 03285 M00S01781.sform +++|* OUTFLAG = TRUE, INCLUDE ACTIVE OUTPUT ONLY 03286 M00S01782.sform +++|* FIELDS IN THE SEARCH. 03287 M00S01783.sform +++|* 03288 M00S01784.sform +++|* EXIT FIELD = FIELD ASSOCIATED WITH INPUT. 03289 M00S01785.sform +++|* = -1 IF NOT IN A FIELD. 03290 M00S01786.sform +++|* OFFSET = OFFSET OF INPUT INTO FIELD. 03291 M00S01787.sform +++|* 03292 M00S01788.sform +++|* NOTES FFIELD ASSUMES THAT FIELDS DO NOT SPAN LINES. 03293 M00S01789.sform +++|# 03294 M00S01790.sform +++|ITEM INPOS I; # X/Y POSITION # 03295 M00S01791.sform +++|ITEM FIELD I; # INDEX INTO FLDLIST # 03296 M00S01792.sform +++|ITEM OFFSET I; # OFFSET INTO FIELD # 03297 M00S01793.sform +++|ITEM OUTFLAG B; # INCLUDE OUT-ONLY FIELDS # 03298 M00S01794.sform +++| 03299 M00S01795.sform +++|ITEM I I; # LOOP COUNTER # 03300 M00S01796.sform +++|ITEM NOTEND B; # NOT END OF SEARCH # 03301 M00S01797.sform +++| 03302 M00S01798.sform +++|FIELD = -1; # NOT FOUND UNTIL PROVEN FOUND # 03303 M00S01799.sform +++|NOTEND = TRUE; 03304 M00S01800.sform +++|OFFSET = 0; 03305 M00S01801.sform +++| 03306 M00S01802.sform +++|FOR I = 0 STEP 1 WHILE NOTEND 03307 M00S01803.sform +++| AND FLDENTRY[I] NQ 0 DO 03308 M00S01804.sform +++| BEGIN # FIND FIELD CHAR WAS ENTERED IN # 03309 M00S01805.sform +++| IF INPOS LS FLDPOS[I] AND FLDACTIVE[I] THEN NOTEND = FALSE; 03310 M00S01806.sform +++| ELSE 03311 M00S01807.sform +++| BEGIN 03312 M00S01808.sform +++| IF (FLDINPUTV[I] AND FLDACTIVE[I]) 03313 M00S01809.sform +++| OR (FLDVARFLAG[I] AND OUTFLAG AND FLDACTIVE[I]) THEN 03314 M00S01810.sform +++| BEGIN 03315 M00S01811.sform +++| FIELD = I; 03316 M00S01812.sform +++| END 03317 M00S01813.sform +++| END 03318 M00S01814.sform +++| END 03319 M00S01815.sform +++| 03320 M00S01816.sform +++|IF VALIDFIELD THEN 03321 M00S01817.sform +++| BEGIN # IF VALID FIELD FOUND # 03322 M00S01818.sform +++| OFFSET = INPOS - FLDPOS[FIELD]; 03323 M00S01819.sform +++| IF OFFSET GQ FLDLENGTH[FIELD] THEN 03324 M00S01820.sform +++| BEGIN # INPUT BEYOND END OF FIELD # 03325 M00S01821.sform +++| OFFSET = 0; 03326 M00S01822.sform +++| FIELD = -1; 03327 M00S01823.sform +++| END 03328 M00S01824.sform +++| END 03329 M00S01825.sform +++| 03330 M00S01826.sform +++|END # FFIELD # 03331 M00S01827.sform +++|CONTROL EJECT; 03332 M00S01828.sform +++| 03333 M00S01829.sform +++|PROC FFIRST(FLDIND); 03334 M00S01830.sform +++| 03335 M00S01831.sform +++|# TITLE FFIRST - FIND FIRST INPUT FIELD. # 03336 M00S01832.sform +++| 03337 M00S01833.sform +++|BEGIN # FFIRST # 03338 M00S01834.sform +++| 03339 M00S01835.sform +++|# 03340 M00S01836.sform +++|** FFIRST - FIND FIRST INPUT FIELD. 03341 M00S01837.sform +++|* 03342 M00S01838.sform +++|* THIS PROCEDURE FINDS THE FIRST ACTIVE INPUT FIELD IN THE PANEL 03343 M00S01839.sform +++|* THAT DOES NOT HAVE A VALID ENTRY. IF ALL INPUT FIELDS ARE BOTH 03344 M00S01840.sform +++|* ENTERED AND VALID THEN THE FIRST ACTIVE INPUT FIELD IS RETURNED. 03345 M00S01841.sform +++|* 03346 M00S01842.sform +++|* PROC FFIRST(FLDIND) 03347 M00S01843.sform +++|* 03348 M00S01844.sform +++|* EXIT FLDIND = INDEX OF FIRST INPUT FIELD 03349 M00S01845.sform +++|* = -1, IF NO INPUT FIELD FOUND. 03350 M00S01846.sform +++|# 03351 M00S01847.sform +++|ITEM FLDIND I; # FIELD INDEX # 03352 M00S01848.sform +++| 03353 M00S01849.sform +++|ITEM FIRST B; # STILL LOOKING FOR FIRST FIELD # 03354 M00S01850.sform +++|ITEM FOUND B; # FOUND AN UNENTERED INPUT FIELD # 03355 M00S01851.sform +++|ITEM I I; # LOOP COUNTER # 03356 M00S01852.sform +++| 03357 M00S01853.sform +++|FLDIND = -1; 03358 M00S01854.sform +++|FIRST = TRUE; 03359 M00S01855.sform +++|FOUND = FALSE; 03360 M00S01856.sform +++| 03361 M00S01857.sform +++|FOR I = 0 STEP 1 WHILE NOT FOUND AND FLDENTRY[I] NQ 0 DO 03362 M00S01858.sform +++| BEGIN # SEARCH FIELD LIST # 03363 M00S01859.sform +++| IF FLDINPUTV[I] AND NOT FOUND AND FLDACTIVE[I] 03364 M00S01860.sform +++| AND (NOT FLDENTERED[I] OR NOT FLDVALID[I]) THEN 03365 M00S01861.sform +++| BEGIN # FIRST AVAILABLE FIELD # 03366 M00S01862.sform +++| FIRST = FALSE; 03367 M00S01863.sform +++| FOUND = TRUE; 03368 M00S01864.sform +++| FLDIND = I; 03369 M00S01865.sform +++| END 03370 M00S01866.sform +++| ELSE IF FIRST AND FLDINPUTV[I] AND FLDACTIVE[I] THEN 03371 M00S01867.sform +++| BEGIN # FIRST INPUT FIELD # 03372 M00S01868.sform +++| FIRST = FALSE; 03373 M00S01869.sform +++| FLDIND = I; 03374 M00S01870.sform +++| END 03375 M00S01871.sform +++| END 03376 M00S01872.sform +++| 03377 M00S01873.sform +++|END # FFIRST # 03378 M00S01874.sform +++|CONTROL EJECT; 03379 M00S01875.sform +++| 03380 M00S01876.sform +++|PROC FMATCH(FLDIND,MATCHIND,MATCHCOUNT); 03381 M00S01877.sform +++| 03382 M00S01878.sform +++|# TITLE FMATCH - FIND ENTRY IN MATCH LIST. # 03383 M00S01879.sform +++| 03384 M00S01880.sform +++|BEGIN # FMATCH # 03385 M00S01881.sform +++| 03386 M00S01882.sform +++|# 03387 M00S01883.sform +++|** FMATCH - FIND ENTRY IN MATCH LIST. 03388 M00S01884.sform +++|* 03389 M00S01885.sform +++|* THIS PROCEDURE FINDS THE FIRST ENTRY IN THE VARIABLE MATCH LIST 03390 M00S01886.sform +++|* WHICH MATCHES THE ENTERED CHARACTERS COMPLETELY OR IN PART. 03391 M00S01887.sform +++|* 03392 M00S01888.sform +++|* PROC FMATCH(FLDIND,MATCHIND,MATCHCOUNT) 03393 M00S01889.sform +++|* 03394 M00S01890.sform +++|* ENTRY FLDIND = POINTER INTO FLDLIST OF CURRENT FIELD. 03395 M00S01891.sform +++|* 03396 M00S01892.sform +++|* EXIT MATCHIND = INDEX INTO MATCHLIST OF FIRST VALID MATCH. 03397 M00S01893.sform +++|* = -1 IF NO VALID MATCH FOUND. 03398 M00S01894.sform +++|* MATCHCOUNT = NUMBER OF VALID MATCHES FOUND. 03399 M00S01895.sform +++|* -1 IF EXACT (TO 10 CHARACTERS) MATCH FOUND. 03400 M00S01896.sform +++|# 03401 M00S01897.sform +++|ITEM FLDIND I; # INDEX OF FIELD IN FLDLIST # 03402 M00S01898.sform +++|ITEM MATCHIND I; # INDEX OF MATCH IN MATCHLIST # 03403 M00S01899.sform +++|ITEM MATCHCOUNT I; # NUMBER OF VALID MATCHES FOUND # 03404 M00S01900.sform +++| 03405 M00S01901.sform +++|ITEM CHARPOS I; # INPUT CHAR POSITION IN FIELD # 03406 M00S01902.sform +++|ITEM EXACT B; # EXACT MATCH FOUND # 03407 M00S01903.sform +++|ITEM I I; # LOOP COUNTER # 03408 M00S01904.sform +++|ITEM INPCHAR I; # INPUT CHARACTER # 03409 M00S01905.sform +++|ITEM LASTCHARP I; # LAST INPUT CHARACTER POSITION # 03410 M00S01906.sform +++|ITEM MATCHCHAR I; # MATCH CHARACTER # 03411 M00S01907.sform +++|ITEM MATCHCI I; # CHAR INDEX OF MATCH CHARACTER # 03412 M00S01908.sform +++|ITEM MATCHED B; # INPUT MATCHED LIST ENTRY # 03413 M00S01909.sform +++|ITEM MATCHLEN I; # LENGTH OF MATCH STRING #
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03414 M01S00001.ns2612 +++|ITEM MATCHMAX I; # EXACT MATCH CHARACTER COUNT # 03415 M01S00002.ns2612 +++|ITEM MATCHWDS I; # NUMBER OF WORDS TO HOLD FIELD # 03416 M00S01910.sform +++|ITEM MATCHWI I; # WORD INDEX OF MATCH CHARACTER # 03417 M00S01911.sform +++|ITEM STARTCHARP I; # FIRST INPUT CHARACTER POSITION # 03418 M00S01912.sform +++|ITEM VARIND I; # INDEX INTO VARLIST # 03419 M00S01913.sform +++| 03420 M00S01914.sform +++|VARIND = FLDVARORD[FLDIND]; 03421 M00S01915.sform +++|P<MATCHLIST> = LOC(RECWORDC[0]) + VARVALOS[VARIND]; 03422 M00S01916.sform +++|MATCHCHAR = 0; 03423 M00S01917.sform +++| 03424 M00S01918.sform +++|LASTCHARP = -1; 03425 M00S01919.sform +++|STARTCHARP = -1; 03426 M00S01920.sform +++| 03427 M00S01921.sform +++|FOR I = 0 STEP 1 UNTIL FLDLENGTH[FLDIND] - 1 DO 03428 M00S01922.sform +++| BEGIN # LOOK FOR FIRST AND LAST CHAR # 03429 M00S01923.sform +++| IF NEXTCHAR(FLDIND,I) NQ BLANK THEN 03430 M00S01924.sform +++| BEGIN # NON-BLANK CHARACTER # 03431 M00S01925.sform +++| LASTCHARP = I; 03432 M00S01926.sform +++| IF STARTCHARP EQ -1 THEN STARTCHARP = I; 03433 M00S01927.sform +++| END 03434 M00S01928.sform +++| END 03435 M00S01929.sform +++| 03436 M00S01930.sform +++|IF STARTCHARP EQ -1 THEN 03437 M00S01931.sform +++| BEGIN # NO CHARACTERS FOUND # 03438 M00S01932.sform +++| STARTCHARP = 0; 03439 M00S01933.sform +++| LASTCHARP = 0; 03440 M00S01934.sform +++| END 03441 M00S01935.sform +++|MATCHLEN = LASTCHARP - STARTCHARP + 1;
Line S01936 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03442 M01S01936.ns2612 ---|IF MATCHLEN GR 10 THEN MATCHLEN = 10; 03443 M01S01937.ns2612 ---|MATCHIND = -1; # DEFAULT INDEX IF MISSING #
Line S00003 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03444 M01S00003.ns2612 +++|MATCHMAX = FLDLENGTH[FLDIND]; 03445 M01S00004.ns2612 +++|IF PANVERSION[0] EQ 0 THEN 03446 M01S00005.ns2612 +++| BEGIN # IF MATCH ENTRIES ONLY 10 CHAR. # 03447 M01S00006.ns2612 +++| IF MATCHMAX GR 10 THEN 03448 M01S00007.ns2612 +++| BEGIN 03449 M01S00008.ns2612 +++| MATCHMAX = 10; 03450 M01S00009.ns2612 +++| IF MATCHLEN GR 10 THEN MATCHLEN = 10; 03451 M01S00010.ns2612 +++| END 03452 M01S00011.ns2612 +++| END 03453 M01S00012.ns2612 +++|MATCHWDS = (MATCHMAX+9)/10; # WORDS PER MATCH ENTRY # 03454 M01S00013.ns2612 +++|MATCHIND = -MATCHWDS; # DEFAULT INDEX IF NO MATCH # 03455 M00S01938.sform +++|MATCHCOUNT = 0; 03456 M00S01939.sform +++|
Line S01940 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03457 M01S01940.ns2612 ---|FOR MATCHWI = 0 STEP 1 WHILE MATCHWORD[MATCHWI] NQ 0
Line S00014 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03458 M01S00014.ns2612 +++|FOR MATCHWI = 0 STEP MATCHWDS WHILE MATCHWORD[MATCHWI] NQ 0 03459 M00S01941.sform +++| AND MATCHCOUNT GQ 0 DO 03460 M00S01942.sform +++| BEGIN 03461 M00S01943.sform +++| MATCHED = TRUE; 03462 M00S01944.sform +++| CHARPOS = STARTCHARP;
Line S01945 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03463 M01S01945.ns2612 ---| FOR MATCHCI = 0 STEP 1 UNTIL MATCHLEN - 1 DO
Line S00015 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03464 M01S00015.ns2612 +++| FOR MATCHCI = 0 STEP 1 WHILE MATCHED AND MATCHCI LS MATCHLEN DO 03465 M00S01946.sform +++| BEGIN # CHECK CHARACTERS FOR MATCH # 03466 M00S01947.sform +++| B<48,12>MATCHCHAR = C<MATCHCI*2,2>MATCH[MATCHWI]; 03467 M00S01948.sform +++| INPCHAR = NEXTCHAR(FLDIND,CHARPOS); 03468 M00S01949.sform +++| IF UPPER(MATCHCHAR) NQ UPPER(INPCHAR) THEN MATCHED = FALSE; 03469 M00S01950.sform +++| CHARPOS = CHARPOS + 1; 03470 M00S01951.sform +++| END 03471 M00S01952.sform +++| IF MATCHED THEN 03472 M00S01953.sform +++| BEGIN # FIRST (MATCHLEN) CHARS MATCH # 03473 M00S01954.sform +++| EXACT = TRUE;
Line S01955 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03474 M01S01955.ns2612 ---| IF MATCHLEN LS 10 THEN
Line S00016 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03475 M01S00016.ns2612 +++| FOR MATCHCI = MATCHLEN STEP 1 UNTIL MATCHMAX-1 DO 03476 M00S01956.sform +++| BEGIN # CHECK REST OF CHARS FOR BLANKS #
Line S01957 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03477 M01S01957.ns2612 ---| FOR MATCHCI = MATCHLEN STEP 1 UNTIL 9 DO 03478 M01S01958.ns2612 ---| BEGIN 03479 M01S01959.ns2612 ---| IF C<MATCHCI*2,2>MATCH[MATCHWI] NQ BLANK THEN EXACT = FALSE; 03480 M01S01960.ns2612 ---| END
Line S00017 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03481 M01S00017.ns2612 +++| IF C<MATCHCI*2,2>MATCH[MATCHWI] NQ BLANK THEN EXACT = FALSE; 03482 M00S01961.sform +++| END 03483 M00S01962.sform +++| IF EXACT THEN 03484 M00S01963.sform +++| BEGIN # EXACT MATCH FOUND # 03485 M00S01964.sform +++| MATCHCOUNT = -1; # FLAG ENTRY FOUND # 03486 M00S01965.sform +++| MATCHIND = MATCHWI; 03487 M00S01966.sform +++| END 03488 M00S01967.sform +++| ELSE
Line S01968 Modification History | |
---|---|
M01 (Removed by) | ns2249 |
Seq # *Modification Id* Act ----------------------------+ 03489 M01S01968.ns2249 ---| BEGIN # PARTIAL MATCH FOUND #
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2249 |
Seq # *Modification Id* Act ----------------------------+ 03490 M01S00002.ns2249 +++| BEGIN # PARTIAL MATCH FOUND # 03491 M00S01969.sform +++| MATCHCOUNT = MATCHCOUNT + 1; 03492 M00S01970.sform +++| IF MATCHCOUNT EQ 1 THEN MATCHIND = MATCHWI; # IF FIRST ONE # 03493 M00S01971.sform +++| END 03494 M00S01972.sform +++| END 03495 M00S01973.sform +++| END 03496 M00S01974.sform +++| 03497 M00S01975.sform +++|END # FMATCH # 03498 M00S01976.sform +++|CONTROL EJECT; 03499 M00S01977.sform +++| 03500 M00S01978.sform +++|PROC FUNKEY(INPOS,OFFSET,FUNTYPE,ORDINAL,FIELD); 03501 M00S01979.sform +++| 03502 M00S01980.sform +++|# TITLE FUNKEY - PROCESS FUNCTION KEY ACTION. # 03503 M00S01981.sform +++| 03504 M00S01982.sform +++|BEGIN # FUNKEY # 03505 M00S01983.sform +++| 03506 M00S01984.sform +++|# 03507 M00S01985.sform +++|** FUNKEY - PROCESS FUNCTION KEY ACTION. 03508 M00S01986.sform +++|* 03509 M00S01987.sform +++|* THIS PROCEDURE SEARCHES THE FUNCTION LIST TO FIND THE ACTION TO 03510 M00S01988.sform +++|* AKE FOR THE FUNCTION KEY, IF ANY. IT THEN TAKES THE DEFINED 03511 M00S01989.sform +++|* ACTION IF NO SOFT TABS ARE PENDING. IF SOFT TABS ARE PENDING 03512 M00S01990.sform +++|* THE FUNCTION IS IGNORED AND IF THE FUNCTION KEY DOES NOT HAVE 03513 M00S01991.sform +++|* A DEFINED ACTION THE SOFT TAB COUNTER WILL BE INCREMENTED. THE 03514 M00S01992.sform +++|* ONLY EXCEPTION IS A HELP REQUEST WHICH WILL SET HELP PENDING 03515 M00S01993.sform +++|* TO BE PROCESSED AFTER ALL SOFT TABS HAVE BEEN PROCESSED. 03516 M00S01994.sform +++|* 03517 M00S01995.sform +++|* PROC FUNKEY(INPOS,OFFSET,FUNTYPE,ORDINAL,FIELD) 03518 M00S01996.sform +++|* 03519 M00S01997.sform +++|* ENTRY INPOS = X/Y POSITION WHERE FUNCTION WAS ENTERED. 03520 M00S01998.sform +++|* OFFSET = OFFSET INTO FIELD WHERE FUNCTION WAS ENTERED. 03521 M00S01999.sform +++|* FUNTYPE = 24, GENERIC FUNCTION KEY. 03522 M00S02000.sform +++|* = 23, APPLICATION FUNCTION KEY. 03523 M00S02001.sform +++|* ORDINAL = FUNCTION KEY ORDINAL. 03524 M00S02002.sform +++|* FIELD = FIELD WHERE FIELD WAS ENTERED.
Line S02003 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03525 M01S02003.242l642 ---|* SOFTTAB = COUNT OF CURRENT SOFT TABS PENDING.
Line S00825 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03526 M01S00825.242l642 +++|* TERSOFTTAB = COUNT OF CURRENT SOFT TABS PENDING. 03527 M00S02004.sform +++|* 03528 M00S02005.sform +++|* EXIT INPOS = NEW X/Y POSITION 03529 M00S02006.sform +++|* FIELD = NEW FIELD POSITION
Line S02007 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03530 M01S02007.242l642 ---|* SOFTTAB = UPDATED SOFT TAB COUNT 03531 M01S02008.242l642 ---|* SOFTPOS = INPOS IF FIRST SOFT TAB CREATED
Line S00826 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03532 M01S00826.242l642 +++|* TERSOFTTAB = UPDATED SOFT TAB COUNT 03533 M01S00827.242l642 +++|* TERSOFTPOS = INPOS IF FIRST SOFT TAB CREATED 03534 M00S02009.sform +++|* TERABNTERM = TRUE, TERMINATE INPUT ABNORMALLY 03535 M00S02010.sform +++|* TERNRMTERM = TRUE, TERMINATE INPUT NORMALLY
Line S02011 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03536 M01S02011.252l678 ---|* TERRETRNOS = TRUE, RETURN CONTROL TO OPERATING SYSTEM 03537 M01S02012.252l678 ---|* = FALSE, RETURN CONTROL TO APPLICATION 03538 M00S02013.sform +++|* 03539 M00S02014.sform +++|* CALLS FMATCH, MMATCH, TABKEY. 03540 M00S02015.sform +++|* 03541 M00S02016.sform +++|* USES TERABNTERM, TERFUNCGEN, TERFUNCORD, TERFUNCPOS, 03542 M00S02017.sform +++|* TERHELPFLD, TERHELPREQ, TERNRMTERM, TERPENDHLP,
Line S02018 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03543 M01S02018.252l678 ---|* TERRETRNOS, TERSOFTPOS, TERSOFTTAB.
Line S00139 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03544 M01S00139.252l678 +++|* TERSOFTPOS, TERSOFTTAB. 03545 M00S02019.sform +++|* 03546 M00S02020.sform +++|* NOTES FLDENTERED, FLDVALID, FLDREWRITE, TERREWFLDS AND VARDATA 03547 M00S02021.sform +++|* UPDATED IF MATCH ADVANCE OCCURRED. SWITCH ACTTYPE MUST 03548 M00S02022.sform +++|* PARALLEL PDU DEFINITION FOR FUNCTION KEY ACTIONS. 03549 M00S02023.sform +++|# 03550 M00S02024.sform +++|ITEM INPOS I; # X/Y POSITION OF CURSOR # 03551 M00S02025.sform +++|ITEM OFFSET I; # OFFSET INTO FIELD # 03552 M00S02026.sform +++|ITEM FUNTYPE I; # APPLICATION OR GENERIC # 03553 M00S02027.sform +++|ITEM ORDINAL I; # FUNCTION KEY ORDINAL # 03554 M00S02028.sform +++|ITEM FIELD I; # INDEX OF FIELD # 03555 M00S02029.sform +++| 03556 M00S02030.sform +++|DEF FH #9#; # ORDINAL FOR HELP AS AN ACTION # 03557 M00S02031.sform +++|DEF FM #10#; # ORDINAL FOR MATCH ADVANCE # 03558 M00S02032.sform +++| 03559 M00S02033.sform +++|ITEM ACTION I; # ORDINAL OF ACTION # 03560 M00S02034.sform +++|ITEM CHAR I; # 12-BIT CHARACTER # 03561 M00S02035.sform +++|ITEM I I; # LOOP COUNTER # 03562 M00S02036.sform +++|ITEM MATCHCOUNT I; # NUMBER OF VALID MATCHES # 03563 M00S02037.sform +++|ITEM MATCHIND I; # INDEX INTO MATCHLIST # 03564 M00S02038.sform +++|ITEM NOTDONE B; # FUNCTION LIST ENTRY NOT FOUND # 03565 M00S02039.sform +++|ITEM SCRPOS I; # SCRATCH POSITION FOR TABKEY # 03566 M00S02040.sform +++|ITEM VARIND I; # INDEX INTO VARLIST # 03567 M00S02041.sform +++| 03568 M00S02042.sform +++|SWITCH ACTTYPE # TYPE OF ACTION TO TAKE # 03569 M00S02043.sform +++| TABSOFTLY, # PROCESS SOFT TAB # 03570 M00S02044.sform +++| NORMTOAPP, # RETURN NORMALLY TO APPLICATION # 03571 M00S02045.sform +++| NORMTONOS, # RETURN NORMALLY TO OPER. SYS. # 03572 M00S02046.sform +++| ABNORTOAPP, # RETURN ABNORMALLY TO APPL. # 03573 M00S02047.sform +++| ABNORTONOS, # RETURN ABNORMALLY TO OPER. SYS # 03574 M00S02048.sform +++| PAGEFORWARD, # PAGE TABLE FORWARD # 03575 M00S02049.sform +++| PAGEBAKWARD, # PAGE TABLE BACKWARD # 03576 M00S02050.sform +++| INSERTROW, # INSERT ROW IN TABLE # 03577 M00S02051.sform +++| DELETEROW, # DELETE ROW IN TABLE # 03578 M00S02052.sform +++| GIVEHELP, # PROVIDE HELP # 03579 M00S02053.sform +++| MATCHADV; # ADVANCE MATCH ENTRY # 03580 M00S02054.sform +++| 03581 M00S02055.sform +++|# SAVE FUNCTION KEY ORDINAL AND KEY TYPE # 03582 M00S02056.sform +++|
Line S02057 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03583 M01S02057.242l642 ---|FUNCORD = ORDINAL;
Line S00828 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03584 M01S00828.242l642 +++|TERFUNCORD[0] = ORDINAL; 03585 M00S02058.sform +++|TERFUNCGEN[0] = FUNTYPE EQ SCREENST"GKEY";
Line S02059 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03586 M01S02059.242l642 ---|FUNCPOS = INPOS;
Line S00829 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03587 M01S00829.242l642 +++|TERFUNCPOS[0] = INPOS; 03588 M00S02060.sform +++|
Line S02061 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03589 M01S02061.242l642 ---|IF SOFTTAB NQ 0 AND TERFUNCGEN[0]
Line S00830 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03590 M01S00830.242l642 +++|IF TERSOFTTAB[0] NQ 0 AND TERFUNCGEN[0] 03591 M00S02062.sform +++| AND ORDINAL EQ GENERICST"GNEXT" THEN 03592 M00S02063.sform +++| BEGIN # NEXT FOLLOWING SOFT TAB # 03593 M00S02064.sform +++| GOTO NOACTION; 03594 M00S02065.sform +++| END 03595 M00S02066.sform +++| 03596 M00S02067.sform +++|IF PANSTRFUN[0] EQ 0 THEN 03597 M00S02068.sform +++| BEGIN # NO FUNCTION LIST # 03598 M00S02069.sform +++| IF TERFUNCGEN[0] AND ORDINAL EQ GENERICST"GSTOP" THEN 03599 M00S02070.sform +++| BEGIN # DEFAULT STOP ACTION #
Line S02071 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03600 M01S02071.242l642 ---| IF SOFTTAB EQ 0 THEN
Line S00831 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03601 M01S00831.242l642 +++| IF TERSOFTTAB[0] EQ 0 THEN 03602 M00S02072.sform +++| BEGIN # IF NO SOFT TABS PENDING # 03603 M00S02073.sform +++| GOTO ABNORTOAPP; 03604 M00S02074.sform +++| END 03605 M00S02075.sform +++| ELSE 03606 M00S02076.sform +++| BEGIN # IF SOFT TABS PENDING # 03607 M00S02077.sform +++| GOTO NOACTION; 03608 M00S02078.sform +++| END 03609 M00S02079.sform +++| END 03610 M00S02080.sform +++| IF TERFUNCGEN[0] AND ORDINAL EQ GENERICST"GHELP" THEN 03611 M00S02081.sform +++| BEGIN # IF HELP REQUESTED # 03612 M00S02082.sform +++| GOTO GIVEHELP; # PROVIDE HELP # 03613 M00S02083.sform +++| END 03614 M00S02084.sform +++| GOTO NORMTOAPP; # TAKE DEFAULT ACTION # 03615 M00S02085.sform +++| END 03616 M00S02086.sform +++| 03617 M00S02087.sform +++|NOTDONE = TRUE; 03618 M00S02088.sform +++|FOR I = 0 STEP 1 WHILE NOTDONE AND FUNWORD[I] NQ 0 DO 03619 M00S02089.sform +++| BEGIN # LOOK FOR ENTRY IN FUNLIST # 03620 M00S02090.sform +++| IF ((FUNGENERIC[I] AND TERFUNCGEN[0]) 03621 M00S02091.sform +++| OR (NOT FUNGENERIC[I] AND NOT TERFUNCGEN[0])) 03622 M00S02092.sform +++| AND FUNNUMBER[I] EQ ORDINAL THEN 03623 M00S02093.sform +++| BEGIN # FOUND FUNLIST ENTRY # 03624 M00S02094.sform +++| NOTDONE = FALSE; 03625 M00S02095.sform +++| ACTION = FUNACT[I]; # ASSIGN DEFINED ACTION # 03626 M00S02096.sform +++| END 03627 M00S02097.sform +++| END 03628 M00S02098.sform +++| 03629 M00S02099.sform +++|IF NOTDONE THEN 03630 M00S02100.sform +++| BEGIN # NOT IN LIST # 03631 M00S02101.sform +++| IF TERFUNCGEN[0] AND ORDINAL EQ GENERICST"GHELP" THEN 03632 M00S02102.sform +++| BEGIN 03633 M00S02103.sform +++| GOTO GIVEHELP; 03634 M00S02104.sform +++| END 03635 M00S02105.sform +++| ELSE GOTO TABSOFTLY; # PROCESS SOFT TAB # 03636 M00S02106.sform +++| END 03637 M00S02107.sform +++|IF TERFUNCGEN[0] AND ORDINAL EQ GENERICST"GHELP" 03638 M00S02108.sform +++| AND FIELD NQ -1 THEN 03639 M00S02109.sform +++| BEGIN # HELP KEY ENTERED IN A FIELD # 03640 M00S02110.sform +++| IF VARHSOS[FLDVARORD[FIELD]] NQ 0 THEN 03641 M00S02111.sform +++| BEGIN # HELP STRING DEFINED # 03642 M00S02112.sform +++| GOTO GIVEHELP; # GIVE HELP # 03643 M00S02113.sform +++| END 03644 M00S02114.sform +++| END
Line S02115 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03645 M01S02115.242l642 ---|IF SOFTTAB NQ 0 AND ACTION NQ FM AND ACTION NQ FH THEN
Line S00832 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03646 M01S00832.242l642 +++|IF TERSOFTTAB[0] NQ 0 AND ACTION NQ FM AND ACTION NQ FH THEN 03647 M00S02116.sform +++| BEGIN # IF SOFT TABS PENDING # 03648 M00S02117.sform +++| GOTO NOACTION; # IGNORE UNLESS MATCH OR HELP # 03649 M00S02118.sform +++| END 03650 M00S02119.sform +++|ELSE 03651 M00S02120.sform +++| BEGIN # NO SOFT TABS PENDING # 03652 M00S02121.sform +++| GOTO ACTTYPE[ACTION]; # GO TO ASSIGNED ACTION # 03653 M00S02122.sform +++| END 03654 M00S02123.sform +++| 03655 M00S02124.sform +++|PAGEFORWARD: # CURRENTLY A NO-OP # 03656 M00S02125.sform +++|PAGEBAKWARD: # CURRENTLY A NO-OP # 03657 M00S02126.sform +++|INSERTROW: # CURRENTLY A NO-OP # 03658 M00S02127.sform +++|DELETEROW: # CURRENTLY A NO-OP # 03659 M00S02128.sform +++| 03660 M00S02129.sform +++| TERNRMTERM[0] = FALSE; 03661 M00S02130.sform +++| TERABNTERM[0] = FALSE;
Line S02131 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03662 M01S02131.252l678 ---| TERRETRNOS[0] = FALSE; 03663 M00S02132.sform +++| RETURN; 03664 M00S02133.sform +++| 03665 M00S02134.sform +++|TABSOFTLY: # PROCESS SOFT TAB # 03666 M00S02135.sform +++|
Line S02136 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03667 M01S02136.242l642 ---| IF SOFTTAB EQ 0 THEN SOFTPOS = INPOS; 03668 M01S02137.242l642 ---| SOFTTAB = SOFTTAB + 1; # INCREMENT TAB COUNT #
Line S00833 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03669 M01S00833.242l642 +++| IF TERSOFTTAB[0] EQ 0 THEN TERSOFTPOS[0] = INPOS; 03670 M01S00834.242l642 +++| TERSOFTTAB[0] = TERSOFTTAB[0] + 1; # INCREMENT TAB COUNT # 03671 M00S02138.sform +++| 03672 M00S02139.sform +++|NOACTION: # NO ACTION TO OCCUR # 03673 M00S02140.sform +++| 03674 M00S02141.sform +++| TERNRMTERM[0] = FALSE; 03675 M00S02142.sform +++| TERABNTERM[0] = FALSE;
Line S02143 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03676 M01S02143.252l678 ---| TERRETRNOS[0] = FALSE; 03677 M00S02144.sform +++| RETURN; 03678 M00S02145.sform +++| 03679 M00S02146.sform +++|NORMTOAPP: # NORMAL TERMINATION AND # 03680 M00S02147.sform +++| # RETURN TO APPLICATION # 03681 M00S02148.sform +++| TERNRMTERM[0] = TRUE; 03682 M00S02149.sform +++| TERABNTERM[0] = FALSE;
Line S02150 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03683 M01S02150.252l678 ---| TERRETRNOS[0] = FALSE; 03684 M00S02151.sform +++| RETURN; 03685 M00S02152.sform +++| 03686 M00S02153.sform +++|NORMTONOS: # NORMAL TERMINATION AND RETURN # 03687 M00S02154.sform +++| # TO OPERATING SYSTEM # 03688 M00S02155.sform +++| TERNRMTERM[0] = TRUE; 03689 M00S02156.sform +++| TERABNTERM[0] = FALSE;
Line S02157 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03690 M01S02157.252l678 ---| TERRETRNOS[0] = TRUE; 03691 M00S02158.sform +++| RETURN; 03692 M00S02159.sform +++| 03693 M00S02160.sform +++|ABNORTOAPP: # ABNORMAL TERMINATION AND # 03694 M00S02161.sform +++| # RETURN TO APPLICATION # 03695 M00S02162.sform +++| TERNRMTERM[0] = FALSE; 03696 M00S02163.sform +++| TERABNTERM[0] = TRUE;
Line S02164 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03697 M01S02164.252l678 ---| TERRETRNOS[0] = FALSE; 03698 M00S02165.sform +++| RETURN; 03699 M00S02166.sform +++| 03700 M00S02167.sform +++|ABNORTONOS: # ABNORMAL TERMINATION AND # 03701 M00S02168.sform +++| # RETURN TO OPERATING SYSTEM # 03702 M00S02169.sform +++| TERNRMTERM[0] = FALSE; 03703 M00S02170.sform +++| TERABNTERM[0] = TRUE;
Line S02171 Modification History | |
---|---|
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 03704 M01S02171.252l678 ---| TERRETRNOS[0] = TRUE; 03705 M00S02172.sform +++| RETURN; 03706 M00S02173.sform +++| 03707 M00S02174.sform +++|GIVEHELP: # PROVIDE HELP # 03708 M00S02175.sform +++|
Line S02176 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03709 M01S02176.242l642 ---| IF SOFTTAB NQ 0 THEN
Line S00835 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03710 M01S00835.242l642 +++| IF TERSOFTTAB[0] NQ 0 THEN 03711 M00S02177.sform +++| BEGIN # IF SOFT TABS PENDING # 03712 M00S02178.sform +++| TERPENDHLP[0] = TRUE; # SET HELP PENDING FLAG # 03713 M00S02179.sform +++| END 03714 M00S02180.sform +++| ELSE 03715 M00S02181.sform +++| BEGIN # NO SOFT TABS PENDING # 03716 M00S02182.sform +++| IF FIELD EQ -1 THEN 03717 M00S02183.sform +++| BEGIN 03718 M00S02184.sform +++| TABKEY(SCREENST"FTAB",INPOS,FIELD,SCRPOS); # TAB TO NEXT FIELD # 03719 M00S02185.sform +++| IF FIELD EQ -1 THEN TABKEY(SCREENST"FTAB",SCRPOS,FIELD,SCRPOS); 03720 M00S02186.sform +++| TERHELPFLD[0] = FIELD; 03721 M00S02187.sform +++| FIELD = -1; 03722 M00S02188.sform +++| END 03723 M00S02189.sform +++| ELSE 03724 M00S02190.sform +++| BEGIN # GIVE HELP FOR THIS FIELD # 03725 M00S02191.sform +++| TERHELPFLD[0] = FIELD; 03726 M00S02192.sform +++| END 03727 M00S02193.sform +++| TERHELPREQ[0] = TRUE; 03728 M00S02194.sform +++| END 03729 M00S02195.sform +++| RETURN; 03730 M00S02196.sform +++| 03731 M00S02197.sform +++|MATCHADV: # ADVANCE MATCH ENTRY # 03732 M00S02198.sform +++|
Line S02199 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03733 M01S02199.242l642 ---| IF SOFTTAB NQ 0 OR NOT VALIDFIELD THEN GOTO TABSOFTLY;
Line S00836 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03734 M01S00836.242l642 +++| IF TERSOFTTAB[0] NQ 0 OR NOT VALIDFIELD THEN GOTO TABSOFTLY; 03735 M00S02200.sform +++| IF FIELD EQ -1 THEN GOTO TABSOFTLY; 03736 M00S02201.sform +++| VARIND = FLDVARORD[FIELD]; 03737 M00S02202.sform +++| IF (NOT VARVALM[VARIND]) OR (VARVALOS[VARIND] EQ 0) 03738 M00S02203.sform +++| THEN GOTO TABSOFTLY; 03739 M00S02204.sform +++| FMATCH(FIELD,MATCHIND,MATCHCOUNT);
Line S02205 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03740 M01S02205.ns2612 ---| MATCHIND = MATCHIND + 1; # ADVANCE ENTRY OR START AT 0 #
Line S00018 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 03741 M01S00018.ns2612 +++| IF PANVERSION[0] GR 0 THEN 03742 M01S00019.ns2612 +++| BEGIN # IF ENTRIES CAN BE ANY LENGTH # 03743 M01S00020.ns2612 +++| MATCHIND = MATCHIND + (FLDLENGTH[FIELD]+9)/10; 03744 M01S00021.ns2612 +++| END 03745 M01S00022.ns2612 +++| ELSE 03746 M01S00023.ns2612 +++| BEGIN # IF ENTRIES ONLY 10 CHARACTERS # 03747 M01S00024.ns2612 +++| MATCHIND = MATCHIND + 1; 03748 M01S00025.ns2612 +++| END 03749 M00S02206.sform +++| IF MATCHWORD[MATCHIND] EQ 0 THEN MATCHIND = 0; # IF WRAPAROUND # 03750 M00S02207.sform +++| MMATCH(MATCHIND,FIELD); # MOVE MATCH ENTRY TO FIELD # 03751 M00S02208.sform +++| RETURN; 03752 M00S02209.sform +++| 03753 M00S02210.sform +++|END # FUNKEY# 03754 M00S02211.sform +++|CONTROL EJECT; 03755 M00S02212.sform +++| 03756 M00S02213.sform +++|PROC GETADD(PANELNAME,PANELADDR,PLTINDEX); 03757 M00S02214.sform +++| 03758 M00S02215.sform +++|# TITLE GETADD - GETS PANEL ADDRESS. # 03759 M00S02216.sform +++| 03760 M00S02217.sform +++|BEGIN # GETADD # 03761 M00S02218.sform +++| 03762 M00S02219.sform +++|# 03763 M00S02220.sform +++|** GETADD - GET ADDRESS. 03764 M00S02221.sform +++|* 03765 M00S02222.sform +++|* THIS PROCEDURE GETS THE MEMORY ADDRESS FOR THE SPECIFIED 03766 M00S02223.sform +++|* PANEL FROM THE PANEL LOAD TABLE. IF THE PANEL IS NOT IN 03767 M00S02224.sform +++|* THE PANEL LOAD TABLE OR HAS NOT BEEN OPENED FOR USE THEN 03768 M00S02225.sform +++|* A DAYFILE MESSAGE WILL BE ISSUED AND CONTROL WILL BE RE- 03769 M00S02226.sform +++|* TURNED TO THE OPERATING SYSTEM. 03770 M00S02227.sform +++|* 03771 M00S02228.sform +++|* PROC GETADD(PANELNAME,PANELADDR,PLTINDEX) 03772 M00S02229.sform +++|* 03773 M00S02230.sform +++|* ENTRY PANELNAME = THE NAME OF THE PANEL. 03774 M00S02231.sform +++|* 03775 M00S02232.sform +++|* EXIT PANELADDR = THE ADDRESS OF THE PANEL RECORD. 03776 M00S02233.sform +++|* TO O.S. IF THE ADDRESS IS NOT FOUND 03777 M00S02234.sform +++|* OR THE PANEL IS NOT OPEN. 03778 M00S02235.sform +++|* PLTINDEX = THE PANEL LOAD TABLE INDEX FOR THE PANEL. 03779 M00S02236.sform +++|* 03780 M00S02237.sform +++|* CALLS ERRMSG. 03781 M00S02238.sform +++|* 03782 M00S02239.sform +++|* NOTES IF THE PANEL IS NOT IN THE PANEL LOAD TABLE THEN 03783 M00S02240.sform +++|* THE APPLICATION HAS NOT OPENED THE PANEL FOR USE 03784 M00S02241.sform +++|* OR HAS IGNORED AN ERROR RETURN FROM SFOPEN AFTER 03785 M00S02242.sform +++|* ATTEMPTING TO DO SO. IF THE PANEL IS IN THE LOAD 03786 M00S02243.sform +++|* TABLE BUT NOT OPEN IT IS A STATICALLY LOADED PANEL 03787 M00S02244.sform +++|* THAT THE APPLICATION HAS NOT YET OPENED. IN EITHER 03788 M00S02245.sform +++|* CASE PROCEDURE ERRMSG IS CALLED TO ISSUE A DAYFILE 03789 M00S02246.sform +++|* MESSAGE AND RETURN CONTROL TO THE OPERATING SYSTEM. 03790 M00S02247.sform +++|# 03791 M00S02248.sform +++|ITEM PANELNAME C(7); # PANEL NAME # 03792 M00S02249.sform +++|ITEM PANELADDR I; # PANEL ADDRESS # 03793 M00S02250.sform +++|ITEM PLTINDEX I; # PANEL LOAD TABLE INDEX # 03794 M00S02251.sform +++| 03795 M00S02252.sform +++|ITEM CHARINDEX I; # CHARACTER INDEX # 03796 M00S02253.sform +++|ITEM FATAL B = TRUE; # FATAL ERROR # 03797 M00S02254.sform +++|ITEM INDEX I; # INDEX INTO PANEL LOAD TABLE # 03798 M00S02255.sform +++|ITEM MSG C(25) = " NOT OPENED. "; # ERROR MSG. # 03799 M00S02256.sform +++|ITEM PNAME C(6); # PROCEDURE NAME # 03800 M00S02257.sform +++| 03801 M00S02258.sform +++|PANELADDR = 0; 03802 M00S02259.sform +++|FOR INDEX = 1 STEP 1 WHILE PANELADDR EQ 0 03803 M00S02260.sform +++| AND INDEX LQ PLTNUMENT[0] DO 03804 M00S02261.sform +++| BEGIN # FIND SPECIFIED PANEL # 03805 M00S02262.sform +++| IF PLTENAME[INDEX] EQ PANELNAME 03806 M00S02263.sform +++| AND PLTOPENFLG[INDEX] THEN 03807 M00S02264.sform +++| BEGIN # IF SPECIFIED PANEL FOUND # 03808 M00S02265.sform +++| PANELADDR = PLTADDR[INDEX]; # RETURN ADDRESS # 03809 M00S02266.sform +++| PLTINDEX = INDEX; 03810 M00S02267.sform +++| RETURN; 03811 M00S02268.sform +++| END 03812 M00S02269.sform +++| END 03813 M00S02270.sform +++| 03814 M00S02271.sform +++|IF TERSHOWFLG[0] THEN 03815 M00S02272.sform +++| BEGIN # IF SFSSHO CALL # 03816 M00S02273.sform +++| PNAME = "SFSSHO"; 03817 M00S02274.sform +++| END 03818 M00S02275.sform +++|ELSE 03819 M00S02276.sform +++| BEGIN # IF SFSREA CALL # 03820 M00S02277.sform +++| IF TERREADFLG[0] THEN 03821 M00S02278.sform +++| BEGIN 03822 M00S02279.sform +++| PNAME = "SFSREA"; 03823 M00S02280.sform +++| END 03824 M00S02281.sform +++| ELSE # SFSWRI CALL # 03825 M00S02282.sform +++| BEGIN 03826 M00S02283.sform +++| PNAME = "SFSWRI"; 03827 M00S02284.sform +++| END 03828 M00S02285.sform +++| END 03829 M00S02286.sform +++|ERRMSG(PANELNAME,PNAME,MSG,FATAL); # ISSUE MESSAGE AND ABORT # 03830 M00S02287.sform +++| 03831 M00S02288.sform +++|END # GETADD # 03832 M00S02289.sform +++|CONTROL EJECT; 03833 M00S02290.sform +++| 03834 M00S02291.sform +++|PROC GETNUM(FLDIND,CHARPOS,VALUE,NUMDIG); 03835 M00S02292.sform +++| 03836 M00S02293.sform +++|# TITLE GETNUM - GET NUMERIC VALUE OF SUBFIELD. # 03837 M00S02294.sform +++| 03838 M00S02295.sform +++|BEGIN # GETNUM # 03839 M00S02296.sform +++| 03840 M00S02297.sform +++|# 03841 M00S02298.sform +++|** GETNUM - GET NUMERIC VALUE OF SUBFIELD. 03842 M00S02299.sform +++|* 03843 M00S02300.sform +++|* GETNUM GETS THE NUMERIC VALUE OF A SUBFIELD STARTING AT 03844 M00S02301.sform +++|* CHARPOS AND ENDING AT THE FIRST NON-NUMERIC INPUT OR AT 03845 M00S02302.sform +++|* THE END OF THE FIELD. 03846 M00S02303.sform +++|* 03847 M00S02304.sform +++|* PROC GETNUM(FLDIND,CHARPOS,VALUE,NUMDIG) 03848 M00S02305.sform +++|* 03849 M00S02306.sform +++|* ENTRY FLDIND = INDEX IN FLDLIST. 03850 M00S02307.sform +++|* CHARPOS = STARTING CHARACTER POSITION IN FIELD. 03851 M00S02308.sform +++|* VALUE = STARTING VALUE. 03852 M00S02309.sform +++|* 03853 M00S02310.sform +++|* EXIT CHARPOS = ENDING CHARACTER POSITION IN FIELD. 03854 M00S02311.sform +++|* VALUE = ENDING VALUE. 03855 M00S02312.sform +++|* NUMDIG = NUMBER OF DIGITS IN SUBFIELD. 03856 M00S02313.sform +++|# 03857 M00S02314.sform +++|ITEM FLDIND I; # INDEX IN FLDLIST # 03858 M00S02315.sform +++|ITEM CHARPOS I; # POSITION OF CHARACTER IN FIELD # 03859 M00S02316.sform +++|ITEM VALUE I; # NUMERIC VALUE OF SUBFIELD # 03860 M00S02317.sform +++|ITEM NUMDIG I; # NUMBER OF DIGITS IN SUBFIELD # 03861 M00S02318.sform +++| 03862 M00S02319.sform +++|ITEM CHAR I; # INPUT CHARACTER # 03863 M00S02320.sform +++|ITEM SAMESUBFLD B; # STILL IN SAME SUBFIELD # 03864 M00S02321.sform +++| 03865 M00S02322.sform +++|SAMESUBFLD = TRUE; 03866 M00S02323.sform +++|NUMDIG = 0; 03867 M00S02324.sform +++| 03868 M00S02325.sform +++|WHYLE SAMESUBFLD AND CHARPOS LQ FLDLENGTH[FLDIND] -1 DO 03869 M00S02326.sform +++| BEGIN 03870 M00S02327.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 03871 M00S02328.sform +++| IF CHAR GQ ZEROCH AND CHAR LQ NINECH THEN 03872 M00S02329.sform +++| BEGIN # IF CHARACTER IS NUMERIC # 03873 M00S02330.sform +++| VALUE = 10 * VALUE + (CHAR LXR ZEROCH); 03874 M00S02331.sform +++| NUMDIG = NUMDIG + 1; 03875 M00S02332.sform +++| CHARPOS = CHARPOS + 1; 03876 M00S02333.sform +++| END 03877 M00S02334.sform +++| ELSE 03878 M00S02335.sform +++| BEGIN # END OF SUBFIELD # 03879 M00S02336.sform +++| SAMESUBFLD = FALSE; 03880 M00S02337.sform +++| END 03881 M00S02338.sform +++| END 03882 M00S02339.sform +++| 03883 M00S02340.sform +++|END # GETNUM # 03884 M00S02341.sform +++|CONTROL EJECT; 03885 M00S02342.sform +++| 03886 M00S02343.sform +++|PROC GFIELD(VARNAME,USEROW,FLDIND); 03887 M00S02344.sform +++| 03888 M00S02345.sform +++|# TITLE GFIELD - GET FIELD INDEX. # 03889 M00S02346.sform +++| 03890 M00S02347.sform +++|BEGIN # GFIELD # 03891 M00S02348.sform +++| 03892 M00S02349.sform +++|# 03893 M00S02350.sform +++|** GFIELD - GET FIELD INDEX. 03894 M00S02351.sform +++|* 03895 M00S02352.sform +++|* THIS PROCEDURE GETS THE FIELD INDEX FOR THE VARIABLE VARNAME. 03896 M00S02353.sform +++|* 03897 M00S02354.sform +++|* PROC GFIELD(VARNAME,USEROW,FLDIND) 03898 M00S02355.sform +++|* 03899 M00S02356.sform +++|* ENTRY VARNAME = VARIABLE NAME OF FIELD.
Line S02357 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03900 M01S02357.242l642 ---|* USEROW = TRUE, USE CURSORROW.
Line S00837 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03901 M01S00837.242l642 +++|* USEROW = TRUE, USE TERCURSROW. 03902 M00S02358.sform +++|* = FALSE, USE ARRCURROW. 03903 M00S02359.sform +++|* 03904 M00S02360.sform +++|* EXIT FLDIND = FIELD INDEX. 03905 M00S02361.sform +++|* = -1 IF NOT FOUND. 03906 M00S02362.sform +++|# 03907 M00S02363.sform +++|ITEM VARNAME C(7); # VARIABLE NAME OF FIELD #
Line S02364 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03908 M01S02364.242l642 ---|ITEM USEROW B; # USE CURSORROW #
Line S00838 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03909 M01S00838.242l642 +++|ITEM USEROW B; # USE TERCURSROW # 03910 M00S02365.sform +++|ITEM FLDIND I; # POINTER TO FIELD LIST # 03911 M00S02366.sform +++| 03912 M00S02367.sform +++|ITEM ARRAYORD I; # ARRAY ORDINAL # 03913 M00S02368.sform +++|ITEM FOUND B; # FIELD HAS BEEN FOUND # 03914 M00S02369.sform +++|ITEM I I; # LOOP COUNTER # 03915 M00S02370.sform +++|ITEM ROWNUMBER I; # ROW NUMBER # 03916 M00S02371.sform +++|ITEM VARIND I; # POINTER TO VARIABLE LIST # 03917 M00S02372.sform +++| 03918 M00S02373.sform +++|FLDIND = -1; 03919 M00S02374.sform +++|FOUND = FALSE; 03920 M00S02375.sform +++| 03921 M00S02376.sform +++|FOR I = 0 STEP 1 WHILE VARTYPE[I] NQ 0 AND NOT FOUND DO 03922 M00S02377.sform +++| BEGIN # LOOK FOR VARIABLE VARNAME # 03923 M00S02378.sform +++| IF VARNME[I] EQ VARNAME THEN 03924 M00S02379.sform +++| BEGIN # FOUND SPECIFIED VARIABLE # 03925 M00S02380.sform +++| FOUND = TRUE; 03926 M00S02381.sform +++| VARIND = I; 03927 M00S02382.sform +++| END 03928 M00S02383.sform +++| END 03929 M00S02384.sform +++| 03930 M00S02385.sform +++|IF FOUND THEN 03931 M00S02386.sform +++| BEGIN 03932 M00S02387.sform +++| ARRAYORD = VARARRORD[VARIND]; 03933 M00S02388.sform +++| IF ARRAYORD NQ 0 THEN 03934 M00S02389.sform +++| BEGIN # ARRAY MEMBER # 03935 M00S02390.sform +++| ROWNUMBER = 0; 03936 M00S02391.sform +++| IF USEROW THEN
Line S02392 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03937 M01S02392.242l642 ---| BEGIN # USE CURSORROW #
Line S02393 Modification History | |
---|---|
M01 (Removed by) | sform6 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03938 M02S02393.242l642 ---| IF TERCURSSET[0] AND CURSORROW LS ARRNUMROWS[ARRAYORD] THEN
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform6 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03939 M02S00002.242l642 ---| IF TERCURSSET[0] AND CURSORROW LS ARRNUMROWS[ARRAYORD-1] THEN
Line S00839 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03940 M01S00839.242l642 +++| BEGIN # USE TERCURSROW # 03941 M01S00840.242l642 +++| IF TERCURSSET[0] AND TERCURSROW[0] LS ARRNUMROWS[ARRAYORD-1] THEN 03942 M00S02394.sform +++| BEGIN # VALID ROW NUMBER #
Line S02395 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03943 M01S02395.242l642 ---| ROWNUMBER = CURSORROW;
Line S00841 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 03944 M01S00841.242l642 +++| ROWNUMBER = TERCURSROW[0]; 03945 M00S02396.sform +++| END 03946 M00S02397.sform +++| END 03947 M00S02398.sform +++| ELSE 03948 M00S02399.sform +++| BEGIN # USE CURRENT ROW #
Line S02400 Modification History | |
---|---|
M01 (Removed by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 03949 M01S02400.sform6 ---| ROWNUMBER = ARRCURROW[ARRAYORD];
Line S00003 Modification History | |
---|---|
M01 (Added by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 03950 M01S00003.sform6 +++| ROWNUMBER = ARRCURROW[ARRAYORD-1]; 03951 M00S02401.sform +++| END
Line S02402 Modification History | |
---|---|
M01 (Removed by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 03952 M01S02402.sform6 ---| VARIND = VARIND + ARRNUMVARS[ARRAYORD]*ROWNUMBER;
Line S00004 Modification History | |
---|---|
M01 (Added by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 03953 M01S00004.sform6 +++| VARIND = VARIND + ARRNUMVARS[ARRAYORD-1]*ROWNUMBER; 03954 M00S02403.sform +++| END 03955 M00S02404.sform +++| FLDIND = VARFLDNUM[VARIND] - 1; # ADJUST PDU VALUE # 03956 M00S02405.sform +++| END 03957 M00S02406.sform +++| 03958 M00S02407.sform +++|END # GFIELD # 03959 M00S02408.sform +++|CONTROL EJECT; 03960 M00S02409.sform +++| 03961 M00S02410.sform +++|PROC IRANGE(FLDIND,VALUE,EVALUE); 03962 M00S02411.sform +++| 03963 M00S02412.sform +++|# TITLE IRANGE - RANGE VALIDATION FOR INTEGER VARIABLES. # 03964 M00S02413.sform +++| 03965 M00S02414.sform +++|BEGIN # IRANGE # 03966 M00S02415.sform +++| 03967 M00S02416.sform +++|# 03968 M00S02417.sform +++|** IRANGE - RANGE VALIDATION FOR INTEGER VARIABLES. 03969 M00S02418.sform +++|* 03970 M00S02419.sform +++|* THIS PROCEDURE VALIDATES THAT INPUT TO THE FIELD POINTED TO 03971 M00S02420.sform +++|* BY FLDIND IS WITHIN THE RANGE SPECIFIED IN THE PANEL RECORD. 03972 M00S02421.sform +++|* 03973 M00S02422.sform +++|* PROC IRANGE(FLDIND,VALUE,EVALUE) 03974 M00S02423.sform +++|* 03975 M00S02424.sform +++|* ENTRY FLDIND = INDEX OF CURRENT FIELD IN FLDLIST. 03976 M00S02425.sform +++|* VALUE = THE INTEGER VALUE OF THE INPUT. 03977 M00S02426.sform +++|* EVALUE = THE EXPONENT VALUE OF THE INPUT 03978 M00S02427.sform +++|* 03979 M00S02428.sform +++|* EXIT FLDVALID[FLDIND] = FALSE, IF INPUT IS INVALID. 03980 M00S02429.sform +++|# 03981 M00S02430.sform +++|ITEM FLDIND I; # INDEX OF VARIABLE TO VALIDATE # 03982 M00S02431.sform +++|ITEM VALUE I; # INTEGER VALUE OF INPUT # 03983 M00S02432.sform +++|ITEM EVALUE I; # EXPONENT VALUE OF INPUT # 03984 M00S02433.sform +++| 03985 M00S02434.sform +++|ITEM MAXVAL I; # MAXIMUM ALLOWED VALUE # 03986 M00S02435.sform +++|ITEM MINVAL I; # MINIMUM ALLOWED VALUE # 03987 M00S02436.sform +++|ITEM OFFSET I; # OFFSET OF VALIDATION IN RECORD # 03988 M00S02437.sform +++|ITEM VARIND I; # INDEX INTO VARLIST # 03989 M00S02438.sform +++| 03990 M00S02439.sform +++|VARIND = FLDVARORD[FLDIND]; 03991 M00S02440.sform +++|OFFSET = VARVALOS[VARIND]; 03992 M00S02441.sform +++|MINVAL = RECWORDU[OFFSET]; # MINIMUM VALID VALUE # 03993 M00S02442.sform +++|MAXVAL = RECWORDU[OFFSET + 1]; # MAXIMUM VALID VALUE # 03994 M00S02443.sform +++| 03995 M00S02444.sform +++|IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"$" THEN 03996 M00S02445.sform +++| BEGIN # WEIGHT CURRENCY INPUT # 03997 M00S02446.sform +++| IF EVALUE EQ 0 THEN 03998 M00S02447.sform +++| BEGIN 03999 M00S02448.sform +++| VALUE = VALUE * 100; 04000 M00S02449.sform +++| END 04001 M00S02450.sform +++| ELSE 04002 M00S02451.sform +++| BEGIN 04003 M00S02452.sform +++| IF EVALUE EQ -1 THEN VALUE = VALUE * 10; 04004 M00S02453.sform +++| END 04005 M00S02454.sform +++| END 04006 M00S02455.sform +++| 04007 M00S02456.sform +++|IF VALUE LS MINVAL OR VALUE GR MAXVAL THEN 04008 M00S02457.sform +++| BEGIN # IF VALUE OUTSIDE OF RANGE # 04009 M00S02458.sform +++| FLDVALID[FLDIND] = FALSE; 04010 M00S02459.sform +++| END 04011 M00S02460.sform +++| 04012 M00S02461.sform +++|END # IRANGE # 04013 M00S02462.sform +++|CONTROL EJECT; 04014 M00S02463.sform +++| 04015 M00S02464.sform +++|PROC MATCHV(FLDIND); 04016 M00S02465.sform +++| 04017 M00S02466.sform +++|# TITLE MATCHV - MATCH VALIDATION. # 04018 M00S02467.sform +++| 04019 M00S02468.sform +++|BEGIN # MATCHV # 04020 M00S02469.sform +++| 04021 M00S02470.sform +++|# 04022 M00S02471.sform +++|** MATCHV - MATCH VALIDATION. 04023 M00S02472.sform +++|* 04024 M00S02473.sform +++|* THIS PROCEDURE PERFORMS MATCH VALIDATION FOR THE VARIABLE 04025 M00S02474.sform +++|* USING THE MATCH LIST IN THE PANEL RECORD. 04026 M00S02475.sform +++|* 04027 M00S02476.sform +++|* PROC MATCHV(FLDIND) 04028 M00S02477.sform +++|* 04029 M00S02478.sform +++|* ENTRY FLDIND = POINTER INTO FLDLIST OF CURRENT FIELD. 04030 M00S02479.sform +++|* 04031 M00S02480.sform +++|* EXIT FLDVALID[FLDIND] = FALSE, IF INPUT IS INVALID. 04032 M00S02481.sform +++|* 04033 M00S02482.sform +++|* CALLS FMATCH, MMATCH. 04034 M00S02483.sform +++|# 04035 M00S02484.sform +++|ITEM FLDIND I; # INDEX OF FIELD IN FLDLIST # 04036 M00S02485.sform +++| 04037 M00S02486.sform +++|ITEM MATCHIND I; # INDEX INTO MATCHLIST # 04038 M00S02487.sform +++|ITEM MATCHCOUNT I; # NUMBER OF VALID MATCHES # 04039 M00S02488.sform +++| 04040 M00S02489.sform +++|IF VARVALOS[FLDVARORD[FLDIND]] 04041 M00S02490.sform +++| EQ 0 THEN RETURN; # IF NO VALIDATION REQUIRED # 04042 M00S02491.sform +++| 04043 M00S02492.sform +++|FMATCH(FLDIND,MATCHIND,MATCHCOUNT); # FIND MATCH # 04044 M00S02493.sform +++| 04045 M00S02494.sform +++|IF ABS(MATCHCOUNT) NQ 1 THEN 04046 M00S02495.sform +++| BEGIN # NO MATCH OR TOO MANY MATCHES # 04047 M00S02496.sform +++| FLDVALID[FLDIND] = FALSE; 04048 M00S02497.sform +++| END 04049 M00S02498.sform +++|ELSE 04050 M00S02499.sform +++| BEGIN # EXACT OR PARTIAL MATCH FOUND # 04051 M00S02500.sform +++| MMATCH(MATCHIND,FLDIND); # RETURN IDENTICAL MATCH VALUE # 04052 M00S02501.sform +++| END 04053 M00S02502.sform +++| 04054 M00S02503.sform +++|END # MATCHV # 04055 M00S02504.sform +++|CONTROL EJECT; 04056 M00S02505.sform +++| 04057 M00S02506.sform +++|PROC MCLEAN(MCOUNT,MSGFIT); 04058 M00S02507.sform +++| 04059 M00S02508.sform +++|# TITLE MCLEAN - MESSAGE CLEAN. # 04060 M00S02509.sform +++| 04061 M00S02510.sform +++|BEGIN # MCLEAN # 04062 M00S02511.sform +++| 04063 M00S02512.sform +++|# 04064 M00S02513.sform +++|** MCLEAN - MESSAGE CLEAN. 04065 M00S02514.sform +++|* 04066 M00S02515.sform +++|* THIS PROCEDURE CLEANS THE MESSAGE AREA. 04067 M00S02516.sform +++|* 04068 M00S02517.sform +++|* PROC MCLEAN(MCOUNT,MSGFIT) 04069 M00S02518.sform +++|* 04070 M00S02519.sform +++|* EXIT MCOUNT = THE LENGTH OF THE MESSAGE AREA. 04071 M00S02520.sform +++|* MSGFIT = TRUE, IF LONGEST MESSAGE WILL FIT. 04072 M00S02521.sform +++|* 04073 M00S02522.sform +++|* CALLS VDTCHR, VDTCLL, VDTPOS, VDTSAM. 04074 M00S02523.sform +++|* 04075 M00S02524.sform +++|* USES TERMESWRIT. 04076 M00S02525.sform +++|# 04077 M00S02526.sform +++|ITEM MCOUNT I; # LENGTH OF MESSAGE AREA # 04078 M00S02527.sform +++|ITEM MSGFIT B; # TRUNCATION FLAG # 04079 M00S02528.sform +++| 04080 M00S02529.sform +++|ITEM I I; # LOOP VARIABLE # 04081 M00S02530.sform +++|
Line S02531 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 04082 M01S02531.242l642 ---|IF PANMSGLEN[0] LS NUMCOLS THEN
Line S00842 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 04083 M01S00842.242l642 +++|IF PANMSGLEN[0] LS TERNUMCOLS[0] THEN 04084 M00S02532.sform +++| BEGIN # IF LONGEST MESSAGE FITS # 04085 M00S02533.sform +++| MSGFIT = TRUE; 04086 M00S02534.sform +++| MCOUNT = PANMSGLEN[0] -1; 04087 M00S02535.sform +++| IF MCOUNT LS 24 THEN MCOUNT = 24; # LONGEST SMF MESSAGE # 04088 M00S02536.sform +++| END 04089 M00S02537.sform +++|ELSE 04090 M00S02538.sform +++| BEGIN # USER HELP MAY NEED TRUNCATION # 04091 M00S02539.sform +++| MSGFIT = FALSE;
Line S02540 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 04092 M01S02540.242l642 ---| MCOUNT = NUMCOLS -1;
Line S00843 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 04093 M01S00843.242l642 +++| MCOUNT = TERNUMCOLS[0] - 1; 04094 M00S02541.sform +++| END 04095 M00S02542.sform +++|
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform5 |
Seq # *Modification Id* Act ----------------------------+ 04096 M01S00001.sform5 +++|VDTSAM(ATTMASK[0]); # SET MESSAGE ATTRIBUTES #
Line S02543 Modification History | |
---|---|
M01 (Removed by) | ns2346 |
Seq # *Modification Id* Act ----------------------------+ 04097 M01S02543.ns2346 ---|IF TERPROTECT[0] THEN 04098 M01S02544.ns2346 ---| BEGIN # IF TERMINAL HAS PROTECT #
Line S00009 Modification History | |
---|---|
M01 (Added by) | ns2346 |
Seq # *Modification Id* Act ----------------------------+ 04099 M01S00009.ns2346 +++|IF TERTABPROT[0] THEN 04100 M01S00010.ns2346 +++| BEGIN # IF TABS TO UNPROTECTED TRUE # 04101 M00S02545.sform +++| VDTPOS(0,0); # POSITION TO MESSAGE AREA # 04102 M00S02546.sform +++| FOR I = 0 STEP 1 UNTIL MCOUNT DO
Line S02547 Modification History | |
---|---|
M01 (Removed by) | sform5 |
Seq # *Modification Id* Act ----------------------------+ 04103 M01S02547.sform5 ---| FOR I = 0 STEP 1 UNTIL MCOUNT - 1 DO 04104 M00S02548.sform +++| BEGIN # BLANK OUT MESSAGE AREA # 04105 M00S02549.sform +++| VDTCHR(BLANK); 04106 M00S02550.sform +++| END
Line S02551 Modification History | |
---|---|
M01 (Removed by) | sform5 |
Seq # *Modification Id* Act ----------------------------+ 04107 M01S02551.sform5 ---| VDTPOS(0,0); # REPOSITION # 04108 M00S02552.sform +++| END 04109 M00S02553.sform +++|ELSE 04110 M00S02554.sform +++| BEGIN # NO PROTECT #
Line S02555 Modification History | |
---|---|
M01 (Removed by) | sform5 |
Seq # *Modification Id* Act ----------------------------+ 04111 M01S02555.sform5 ---| VDTCLL(0,0); # POSITON AND CLEAR LINE # 04112 M01S02556.sform5 ---| VDTSAM(ATTMASK[0]); # SET ATTRIBUTES #
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform5 |
Seq # *Modification Id* Act ----------------------------+ 04113 M01S00002.sform5 +++| VDTCLL(0,0); # POSITION AND CLEAR LINE # 04114 M00S02557.sform +++| END 04115 M00S02558.sform +++| 04116 M00S02559.sform +++|TERMESWRIT[0] = FALSE; # CLEAR MESSAGE WRITTEN FLAG # 04117 M00S02560.sform +++| 04118 M00S02561.sform +++|END # MCLEAN # 04119 M00S02562.sform +++|CONTROL EJECT; 04120 M00S02563.sform +++| 04121 M00S02564.sform +++|PROC MMATCH(MATCHIND,FIELD); 04122 M00S02565.sform +++| 04123 M00S02566.sform +++|# TITLE MMATCH - MOVE MATCH VALUE INTO VARIABLE FIELD . # 04124 M00S02567.sform +++| 04125 M00S02568.sform +++|BEGIN # MMATCH # 04126 M00S02569.sform +++| 04127 M00S02570.sform +++|# 04128 M00S02571.sform +++|** MMATCH - MOVE MATCH VALUE INTO VARIABLE FIELD. 04129 M00S02572.sform +++|* 04130 M00S02573.sform +++|* THIS PROCEDURE MOES THE MATCH VALUE INTO THE VARIABLE FIELD 04131 M00S02574.sform +++|* IN VARDATA. 04132 M00S02575.sform +++|* 04133 M00S02576.sform +++|* PROC MMATCH(MATCHIND,FIELD) 04134 M00S02577.sform +++|* 04135 M00S02578.sform +++|* ENTRY MATCHIND = INDEX INTO MATCHLIST FOR MATCH TO MOVE. 04136 M00S02579.sform +++|* FIELD = INDEX OF FIELD TO RECEIVE MATCH VALUE. 04137 M00S02580.sform +++|* 04138 M00S02581.sform +++|* EXIT FLDENTERED, FLDVALID AND FLDREWRITE FLAGS SET FOR 04139 M00S02582.sform +++|* VARIABLE, AS WELL AS TERREWFLDS, MATCH VALUE MOVED. 04140 M00S02583.sform +++|* 04141 M00S02584.sform +++|* CALLS WRIVCH. 04142 M00S02585.sform +++|* 04143 M00S02586.sform +++|* USES TERREWFLDS. 04144 M00S02587.sform +++|# 04145 M00S02588.sform +++|ITEM MATCHIND I; # INDEX INTO MATCHLIST #
Line S00026 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 04146 M01S00026.ns2612 +++|ITEM MATCHLEN I; # MATCH ENTRY LENGTH # 04147 M00S02589.sform +++|ITEM FIELD I; # INDEX OF FIELD IN FLDLIST # 04148 M00S02590.sform +++| 04149 M00S02591.sform +++|ITEM CHAR I; # 12-BIT CHARACTER # 04150 M00S02592.sform +++|ITEM I I; # CHARACTER INDEX # 04151 M00S02593.sform +++|
Line S00027 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 04152 M01S00027.ns2612 +++|MATCHLEN = FLDLENGTH[FIELD]; 04153 M01S00028.ns2612 +++|IF PANVERSION[0] EQ 0 THEN MATCHLEN = 10; 04154 M00S02594.sform +++|FOR I = 0 STEP 1 UNTIL FLDLENGTH[FIELD] - 1 DO 04155 M00S02595.sform +++| BEGIN # MOVE MATCH ENTRY TO FIELD #
Line S02596 Modification History | |
---|---|
M01 (Removed by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 04156 M01S02596.ns2612 ---| IF I LS 10 THEN
Line S00029 Modification History | |
---|---|
M01 (Added by) | ns2612 |
Seq # *Modification Id* Act ----------------------------+ 04157 M01S00029.ns2612 +++| IF I LS MATCHLEN THEN 04158 M00S02597.sform +++| BEGIN # IF NO BLANK FILL NEEDED # 04159 M00S02598.sform +++| CHAR = C<I*2,2>MATCH[MATCHIND]; 04160 M00S02599.sform +++| END 04161 M00S02600.sform +++| ELSE 04162 M00S02601.sform +++| BEGIN # MORE THAN TEN CHARACTERS # 04163 M00S02602.sform +++| CHAR = BLANK; 04164 M00S02603.sform +++| END 04165 M00S02604.sform +++| WRIVCH(FIELD,I,CHAR); # WRITE CHARACTER INTO VARDATA # 04166 M00S02605.sform +++| END 04167 M00S02606.sform +++| 04168 M00S02607.sform +++|TERREWFLDS[0] = TRUE; # SET REWRITE, ENTERED AND VALID # 04169 M00S02608.sform +++|FLDVALID[FIELD] = TRUE; 04170 M00S02609.sform +++|FLDENTERED[FIELD] = TRUE; 04171 M00S02610.sform +++|FLDREWRITE[FIELD] = TRUE; 04172 M00S02611.sform +++| 04173 M00S02612.sform +++|END # MMATCH #
Line S00117 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04174 M01S00117.ns2605 +++|CONTROL EJECT; 04175 M01S00118.ns2605 +++| 04176 M01S00119.ns2605 +++|PROC MOVEFLD(VNAME,VLEN,VOS,STRG,SLEN,SOS,CSET,CLEN,COS,IOSTAT); 04177 M01S00120.ns2605 +++| BEGIN 04178 M01S00121.ns2605 +++|# 04179 M01S00122.ns2605 +++|** MOVEFLD - MOVE FIELD. 04180 M01S00123.ns2605 +++|* 04181 M01S00124.ns2605 +++|* MOVEFLD TRANSFERS CHARACTERS TO/FROM A SPECIFIED PANEL FIELD 04182 M01S00125.ns2605 +++|* FROM/TO A SPECIFIED STRING. 04183 M01S00126.ns2605 +++|* 04184 M01S00127.ns2605 +++|* PROC MOVEFLD(VNAME,VLEN,VOS,STRG,SLEN,SOS,CSET,CLEN,COS,IOSTAT) 04185 M01S00128.ns2605 +++|* 04186 M01S00129.ns2605 +++|* ENTRY VNAME = VARIABLE NAME OF FIELD. 04187 M01S00130.ns2605 +++|* VLEN = LENGTH OF VARNAME PARAMETER. 04188 M01S00131.ns2605 +++|* VOS = OFFSET OF VARNAME PARAMETER. 04189 M01S00132.ns2605 +++|* STRG = VARIABLE FIELD STRING. 04190 M01S00133.ns2605 +++|* SLEN = LENGTH OF STRING PARAMETER. 04191 M01S00134.ns2605 +++|* SOS = OFFSET OF STRING PARAMETER. 04192 M01S00135.ns2605 +++|* CSET = CHARACTER SET OF STRING (SEE SFCSET$). 04193 M01S00136.ns2605 +++|* CLEN = LENGTH OF CSET PARAMETER. 04194 M01S00137.ns2605 +++|* COS = OFFSET OF CSET PARAMETER. 04195 M01S00138.ns2605 +++|* IOSTAT = 0, CALL WAS SFGETF. 04196 M01S00139.ns2605 +++|* = 1, CALL WAS SFSETF. 04197 M01S00140.ns2605 +++|* 04198 M01S00141.ns2605 +++|* EXIT STRING MOVED, AND TRANSLATED IF NECESSARY. 04199 M01S00142.ns2605 +++|* IOSTAT GQ 0, NUMBER OF 6 BIT CHARACTERS MOVED. 04200 M01S00143.ns2605 +++|* LS 0, VARIABLE NOT FOUND IN ACTIVE PANELS. 04201 M01S00144.ns2605 +++|# 04202 M01S00145.ns2605 +++| 04203 M01S00146.ns2605 +++| ITEM VNAME C(11); # VARIABLE NAME # 04204 M01S00147.ns2605 +++| ITEM VLEN I; # LENGTH OF VARNAME PARAMETER # 04205 M01S00148.ns2605 +++| ITEM VOS I; # OFFSET INTO VARNAME PARAMETER # 04206 M01S00149.ns2605 +++| ITEM STRG C(11); # INSTRING PARAMETER # 04207 M01S00150.ns2605 +++| ITEM SLEN I; # LENGTH OF INSTRING # 04208 M01S00151.ns2605 +++| ITEM SOS I; # OFFSET INTO INSTRING # 04209 M01S00152.ns2605 +++| ITEM CSET C(11); # CHARACTER SET # 04210 M01S00153.ns2605 +++| ITEM CLEN I; # LENGTH OF CHARACTER SET # 04211 M01S00154.ns2605 +++| ITEM COS I; # OFFSET INTO CHARACTER SET # 04212 M01S00155.ns2605 +++| ITEM IOSTAT I; # MOVE DIRECTION, STATUS RETURN # 04213 M01S00156.ns2605 +++| 04214 M01S00157.ns2605 +++| ITEM ASCFLAG B; # CURRENT DEFAULT CHARACTER SET # 04215 M01S00158.ns2605 +++| ITEM AS8FLAG B; # FLAGS # 04216 M01S00159.ns2605 +++| ITEM CHARIND I; # VARDATA WORD CHARACTER INDEX # 04217 M01S00160.ns2605 +++| ITEM CHARNUM I; # START OF FIELD IN VARDATA # 04218 M01S00161.ns2605 +++| ITEM FLDIND I; # FIELD ORDINAL # 04219 M01S00162.ns2605 +++| ITEM FLDLEN I; # FIELD LENGTH # 04220 M01S00163.ns2605 +++| ITEM FROMCHAROS I; # SOURCE STRING OFFSET # 04221 M01S00164.ns2605 +++| ITEM I I; # LOOP COUNTER # 04222 M01S00165.ns2605 +++| ITEM TOCHAROS I; # DESTINATION STRING OFFSET # 04223 M01S00166.ns2605 +++| ITEM USEROW B = FALSE; # DON-T USE CURSORROW # 04224 M01S00167.ns2605 +++| ITEM VAR C(7); # VARIABLE NAME LEFT JUSTIFIED # 04225 M01S00168.ns2605 +++| ITEM WORDIND I; # WORD INDEX INTO VARDATA # 04226 M01S00169.ns2605 +++| 04227 M01S00170.ns2605 +++| 04228 M01S00171.ns2605 +++| IF VLEN LS 1 THEN VLEN = 7; 04229 M01S00172.ns2605 +++| VAR = C<VOS,VLEN>VNAME; 04230 M01S00173.ns2605 +++| GFIELD(VAR,USEROW,FLDIND); # GET ASSOCIATED FIELD # 04231 M01S00174.ns2605 +++| IF FLDIND LS 0 THEN 04232 M01S00175.ns2605 +++| BEGIN # IF FIELD NOT FOUND # 04233 M01S00176.ns2605 +++| IOSTAT = -1; 04234 M01S00177.ns2605 +++| RETURN; 04235 M01S00178.ns2605 +++| END 04236 M01S00179.ns2605 +++| ASCFLAG = TERASCFLAG[0]; # SAVE CURRENT CHARACTER SET # 04237 M01S00180.ns2605 +++| AS8FLAG = TERAS8FLAG[0]; 04238 M01S00181.ns2605 +++| IF C<COS,1>CSET NQ " " THEN SFCSET$(CSET,CLEN,COS); 04239 M01S00182.ns2605 +++| CHARNUM = FLDVDTCORD[FLDIND]; # START OF FIELD IN VARDATA # 04240 M01S00183.ns2605 +++| WORDIND = CHARNUM/5; # WORD INDEX INTO VARDATA # 04241 M01S00184.ns2605 +++| CHARIND = CHARNUM - (5 * WORDIND); # VARDATA WORD CHARACTER INDEX # 04242 M01S00185.ns2605 +++| FLDLEN = FLDLENGTH[FLDIND]; 04243 M01S00186.ns2605 +++| IF IOSTAT EQ 0 THEN 04244 M01S00187.ns2605 +++| BEGIN # IF MOVING VARDATA TO INSTRING # 04245 M01S00188.ns2605 +++| P<FROMSTRING> = LOC(VDATAU[WORDIND]); 04246 M01S00189.ns2605 +++| P<TOSTRING> = LOC(STRG); 04247 M01S00190.ns2605 +++| TOCHAROS = SOS; # CHARACTER OFFSET / TO STRING # 04248 M01S00191.ns2605 +++| FROMCHAROS = CHARIND*2; # CHARACTER OFFSET / VARDATA # 04249 M01S00192.ns2605 +++| IF TERAS8FLAG[0] THEN 04250 M01S00193.ns2605 +++| BEGIN # IF NO TRANSLATION REQUIRED # 04251 M01S00194.ns2605 +++| IF SLEN LQ 0 THEN SLEN = FLDLEN * 2; 04252 M01S00195.ns2605 +++| MVA8A8(FROMCHAROS,TOCHAROS,FLDLEN*2,SLEN,TRUE); 04253 M01S00196.ns2605 +++| END 04254 M01S00197.ns2605 +++| ELSE 04255 M01S00198.ns2605 +++| BEGIN 04256 M01S00199.ns2605 +++| IF TERASCFLAG[0] THEN 04257 M01S00200.ns2605 +++| BEGIN # IF 6/12 ASCII # 04258 M01S00201.ns2605 +++| MVA8AS(TOCHAROS,FROMCHAROS,SLEN,FLDLEN,TRUE); 04259 M01S00202.ns2605 +++| END 04260 M01S00203.ns2605 +++| ELSE 04261 M01S00204.ns2605 +++| BEGIN # IF SIX BIT DISPLAY CODE # 04262 M01S00205.ns2605 +++| MVA8DC(TOCHAROS,FROMCHAROS,SLEN,FLDLEN,TRUE); 04263 M01S00206.ns2605 +++| END 04264 M01S00207.ns2605 +++| END 04265 M01S00208.ns2605 +++| END 04266 M01S00209.ns2605 +++| ELSE 04267 M01S00210.ns2605 +++| BEGIN # IF MOVING OUTSTRING TO VARDATA # 04268 M01S00211.ns2605 +++| P<FROMSTRING> = LOC(STRG); 04269 M01S00212.ns2605 +++| FROMCHAROS = SOS; # CHARACTER OFFSET / FROM STRING # 04270 M01S00213.ns2605 +++| P<TOSTRING> = LOC(VDATAU[WORDIND]); 04271 M01S00214.ns2605 +++| TOCHAROS = CHARIND * 2; # CHARACTER OFFSET / VARDATA # 04272 M01S00215.ns2605 +++| IF TERAS8FLAG[0] THEN 04273 M01S00216.ns2605 +++| BEGIN # IF NO TRANSLATION REQUIRED # 04274 M01S00217.ns2605 +++| IF SLEN LQ 0 THEN SLEN = FLDLEN * 2; 04275 M01S00218.ns2605 +++| MVA8A8(FROMCHAROS,TOCHAROS,SLEN,FLDLEN*2,TRUE); 04276 M01S00219.ns2605 +++| END 04277 M01S00220.ns2605 +++| ELSE 04278 M01S00221.ns2605 +++| BEGIN 04279 M01S00222.ns2605 +++| IF TERASCFLAG[0] THEN 04280 M01S00223.ns2605 +++| BEGIN # IF 6/12 ASCII # 04281 M01S00224.ns2605 +++| MVASA8(FROMCHAROS,TOCHAROS,SLEN,FLDLEN,TRUE); 04282 M01S00225.ns2605 +++| END 04283 M01S00226.ns2605 +++| ELSE 04284 M01S00227.ns2605 +++| BEGIN # IF SIX BIT DISPLAY CODE # 04285 M01S00228.ns2605 +++| MVDCA8(FROMCHAROS,TOCHAROS,SLEN,FLDLEN,TRUE); 04286 M01S00229.ns2605 +++| END 04287 M01S00230.ns2605 +++| END 04288 M01S00231.ns2605 +++| FLDREWRITE[FLDIND] = TRUE; 04289 M01S00232.ns2605 +++| TERREWFLDS[0] = FALSE; # REWRITE UPDATED FIELD # 04290 M01S00233.ns2605 +++| REWFLD; 04291 M01S00234.ns2605 +++| TERREWFLDS[0] = TRUE; # RESET FLAG TO DEFAULT # 04292 M01S00235.ns2605 +++| END 04293 M01S00236.ns2605 +++| TERASCFLAG[0] = ASCFLAG; # RESTORE INITIAL VALUES # 04294 M01S00237.ns2605 +++| TERAS8FLAG[0] = AS8FLAG; 04295 M01S00238.ns2605 +++| IOSTAT = SLEN; 04296 M01S00239.ns2605 +++| RETURN; 04297 M01S00240.ns2605 +++| 04298 M01S00241.ns2605 +++|END # MOVEFLD# 04299 M00S02613.sform +++|CONTROL EJECT; 04300 M00S02614.sform +++| 04301 M00S02615.sform +++|PROC MOVEST(STRINGADDR,STRINGOS,SLENGTH); 04302 M00S02616.sform +++| 04303 M00S02617.sform +++|# TITLE MOVEST - MOVE STRING. # 04304 M00S02618.sform +++| 04305 M00S02619.sform +++|BEGIN # MOVEST # 04306 M00S02620.sform +++| 04307 M00S02621.sform +++|# 04308 M00S02622.sform +++|** MOVEST - MOVE STRING. 04309 M00S02623.sform +++|* 04310 M00S02624.sform +++|* THIS PROCEDURE POSITIONS THE BASED ARRAYS TOSTRING 04311 M00S02625.sform +++|* AND FROMSTRING AND THEN CALLS THE PROPER PROCEDURE 04312 M00S02626.sform +++|* TO DO THE ACTUAL TRANSLATION AND TO MOVE THE STRING 04313 M00S02627.sform +++|* FROM OUTSTRING TO VARDATA (IF A WRITE OPERATION IS 04314 M00S02628.sform +++|* STARTING) OR FROM VARDATA TO INSTRING (IF A READ 04315 M00S02629.sform +++|* OPERATION IS FINISHED). 04316 M00S02630.sform +++|* 04317 M00S02631.sform +++|* PROC MOVEST(STRINGADDR,STRINGOS,SLENGTH) 04318 M00S02632.sform +++|* 04319 M00S02633.sform +++|* ENTRY STRINGADDR = THE FIRST WORD ADDRESS OF INSTRING 04320 M00S02634.sform +++|* OR OUTSTRING (DEPENDING ON WHICH 04321 M00S02635.sform +++|* DIRECTION THE CHARACTER DATA IS 04322 M00S02636.sform +++|* BEING MOVED). 04323 M00S02637.sform +++|* STRINGOS = CHARACTER OFFSET (IN SIX BIT CHAR- 04324 M00S02638.sform +++|* CTERS) INTO EITHER INSTRING OR OUT- 04325 M00S02639.sform +++|* STRING (DEPENDING ON WHICH DIRECTION 04326 M00S02640.sform +++|* THE CHARACTER DATA IS BEING MOVED). 04327 M00S02641.sform +++|* SLENGTH = LENGTH IN SIX BIT CHARACTERS. 04328 M00S02642.sform +++|* TERREADFLG = TRUE, IF MOVING FROM VARDATA TO INSTRING 04329 M00S02643.sform +++|* DURING AN SFSREA CALL, FALSE IF MOVING 04330 M00S02644.sform +++|* FROM OUTSTRING TO VARDATA DURING AN SFS- 04331 M00S02645.sform +++|* WRI CALL. 04332 M00S02646.sform +++|* 04333 M00S02647.sform +++|* EXIT STRING MOVED, AND TRANSLATED IF NECESSARY. 04334 M00S02648.sform +++|* 04335 M00S02649.sform +++|* CALLS MVASA8, MVA8AS, MVA8A8, MVA8DC, MVDCA8. 04336 M00S02650.sform +++|# 04337 M00S02651.sform +++|ITEM STRINGADDR I; # ADDRESS OF IN/OUTSTRING # 04338 M00S02652.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET INTO STRING # 04339 M00S02653.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 04340 M00S02654.sform +++| 04341 M00S02655.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROM STRING # 04342 M00S02656.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TO STRING # 04343 M00S02657.sform +++| 04344 M00S02658.sform +++|IF NOT TERREADFLG[0] THEN 04345 M00S02659.sform +++| BEGIN # IF MOVING OUTSTRING TO VARDATA # 04346 M00S02660.sform +++| P<FROMSTRING> = STRINGADDR; # POSITION FROM AND TO STRING # 04347 M00S02661.sform +++| P<TOSTRING> = LOC(VDATAU[0]); 04348 M00S02662.sform +++| FROMCHAROS = STRINGOS; # CHARACTER OFFSET / FROM STRING #
Line S00242 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04349 M01S00242.ns2605 +++| TOCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04350 M00S02663.sform +++| IF TERAS8FLAG[0] THEN 04351 M00S02664.sform +++| BEGIN # IF NO TRANSLATION REQUIRED #
Line S02665 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04352 M01S02665.ns2605 ---| TOCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04353 M01S02666.ns2605 ---| MVA8A8(FROMCHAROS,TOCHAROS,SLENGTH); # MOVE OUTSTRING TO VARDATA #
Line S00243 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04354 M01S00243.ns2605 +++| IF SLENGTH LQ 0 THEN SLENGTH = PANNUMBYTE[0] * 2; 04355 M01S00244.ns2605 +++| MVA8A8(FROMCHAROS,TOCHAROS,SLENGTH,PANNUMBYTE[0]*2,FALSE); 04356 M00S02667.sform +++| END 04357 M00S02668.sform +++| ELSE 04358 M00S02669.sform +++| BEGIN 04359 M00S02670.sform +++| IF TERASCFLAG[0] THEN 04360 M00S02671.sform +++| BEGIN # IF SIX TWELVE ASCII #
Line S02672 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04361 M01S02672.ns2605 ---| MVASA8(FROMCHAROS,SLENGTH); # MOVE OUTSTRING TO VARDATA #
Line S00245 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04362 M01S00245.ns2605 +++| MVASA8(FROMCHAROS,TOCHAROS,SLENGTH,PANNUMBYTE[0],FALSE); 04363 M00S02673.sform +++| END 04364 M00S02674.sform +++| ELSE 04365 M00S02675.sform +++| BEGIN # IF SIX BIT DISPLAY CODE #
Line S02676 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04366 M01S02676.ns2605 ---| MVDCA8(FROMCHAROS,SLENGTH); # MOVE OUTSTRING TO VARDATA #
Line S00246 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04367 M01S00246.ns2605 +++| MVDCA8(FROMCHAROS,TOCHAROS,SLENGTH,PANNUMBYTE[0],FALSE); 04368 M00S02677.sform +++| END 04369 M00S02678.sform +++| END 04370 M00S02679.sform +++| END 04371 M00S02680.sform +++|ELSE 04372 M00S02681.sform +++| BEGIN # IF MOVING VARDATA TO INSTRING # 04373 M00S02682.sform +++| P<FROMSTRING> = LOC(VDATAU[0]); # POSITION FROM AND TO STRING # 04374 M00S02683.sform +++| P<TOSTRING> = STRINGADDR; 04375 M00S02684.sform +++| TOCHAROS = STRINGOS; # CHARACTER OFFSET / TO STRING #
Line S00247 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04376 M01S00247.ns2605 +++| FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04377 M00S02685.sform +++| IF TERAS8FLAG[0] THEN 04378 M00S02686.sform +++| BEGIN # IF NO TRANSLATION REQUIRED #
Line S02687 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04379 M01S02687.ns2605 ---| FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04380 M01S02688.ns2605 ---| MVA8A8(FROMCHAROS,TOCHAROS,SLENGTH); # MOVE VARDATA TO INSTRING #
Line S00248 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04381 M01S00248.ns2605 +++| IF SLENGTH LQ 0 THEN SLENGTH = PANNUMBYTE[0] * 2; 04382 M01S00249.ns2605 +++| MVA8A8(FROMCHAROS,TOCHAROS,PANNUMBYTE[0]*2,SLENGTH,FALSE); 04383 M00S02689.sform +++| END 04384 M00S02690.sform +++| ELSE 04385 M00S02691.sform +++| BEGIN 04386 M00S02692.sform +++| IF TERASCFLAG[0] THEN 04387 M00S02693.sform +++| BEGIN # IF SIX TWELVE ASCII #
Line S02694 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04388 M01S02694.ns2605 ---| MVA8AS(TOCHAROS,SLENGTH); # MOVE VARDATA TO INSTRING #
Line S00250 Modification History | |
---|---|
M01 (Added by) | ns2605 |
M02 (Removed by) | ns2605a |
Seq # *Modification Id* Act ----------------------------+ 04389 M02S00250.ns2605a ---| MVA8AS(FROMCHAROS,TOCHAROS,SLENGTH,PANNUMBYTE[0],FALSE);
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2605a |
Seq # *Modification Id* Act ----------------------------+ 04390 M01S00001.ns2605a +++| MVA8AS(TOCHAROS,FROMCHAROS,SLENGTH,PANNUMBYTE[0],FALSE); 04391 M00S02695.sform +++| END 04392 M00S02696.sform +++| ELSE 04393 M00S02697.sform +++| BEGIN # IF SIX BIT DISPLAY CODE #
Line S02698 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04394 M01S02698.ns2605 ---| MVA8DC(TOCHAROS,SLENGTH); # MOVE VARDATA TO INSTRING #
Line S00251 Modification History | |
---|---|
M01 (Added by) | ns2605 |
M02 (Removed by) | ns2605a |
Seq # *Modification Id* Act ----------------------------+ 04395 M02S00251.ns2605a ---| MVA8DC(FROMCHAROS,TOCHAROS,SLENGTH,PANNUMBYTE[0],FALSE);
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2605a |
Seq # *Modification Id* Act ----------------------------+ 04396 M01S00002.ns2605a +++| MVA8DC(TOCHAROS,FROMCHAROS,SLENGTH,PANNUMBYTE[0],FALSE); 04397 M00S02699.sform +++| END 04398 M00S02700.sform +++| END 04399 M00S02701.sform +++| END 04400 M00S02702.sform +++| 04401 M00S02703.sform +++|END # MOVEST #
Line S00252 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04402 M01S00252.ns2605 +++|CONTROL EJECT; 04403 M01S00253.ns2605 +++|
Line S02704 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04404 M01S02704.ns2605 ---|CONTROL EJECT; 04405 M01S02705.ns2605 ---| 04406 M01S02706.ns2605 ---|PROC MVA8A8(FROMCHAROS,TOCHAROS,SLENGTH);
Line S00254 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04407 M01S00254.ns2605 +++|PROC MVA8A8(FROMCHAROS,TOCHAROS,FROMLENGTH,TOLENGTH,FILL); 04408 M00S02707.sform +++| 04409 M00S02708.sform +++|# TITLE MVA8A8 - MOVE ASCII8 STRING. # 04410 M00S02709.sform +++| 04411 M00S02710.sform +++|BEGIN # MVA8A8 # 04412 M00S02711.sform +++| 04413 M00S02712.sform +++|# 04414 M00S02713.sform +++|** MVA8A8 - MOVE ASCII8 STRING. 04415 M00S02714.sform +++|* 04416 M00S02715.sform +++|* THIS PROCEDURE MOVES THE ASCII8 CHARACTER DATA FROM OUTSTRING 04417 M00S02716.sform +++|* TO VARDATA BEFORE A WRITE, OR FROM VARDATA TO INSTRING AFTER
Line S02717 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04418 M01S02717.sform8 ---|* A READ, USING THE BASED ARRAYS FROMSTRING AND TO STRING.
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04419 M02S00001.ns2605 ---|* A READ, USING THE BASED ARRAYS FROMSTRING AND TOSTRING.
Line S00255 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04420 M01S00255.ns2605 +++|* A READ, USING THE BASED ARRAYS FROMSTRING AND TOSTRING. IF THE 04421 M01S00256.ns2605 +++|* DESTINATION FIELD IS SHORTER THAN THE SOURCE FIELD, THE STRING 04422 M01S00257.ns2605 +++|* WILL BE TRUNCATED. IF THE SOURCE FIELD IS SHORTER AND *FILL* IS 04423 M01S00258.ns2605 +++|* *TRUE*, THE DESTINATION FIELD WILL BE BLANK FILLED. 04424 M00S02718.sform +++|*
Line S02719 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04425 M01S02719.ns2605 ---|* PROC MVA8A8(FROMCHAROS,TOCHAROS,SLENGTH)
Line S00259 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04426 M01S00259.ns2605 +++|* PROC MVA8A8(FROMCHAROS,TOCHAROS,FROMLENGTH,TOLENGTH,FILL) 04427 M00S02720.sform +++|* 04428 M00S02721.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04429 M00S02722.sform +++|* FROMCHAROS = THE CHARACTER OFFSET INTO FROMSTRING. 04430 M00S02723.sform +++|* TOCHAROS = THE CHARACTER OFFSET INTO TOSTRING.
Line S02724 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04431 M01S02724.ns2605 ---|* SLENGTH = LENGTH OF APPLICATION STRING IN SIX 04432 M01S02725.ns2605 ---|* CHARACTERS.
Line S00260 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04433 M01S00260.ns2605 +++|* FROMLENGTH = LENGTH OF SOURCE FIELD. 04434 M01S00261.ns2605 +++|* TOLENGTH = LENGTH OF DESTINATION FIELD. 04435 M01S00262.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 04436 M00S02726.sform +++|* 04437 M00S02727.sform +++|* EXIT STRING MOVED. 04438 M00S02728.sform +++|*
Line S02729 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04439 M01S02729.ns2605 ---|* NOTES SINCE ONE OF THE TWO STRINGS IS DEFINED IN THE APP- 04440 M01S02730.ns2605 ---|* LICATION PROGRAM AND THUS DOES NOT NECESSARILY START 04441 M01S02731.ns2605 ---|* ON A WORD BOUNDARY THE DATA MUST BE TRANSFERED SIX 04442 M01S02732.ns2605 ---|* BITS AT A TIME EVEN THOUGH IT IS TWELVE BIT ASCII8 04443 M01S02733.ns2605 ---|* CHARACTER DATA. ALSO SLENGTH IS NOT THE NUMBER OF 04444 M01S02734.ns2605 ---|* CHARACTERS (SINCE THEY ARE TWELVE BITS EACH) BUT THE 04445 M01S02735.ns2605 ---|* NUMBER OF SIX BIT PARCELS TO MOVE.
Line S00263 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04446 M01S00263.ns2605 +++|* NOTE THE FIELD LENGTHS SPECIFY THE NUMBER OF SIX-BIT PARCELS 04447 M01S00264.ns2605 +++|* RATHER THAN THE NUMBER OF TWELVE-BIT CHARACTERS. 04448 M00S02736.sform +++|# 04449 M00S02737.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROM STRING # 04450 M00S02738.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TO STRING #
Line S02739 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04451 M01S02739.ns2605 ---|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS #
Line S00265 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04452 M01S00265.ns2605 +++|ITEM FROMLENGTH I; # FROM STRING LENGTH # 04453 M01S00266.ns2605 +++|ITEM TOLENGTH I; # TO STRING LENGTH # 04454 M01S00267.ns2605 +++|ITEM FILL B; # TRUE IF BLANK FILL REQUIRED # 04455 M00S02740.sform +++| 04456 M00S02741.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02742 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04457 M01S02742.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING # 04458 M00S02743.sform +++|ITEM NUMCHARS I; # NUMBER OF PARCELS TO MOVE #
Line S00268 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04459 M01S00268.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL # 04460 M00S02744.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02745 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04461 M01S02745.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TO STRING # 04462 M00S02746.sform +++| 04463 M00S02747.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02748 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04464 M01S02748.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 04465 M00S02749.sform +++|TOINDEX = 0; # SET TOSTRING INDEX #
Line S02750 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04466 M01S02750.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0] * 2 04467 M01S02751.ns2605 ---| OR SLENGTH EQ 0 THEN 04468 M01S02752.ns2605 ---| BEGIN # IF STRING EXCEEDS VARDATA # 04469 M01S02753.ns2605 ---| SLENGTH = PANNUMBYTE[0] * 2; # RESET NUMBER OF CHARS. TO MOVE # 04470 M01S02754.ns2605 ---| END 04471 M01S02755.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO
Line S00269 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04472 M01S00269.ns2605 +++|IF TOLENGTH LS FROMLENGTH THEN FROMLENGTH = TOLENGTH; 04473 M01S00270.ns2605 +++|FOR NUMCHARS = 1 STEP 2 UNTIL FROMLENGTH DO
Line S02756 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04474 M01S02756.sform8 ---| BEGIN # TRANSFER SIX BIT PARCELS # 04475 M01S02757.sform8 ---| B<6*TOCHAROS,6>TOWORD = B<6*FROMCHAROS,6>FROMWORD;
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04476 M01S00002.sform8 +++| BEGIN # TRANSFER SIX BIT PARCELS #
Line S00003 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04477 M02S00003.ns2605 ---| C<TOCHAROS,1>TOSTRIU[TOINDEX] = 04478 M02S00004.ns2605 ---| C<FROMCHAROS,1>FROMSTRIU[FROMINDEX];
Line S02758 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04479 M01S02758.ns2605 ---| FROMCHAROS = FROMCHAROS + 1; # UPDATE FROMSTRING CHAR. OFFSET #
Line S00271 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04480 M01S00271.ns2605 +++| C<TOCHAROS,2>TOSTRIU[TOINDEX] = 04481 M01S00272.ns2605 +++| C<FROMCHAROS,2>FROMSTRIU[FROMINDEX]; 04482 M01S00273.ns2605 +++| FROMCHAROS = FROMCHAROS + 2; # INCREMENT FROMSTRING OFFSET # 04483 M00S02759.sform +++| IF FROMCHAROS EQ 10 THEN 04484 M00S02760.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY # 04485 M00S02761.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 04486 M00S02762.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S02763 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04487 M01S02763.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING # 04488 M00S02764.sform +++| END
Line S02765 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04489 M01S02765.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
Line S00274 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04490 M01S00274.ns2605 +++| TOCHAROS = TOCHAROS + 2; # INCREMENT TOSTRING OFFSET # 04491 M00S02766.sform +++| IF TOCHAROS EQ 10 THEN 04492 M00S02767.sform +++| BEGIN # IF TOSTRING WORD IS FULL # 04493 M00S02768.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S02769 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04494 M01S02769.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING # 04495 M01S02770.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00005 Modification History | |
---|---|
M01 (Added by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04496 M01S00005.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S02771 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04497 M01S02771.sform8 ---| END 04498 M01S02772.sform8 ---| END 04499 M01S02773.sform8 ---|IF TOCHAROS NQ 0 THEN 04500 M01S02774.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE # 04501 M01S02775.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO 04502 M01S02776.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS # 04503 M01S02777.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD; 04504 M00S02778.sform +++| END 04505 M00S02779.sform +++| END
Line S00275 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04506 M01S00275.ns2605 +++|WHYLE FILL AND FROMLENGTH LS TOLENGTH DO 04507 M01S00276.ns2605 +++| BEGIN 04508 M01S00277.ns2605 +++| TOLENGTH = TOLENGTH - 2; 04509 M01S00278.ns2605 +++| C<TOCHAROS,2>TOSTRIU[TOINDEX] = B<48,12>SPACE; 04510 M01S00279.ns2605 +++| TOCHAROS = TOCHAROS + 2; # UPDATE TOSTRING OFFSET # 04511 M01S00280.ns2605 +++| IF TOCHAROS EQ 10 THEN 04512 M01S00281.ns2605 +++| BEGIN # IF TOSTRING WORD EXHAUSTED # 04513 M01S00282.ns2605 +++| TOINDEX = TOINDEX + 2; # UPDATE TOSTRING WORD INDEX # 04514 M01S00283.ns2605 +++| TOCHAROS = 0; 04515 M01S00284.ns2605 +++| END 04516 M01S00285.ns2605 +++| END 04517 M00S02780.sform +++| 04518 M00S02781.sform +++|END # MVA8A8 # 04519 M00S02782.sform +++|CONTROL EJECT; 04520 M00S02783.sform +++|
Line S02784 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04521 M01S02784.ns2605 ---|PROC MVASA8(STRINGOS,SLENGTH);
Line S00286 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04522 M01S00286.ns2605 +++|PROC MVASA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL); 04523 M00S02785.sform +++| 04524 M00S02786.sform +++|# TITLE MVASA8 - MOVE AND TRANSLATE ASCII TO ASCII8. # 04525 M00S02787.sform +++| 04526 M00S02788.sform +++|BEGIN # MVASA8 # 04527 M00S02789.sform +++| 04528 M00S02790.sform +++|# 04529 M00S02791.sform +++|** MVASA8 - MOVE AND TRANSLATE ASCII TO ASCII8. 04530 M00S02792.sform +++|* 04531 M00S02793.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM OUTSTRING TO 04532 M00S02794.sform +++|* VARDATA BEFORE A WRITE, USING THE BASED ARRAYS FROMSTRING 04533 M00S02795.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII TO ASCII8. 04534 M00S02796.sform +++|*
Line S02797 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04535 M01S02797.ns2605 ---|* PROC MVASA8(STRINGOS,SLENGTH)
Line S00287 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04536 M01S00287.ns2605 +++|* PROC MVASA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL) 04537 M00S02798.sform +++|* 04538 M00S02799.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04539 M00S02800.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO OUTSTRING.
Line S00288 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04540 M01S00288.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA. 04541 M00S02801.sform +++|* SLENGTH = OUTSTRING LENGTH IN SIX BIT CHARACTERS.
Line S00289 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04542 M01S00289.ns2605 +++|* NUMVDCHARS = NUMBER OF CHARACTERS IN VARDATA. 04543 M01S00290.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 04544 M00S02802.sform +++|* 04545 M00S02803.sform +++|* EXIT STRING MOVED AND TRANSLATED. 04546 M00S02804.sform +++|*
Line S02805 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04547 M01S02805.ns2605 ---|* NOTES SINCE OUTSTRING IS DEFINED IN THE APPLICATION PROGRAM 04548 M01S02806.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY 04549 M01S02807.ns2605 ---|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN. 04550 M01S02808.ns2605 ---|* ALSO SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS
Line S00291 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04551 M01S00291.ns2605 +++|* NOTE SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS 04552 M00S02809.sform +++|* (SINCE THEY CAN BE EITHER SIX OR TWELVE BITS LONG) BUT 04553 M00S02810.sform +++|* RATHER THE NUMBER OF SIX BIT PARCELS IN OUTSTRING. 04554 M00S02811.sform +++|# 04555 M00S02812.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING # 04556 M00S02813.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS #
Line S00292 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04557 M01S00292.ns2605 +++|ITEM VAROS I; # CHARACTER OFFSET / VARDATA # 04558 M01S00293.ns2605 +++|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA # 04559 M01S00294.ns2605 +++|ITEM FILL B; # TRUE IF BLANK FILL REQUIRED # 04560 M00S02814.sform +++| 04561 M00S02815.sform +++|ITEM ASCIICHR I; # HOLDS AN ASCII CHARACTER # 04562 M00S02816.sform +++|ITEM ASCII8CHR I; # HOLDS AN ASCII8 CHARACTER #
Line S00006 Modification History | |
---|---|
M01 (Added by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04563 M01S00006.sform8 +++|ITEM ESCAPECODE I; # ESCAPE CODE FOR 12 BIT CHARS. # 04564 M00S02817.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING # 04565 M00S02818.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02819 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04566 M01S02819.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
Line S02820 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04567 M01S02820.ns2605 ---|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA # 04568 M00S02821.sform +++|ITEM NUMOTCHARS I; # NUMBER OF CHARS. IN OUTSTRING #
Line S00295 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04569 M01S00295.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL #
Line S02822 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04570 M01S02822.sform8 ---|ITEM ESCAPECODE I; # ESCAPE CODE FOR 12 BIT CHARS. # 04571 M00S02823.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING # 04572 M00S02824.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02825 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04573 M01S02825.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING # 04574 M00S02826.sform +++| 04575 M00S02827.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02828 Modification History | |
---|---|
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04576 M01S02828.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 04577 M00S02829.sform +++|FROMCHAROS = STRINGOS; # CHARACTER OFFSET IN FROMSTRING # 04578 M00S02830.sform +++|TOINDEX = 0; # START AT BEGINNING OF VARDATA #
Line S02831 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04579 M01S02831.ns2605 ---|TOCHAROS = 0;
Line S00296 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04580 M01S00296.ns2605 +++|TOCHAROS = VAROS; # CHARACTER OFFSET IN VARDATA # 04581 M00S02832.sform +++|ESCAPECODE = 0; # CLEAR ESCAPE CODE #
Line S02833 Modification History | |
---|---|
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04582 M01S02833.ns2605 ---|NUMVDCHARS = PANNUMBYTE[0]; # SET VARDATA CHARACTER COUNT #
Proceed to Part 3
cdc/nos2.source/opl.opl871/deck/sform.002.txt ยท Last modified: by 127.0.0.1