cdc:nos2.source:opl.opl871:deck:sform.003
Deck SFORM Part 003
49 Modifications
Listing Sections
- Deck SFORM Start
- Deck SFORM Part 1 (Line 1152)
- Deck SFORM Part 2 (Line 2830)
- Deck SFORM Part 3 (Line 4426)
- Deck SFORM Part 4 (Line 5497)
- Deck SFORM Part 5 (Line 6487)
- Deck SFORM Part 6 (Line 7627)
Source
Seq # *Modification Id* Act ----------------------------+ 04426 M01S00259.ns2605 +++|* PROC MVA8A8(FROMCHAROS,TOCHAROS,FROMLENGTH,TOLENGTH,FILL) 04427 M01S02720.sform +++|* 04428 M01S02721.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04429 M01S02722.sform +++|* FROMCHAROS = THE CHARACTER OFFSET INTO FROMSTRING. 04430 M01S02723.sform +++|* TOCHAROS = THE CHARACTER OFFSET INTO TOSTRING.
Line S02724 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04431 M02S02724.ns2605 ---|* SLENGTH = LENGTH OF APPLICATION STRING IN SIX
Line S02725 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04432 M02S02725.ns2605 ---|* CHARACTERS. 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 M01S02726.sform +++|* 04437 M01S02727.sform +++|* EXIT STRING MOVED. 04438 M01S02728.sform +++|*
Line S02729 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04439 M02S02729.ns2605 ---|* NOTES SINCE ONE OF THE TWO STRINGS IS DEFINED IN THE APP-
Line S02730 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04440 M02S02730.ns2605 ---|* LICATION PROGRAM AND THUS DOES NOT NECESSARILY START
Line S02731 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04441 M02S02731.ns2605 ---|* ON A WORD BOUNDARY THE DATA MUST BE TRANSFERED SIX
Line S02732 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04442 M02S02732.ns2605 ---|* BITS AT A TIME EVEN THOUGH IT IS TWELVE BIT ASCII8
Line S02733 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04443 M02S02733.ns2605 ---|* CHARACTER DATA. ALSO SLENGTH IS NOT THE NUMBER OF
Line S02734 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04444 M02S02734.ns2605 ---|* CHARACTERS (SINCE THEY ARE TWELVE BITS EACH) BUT THE
Line S02735 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04445 M02S02735.ns2605 ---|* NUMBER OF SIX BIT PARCELS TO MOVE. 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 M01S02736.sform +++|# 04449 M01S02737.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROM STRING # 04450 M01S02738.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TO STRING #
Line S02739 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04451 M02S02739.ns2605 ---|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 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 M01S02740.sform +++| 04456 M01S02741.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02742 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04457 M02S02742.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING # 04458 M01S02743.sform +++|ITEM NUMCHARS I; # NUMBER OF PARCELS TO MOVE # 04459 M01S00268.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL # 04460 M01S02744.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02745 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04461 M02S02745.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TO STRING # 04462 M01S02746.sform +++| 04463 M01S02747.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02748 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04464 M02S02748.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 04465 M01S02749.sform +++|TOINDEX = 0; # SET TOSTRING INDEX #
Line S02750 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04466 M02S02750.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0] * 2
Line S02751 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04467 M02S02751.ns2605 ---| OR SLENGTH EQ 0 THEN
Line S02752 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04468 M02S02752.ns2605 ---| BEGIN # IF STRING EXCEEDS VARDATA #
Line S02753 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04469 M02S02753.ns2605 ---| SLENGTH = PANNUMBYTE[0] * 2; # RESET NUMBER OF CHARS. TO MOVE #
Line S02754 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04470 M02S02754.ns2605 ---| END
Line S02755 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04471 M02S02755.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO 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 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04474 M02S02756.sform8 ---| BEGIN # TRANSFER SIX BIT PARCELS #
Line S02757 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04475 M02S02757.sform8 ---| B<6*TOCHAROS,6>TOWORD = B<6*FROMCHAROS,6>FROMWORD; 04476 M01S00002.sform8 +++| BEGIN # TRANSFER SIX BIT PARCELS #
Line S00003 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04477 M02S00003.ns2605 ---| C<TOCHAROS,1>TOSTRIU[TOINDEX] =
Line S00004 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04478 M02S00004.ns2605 ---| C<FROMCHAROS,1>FROMSTRIU[FROMINDEX];
Line S02758 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04479 M02S02758.ns2605 ---| FROMCHAROS = FROMCHAROS + 1; # UPDATE FROMSTRING CHAR. OFFSET # 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 M01S02759.sform +++| IF FROMCHAROS EQ 10 THEN 04484 M01S02760.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY # 04485 M01S02761.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 04486 M01S02762.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S02763 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04487 M02S02763.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING # 04488 M01S02764.sform +++| END
Line S02765 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04489 M02S02765.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET # 04490 M01S00274.ns2605 +++| TOCHAROS = TOCHAROS + 2; # INCREMENT TOSTRING OFFSET # 04491 M01S02766.sform +++| IF TOCHAROS EQ 10 THEN 04492 M01S02767.sform +++| BEGIN # IF TOSTRING WORD IS FULL # 04493 M01S02768.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S02769 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04494 M02S02769.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S02770 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04495 M02S02770.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX # 04496 M01S00005.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S02771 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04497 M02S02771.sform8 ---| END
Line S02772 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04498 M02S02772.sform8 ---| END
Line S02773 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04499 M02S02773.sform8 ---|IF TOCHAROS NQ 0 THEN
Line S02774 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04500 M02S02774.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
Line S02775 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04501 M02S02775.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO
Line S02776 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04502 M02S02776.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
Line S02777 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04503 M02S02777.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD; 04504 M01S02778.sform +++| END 04505 M01S02779.sform +++| END 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 M01S02780.sform +++| 04518 M01S02781.sform +++|END # MVA8A8 # 04519 M01S02782.sform +++|CONTROL EJECT; 04520 M01S02783.sform +++|
Line S02784 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04521 M02S02784.ns2605 ---|PROC MVASA8(STRINGOS,SLENGTH); 04522 M01S00286.ns2605 +++|PROC MVASA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL); 04523 M01S02785.sform +++| 04524 M01S02786.sform +++|# TITLE MVASA8 - MOVE AND TRANSLATE ASCII TO ASCII8. # 04525 M01S02787.sform +++| 04526 M01S02788.sform +++|BEGIN # MVASA8 # 04527 M01S02789.sform +++| 04528 M01S02790.sform +++|# 04529 M01S02791.sform +++|** MVASA8 - MOVE AND TRANSLATE ASCII TO ASCII8. 04530 M01S02792.sform +++|* 04531 M01S02793.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM OUTSTRING TO 04532 M01S02794.sform +++|* VARDATA BEFORE A WRITE, USING THE BASED ARRAYS FROMSTRING 04533 M01S02795.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII TO ASCII8. 04534 M01S02796.sform +++|*
Line S02797 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04535 M02S02797.ns2605 ---|* PROC MVASA8(STRINGOS,SLENGTH) 04536 M01S00287.ns2605 +++|* PROC MVASA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL) 04537 M01S02798.sform +++|* 04538 M01S02799.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04539 M01S02800.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO OUTSTRING. 04540 M01S00288.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA. 04541 M01S02801.sform +++|* SLENGTH = OUTSTRING LENGTH IN SIX BIT CHARACTERS. 04542 M01S00289.ns2605 +++|* NUMVDCHARS = NUMBER OF CHARACTERS IN VARDATA. 04543 M01S00290.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 04544 M01S02802.sform +++|* 04545 M01S02803.sform +++|* EXIT STRING MOVED AND TRANSLATED. 04546 M01S02804.sform +++|*
Line S02805 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04547 M02S02805.ns2605 ---|* NOTES SINCE OUTSTRING IS DEFINED IN THE APPLICATION PROGRAM
Line S02806 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04548 M02S02806.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY
Line S02807 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04549 M02S02807.ns2605 ---|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
Line S02808 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04550 M02S02808.ns2605 ---|* ALSO SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS 04551 M01S00291.ns2605 +++|* NOTE SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS 04552 M01S02809.sform +++|* (SINCE THEY CAN BE EITHER SIX OR TWELVE BITS LONG) BUT 04553 M01S02810.sform +++|* RATHER THE NUMBER OF SIX BIT PARCELS IN OUTSTRING. 04554 M01S02811.sform +++|# 04555 M01S02812.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING # 04556 M01S02813.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 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 M01S02814.sform +++| 04561 M01S02815.sform +++|ITEM ASCIICHR I; # HOLDS AN ASCII CHARACTER # 04562 M01S02816.sform +++|ITEM ASCII8CHR I; # HOLDS AN ASCII8 CHARACTER # 04563 M01S00006.sform8 +++|ITEM ESCAPECODE I; # ESCAPE CODE FOR 12 BIT CHARS. # 04564 M01S02817.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING # 04565 M01S02818.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02819 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04566 M02S02819.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
Line S02820 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04567 M02S02820.ns2605 ---|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA # 04568 M01S02821.sform +++|ITEM NUMOTCHARS I; # NUMBER OF CHARS. IN OUTSTRING # 04569 M01S00295.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL #
Line S02822 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04570 M02S02822.sform8 ---|ITEM ESCAPECODE I; # ESCAPE CODE FOR 12 BIT CHARS. # 04571 M01S02823.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING # 04572 M01S02824.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02825 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04573 M02S02825.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING # 04574 M01S02826.sform +++| 04575 M01S02827.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02828 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04576 M02S02828.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 04577 M01S02829.sform +++|FROMCHAROS = STRINGOS; # CHARACTER OFFSET IN FROMSTRING # 04578 M01S02830.sform +++|TOINDEX = 0; # START AT BEGINNING OF VARDATA #
Line S02831 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04579 M02S02831.ns2605 ---|TOCHAROS = 0; 04580 M01S00296.ns2605 +++|TOCHAROS = VAROS; # CHARACTER OFFSET IN VARDATA # 04581 M01S02832.sform +++|ESCAPECODE = 0; # CLEAR ESCAPE CODE #
Line S02833 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04582 M02S02833.ns2605 ---|NUMVDCHARS = PANNUMBYTE[0]; # SET VARDATA CHARACTER COUNT #
Line S02834 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04583 M02S02834.ns2605 ---|IF SLENGTH EQ 0 THEN
Line S02835 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04584 M02S02835.ns2605 ---| BEGIN # IF ZERO OUTSTRING COUNT #
Line S02836 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04585 M02S02836.ns2605 ---| NUMOTCHARS = PANNUMBYTE[0] * 2; # ASSUME WORST CASE #
Line S02837 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04586 M02S02837.ns2605 ---| END
Line S02838 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04587 M02S02838.ns2605 ---|ELSE
Line S02839 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04588 M02S02839.ns2605 ---| BEGIN
Line S02840 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04589 M02S02840.ns2605 ---| NUMOTCHARS = SLENGTH; # SET NUMBER OF CHARACTERS #
Line S02841 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04590 M02S02841.ns2605 ---| END 04591 M01S00297.ns2605 +++|IF SLENGTH GR NUMVDCHARS * 2 OR SLENGTH LQ 0 THEN 04592 M01S00298.ns2605 +++| SLENGTH = NUMVDCHARS * 2; # IF LENGTH ADJUSTMENT NEEDED #
Line S02842 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04593 M02S02842.ns2605 ---|WHYLE NUMOTCHARS NQ 0 AND NUMVDCHARS NQ 0 DO 04594 M01S00299.ns2605 +++|NUMOTCHARS = 0; # INITIALIZE LOOP # 04595 M01S00300.ns2605 +++|WHYLE NUMOTCHARS LS SLENGTH AND NUMVDCHARS GR 0 DO 04596 M01S02843.sform +++| BEGIN # TRANSLATE CHARACTERS #
Line S02844 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04597 M02S02844.ns2605 ---| NUMOTCHARS = NUMOTCHARS - 1; # DECREMENT OUTSTRING COUNT # 04598 M01S00301.ns2605 +++| NUMOTCHARS = NUMOTCHARS + 1; # INCREMENT OUTSTRING COUNT #
Line S02845 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04599 M02S02845.sform8 ---| ASCIICHR = B<6*FROMCHAROS,6>FROMWORD; 04600 M01S00007.sform8 +++| ASCIICHR = B<6*FROMCHAROS,6>FROMSTRIU[FROMINDEX]; 04601 M01S02846.sform +++| FROMCHAROS = FROMCHAROS + 1; # UPDATE FROMSTRING CHAR. OFFSET # 04602 M01S02847.sform +++| IF FROMCHAROS EQ 10 THEN 04603 M01S02848.sform +++| BEGIN # IF FROMSTRING WORD EXHAUSTED #
Line S02849 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04604 M02S02849.sform8 ---| FROMINDEX = FROMINDEX + 1; # GET NEXT WORD FROM FROMSTRING #
Line S02850 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04605 M02S02850.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX];
Line S02851 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04606 M02S02851.sform8 ---| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 04607 M01S00008.sform8 +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX # 04608 M01S00009.sform8 +++| FROMCHAROS = 0; 04609 M01S02852.sform +++| END 04610 M01S02853.sform +++| IF ESCAPECODE NQ 0 THEN 04611 M01S02854.sform +++| BEGIN # IF HALF WAY THROUGH TWELVE BIT # 04612 M01S02855.sform +++| IF ESCAPECODE EQ 62 THEN 04613 M01S02856.sform +++| BEGIN # IF LOWER CASE ALPHABETIC # 04614 M01S02857.sform +++| ASCII8CHR = ASCIICHR + 96; 04615 M01S02858.sform +++| END 04616 M01S02859.sform +++| ELSE 04617 M01S02860.sform +++| BEGIN # IF SPECIAL ASCII CHARACTER # 04618 M01S02861.sform +++| ASCII8CHR = AS2A8[ASCIICHR]; 04619 M01S02862.sform +++| END 04620 M01S02863.sform +++| ESCAPECODE = 0; # CLEAR ESCAPE CODE # 04621 M01S02864.sform +++| END 04622 M01S02865.sform +++| ELSE 04623 M01S02866.sform +++| BEGIN # IF SIX BIT ASCII CHARACTER # 04624 M01S02867.sform +++| IF ASCIICHR NQ 60 AND ASCIICHR NQ 62 THEN 04625 M01S02868.sform +++| BEGIN # IF NOT ESCAPE CODE # 04626 M01S02869.sform +++| ASCII8CHR = DC2A8[ASCIICHR]; 04627 M01S02870.sform +++| END 04628 M01S02871.sform +++| ELSE 04629 M01S02872.sform +++| BEGIN 04630 M01S02873.sform +++| ESCAPECODE = ASCIICHR; # SAVE ESCAPE CODE # 04631 M01S02874.sform +++| END 04632 M01S02875.sform +++| END 04633 M01S02876.sform +++| IF ESCAPECODE EQ 0 THEN 04634 M01S02877.sform +++| BEGIN # IF CHARACTER TO MOVE # 04635 M01S02878.sform +++| NUMVDCHARS = NUMVDCHARS - 1; # DECREMENT VARDATA COUNT #
Line S02879 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04636 M02S02879.sform8 ---| B<6*TOCHAROS,12>TOWORD = ASCII8CHR; 04637 M01S00010.sform8 +++| B<6*TOCHAROS,12>TOSTRIU[TOINDEX] = ASCII8CHR; 04638 M01S02880.sform +++| TOCHAROS = TOCHAROS + 2; # UPDATE TOSTRING CHAR. OFFSET # 04639 M01S02881.sform +++| IF TOCHAROS EQ 10 THEN 04640 M01S02882.sform +++| BEGIN # IF TOSTRING WORD IS FULL #
Line S02883 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04641 M02S02883.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE NEXT WORD INTO TOSTRING #
Line S02884 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04642 M02S02884.sform8 ---| TOINDEX = TOINDEX + 1; 04643 M01S00011.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX # 04644 M01S02885.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET # 04645 M01S02886.sform +++| END
Line S02887 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04646 M02S02887.sform8 ---| END
Line S02888 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04647 M02S02888.sform8 ---| END
Line S02889 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04648 M02S02889.sform8 ---|IF TOCHAROS NQ 0 THEN
Line S02890 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04649 M02S02890.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
Line S02891 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04650 M02S02891.sform8 ---| FOR NUMVDCHARS = 0 STEP 2 UNTIL TOCHAROS - 2 DO
Line S02892 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04651 M02S02892.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
Line S02893 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04652 M02S02893.sform8 ---| B<6*NUMVDCHARS,12>TOSTRIU[TOINDEX] = B<6*NUMVDCHARS,12>TOWORD; 04653 M01S02894.sform +++| END 04654 M01S02895.sform +++| END 04655 M01S00302.ns2605 +++|WHYLE FILL AND NUMVDCHARS GR 0 DO 04656 M01S00303.ns2605 +++| BEGIN 04657 M01S00304.ns2605 +++| NUMVDCHARS = NUMVDCHARS - 1; 04658 M01S00305.ns2605 +++| C<TOCHAROS,2>TOSTRIU[TOINDEX] = B<48,12>SPACE; 04659 M01S00306.ns2605 +++| TOCHAROS = TOCHAROS + 2; # UPDATE TOSTRING OFFSET # 04660 M01S00307.ns2605 +++| IF TOCHAROS EQ 10 THEN 04661 M01S00308.ns2605 +++| BEGIN # IF TOSTRING WORD EXHAUSTED # 04662 M01S00309.ns2605 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX # 04663 M01S00310.ns2605 +++| TOCHAROS = 0; 04664 M01S00311.ns2605 +++| END 04665 M01S00312.ns2605 +++| END 04666 M01S02896.sform +++| 04667 M01S02897.sform +++|END # MVASA8 # 04668 M01S02898.sform +++|CONTROL EJECT; 04669 M01S02899.sform +++|
Line S02900 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04670 M02S02900.ns2605 ---|PROC MVA8AS(STRINGOS,SLENGTH); 04671 M01S00313.ns2605 +++|PROC MVA8AS(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL); 04672 M01S02901.sform +++| 04673 M01S02902.sform +++|# TITLE MVA8AS - MOVE AND TRANSLATE ASCII8 TO ASCII. # 04674 M01S02903.sform +++| 04675 M01S02904.sform +++|BEGIN # MVA8AS # 04676 M01S02905.sform +++| 04677 M01S02906.sform +++|# 04678 M01S02907.sform +++|** MVA8AS - MOVE AND TRANSLATE ASCII8 TO ASCII. 04679 M01S02908.sform +++|* 04680 M01S02909.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM VARDATA TO 04681 M01S02910.sform +++|* INSTRING AFTER A READ, USING THE BASED ARRAYS FROMSTRING 04682 M01S02911.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII8 TO ASCII. 04683 M01S02912.sform +++|*
Line S02913 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04684 M02S02913.ns2605 ---|* PROC MVA8AS(STRINGOS,SLENGTH) 04685 M01S00314.ns2605 +++|* PROC MVA8AS(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL) 04686 M01S02914.sform +++|* 04687 M01S02915.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04688 M01S02916.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO INSTRING. 04689 M01S00315.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA. 04690 M01S02917.sform +++|* SLENGTH = INSTRING LENGTH IN SIX BIT CHARACTERS. 04691 M01S00316.ns2605 +++|* NUMVDCHARS = NUMBER OF CHARACTERS IN VARDATA. 04692 M01S00317.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 04693 M01S02918.sform +++|* 04694 M01S02919.sform +++|* EXIT STRING MOVED AND TRANSLATED. 04695 M01S02920.sform +++|*
Line S02921 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04696 M02S02921.ns2605 ---|* NOTES SINCE INSTRING IS DEFINED IN THE APPLICATION PROGRAM
Line S02922 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04697 M03S02922.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY
Line S02923 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04698 M03S02923.ns2605 ---|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
Line S00012 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04699 M02S00012.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY,
Line S00013 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04700 M02S00013.ns2605 ---|* TOCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
Line S02924 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04701 M02S02924.ns2605 ---|* ALSO SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS 04702 M01S00318.ns2605 +++|* NOTE SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS 04703 M01S02925.sform +++|* (SINCE THEY CAN BE EITHER SIX OR TWELVE BITS LONG) BUT 04704 M01S02926.sform +++|* RATHER THE NUMBER OF SIX BIT PARCELS IN INSTRING. 04705 M01S02927.sform +++|# 04706 M01S02928.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING # 04707 M01S02929.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 04708 M01S00319.ns2605 +++|ITEM VAROS I; # CHARACTER OFFSET / VARDATA # 04709 M01S00320.ns2605 +++|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA # 04710 M01S00321.ns2605 +++|ITEM FILL B; # TRUE IF BLANK FILL REQUIRED # 04711 M01S02930.sform +++| 04712 M01S02931.sform +++|ITEM ASCIICHR I; # HOLDS AN ASCII CHARACTER # 04713 M01S02932.sform +++|ITEM ASCII8CHR I; # HOLDS AN ASCII8 CHARACTER # 04714 M01S00014.sform8 +++|ITEM ESCAPECODE I; # ESCAPE CODE # 04715 M01S02933.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING # 04716 M01S02934.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02935 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04717 M02S02935.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
Line S02936 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04718 M02S02936.ns2605 ---|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA # 04719 M01S02937.sform +++|ITEM NUMINCHARS I; # NUMBER OF CHARS. IN INSTRING #
Line S02938 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04720 M02S02938.sform8 ---|ITEM ESCAPECODE I; # ESCAPE CODE # 04721 M01S02939.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING # 04722 M01S02940.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02941 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04723 M03S02941.ns2605 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING # 04724 M01S02942.sform +++| 04725 M01S02943.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02944 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04726 M02S02944.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX];
Line S02945 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04727 M02S02945.ns2605 ---|FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04728 M01S00322.ns2605 +++|FROMCHAROS = VAROS; # CHARACTER OFFSET / VARDATA # 04729 M01S02946.sform +++|TOINDEX = 0; 04730 M01S02947.sform +++|TOCHAROS = STRINGOS; # CHARACTER OFFSET / INSTRING # 04731 M01S02948.sform +++|ESCAPECODE = 0; # CLEAR ESCAPE CODE #
Line S02949 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04732 M02S02949.ns2605 ---|NUMVDCHARS = PANNUMBYTE[0]; # SET VARDATA CHARACTER COUNT #
Line S02950 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04733 M02S02950.ns2605 ---|IF SLENGTH EQ 0 THEN
Line S02951 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04734 M02S02951.ns2605 ---| BEGIN # IF ZERO INSTRING COUNT #
Line S02952 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04735 M02S02952.ns2605 ---| NUMINCHARS = PANNUMBYTE[0] * 2; # ASSUME WORST CASE #
Line S02953 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04736 M02S02953.ns2605 ---| END
Line S02954 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04737 M02S02954.ns2605 ---|ELSE
Line S02955 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04738 M02S02955.ns2605 ---| BEGIN
Line S02956 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04739 M02S02956.ns2605 ---| NUMINCHARS = SLENGTH; # SET NUMBER OF CHARACTERS #
Line S02957 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04740 M02S02957.ns2605 ---| END
Line S02958 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04741 M02S02958.ns2605 ---|WHYLE NUMINCHARS NQ 0 AND NUMVDCHARS NQ 0 DO 04742 M01S00323.ns2605 +++|IF SLENGTH LQ 0 THEN SLENGTH = NUMVDCHARS * 2; 04743 M01S00324.ns2605 +++|NUMINCHARS = 0; # INITIALIZE LOOP # 04744 M01S00325.ns2605 +++|WHYLE NUMINCHARS LS SLENGTH AND NUMVDCHARS GR 0 DO 04745 M01S02959.sform +++| BEGIN # TRANSLATE CHARACTERS #
Line S02960 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04746 M02S02960.sform8 ---| ASCII8CHR = B<6*FROMCHAROS,12>FROMWORD; 04747 M01S00015.sform8 +++| ASCII8CHR = B<6*FROMCHAROS,12>FROMSTRIU[FROMINDEX]; 04748 M01S02961.sform +++| NUMVDCHARS = NUMVDCHARS - 1; # DECREMENT VARDATA COUNT # 04749 M01S02962.sform +++| FROMCHAROS = FROMCHAROS + 2; # UPDATE FROMSTRING CHAR. OFFSET # 04750 M01S02963.sform +++| IF FROMCHAROS EQ 10 THEN 04751 M01S02964.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY #
Line S02965 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04752 M02S02965.sform8 ---| FROMINDEX = FROMINDEX + 1; # GET NEXT WORD FROM FROMSTRING # 04753 M01S00016.sform8 +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S02966 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04754 M02S02966.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; 04755 M01S02967.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 04756 M01S02968.sform +++| END
Line S02969 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04757 M02S02969.ns2605 ---| IF ASCII8CHR EQ 58 THEN # CHECK FOR COLON #
Line S02970 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04758 M02S02970.ns2605 ---| BEGIN 04759 M01S00326.ns2605 +++| IF ASCII8CHR GQ 97 THEN 04760 M01S00327.ns2605 +++| BEGIN # IF LOWER CASE # 04761 M01S00328.ns2605 +++| ESCAPECODE = 62; 04762 M01S00329.ns2605 +++| ASCIICHR = ASCII8CHR - 96; # CONVERT TO UPPER CASE # 04763 M01S00330.ns2605 +++| END 04764 M01S00331.ns2605 +++| ELSE IF ASCII8CHR EQ TERASC8ATD[0] THEN 04765 M01S00332.ns2605 +++| BEGIN # IF 64-COLON OR 63-PERCENT # 04766 M01S02971.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. # 04767 M01S02972.sform +++| ASCIICHR = 04; 04768 M01S02973.sform +++| END
Line S02974 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04769 M02S02974.ns2605 ---| IF ASCII8CHR EQ 64 THEN # CHECK FOR AT SIGN #
Line S02975 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04770 M02S02975.ns2605 ---| BEGIN 04771 M01S00333.ns2605 +++| ELSE IF ASCII8CHR EQ 64 THEN 04772 M01S00334.ns2605 +++| BEGIN # IF AT SIGN # 04773 M01S02976.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. # 04774 M01S02977.sform +++| ASCIICHR = 01; 04775 M01S02978.sform +++| END
Line S02979 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04776 M02S02979.ns2605 ---| IF ASCII8CHR EQ 94 THEN # CHECK FOR CIRCUMFLEX #
Line S02980 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04777 M02S02980.ns2605 ---| BEGIN 04778 M01S00335.ns2605 +++| ELSE IF ASCII8CHR EQ 94 THEN 04779 M01S00336.ns2605 +++| BEGIN # IF CIRCUMFLEX # 04780 M01S02981.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. # 04781 M01S02982.sform +++| ASCIICHR = 02; 04782 M01S02983.sform +++| END
Line S02984 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04783 M02S02984.ns2605 ---| IF ASCII8CHR EQ 96 THEN # CHECK FOR REVERSE SLANT #
Line S02985 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04784 M02S02985.ns2605 ---| BEGIN 04785 M01S00337.ns2605 +++| ELSE IF ASCII8CHR EQ 96 THEN 04786 M01S00338.ns2605 +++| BEGIN # IF REVERSE SLANT # 04787 M01S02986.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. # 04788 M01S02987.sform +++| ASCIICHR = 07; 04789 M01S02988.sform +++| END
Line S02989 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04790 M02S02989.ns2605 ---| IF ASCII8CHR GQ 97 THEN # CHECK FOR UPPER CASE #
Line S02990 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04791 M02S02990.ns2605 ---| BEGIN
Line S02991 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04792 M02S02991.ns2605 ---| ESCAPECODE = 62;
Line S02992 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04793 M02S02992.ns2605 ---| ASCIICHR = ASCII8CHR - 96; # CONVERT TO LOWER CASE #
Line S02993 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04794 M02S02993.ns2605 ---| END 04795 M01S02994.sform +++| IF ESCAPECODE NQ 0 THEN 04796 M01S02995.sform +++| BEGIN # IF TWELVE BIT CHARACTER #
Line S02996 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04797 M02S02996.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
Line S02997 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04798 M02S02997.ns2605 ---| IF NUMINCHARS NQ 0 THEN 04799 M01S00339.ns2605 +++| IF NUMINCHARS LS SLENGTH-1 THEN 04800 M01S02998.sform +++| BEGIN # IF ROOM FOR ALL TWELVE BITS # 04801 M01S00340.ns2605 +++| NUMINCHARS = NUMINCHARS + 1; # INCREMENT CHARACTER COUNT #
Line S02999 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04802 M02S02999.sform8 ---| B<6*TOCHAROS,6>TOWORD = ESCAPECODE; 04803 M01S00017.sform8 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ESCAPECODE; 04804 M01S03000.sform +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET # 04805 M01S03001.sform +++| IF TOCHAROS EQ 10 THEN 04806 M01S03002.sform +++| BEGIN # IF TOSTRING WORD IS FULL # 04807 M01S03003.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03004 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04808 M02S03004.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S03005 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04809 M02S03005.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX # 04810 M01S00018.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX # 04811 M01S03006.sform +++| END
Line S03007 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04812 M02S03007.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
Line S03008 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04813 M03S03008.ns2605 ---| B<6*TOCHAROS,6>TOWORD = ASCIICHR;
Line S00019 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04814 M02S00019.ns2605 ---| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ASCIICHR;
Line S03009 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04815 M02S03009.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
Line S03010 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04816 M02S03010.ns2605 ---| IF TOCHAROS EQ 10 THEN
Line S03011 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04817 M02S03011.ns2605 ---| BEGIN # IF TOSTRING WORD IS FULL #
Line S03012 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04818 M02S03012.ns2605 ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03013 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04819 M03S03013.ns2605 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S03014 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04820 M03S03014.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00020 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04821 M02S00020.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03015 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04822 M02S03015.ns2605 ---| END 04823 M01S03016.sform +++| END 04824 M01S03017.sform +++| ESCAPECODE = 0; # CLEAR ESCAPE CODE # 04825 M01S03018.sform +++| END 04826 M01S03019.sform +++| ELSE 04827 M01S03020.sform +++| BEGIN 04828 M01S03021.sform +++| ASCIICHR = A82DC[ASCII8CHR]; # TRANSLATE CHARACTER #
Line S03022 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04829 M02S03022.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
Line S03023 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04830 M03S03023.ns2605 ---| B<6*TOCHAROS,6>TOWORD = ASCIICHR;
Line S00021 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04831 M02S00021.ns2605 ---| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ASCIICHR;
Line S03024 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04832 M02S03024.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
Line S03025 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04833 M02S03025.ns2605 ---| IF TOCHAROS EQ 10 THEN
Line S03026 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04834 M02S03026.ns2605 ---| BEGIN # IF TOSTRING WORD IS FULL #
Line S03027 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04835 M02S03027.ns2605 ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03028 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04836 M03S03028.ns2605 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S03029 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
M03 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04837 M03S03029.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00022 Modification History | |
---|---|
M01 (Added by) | sform8 |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04838 M02S00022.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03030 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04839 M02S03030.ns2605 ---| END 04840 M01S00341.ns2605 +++| END 04841 M01S00342.ns2605 +++| IF ESCAPECODE EQ 0 THEN 04842 M01S00343.ns2605 +++| BEGIN 04843 M01S00344.ns2605 +++| NUMINCHARS = NUMINCHARS + 1; # INCREMENT CHARACTER COUNT # 04844 M01S00345.ns2605 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ASCIICHR; 04845 M01S00346.ns2605 +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET # 04846 M01S00347.ns2605 +++| IF TOCHAROS EQ 10 THEN 04847 M01S00348.ns2605 +++| BEGIN # IF TOSTRING WORD IS FULL # 04848 M01S00349.ns2605 +++| TOCHAROS = 0; # RESET CHARACTER OFFSET # 04849 M01S00350.ns2605 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX # 04850 M01S00351.ns2605 +++| END 04851 M01S00352.ns2605 +++| END 04852 M01S00353.ns2605 +++| END 04853 M01S00354.ns2605 +++|WHYLE FILL AND NUMINCHARS LS SLENGTH DO 04854 M01S00355.ns2605 +++| BEGIN # IF BLANK FILL REQUIRED # 04855 M01S00356.ns2605 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = O"55"; 04856 M01S00357.ns2605 +++| SLENGTH = SLENGTH - 1; # DECREMENT CHARACTER COUNT # 04857 M01S00358.ns2605 +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET # 04858 M01S00359.ns2605 +++| IF TOCHAROS EQ 10 THEN 04859 M01S00360.ns2605 +++| BEGIN # IF TOSTRING WORD IS FULL # 04860 M01S00361.ns2605 +++| TOCHAROS = 0; # RESET CHARACTER OFFSET # 04861 M01S00362.ns2605 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03031 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04862 M02S03031.sform8 ---| END
Line S03032 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04863 M02S03032.sform8 ---| END
Line S03033 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04864 M02S03033.sform8 ---|IF TOCHAROS NQ 0 THEN
Line S03034 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04865 M02S03034.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
Line S03035 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04866 M02S03035.sform8 ---| FOR NUMINCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO
Line S03036 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04867 M02S03036.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
Line S03037 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04868 M02S03037.sform8 ---| B<6*NUMINCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMINCHARS,6>TOWORD; 04869 M01S03038.sform +++| END 04870 M01S03039.sform +++| END 04871 M01S03040.sform +++| 04872 M01S03041.sform +++|END # MVA8AS # 04873 M01S03042.sform +++|CONTROL EJECT; 04874 M01S03043.sform +++|
Line S03044 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04875 M02S03044.ns2605 ---|PROC MVA8DC(STRINGOS,SLENGTH); 04876 M01S00363.ns2605 +++|PROC MVA8DC(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL); 04877 M01S03045.sform +++| 04878 M01S03046.sform +++|# TITLE MVA8DC - MOVE AND TRANSLATE ASCII8 TO DISPLAY CODE. # 04879 M01S03047.sform +++| 04880 M01S03048.sform +++|BEGIN # MVA8DC # 04881 M01S03049.sform +++| 04882 M01S03050.sform +++|# 04883 M01S03051.sform +++|** MVA8DC - MOVE AND TRANSLATE ASCII8 TO DISPLAY CODE. 04884 M01S03052.sform +++|* 04885 M01S03053.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM VARDATA TO 04886 M01S03054.sform +++|* INSTRING AFTER A READ, USING THE BASED ARRAYS FROMSTRING 04887 M01S03055.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII8 TO DISPLAY CODE. 04888 M01S03056.sform +++|*
Line S03057 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04889 M02S03057.ns2605 ---|* PROC MVA8DC(STRINGOS,SLENGTH) 04890 M01S00364.ns2605 +++|* PROC MVA8DC(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL) 04891 M01S03058.sform +++|* 04892 M01S03059.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04893 M01S03060.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO INSTRING. 04894 M01S00365.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA. 04895 M01S03061.sform +++|* SLENGTH = INSTRING LENGTH IN SIX BIT CHARACTERS. 04896 M01S00366.ns2605 +++|* NUMVDCHARS = LENGTH OF FIELD OR PANEL STRING. 04897 M01S00367.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 04898 M01S03062.sform +++|* 04899 M01S03063.sform +++|* EXIT STRING MOVED AND TRANSLATED. 04900 M01S03064.sform +++|* 04901 M01S03065.sform +++|* NOTES SINCE INSTRING IS DEFINED IN THE APPLICATION PROGRAM 04902 M01S03066.sform +++|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY 04903 M01S03067.sform +++|* TOCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN. 04904 M01S03068.sform +++|# 04905 M01S03069.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING # 04906 M01S03070.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 04907 M01S00368.ns2605 +++|ITEM VAROS I; # VARIABLE CHARACTER OFFSET # 04908 M01S00369.ns2605 +++|ITEM NUMVDCHARS I; # FIELD/PANEL STRING LENGTH # 04909 M01S00370.ns2605 +++|ITEM FILL B; # TRUE IF BLANK FILL REQUIRED # 04910 M01S03071.sform +++| 04911 M01S03072.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING # 04912 M01S03073.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S03074 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04913 M02S03074.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING # 04914 M01S03075.sform +++|ITEM NUMCHARS I; # NUMBER OF CHARACTERS TO TRANS. # 04915 M01S03076.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING # 04916 M01S03077.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S03078 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04917 M02S03078.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING # 04918 M01S03079.sform +++|
Line S03080 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04919 M02S03080.ns2605 ---|FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA # 04920 M01S00371.ns2605 +++|FROMCHAROS = VAROS; # CHARACTER OFFSET / VARDATA # 04921 M01S03081.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM VARDATA #
Line S03082 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04922 M02S03082.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 04923 M01S03083.sform +++|TOINDEX = 0; 04924 M01S03084.sform +++|TOCHAROS = STRINGOS; # CHARACTER OFFSET / INSTRING #
Line S03085 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04925 M02S03085.ns2605 ---|
Line S03086 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04926 M02S03086.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0]
Line S03087 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04927 M02S03087.ns2605 ---| OR SLENGTH EQ 0 THEN
Line S03088 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04928 M02S03088.ns2605 ---| BEGIN # IF INSTRING EXCEEDS VARDATA #
Line S03089 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04929 M02S03089.ns2605 ---| SLENGTH = PANNUMBYTE[0]; # RESET NUMBER OF CHARS. TO MOVE #
Line S03090 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04930 M02S03090.ns2605 ---| END
Line S03091 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04931 M02S03091.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO 04932 M01S00372.ns2605 +++|IF SLENGTH LQ 0 THEN SLENGTH = NUMVDCHARS; 04933 M01S00373.ns2605 +++|IF SLENGTH LS NUMVDCHARS THEN NUMVDCHARS = SLENGTH; 04934 M01S00374.ns2605 +++|NUMCHARS = 0; # INITIALIZE CHARACTER COUNT # 04935 M01S00375.ns2605 +++|WHYLE NUMCHARS LS NUMVDCHARS DO
Line S03092 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04936 M02S03092.sform8 ---| BEGIN # TRANSLATE CHARACTERS #
Line S03093 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04937 M02S03093.sform8 ---| B<6*TOCHAROS,6>TOWORD = A82DC[B<6*FROMCHAROS,12>FROMWORD]; 04938 M01S00023.sform8 +++| BEGIN # MOVE AND TRANSLATE CHARACTER # 04939 M01S00376.ns2605 +++| NUMCHARS = NUMCHARS +1; # INCREMENT CHARACTER COUNT # 04940 M01S00024.sform8 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = 04941 M01S00025.sform8 +++| A82DC[B<6*FROMCHAROS,12>FROMSTRIU[FROMINDEX]]; 04942 M01S03094.sform +++| FROMCHAROS = FROMCHAROS + 2; # UPDATE FROMSTRING CHAR. OFFSET # 04943 M01S03095.sform +++| IF FROMCHAROS EQ 10 THEN 04944 M01S03096.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY # 04945 M01S03097.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 04946 M01S03098.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S03099 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04947 M02S03099.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING # 04948 M01S03100.sform +++| END 04949 M01S03101.sform +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET # 04950 M01S03102.sform +++| IF TOCHAROS EQ 10 THEN 04951 M01S03103.sform +++| BEGIN # IF TOSTRING WORD IS FULL # 04952 M01S03104.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03105 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04953 M02S03105.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S03106 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04954 M02S03106.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX # 04955 M01S00026.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03107 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04956 M02S03107.sform8 ---| END
Line S03108 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04957 M02S03108.sform8 ---| END
Line S03109 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04958 M02S03109.sform8 ---|IF TOCHAROS NQ 0 THEN
Line S03110 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04959 M02S03110.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
Line S03111 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04960 M02S03111.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS - 1 DO
Line S03112 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04961 M02S03112.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
Line S03113 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 04962 M02S03113.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD; 04963 M01S03114.sform +++| END 04964 M01S03115.sform +++| END 04965 M01S00377.ns2605 +++|WHYLE FILL AND NUMCHARS LS SLENGTH DO 04966 M01S00378.ns2605 +++| BEGIN # IF BLANK FILL REQUIRED # 04967 M01S00379.ns2605 +++| SLENGTH = SLENGTH - 1; 04968 M01S00380.ns2605 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = O"55"; 04969 M01S00381.ns2605 +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING OFFSET # 04970 M01S00382.ns2605 +++| IF TOCHAROS EQ 10 THEN 04971 M01S00383.ns2605 +++| BEGIN # IF TOSTRING WORD IS FULL # 04972 M01S00384.ns2605 +++| TOCHAROS = 0; # RESET CHARACTER OFFSET # 04973 M01S00385.ns2605 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX # 04974 M01S00386.ns2605 +++| END 04975 M01S00387.ns2605 +++| END 04976 M01S03116.sform +++| 04977 M01S03117.sform +++|END # MVA8DC # 04978 M01S03118.sform +++|CONTROL EJECT; 04979 M01S03119.sform +++|
Line S03120 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04980 M02S03120.ns2605 ---|PROC MVDCA8(STRINGOS,SLENGTH); 04981 M01S00388.ns2605 +++|PROC MVDCA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL); 04982 M01S03121.sform +++| 04983 M01S03122.sform +++|# TITLE MVDCA8 - MOVE AND TRANSLATE DISPLAY CODE TO ASCII8. # 04984 M01S03123.sform +++| 04985 M01S03124.sform +++|BEGIN # MVDCA8 # 04986 M01S03125.sform +++| 04987 M01S03126.sform +++|# 04988 M01S03127.sform +++|** MVDCA8 - MOVE AND TRANSLATE DISPLAY CODE TO ASCII8. 04989 M01S03128.sform +++|* 04990 M01S03129.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM OUTSTRING TO 04991 M01S03130.sform +++|* VARDATA BEFORE A WRITE, USING THE BASED ARRAYS FROMSTRING 04992 M01S03131.sform +++|* AND TOSTRING, TRANSLATING FROM DISPLAY CODE TO ASCII8. 04993 M01S03132.sform +++|*
Line S03133 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 04994 M02S03133.ns2605 ---|* PROC MVDCA8(STRINGOS,SLENGTH) 04995 M01S00389.ns2605 +++|* PROC MVDCA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL) 04996 M01S03134.sform +++|* 04997 M01S03135.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED. 04998 M01S03136.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO OUTSTRING. 04999 M01S00390.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA. 05000 M01S03137.sform +++|* SLENGTH = OUTSTRING LENGTH IN SIX BIT CHARACTERS. 05001 M01S00391.ns2605 +++|* NUMVDCHARS = LENGTH OF FIELD OR PANEL STRING. 05002 M01S00392.ns2605 +++|* FILL = TRUE IF BLANK FILL REQUIRED. 05003 M01S03138.sform +++|* 05004 M01S03139.sform +++|* EXIT STRING MOVED AND TRANSLATED. 05005 M01S03140.sform +++|* 05006 M01S03141.sform +++|* NOTES SINCE OUTSTRING IS DEFINED IN THE APPLICATION PROGRAM 05007 M01S03142.sform +++|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY 05008 M01S03143.sform +++|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN. 05009 M01S03144.sform +++|# 05010 M01S03145.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING # 05011 M01S03146.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 05012 M01S00393.ns2605 +++|ITEM VAROS I; # VARIABLE CHARACTER OFFSET # 05013 M01S00394.ns2605 +++|ITEM NUMVDCHARS I; # FIELD/PANEL STRING LENGTH # 05014 M01S00395.ns2605 +++|ITEM FILL B; # TRUE IF BLANK FILL REQUIRED # 05015 M01S03147.sform +++| 05016 M01S03148.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING # 05017 M01S03149.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S03150 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05018 M02S03150.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING # 05019 M01S03151.sform +++|ITEM NUMCHARS I; # NUMBER OF CHARACTERS TO TRANS. # 05020 M01S00396.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL # 05021 M01S03152.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING # 05022 M01S03153.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S03154 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05023 M02S03154.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING # 05024 M01S03155.sform +++| 05025 M01S03156.sform +++|FROMCHAROS = STRINGOS; # CHARACTER OFFSET / OUTSTRING # 05026 M01S03157.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S03158 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05027 M02S03158.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX]; 05028 M01S03159.sform +++|TOINDEX = 0;
Line S03160 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05029 M02S03160.ns2605 ---|TOCHAROS = 0; # NO CHARACTER OFFSET / VARDATA #
Line S03161 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05030 M02S03161.ns2605 ---| # TRANSLATE PANNUMBYTE CHARS. #
Line S03162 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05031 M02S03162.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0]
Line S03163 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05032 M02S03163.ns2605 ---| OR SLENGTH EQ 0 THEN
Line S03164 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05033 M02S03164.ns2605 ---| BEGIN # IF OUTSTRING EXCEEDS VARDATA #
Line S03165 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05034 M02S03165.ns2605 ---| SLENGTH = PANNUMBYTE[0]; # RESET NUMBER OF CHARS. TO MOVE #
Line S03166 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05035 M02S03166.ns2605 ---| END 05036 M01S00397.ns2605 +++|TOCHAROS = VAROS; # CHARACTER OFFSET / VARDATA # 05037 M01S00398.ns2605 +++|IF SLENGTH GR NUMVDCHARS OR SLENGTH LQ 0 THEN 05038 M01S00399.ns2605 +++| SLENGTH = NUMVDCHARS; # IF LENGTH ADJUSTMENT NEEDED #
Line S03167 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 05039 M02S03167.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO 05040 M01S00400.ns2605 +++|FOR NUMCHARS = 1 STEP 1 UNTIL SLENGTH DO 05041 M01S03168.sform +++| BEGIN # TRANSLATE CHARACTERS #
Line S03169 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05042 M02S03169.sform8 ---| B<6*TOCHAROS,12>TOWORD = DC2A8[B<6*FROMCHAROS,6>FROMWORD]; 05043 M01S00027.sform8 +++| B<6*TOCHAROS,12>TOSTRIU[TOINDEX] = 05044 M01S00028.sform8 +++| DC2A8[B<6*FROMCHAROS,6>FROMSTRIU[FROMINDEX]]; 05045 M01S03170.sform +++| FROMCHAROS = FROMCHAROS + 1; # UPDATE FROMSTRING CHAR. OFFSET # 05046 M01S03171.sform +++| IF FROMCHAROS EQ 10 THEN 05047 M01S03172.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY # 05048 M01S03173.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET # 05049 M01S03174.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S03175 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05050 M02S03175.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING # 05051 M01S03176.sform +++| END 05052 M01S03177.sform +++| TOCHAROS = TOCHAROS + 2; # UPDATE TOSTRING CHAR. OFFSET # 05053 M01S03178.sform +++| IF TOCHAROS EQ 10 THEN 05054 M01S03179.sform +++| BEGIN # IF TOSTRING WORD IS FULL # 05055 M01S03180.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03181 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05056 M02S03181.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
Line S03182 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05057 M02S03182.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX # 05058 M01S00029.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03183 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05059 M02S03183.sform8 ---| END
Line S03184 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05060 M02S03184.sform8 ---| END
Line S03185 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05061 M02S03185.sform8 ---|IF TOCHAROS NQ 0 THEN
Line S03186 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05062 M02S03186.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
Line S03187 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05063 M02S03187.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO
Line S03188 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05064 M02S03188.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
Line S03189 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform8 |
Seq # *Modification Id* Act ----------------------------+ 05065 M02S03189.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD; 05066 M01S03190.sform +++| END 05067 M01S03191.sform +++| END 05068 M01S00401.ns2605 +++|WHYLE FILL AND SLENGTH LS NUMVDCHARS DO 05069 M01S00402.ns2605 +++| BEGIN 05070 M01S00403.ns2605 +++| NUMVDCHARS = NUMVDCHARS - 1; 05071 M01S00404.ns2605 +++| B<6*TOCHAROS,12>TOSTRIU[TOINDEX] = B<48,12>SPACE; 05072 M01S00405.ns2605 +++| TOCHAROS = TOCHAROS + 2; # INCREMENT TOSTRING OFFSET # 05073 M01S00406.ns2605 +++| IF TOCHAROS EQ 10 THEN 05074 M01S00407.ns2605 +++| BEGIN # IF FROMSTRING WORD IS EMPTY # 05075 M01S00408.ns2605 +++| TOCHAROS = 0; # RESET CHARACTER OFFSET # 05076 M01S00409.ns2605 +++| TOINDEX = TOINDEX + 1; # UPDATE FROMSTRING WORD INDEX # 05077 M01S00410.ns2605 +++| END 05078 M01S00411.ns2605 +++| END 05079 M01S03192.sform +++| 05080 M01S03193.sform +++|END # MVDCA8 # 05081 M01S03194.sform +++|CONTROL EJECT; 05082 M01S03195.sform +++| 05083 M01S03196.sform +++|PROC NCHECK(FLDIND,IVAL,EVAL,INPUTTYPE,DOLLARSIGN); 05084 M01S03197.sform +++| 05085 M01S03198.sform +++|# TITLE NCHECK - NUMERIC CHECK OF INPUT FIELD. # 05086 M01S03199.sform +++| 05087 M01S03200.sform +++|BEGIN # NCHECK # 05088 M01S03201.sform +++| 05089 M01S03202.sform +++|# 05090 M01S03203.sform +++|** NCHECK - CHECK NUMERIC FIELD. 05091 M01S03204.sform +++|* 05092 M01S03205.sform +++|* THIS PROCEDURE CHECKS THAT THE INPUT FITS THE FORMAT SPECIFIED 05093 M01S03206.sform +++|* FOR THE FIELD AND CALULATES THE NUMERIC VALUE OF THE INPUT. 05094 M01S03207.sform +++|* 05095 M01S03208.sform +++|* PROC NCHECK(FLDIND,IVAL,EVAL,INPUTTYPE,DOLLARSIGN) 05096 M01S03209.sform +++|* 05097 M01S03210.sform +++|* ENTRY FLDIND = INDEX OF CURRENT FIELD IN FLDLIST. 05098 M01S03211.sform +++|* 05099 M01S03212.sform +++|* EXIT IVAL = INTEGER VALUE OF INPUT. 05100 M01S03213.sform +++|* EVAL = EXPONENT VALUE OF INPUT. 05101 M01S03214.sform +++|* INPUTTYPE = FORMAT TYPE OF INPUT. 05102 M01S03215.sform +++|* DOLLARSIGN = TRUE IF $ IN INPUT. 05103 M01S03216.sform +++|* FLDVALID[FLDIND] = FALSE, IF INVALID INPUT. 05104 M01S03217.sform +++|* 05105 M01S03218.sform +++|* CALLS GETNUM, SKPBLK. 05106 M01S03219.sform +++|# 05107 M01S03220.sform +++|ITEM FLDIND I; # INDEX IN FLDLIST # 05108 M01S03221.sform +++|ITEM IVAL I; # INTEGER VALUE # 05109 M01S03222.sform +++|ITEM EVAL I; # EXPONENT VALUE # 05110 M01S03223.sform +++|ITEM INPUTTYPE I; # FORMAT TYPE (9 N $ E BAD)# 05111 M01S03224.sform +++|ITEM DOLLARSIGN B; # $ IN INPUT # 05112 M01S03225.sform +++| 05113 M01S03226.sform +++|ITEM CHAR I; # INPUT CHARACTER # 05114 M01S03227.sform +++|ITEM CHARPOS I; # CHARACTER POSITION IN FIELD # 05115 M01S03228.sform +++|ITEM COMMADEL I = O"0054"; # COMMA DELIMETER # 05116 M01S03229.sform +++|ITEM COMMATHERE B; # COMMA PRESENT FLAG # 05117 M01S03230.sform +++|ITEM DECIMALPT B; # DECIMAL POINT IN INPUT # 05118 M01S03231.sform +++|ITEM DIGITINT I; # NUMBER OF DIGITS IN INTEGER # 05119 M01S03232.sform +++|ITEM DIGITLIMIT I=17; # MAXIMUM DIGITS ALLOWED # 05120 M01S03233.sform +++|ITEM DIGITS I; # NUMBER OF DIGITS IN SUBFIELD # 05121 M01S03234.sform +++|ITEM DVAL I; # DECIMAL VALUE # 05122 M01S03235.sform +++|ITEM ESIGN I; # EXPONENT SIGN VALUE # 05123 M01S03236.sform +++|ITEM EXPONLIMIT I=322; # MAXIMUM EXPONENT ALLOWED # 05124 M01S03237.sform +++|ITEM I I; # LOOP COUNTER # 05125 M01S03238.sform +++|ITEM ISIGN I; # INTEGER SIGN VALUE #
Line S03239 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05126 M02S03239.sform25 ---|ITEM PERIODDEL I = O"0056"; # PERIOD DELIMETER # 05127 M01S00001.sform25 +++|ITEM PERIODDEL I = O"0056"; # PERIOD DELIMITER # 05128 M01S03240.sform +++|ITEM SOMEDIGITS B; # IF ANY NUMERIC INPUT # 05129 M01S03241.sform +++|ITEM TVAL I; # TEMPORARY VALUE # 05130 M01S00002.sform25 +++|ITEM VARIND I; # INDEX INTO VARLIST OF VARIABLE # 05131 M01S03242.sform +++| 05132 M01S03243.sform +++|SOMEDIGITS = FALSE; # INITIAL VALUES # 05133 M01S03244.sform +++|COMMATHERE = FALSE; 05134 M01S03245.sform +++|DOLLARSIGN = FALSE; 05135 M01S03246.sform +++|DECIMALPT = FALSE; 05136 M01S00003.sform25 +++|VARIND = FLDVARORD[FLDIND]; 05137 M01S03247.sform +++| 05138 M01S03248.sform +++|CONTROL IFEQ EUROPEAN,1; # IF EUROPEAN CURRENCY FORMAT #
Line S03249 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05139 M02S03249.sform25 ---| IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"$" THEN 05140 M01S00004.sform25 +++| IF VARPICTYPE[VARIND] EQ FORMTYPE"$" THEN 05141 M01S03250.sform +++| BEGIN # CURRENCY FORMAT # 05142 M01S03251.sform +++| COMMADEL = PERIOD; 05143 M01S03252.sform +++| PERIODDEL = COMMA; 05144 M01S03253.sform +++| END 05145 M01S03254.sform +++| ELSE 05146 M01S03255.sform +++| BEGIN # NOT CURRENCY FORMAT # 05147 M01S03256.sform +++| COMMADEL = COMMA; 05148 M01S03257.sform +++| PERIODDEL = PERIOD; 05149 M01S03258.sform +++| END 05150 M01S03259.sform +++|CONTROL FI; # END EUROPEAN # 05151 M01S03260.sform +++| 05152 M01S03261.sform +++|INPUTTYPE = FORMTYPE"BAD"; 05153 M01S03262.sform +++|IVAL = 0; 05154 M01S03263.sform +++|DVAL = 0; 05155 M01S03264.sform +++|EVAL = 0; 05156 M01S03265.sform +++|TVAL = 0; 05157 M01S03266.sform +++|ISIGN = 1; 05158 M01S03267.sform +++|ESIGN = 1; 05159 M01S03268.sform +++|CHARPOS = 0; 05160 M01S03269.sform +++|DIGITINT = 0; 05161 M01S03270.sform +++| 05162 M01S03271.sform +++|SKPBLK(FLDIND,CHARPOS,CHAR); # FIND START OF FIELD # 05163 M01S03272.sform +++| 05164 M01S03273.sform +++|IF UPPER(CHAR) EQ CAPE THEN GOTO EXPSUBFLD; # START OF EXPONENT # 05165 M01S03274.sform +++| 05166 M01S03275.sform +++|IF CHAR EQ DOLLAR THEN 05167 M01S03276.sform +++| BEGIN # CURRENCY INPUT # 05168 M01S03277.sform +++| DOLLARSIGN = TRUE; 05169 M01S03278.sform +++| INPUTTYPE = FORMTYPE"$"; 05170 M01S03279.sform +++| CHARPOS = CHARPOS + 1; 05171 M01S03280.sform +++| END 05172 M01S03281.sform +++| 05173 M01S03282.sform +++|IF CHAR EQ PLUS OR CHAR EQ MINUS THEN 05174 M01S03283.sform +++| BEGIN # SIGNED INPUT # 05175 M01S03284.sform +++| INPUTTYPE = FORMTYPE"N"; 05176 M01S03285.sform +++| IF CHAR EQ MINUS THEN ISIGN = -1; 05177 M01S03286.sform +++| CHARPOS = CHARPOS + 1; 05178 M01S03287.sform +++| END 05179 M01S03288.sform +++| 05180 M01S03289.sform +++|IF CHAR EQ PERIODDEL THEN GOTO DECSUBFLD; # START OF DECIMAL # 05181 M01S03290.sform +++| 05182 M01S03291.sform +++|INTSUBFLD: # GET VALUE OF INTEGER SUBFIELD # 05183 M01S03292.sform +++| 05184 M01S03293.sform +++| GETNUM(FLDIND,CHARPOS,IVAL,DIGITS); 05185 M01S03294.sform +++| DIGITINT = DIGITINT + DIGITS;
Line S03295 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05186 M02S03295.sform25 ---| IF (COMMATHERE AND DIGITS NQ 3) OR DIGITINT GR DIGITLIMIT THEN 05187 M01S00005.sform25 +++| IF (COMMATHERE AND DIGITS NQ 3) 05188 M01S00006.sform25 +++| OR (DIGITINT GR DIGITLIMIT AND VARTYPE[VARIND] GR 1) THEN 05189 M01S03296.sform +++| BEGIN 05190 M01S03297.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05191 M01S03298.sform +++| RETURN; 05192 M01S03299.sform +++| END 05193 M01S03300.sform +++| IF DIGITS NQ 0 THEN SOMEDIGITS = TRUE; 05194 M01S03301.sform +++| IF NEXTCHAR(FLDIND,CHARPOS) EQ COMMADEL THEN 05195 M01S03302.sform +++| BEGIN # CURRENCY TYPE INPUT # 05196 M01S03303.sform +++| IF (NOT COMMATHERE AND DIGITS GR 3) OR DIGITS LS 1 THEN 05197 M01S03304.sform +++| BEGIN 05198 M01S03305.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05199 M01S03306.sform +++| RETURN; 05200 M01S03307.sform +++| END 05201 M01S03308.sform +++| DOLLARSIGN = TRUE; 05202 M01S03309.sform +++| COMMATHERE = TRUE; 05203 M01S03310.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] - 1 THEN GOTO ENDOFFLD; 05204 M01S03311.sform +++| CHARPOS = CHARPOS + 1; 05205 M01S03312.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 05206 M01S03313.sform +++| IF CHAR LS ZEROCH OR CHAR GR NINECH THEN 05207 M01S03314.sform +++| BEGIN # INVALID CHARACTER # 05208 M01S03315.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05209 M01S03316.sform +++| RETURN; 05210 M01S03317.sform +++| END 05211 M01S03318.sform +++| INPUTTYPE = FORMTYPE"$"; 05212 M01S03319.sform +++| GOTO INTSUBFLD; 05213 M01S03320.sform +++| END
Line S03321 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05214 M02S03321.sform25 ---| IVAL = ISIGN * IVAL;
Line S00007 Modification History | |
---|---|
M01 (Added by) | sform25 |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05215 M02S00007.sfor25a ---| IF VARTYPE[VARIND] GR 1 THEN IVAL = ISIGN * IVAL; 05216 M01S00001.sfor25a +++| IVAL = ISIGN * IVAL; 05217 M01S03322.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD; 05218 M01S03323.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); # LOOK AT NEXT CHARACTER # 05219 M01S03324.sform +++| IF UPPER(CHAR) EQ CAPE THEN GOTO EXPSUBFLD; # START OF EXPONENT # 05220 M01S03325.sform +++| IF CHAR EQ PERIODDEL THEN GOTO DECSUBFLD; # START OF DECIMAL # 05221 M01S03326.sform +++| IF CHAR EQ MINUS OR CHAR EQ PLUS AND SOMEDIGITS THEN 05222 M01S03327.sform +++| BEGIN # START OF EXPONENT # 05223 M01S03328.sform +++| GOTO EXPSUBFLD; 05224 M01S03329.sform +++| END 05225 M01S03330.sform +++| IF CHAR EQ BLANK THEN GOTO ENDOFFLD; # END OF FIELD # 05226 M01S03331.sform +++| INPUTTYPE = FORMTYPE"BAD"; # BAD INPUT # 05227 M01S03332.sform +++| RETURN; 05228 M01S03333.sform +++| 05229 M01S03334.sform +++|DECSUBFLD: # GET VALUE OF DECIMAL SUBFIELD # 05230 M01S03335.sform +++| 05231 M01S03336.sform +++| DECIMALPT = TRUE; 05232 M01S03337.sform +++| INPUTTYPE = FORMTYPE"$"; 05233 M01S03338.sform +++| CHARPOS = CHARPOS + 1; 05234 M01S03339.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD; 05235 M01S03340.sform +++| GETNUM(FLDIND,CHARPOS,DVAL,DIGITS);
Line S03341 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05236 M02S03341.sform25 ---| DIGITINT = DIGITINT + DIGITS;
Line S03342 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05237 M02S03342.sform25 ---| IF DIGITINT GR DIGITLIMIT THEN
Line S00008 Modification History | |
---|---|
M01 (Added by) | sform25 |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05238 M02S00008.sfor25a ---| IF DIGITINT+DIGITS GR DIGITLIMIT AND VARTYPE[VARIND] GR 1 THEN 05239 M01S00002.sfor25a +++| DIGITINT = DIGITINT + DIGITS; 05240 M01S00003.sfor25a +++| IF DIGITINT GR DIGITLIMIT AND VARTYPE[VARIND] GR 1 THEN 05241 M01S03343.sform +++| BEGIN # TOO MANY DIGITS ENTERED # 05242 M01S03344.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05243 M01S03345.sform +++| RETURN; 05244 M01S03346.sform +++| END 05245 M01S03347.sform +++| IF DIGITS NQ 0 THEN 05246 M01S03348.sform +++| BEGIN # SOME DECIMAL DIGITS ENTERED #
Line S03349 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05247 M02S03349.sform25 ---| FOR I = 1 STEP 1 UNTIL DIGITS DO
Line S00009 Modification History | |
---|---|
M01 (Added by) | sform25 |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05248 M02S00009.sfor25a ---| FOR I = 1 STEP 1 WHILE I LQ DIGITS AND DIGITINT+I LQ DIGITLIMIT DO 05249 M01S00004.sfor25a +++| IF DIGITINT LQ DIGITLIMIT THEN 05250 M01S03350.sform +++| BEGIN
Line S03351 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05251 M02S03351.sfor25a ---| IVAL = IVAL * 10; 05252 M01S00005.sfor25a +++| FOR I = 1 STEP 1 UNTIL DIGITS DO 05253 M01S00006.sfor25a +++| BEGIN 05254 M01S00007.sfor25a +++| IVAL = IVAL * 10; 05255 M01S00008.sfor25a +++| END 05256 M01S00009.sfor25a +++| IVAL = IVAL + DVAL*ISIGN; 05257 M01S03352.sform +++| END
Line S03353 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | sform25 |
Seq # *Modification Id* Act ----------------------------+ 05258 M02S03353.sform25 ---| IVAL = IVAL + DVAL*ISIGN;
Line S00010 Modification History | |
---|---|
M01 (Added by) | sform25 |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05259 M02S00010.sfor25a ---| DIGITINT = DIGITINT + DIGITS;
Line S00011 Modification History | |
---|---|
M01 (Added by) | sform25 |
M02 (Updated by) | sfor25a |
Seq # *Modification Id* Act ----------------------------+ 05260 M02S00011.sfor25a ---| IF DIGITINT LQ DIGITLIMIT THEN IVAL = IVAL + DVAL*ISIGN; 05261 M01S03354.sform +++| SOMEDIGITS = TRUE; 05262 M01S03355.sform +++| END 05263 M01S03356.sform +++| EVAL = -DIGITS; 05264 M01S03357.sform +++| IF DIGITS GR 2 THEN INPUTTYPE = FORMTYPE"E"; 05265 M01S03358.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD; # END OF FIELD # 05266 M01S03359.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 05267 M01S03360.sform +++| IF CHAR EQ PLUS OR CHAR EQ MINUS 05268 M01S03361.sform +++| OR UPPER(CHAR) EQ CAPE THEN 05269 M01S03362.sform +++| BEGIN # START OF EXPONENT # 05270 M01S03363.sform +++| GOTO EXPSUBFLD; 05271 M01S03364.sform +++| END 05272 M01S03365.sform +++| IF CHAR EQ BLANK THEN GOTO ENDOFFLD; # END OF FIELD # 05273 M01S03366.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05274 M01S03367.sform +++| RETURN; 05275 M01S03368.sform +++| 05276 M01S03369.sform +++|EXPSUBFLD: # GET VALUE OF EXPONENT SUBFIELD # 05277 M01S03370.sform +++| 05278 M01S03371.sform +++| INPUTTYPE = FORMTYPE"E"; 05279 M01S03372.sform +++| IF UPPER(CHAR) EQ CAPE THEN 05280 M01S03373.sform +++| BEGIN # SKIP E CHARACTER # 05281 M01S03374.sform +++| CHARPOS = CHARPOS + 1; 05282 M01S03375.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 05283 M01S03376.sform +++| END 05284 M01S03377.sform +++| IF CHAR EQ MINUS THEN 05285 M01S03378.sform +++| BEGIN # NEGATIVE EXPONENT # 05286 M01S03379.sform +++| ESIGN = -1; 05287 M01S03380.sform +++| CHARPOS = CHARPOS + 1; 05288 M01S03381.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 05289 M01S03382.sform +++| END 05290 M01S03383.sform +++| ELSE IF CHAR EQ PLUS THEN 05291 M01S03384.sform +++| BEGIN # POSITIVE EXPONENT # 05292 M01S03385.sform +++| CHARPOS = CHARPOS + 1; 05293 M01S03386.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 05294 M01S03387.sform +++| END 05295 M01S03388.sform +++| GETNUM(FLDIND,CHARPOS,TVAL,DIGITS); 05296 M01S03389.sform +++| IF DIGITS EQ 0 OR DIGITS GR DIGITLIMIT THEN 05297 M01S03390.sform +++| BEGIN # TOO MANY OR NO DIGITS IN EXP # 05298 M01S03391.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05299 M01S03392.sform +++| RETURN; 05300 M01S03393.sform +++| END 05301 M01S03394.sform +++| EVAL = ESIGN * TVAL + EVAL; 05302 M01S03395.sform +++| 05303 M01S03396.sform +++|ENDOFFLD: # END OF INPUT FIELD # 05304 M01S03397.sform +++| 05305 M01S03398.sform +++| IF ABS(EVAL) + DIGITINT GR EXPONLIMIT THEN 05306 M01S03399.sform +++| BEGIN # INPUT NUMBER TOO LARGE # 05307 M01S03400.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05308 M01S03401.sform +++| RETURN; 05309 M01S03402.sform +++| END 05310 M01S03403.sform +++| 05311 M01S03404.sform +++| IF (DOLLARSIGN AND (INPUTTYPE EQ FORMTYPE"E")) OR NOT SOMEDIGITS THEN 05312 M01S03405.sform +++| BEGIN # REAL INPUT WITH $ OR NO DIGITS # 05313 M01S03406.sform +++| INPUTTYPE = FORMTYPE"BAD"; 05314 M01S03407.sform +++| RETURN; 05315 M01S03408.sform +++| END 05316 M01S03409.sform +++| 05317 M01S03410.sform +++| IF SOMEDIGITS AND (FORMTYPE"NINE" GR INPUTTYPE) THEN 05318 M01S03411.sform +++| BEGIN # UNSIGNED INTEGER INPUT # 05319 M01S03412.sform +++| INPUTTYPE = FORMTYPE"NINE"; 05320 M01S03413.sform +++| END 05321 M01S03414.sform +++| 05322 M01S03415.sform +++| IF CHARPOS LQ FLDLENGTH[FLDIND] -1 THEN 05323 M01S03416.sform +++| BEGIN # CHECK FOR EXTRA CHARACTERS # 05324 M01S03417.sform +++| FOR I = CHARPOS STEP 1 UNTIL FLDLENGTH[FLDIND] -1 DO 05325 M01S03418.sform +++| BEGIN 05326 M01S03419.sform +++| IF NEXTCHAR(FLDIND,I) NQ BLANK THEN INPUTTYPE = FORMTYPE"BAD"; 05327 M01S03420.sform +++| END 05328 M01S03421.sform +++| END 05329 M01S03422.sform +++| 05330 M01S03423.sform +++|END # NCHECK # 05331 M01S03424.sform +++|CONTROL EJECT; 05332 M01S03425.sform +++| 05333 M01S03426.sform +++|PROC PICVAL(FLDIND); 05334 M01S03427.sform +++| 05335 M01S03428.sform +++|# TITLE PICVAL - PERFORM PICTURE VALIDATION. # 05336 M01S03429.sform +++| 05337 M01S03430.sform +++|BEGIN # PICVAL # 05338 M01S03431.sform +++| 05339 M01S03432.sform +++|# 05340 M01S03433.sform +++|** PICVAL - PERFORM PICTURE VALIDATION. 05341 M01S03434.sform +++|* 05342 M01S03435.sform +++|* THIS PROCEDURE VALIDATES THAT INPUT TO THE VARIABLE POINTED TO 05343 M01S03436.sform +++|* BY FLDIND CONFORMS WITH THE PICTURE TYPE SPECIFIED IN VARLIST. 05344 M01S03437.sform +++|* 05345 M01S03438.sform +++|* PROC PICVAL(FLDIND) 05346 M01S03439.sform +++|* 05347 M01S03440.sform +++|* ENTRY FLDIND = FLDLIST INDEX FOR FIELD TO BE CHECKED. 05348 M01S03441.sform +++|* 05349 M01S03442.sform +++|* EXIT FLDVALID[FLDIND] = FALSE, IF INPUT IS INVALID. 05350 M01S03443.sform +++|* 05351 M01S03444.sform +++|* CALLS DATEVL, NCHECK. 05352 M01S03445.sform +++|# 05353 M01S03446.sform +++|ITEM FLDIND I; # INDEX OF VARIABLE TO VALIDATE # 05354 M01S03447.sform +++| 05355 M01S03448.sform +++|ITEM DOLLARSIGN B; # $ IN INPUT # 05356 M01S03449.sform +++|ITEM EVAL I; # EXPONENT VALUE OF INPUT # 05357 M01S03450.sform +++|ITEM INPIND I; # INDEX OF CHARACTER IN INPUT # 05358 M01S03451.sform +++|ITEM INPTYPE I; # FORMAT TYPE OF INPUT # 05359 M01S03452.sform +++|ITEM IVAL I; # INTEGER VALUE OF INPUT # 05360 M01S03453.sform +++|ITEM NCHAR I; # NEXT CHARACTER IN VARDATA # 05361 M01S03454.sform +++|ITEM PTYPE I; # PICTURE TYPE # 05362 M01S03455.sform +++|ITEM VARIND I; # INDEX INTO VARLIST OF VARIABLE # 05363 M01S03456.sform +++| 05364 M01S03457.sform +++|SWITCH PICTURTYPE # PICTURE TYPE SWITCH # 05365 M01S03458.sform +++| , 05366 M01S03459.sform +++| PICX, # X PICTURE(DEFAULT) # 05367 M01S03460.sform +++| PICA, # ALPHA PICTURE # 05368 M01S03461.sform +++| PIC9, # INTEGER PICTURE # 05369 M01S03462.sform +++| PICN, # NUMERIC PICTURE # 05370 M01S03463.sform +++| PIC$, # DOLLAR PICTURE # 05371 M01S03464.sform +++| PICE, # REAL PICTURE # 05372 M01S03465.sform +++| PICY, # YYMMDD DATE PICTURE # 05373 M01S03466.sform +++| PICM, # MMDDYY DATE PICTURE # 05374 M01S03467.sform +++| PICD; # DDMMYY DATE PICTURE # 05375 M01S03468.sform +++| 05376 M01S03469.sform +++|VARIND = FLDVARORD[FLDIND]; 05377 M01S03470.sform +++|PTYPE = VARPICTYPE[VARIND] ; 05378 M01S03471.sform +++| 05379 M01S03472.sform +++|GOTO PICTURTYPE[PTYPE]; 05380 M01S03473.sform +++| 05381 M01S03474.sform +++|PICX: # DISPLAYABLE CHARACTER TYPE # 05382 M01S03475.sform +++| 05383 M01S03476.sform +++| RETURN; 05384 M01S03477.sform +++| 05385 M01S03478.sform +++|PICA: # ALPHABETIC FORMAT # 05386 M01S03479.sform +++| 05387 M01S03480.sform +++| FOR INPIND = 0 STEP 1 UNTIL FLDLENGTH[FLDIND] -1 DO 05388 M01S03481.sform +++| BEGIN 05389 M01S03482.sform +++| NCHAR = NEXTCHAR(FLDIND,INPIND); 05390 M01S03483.sform +++| IF NOT(NCHAR GQ CAPA AND NCHAR LQ CAPZ) 05391 M01S03484.sform +++| AND NOT(NCHAR GQ LOWA AND NCHAR LQ LOWZ) 05392 M01S03485.sform +++| AND NOT(NCHAR EQ BLANK) THEN 05393 M01S03486.sform +++| BEGIN # NOT ALPHABETIC INPUT # 05394 M01S03487.sform +++| FLDVALID[FLDIND] = FALSE; 05395 M01S03488.sform +++| END 05396 M01S03489.sform +++| END 05397 M01S03490.sform +++| 05398 M01S03491.sform +++| RETURN; 05399 M01S03492.sform +++| 05400 M01S03493.sform +++|PICY: 05401 M01S03494.sform +++|PICM: 05402 M01S03495.sform +++|PICD: # DATE FORMATS # 05403 M01S03496.sform +++| 05404 M01S03497.sform +++| DATEVL(FLDIND,IVAL,EVAL); 05405 M01S03498.sform +++| RETURN; 05406 M01S03499.sform +++| 05407 M01S03500.sform +++|PICE: # REAL FORMAT # 05408 M01S03501.sform +++|PIC9: # INTEGER FORMAT # 05409 M01S03502.sform +++|PICN: # SIGNED INTEGER FORMAT # 05410 M01S03503.sform +++|PIC$: # CURRENCY FORMAT # 05411 M01S03504.sform +++| 05412 M01S03505.sform +++| NCHECK(FLDIND,IVAL,EVAL,INPTYPE,DOLLARSIGN); 05413 M01S03506.sform +++| IF (VARPICTYPE[VARIND] EQ FORMTYPE"E" AND DOLLARSIGN) 05414 M01S03507.sform +++| OR INPTYPE GR VARPICTYPE[VARIND] OR INPTYPE EQ FORMTYPE"BAD" THEN 05415 M01S03508.sform +++| BEGIN 05416 M01S03509.sform +++| FLDVALID[FLDIND] = FALSE; 05417 M01S03510.sform +++| END 05418 M01S03511.sform +++| RETURN; 05419 M01S03512.sform +++| 05420 M01S03513.sform +++|END # PICVAL # 05421 M01S03514.sform +++|CONTROL EJECT; 05422 M01S03515.sform +++| 05423 M01S03516.sform +++|PROC POSARR(PANELADDR); 05424 M01S03517.sform +++|
Line S03518 Modification History | |
---|---|
M01 (Added by) | sform |
M02 (Updated by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 05425 M02S03518.242l642 ---|# TITLE POSARR - POSITON PANEL RECORD BASED ARRAYS. # 05426 M01S00844.242l642 +++|# TITLE POSARR - POSITION PANEL RECORD BASED ARRAYS. # 05427 M01S03519.sform +++| 05428 M01S03520.sform +++|BEGIN # POSARR # 05429 M01S03521.sform +++| 05430 M01S03522.sform +++|# 05431 M01S03523.sform +++|** POSARR - POSITION PANEL RECORD BASED ARRAYS. 05432 M01S03524.sform +++|* 05433 M01S03525.sform +++|* THIS PROCEDURE POSITIONS THE BASED ARRAYS THAT DESCRIBE THE 05434 M01S03526.sform +++|* FORMAT OF THE INFORMATION IN PANEL RECORD USING THE ADDRESS 05435 M01S03527.sform +++|* PASSED IN PANELADDR. 05436 M01S03528.sform +++|* 05437 M01S03529.sform +++|* PROC POSARR(PANELADDR) 05438 M01S03530.sform +++|* 05439 M01S03531.sform +++|* ENTRY PANELADDR = FWA OF THE PANEL RECORD IN MEMORY. 05440 M01S03532.sform +++|* 05441 M01S03533.sform +++|* EXIT ALL PANEL RECORD BASED ARRAYS POSITIONED. 05442 M01S03534.sform +++|# 05443 M01S03535.sform +++|ITEM PANELADDR I; # THE ADDRESS OF THE PANEL # 05444 M01S03536.sform +++| 05445 M01S03537.sform +++|ITEM ZEROWORD I = 0; # DUMMY FIELD LIST # 05446 M01S03538.sform +++| 05447 M01S03539.sform +++|P<RECORD> = PANELADDR; # POSITION BASED ARRAYS # 05448 M01S03540.sform +++|P<PANELHEADR> = PANELADDR; 05449 M01S03541.sform +++|P<VDATA> = PANELADDR + PANHEADLEN; 05450 M01S03542.sform +++| 05451 M01S03543.sform +++|IF PANSTRFLD[0] NQ 0 THEN 05452 M01S03544.sform +++| BEGIN # IF PANEL HAS FIELD LIST # 05453 M01S03545.sform +++| P<FLDLIST> = PANELADDR + PANSTRFLD[0]; 05454 M01S03546.sform +++| END 05455 M01S03547.sform +++|ELSE 05456 M01S03548.sform +++| BEGIN # NO FIELD LIST, ONLY BOXES # 05457 M01S03549.sform +++| P<FLDLIST> = LOC(ZEROWORD); 05458 M01S03550.sform +++| END 05459 M01S03551.sform +++| 05460 M01S03552.sform +++|P<VARLIST> = PANELADDR + PANSTRVAR[0]; 05461 M01S03553.sform +++|P<FUNLIST> = PANELADDR + PANSTRFUN[0]; 05462 M01S03554.sform +++|P<ATTLIST> = PANELADDR + PANSTRATT[0]; 05463 M01S03555.sform +++|P<ARRLIST> = PANELADDR + PANSTRARR[0]; 05464 M01S03556.sform +++|P<BOXLIST> = PANELADDR + PANSTRBOX[0]; 05465 M01S03557.sform +++| 05466 M01S03558.sform +++|END # POSARR # 05467 M01S00231.243l647 +++|CONTROL EJECT; 05468 M01S00232.243l647 +++| 05469 M01S00233.243l647 +++|PROC POSTWO(PANELADDR); 05470 M01S00234.243l647 +++| 05471 M01S00235.243l647 +++|# TITLE POSTWO - POSITION PANEL RECORD BASED ARRAYS FOR SFATTR. # 05472 M01S00236.243l647 +++| 05473 M01S00237.243l647 +++|BEGIN # POSTWO # 05474 M01S00238.243l647 +++| 05475 M01S00239.243l647 +++|# 05476 M01S00240.243l647 +++|** POSTWO - POSITION PANEL RECORD BASED ARRAYS FOR SFATTR. 05477 M01S00241.243l647 +++|* 05478 M01S00242.243l647 +++|* THIS PROCEDURE POSITIONS THE BASED ARRAYS THAT DESCRIBE THE 05479 M01S00243.243l647 +++|* FORMAT OF THE INFORMATION IN PANEL RECORD USING THE ADDRESS 05480 M01S00244.243l647 +++|* PASSED IN PANELADDR FOR USE BY SFATTR. 05481 M01S00245.243l647 +++|* 05482 M01S00246.243l647 +++|* PROC POSTWO(PANELADDR) 05483 M01S00247.243l647 +++|* 05484 M01S00248.243l647 +++|* ENTRY PANELADDR = FWA OF THE PANEL RECORD IN MEMORY. 05485 M01S00249.243l647 +++|* 05486 M01S00250.243l647 +++|* EXIT ALL PANEL RECORD BASED ARRAYS POSITIONED. 05487 M01S00251.243l647 +++|# 05488 M01S00252.243l647 +++|ITEM PANELADDR I; # THE ADDRESS OF THE PANEL # 05489 M01S00253.243l647 +++| 05490 M01S00254.243l647 +++|ITEM ZEROWORD I = 0; # DUMMY FIELD LIST # 05491 M01S00255.243l647 +++| 05492 M01S00256.243l647 +++|P<PANEL2HEAD> = PANELADDR; 05493 M01S00257.243l647 +++| 05494 M01S00258.243l647 +++|IF PAN2STRFLD[0] NQ 0 THEN 05495 M01S00259.243l647 +++| BEGIN # IF PANEL HAS FIELD LIST # 05496 M01S00260.243l647 +++| P<FLD2LIST> = PANELADDR + PAN2STRFLD[0];
Proceed to Part 4
cdc/nos2.source/opl.opl871/deck/sform.003.txt ยท Last modified: by 127.0.0.1