Seq # *Modification Id* Act
----------------------------+
04647 M01S02888.sform8 ---| END
04648 M01S02889.sform8 ---|IF TOCHAROS NQ 0 THEN
04649 M01S02890.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
04650 M01S02891.sform8 ---| FOR NUMVDCHARS = 0 STEP 2 UNTIL TOCHAROS - 2 DO
04651 M01S02892.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
04652 M01S02893.sform8 ---| B<6*NUMVDCHARS,12>TOSTRIU[TOINDEX] = B<6*NUMVDCHARS,12>TOWORD;
04653 M00S02894.sform ---| END
04654 M00S02895.sform ---| END
Line S00302 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 M00S02896.sform +++|
04667 M00S02897.sform +++|END # MVASA8 #
04668 M00S02898.sform +++|CONTROL EJECT;
04669 M00S02899.sform +++|
Line S02900 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04670 M01S02900.ns2605 ---|PROC MVA8AS(STRINGOS,SLENGTH);
Line S00313 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04671 M01S00313.ns2605 +++|PROC MVA8AS(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL);
04672 M00S02901.sform +++|
04673 M00S02902.sform +++|# TITLE MVA8AS - MOVE AND TRANSLATE ASCII8 TO ASCII. #
04674 M00S02903.sform +++|
04675 M00S02904.sform +++|BEGIN # MVA8AS #
04676 M00S02905.sform +++|
04677 M00S02906.sform +++|#
04678 M00S02907.sform +++|** MVA8AS - MOVE AND TRANSLATE ASCII8 TO ASCII.
04679 M00S02908.sform +++|*
04680 M00S02909.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM VARDATA TO
04681 M00S02910.sform +++|* INSTRING AFTER A READ, USING THE BASED ARRAYS FROMSTRING
04682 M00S02911.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII8 TO ASCII.
04683 M00S02912.sform +++|*
Line S02913 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04684 M01S02913.ns2605 ---|* PROC MVA8AS(STRINGOS,SLENGTH)
Line S00314 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04685 M01S00314.ns2605 +++|* PROC MVA8AS(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL)
04686 M00S02914.sform +++|*
04687 M00S02915.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED.
04688 M00S02916.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO INSTRING.
04689 M01S00315.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA.
04690 M00S02917.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 M00S02918.sform +++|*
04694 M00S02919.sform +++|* EXIT STRING MOVED AND TRANSLATED.
04695 M00S02920.sform +++|*
Line S02921 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04696 M01S02921.ns2605 ---|* NOTES SINCE INSTRING IS DEFINED IN THE APPLICATION PROGRAM
Line S02922 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04697 M02S02922.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY
04698 M02S02923.ns2605 ---|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
Line S00012 Modification History |
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04699 M02S00012.ns2605 ---|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY,
04700 M02S00013.ns2605 ---|* TOCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
Line S02924 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04701 M01S02924.ns2605 ---|* ALSO SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS
Line S00318 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04702 M01S00318.ns2605 +++|* NOTE SLENGTH IS NOT NECESSARILY THE NUMBER OF CHARACTERS
04703 M00S02925.sform +++|* (SINCE THEY CAN BE EITHER SIX OR TWELVE BITS LONG) BUT
04704 M00S02926.sform +++|* RATHER THE NUMBER OF SIX BIT PARCELS IN INSTRING.
04705 M00S02927.sform +++|#
04706 M00S02928.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING #
04707 M00S02929.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 M00S02930.sform +++|
04712 M00S02931.sform +++|ITEM ASCIICHR I; # HOLDS AN ASCII CHARACTER #
04713 M00S02932.sform +++|ITEM ASCII8CHR I; # HOLDS AN ASCII8 CHARACTER #
Line S00014 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04714 M01S00014.sform8 +++|ITEM ESCAPECODE I; # ESCAPE CODE #
04715 M00S02933.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING #
04716 M00S02934.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S02935 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04717 M01S02935.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
Line S02936 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04718 M01S02936.ns2605 ---|ITEM NUMVDCHARS I; # NUMBER OF CHARS. IN VARDATA #
04719 M00S02937.sform ---|ITEM NUMINCHARS I; # NUMBER OF CHARS. IN INSTRING #
Line S02938 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04720 M01S02938.sform8 ---|ITEM ESCAPECODE I; # ESCAPE CODE #
04721 M00S02939.sform ---|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING #
04722 M00S02940.sform ---|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S02941 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04723 M02S02941.ns2605 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING #
04724 M00S02942.sform ---|
04725 M00S02943.sform ---|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
Line S02944 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04726 M01S02944.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX];
Line S02945 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04727 M01S02945.ns2605 ---|FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA #
Line S00322 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04728 M01S00322.ns2605 +++|FROMCHAROS = VAROS; # CHARACTER OFFSET / VARDATA #
04729 M00S02946.sform +++|TOINDEX = 0;
04730 M00S02947.sform +++|TOCHAROS = STRINGOS; # CHARACTER OFFSET / INSTRING #
04731 M00S02948.sform +++|ESCAPECODE = 0; # CLEAR ESCAPE CODE #
Line S02949 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04732 M01S02949.ns2605 ---|NUMVDCHARS = PANNUMBYTE[0]; # SET VARDATA CHARACTER COUNT #
04733 M01S02950.ns2605 ---|IF SLENGTH EQ 0 THEN
04734 M01S02951.ns2605 ---| BEGIN # IF ZERO INSTRING COUNT #
04735 M01S02952.ns2605 ---| NUMINCHARS = PANNUMBYTE[0] * 2; # ASSUME WORST CASE #
04736 M01S02953.ns2605 ---| END
04737 M01S02954.ns2605 ---|ELSE
04738 M01S02955.ns2605 ---| BEGIN
04739 M01S02956.ns2605 ---| NUMINCHARS = SLENGTH; # SET NUMBER OF CHARACTERS #
04740 M01S02957.ns2605 ---| END
04741 M01S02958.ns2605 ---|WHYLE NUMINCHARS NQ 0 AND NUMVDCHARS NQ 0 DO
Line S00323 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 M00S02959.sform +++| BEGIN # TRANSLATE CHARACTERS #
Line S02960 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04746 M01S02960.sform8 ---| ASCII8CHR = B<6*FROMCHAROS,12>FROMWORD;
Line S00015 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04747 M01S00015.sform8 +++| ASCII8CHR = B<6*FROMCHAROS,12>FROMSTRIU[FROMINDEX];
04748 M00S02961.sform +++| NUMVDCHARS = NUMVDCHARS - 1; # DECREMENT VARDATA COUNT #
04749 M00S02962.sform +++| FROMCHAROS = FROMCHAROS + 2; # UPDATE FROMSTRING CHAR. OFFSET #
04750 M00S02963.sform +++| IF FROMCHAROS EQ 10 THEN
04751 M00S02964.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY #
Line S02965 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04752 M01S02965.sform8 ---| FROMINDEX = FROMINDEX + 1; # GET NEXT WORD FROM FROMSTRING #
Line S00016 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04753 M01S00016.sform8 +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S02966 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04754 M01S02966.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX];
04755 M00S02967.sform ---| FROMCHAROS = 0; # RESET CHARACTER OFFSET #
04756 M00S02968.sform ---| END
Line S02969 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04757 M01S02969.ns2605 ---| IF ASCII8CHR EQ 58 THEN # CHECK FOR COLON #
04758 M01S02970.ns2605 ---| BEGIN
Line S00326 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 M00S02971.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. #
04767 M00S02972.sform +++| ASCIICHR = 04;
04768 M00S02973.sform +++| END
Line S02974 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04769 M01S02974.ns2605 ---| IF ASCII8CHR EQ 64 THEN # CHECK FOR AT SIGN #
04770 M01S02975.ns2605 ---| BEGIN
Line S00333 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04771 M01S00333.ns2605 +++| ELSE IF ASCII8CHR EQ 64 THEN
04772 M01S00334.ns2605 +++| BEGIN # IF AT SIGN #
04773 M00S02976.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. #
04774 M00S02977.sform +++| ASCIICHR = 01;
04775 M00S02978.sform +++| END
Line S02979 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04776 M01S02979.ns2605 ---| IF ASCII8CHR EQ 94 THEN # CHECK FOR CIRCUMFLEX #
04777 M01S02980.ns2605 ---| BEGIN
Line S00335 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04778 M01S00335.ns2605 +++| ELSE IF ASCII8CHR EQ 94 THEN
04779 M01S00336.ns2605 +++| BEGIN # IF CIRCUMFLEX #
04780 M00S02981.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. #
04781 M00S02982.sform +++| ASCIICHR = 02;
04782 M00S02983.sform +++| END
Line S02984 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04783 M01S02984.ns2605 ---| IF ASCII8CHR EQ 96 THEN # CHECK FOR REVERSE SLANT #
04784 M01S02985.ns2605 ---| BEGIN
Line S00337 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04785 M01S00337.ns2605 +++| ELSE IF ASCII8CHR EQ 96 THEN
04786 M01S00338.ns2605 +++| BEGIN # IF REVERSE SLANT #
04787 M00S02986.sform +++| ESCAPECODE = 60; # SET ESCAPE CODE AND CHAR. #
04788 M00S02987.sform +++| ASCIICHR = 07;
04789 M00S02988.sform +++| END
Line S02989 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04790 M01S02989.ns2605 ---| IF ASCII8CHR GQ 97 THEN # CHECK FOR UPPER CASE #
04791 M01S02990.ns2605 ---| BEGIN
04792 M01S02991.ns2605 ---| ESCAPECODE = 62;
04793 M01S02992.ns2605 ---| ASCIICHR = ASCII8CHR - 96; # CONVERT TO LOWER CASE #
04794 M01S02993.ns2605 ---| END
04795 M00S02994.sform ---| IF ESCAPECODE NQ 0 THEN
04796 M00S02995.sform ---| BEGIN # IF TWELVE BIT CHARACTER #
04797 M01S02996.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
04798 M01S02997.ns2605 ---| IF NUMINCHARS NQ 0 THEN
Line S00339 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04799 M01S00339.ns2605 +++| IF NUMINCHARS LS SLENGTH-1 THEN
04800 M00S02998.sform +++| BEGIN # IF ROOM FOR ALL TWELVE BITS #
04801 M01S00340.ns2605 +++| NUMINCHARS = NUMINCHARS + 1; # INCREMENT CHARACTER COUNT #
Line S02999 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04802 M01S02999.sform8 ---| B<6*TOCHAROS,6>TOWORD = ESCAPECODE;
Line S00017 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04803 M01S00017.sform8 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ESCAPECODE;
04804 M00S03000.sform +++| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
04805 M00S03001.sform +++| IF TOCHAROS EQ 10 THEN
04806 M00S03002.sform +++| BEGIN # IF TOSTRING WORD IS FULL #
04807 M00S03003.sform +++| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03004 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04808 M01S03004.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
04809 M01S03005.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00018 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04810 M01S00018.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
04811 M00S03006.sform +++| END
Line S03007 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04812 M01S03007.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
Line S03008 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04813 M02S03008.ns2605 ---| B<6*TOCHAROS,6>TOWORD = ASCIICHR;
Line S00019 Modification History |
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04814 M02S00019.ns2605 ---| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ASCIICHR;
Line S03009 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04815 M01S03009.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
04816 M01S03010.ns2605 ---| IF TOCHAROS EQ 10 THEN
04817 M01S03011.ns2605 ---| BEGIN # IF TOSTRING WORD IS FULL #
04818 M01S03012.ns2605 ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03013 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04819 M02S03013.ns2605 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
04820 M02S03014.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00020 Modification History |
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04821 M02S00020.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03015 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04822 M01S03015.ns2605 ---| END
04823 M00S03016.sform ---| END
04824 M00S03017.sform ---| ESCAPECODE = 0; # CLEAR ESCAPE CODE #
04825 M00S03018.sform ---| END
04826 M00S03019.sform ---| ELSE
04827 M00S03020.sform ---| BEGIN
04828 M00S03021.sform ---| ASCIICHR = A82DC[ASCII8CHR]; # TRANSLATE CHARACTER #
04829 M01S03022.ns2605 ---| NUMINCHARS = NUMINCHARS - 1; # DECREMENT CHARACTER COUNT #
Line S03023 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04830 M02S03023.ns2605 ---| B<6*TOCHAROS,6>TOWORD = ASCIICHR;
Line S00021 Modification History |
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04831 M02S00021.ns2605 ---| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] = ASCIICHR;
Line S03024 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04832 M01S03024.ns2605 ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
04833 M01S03025.ns2605 ---| IF TOCHAROS EQ 10 THEN
04834 M01S03026.ns2605 ---| BEGIN # IF TOSTRING WORD IS FULL #
04835 M01S03027.ns2605 ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
Line S03028 Modification History |
M01 (Removed by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04836 M02S03028.ns2605 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
04837 M02S03029.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00022 Modification History |
M01 (Added by) | sform8 |
M02 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04838 M02S00022.ns2605 ---| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03030 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04839 M01S03030.ns2605 ---| END
Line S00341 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04862 M01S03031.sform8 ---| END
04863 M01S03032.sform8 ---| END
04864 M01S03033.sform8 ---|IF TOCHAROS NQ 0 THEN
04865 M01S03034.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
04866 M01S03035.sform8 ---| FOR NUMINCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO
04867 M01S03036.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
04868 M01S03037.sform8 ---| B<6*NUMINCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMINCHARS,6>TOWORD;
04869 M00S03038.sform ---| END
04870 M00S03039.sform ---| END
04871 M00S03040.sform ---|
04872 M00S03041.sform ---|END # MVA8AS #
04873 M00S03042.sform ---|CONTROL EJECT;
04874 M00S03043.sform ---|
Line S03044 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04875 M01S03044.ns2605 ---|PROC MVA8DC(STRINGOS,SLENGTH);
Line S00363 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04876 M01S00363.ns2605 +++|PROC MVA8DC(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL);
04877 M00S03045.sform +++|
04878 M00S03046.sform +++|# TITLE MVA8DC - MOVE AND TRANSLATE ASCII8 TO DISPLAY CODE. #
04879 M00S03047.sform +++|
04880 M00S03048.sform +++|BEGIN # MVA8DC #
04881 M00S03049.sform +++|
04882 M00S03050.sform +++|#
04883 M00S03051.sform +++|** MVA8DC - MOVE AND TRANSLATE ASCII8 TO DISPLAY CODE.
04884 M00S03052.sform +++|*
04885 M00S03053.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM VARDATA TO
04886 M00S03054.sform +++|* INSTRING AFTER A READ, USING THE BASED ARRAYS FROMSTRING
04887 M00S03055.sform +++|* AND TOSTRING, TRANSLATING FROM ASCII8 TO DISPLAY CODE.
04888 M00S03056.sform +++|*
Line S03057 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04889 M01S03057.ns2605 ---|* PROC MVA8DC(STRINGOS,SLENGTH)
Line S00364 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04890 M01S00364.ns2605 +++|* PROC MVA8DC(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL)
04891 M00S03058.sform +++|*
04892 M00S03059.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED.
04893 M00S03060.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO INSTRING.
04894 M01S00365.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA.
04895 M00S03061.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 M00S03062.sform +++|*
04899 M00S03063.sform +++|* EXIT STRING MOVED AND TRANSLATED.
04900 M00S03064.sform +++|*
04901 M00S03065.sform +++|* NOTES SINCE INSTRING IS DEFINED IN THE APPLICATION PROGRAM
04902 M00S03066.sform +++|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY
04903 M00S03067.sform +++|* TOCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
04904 M00S03068.sform +++|#
04905 M00S03069.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING #
04906 M00S03070.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 M00S03071.sform +++|
04911 M00S03072.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING #
04912 M00S03073.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S03074 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04913 M01S03074.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
04914 M00S03075.sform ---|ITEM NUMCHARS I; # NUMBER OF CHARACTERS TO TRANS. #
04915 M00S03076.sform ---|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING #
04916 M00S03077.sform ---|ITEM TOINDEX I; # INDEX INTO TOSTRING #
04917 M01S03078.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING #
04918 M00S03079.sform ---|
Line S03080 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04919 M01S03080.ns2605 ---|FROMCHAROS = 0; # NO CHARACTER OFFSET / VARDATA #
Line S00371 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04920 M01S00371.ns2605 +++|FROMCHAROS = VAROS; # CHARACTER OFFSET / VARDATA #
04921 M00S03081.sform +++|FROMINDEX = 0; # GET FIRST WORD FROM VARDATA #
Line S03082 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04922 M01S03082.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX];
04923 M00S03083.sform ---|TOINDEX = 0;
04924 M00S03084.sform ---|TOCHAROS = STRINGOS; # CHARACTER OFFSET / INSTRING #
Line S03085 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04925 M01S03085.ns2605 ---|
04926 M01S03086.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0]
04927 M01S03087.ns2605 ---| OR SLENGTH EQ 0 THEN
04928 M01S03088.ns2605 ---| BEGIN # IF INSTRING EXCEEDS VARDATA #
04929 M01S03089.ns2605 ---| SLENGTH = PANNUMBYTE[0]; # RESET NUMBER OF CHARS. TO MOVE #
04930 M01S03090.ns2605 ---| END
04931 M01S03091.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO
Line S00372 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04936 M01S03092.sform8 ---| BEGIN # TRANSLATE CHARACTERS #
04937 M01S03093.sform8 ---| B<6*TOCHAROS,6>TOWORD = A82DC[B<6*FROMCHAROS,12>FROMWORD];
Line S00023 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04938 M01S00023.sform8 +++| BEGIN # MOVE AND TRANSLATE CHARACTER #
Line S00376 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04939 M01S00376.ns2605 +++| NUMCHARS = NUMCHARS +1; # INCREMENT CHARACTER COUNT #
Line S00024 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04940 M01S00024.sform8 +++| B<6*TOCHAROS,6>TOSTRIU[TOINDEX] =
04941 M01S00025.sform8 +++| A82DC[B<6*FROMCHAROS,12>FROMSTRIU[FROMINDEX]];
04942 M00S03094.sform +++| FROMCHAROS = FROMCHAROS + 2; # UPDATE FROMSTRING CHAR. OFFSET #
04943 M00S03095.sform +++| IF FROMCHAROS EQ 10 THEN
04944 M00S03096.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY #
04945 M00S03097.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET #
04946 M00S03098.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S03099 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04947 M01S03099.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING #
04948 M00S03100.sform ---| END
04949 M00S03101.sform ---| TOCHAROS = TOCHAROS + 1; # UPDATE TOSTRING CHAR. OFFSET #
04950 M00S03102.sform ---| IF TOCHAROS EQ 10 THEN
04951 M00S03103.sform ---| BEGIN # IF TOSTRING WORD IS FULL #
04952 M00S03104.sform ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
04953 M01S03105.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
04954 M01S03106.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00026 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04955 M01S00026.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03107 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
04956 M01S03107.sform8 ---| END
04957 M01S03108.sform8 ---| END
04958 M01S03109.sform8 ---|IF TOCHAROS NQ 0 THEN
04959 M01S03110.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
04960 M01S03111.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS - 1 DO
04961 M01S03112.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
04962 M01S03113.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD;
04963 M00S03114.sform ---| END
04964 M00S03115.sform ---| END
Line S00377 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 M00S03116.sform +++|
04977 M00S03117.sform +++|END # MVA8DC #
04978 M00S03118.sform +++|CONTROL EJECT;
04979 M00S03119.sform +++|
Line S03120 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04980 M01S03120.ns2605 ---|PROC MVDCA8(STRINGOS,SLENGTH);
Line S00388 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04981 M01S00388.ns2605 +++|PROC MVDCA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL);
04982 M00S03121.sform +++|
04983 M00S03122.sform +++|# TITLE MVDCA8 - MOVE AND TRANSLATE DISPLAY CODE TO ASCII8. #
04984 M00S03123.sform +++|
04985 M00S03124.sform +++|BEGIN # MVDCA8 #
04986 M00S03125.sform +++|
04987 M00S03126.sform +++|#
04988 M00S03127.sform +++|** MVDCA8 - MOVE AND TRANSLATE DISPLAY CODE TO ASCII8.
04989 M00S03128.sform +++|*
04990 M00S03129.sform +++|* THIS PROCEDURE MOVES THE CHARACTER DATA FROM OUTSTRING TO
04991 M00S03130.sform +++|* VARDATA BEFORE A WRITE, USING THE BASED ARRAYS FROMSTRING
04992 M00S03131.sform +++|* AND TOSTRING, TRANSLATING FROM DISPLAY CODE TO ASCII8.
04993 M00S03132.sform +++|*
Line S03133 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04994 M01S03133.ns2605 ---|* PROC MVDCA8(STRINGOS,SLENGTH)
Line S00389 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
04995 M01S00389.ns2605 +++|* PROC MVDCA8(STRINGOS,VAROS,SLENGTH,NUMVDCHARS,FILL)
04996 M00S03134.sform +++|*
04997 M00S03135.sform +++|* ENTRY BASED ARRAYS FROMSTRING AND TOSTRING POSITIONED.
04998 M00S03136.sform +++|* STRINGOS = THE CHARACTER OFFSET INTO OUTSTRING.
04999 M01S00390.ns2605 +++|* VAROS = THE CHARACTER OFFSET INTO VARDATA.
05000 M00S03137.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 M00S03138.sform +++|*
05004 M00S03139.sform +++|* EXIT STRING MOVED AND TRANSLATED.
05005 M00S03140.sform +++|*
05006 M00S03141.sform +++|* NOTES SINCE OUTSTRING IS DEFINED IN THE APPLICATION PROGRAM
05007 M00S03142.sform +++|* AND THUS DOES NOT NECESSARILY START ON A WORD BOUNDARY
05008 M00S03143.sform +++|* FROMCHAROS IS SET TO STRINGOS BEFORE THE LOOP IS BEGUN.
05009 M00S03144.sform +++|#
05010 M00S03145.sform +++|ITEM STRINGOS I; # CHARACTER OFFSET / OUTSTRING #
05011 M00S03146.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 M00S03147.sform +++|
05016 M00S03148.sform +++|ITEM FROMCHAROS I; # CHARACTER OFFSET / FROMSTRING #
05017 M00S03149.sform +++|ITEM FROMINDEX I; # INDEX INTO FROMSTRING #
Line S03150 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05018 M01S03150.sform8 ---|ITEM FROMWORD I; # HOLDS A WORD FROM FROMSTRING #
05019 M00S03151.sform ---|ITEM NUMCHARS I; # NUMBER OF CHARACTERS TO TRANS. #
Line S00396 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
05020 M01S00396.ns2605 +++|ITEM SPACE I = BLANK; # ASCII SPACE FOR BLANK FILL #
05021 M00S03152.sform +++|ITEM TOCHAROS I; # CHARACTER OFFSET / TOSTRING #
05022 M00S03153.sform +++|ITEM TOINDEX I; # INDEX INTO TOSTRING #
Line S03154 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05023 M01S03154.sform8 ---|ITEM TOWORD I; # HOLDS A WORD FOR TOSTRING #
05024 M00S03155.sform ---|
05025 M00S03156.sform ---|FROMCHAROS = STRINGOS; # CHARACTER OFFSET / OUTSTRING #
05026 M00S03157.sform ---|FROMINDEX = 0; # GET FIRST WORD FROM FROMSTRING #
05027 M01S03158.sform8 ---|FROMWORD = FROMSTRIU[FROMINDEX];
05028 M00S03159.sform ---|TOINDEX = 0;
Line S03160 Modification History |
M01 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
05029 M01S03160.ns2605 ---|TOCHAROS = 0; # NO CHARACTER OFFSET / VARDATA #
05030 M01S03161.ns2605 ---| # TRANSLATE PANNUMBYTE CHARS. #
05031 M01S03162.ns2605 ---|IF SLENGTH GR PANNUMBYTE[0]
05032 M01S03163.ns2605 ---| OR SLENGTH EQ 0 THEN
05033 M01S03164.ns2605 ---| BEGIN # IF OUTSTRING EXCEEDS VARDATA #
05034 M01S03165.ns2605 ---| SLENGTH = PANNUMBYTE[0]; # RESET NUMBER OF CHARS. TO MOVE #
05035 M01S03166.ns2605 ---| END
Line S00397 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 (Removed by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
05039 M01S03167.ns2605 ---|FOR NUMCHARS = 0 STEP 1 UNTIL SLENGTH - 1 DO
Line S00400 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
05040 M01S00400.ns2605 +++|FOR NUMCHARS = 1 STEP 1 UNTIL SLENGTH DO
05041 M00S03168.sform +++| BEGIN # TRANSLATE CHARACTERS #
Line S03169 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05042 M01S03169.sform8 ---| B<6*TOCHAROS,12>TOWORD = DC2A8[B<6*FROMCHAROS,6>FROMWORD];
Line S00027 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05043 M01S00027.sform8 +++| B<6*TOCHAROS,12>TOSTRIU[TOINDEX] =
05044 M01S00028.sform8 +++| DC2A8[B<6*FROMCHAROS,6>FROMSTRIU[FROMINDEX]];
05045 M00S03170.sform +++| FROMCHAROS = FROMCHAROS + 1; # UPDATE FROMSTRING CHAR. OFFSET #
05046 M00S03171.sform +++| IF FROMCHAROS EQ 10 THEN
05047 M00S03172.sform +++| BEGIN # IF FROMSTRING WORD IS EMPTY #
05048 M00S03173.sform +++| FROMCHAROS = 0; # RESET CHARACTER OFFSET #
05049 M00S03174.sform +++| FROMINDEX = FROMINDEX + 1; # UPDATE FROMSTRING WORD INDEX #
Line S03175 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05050 M01S03175.sform8 ---| FROMWORD = FROMSTRIU[FROMINDEX]; # GET NEXT WORD FROM FROMSTRING #
05051 M00S03176.sform ---| END
05052 M00S03177.sform ---| TOCHAROS = TOCHAROS + 2; # UPDATE TOSTRING CHAR. OFFSET #
05053 M00S03178.sform ---| IF TOCHAROS EQ 10 THEN
05054 M00S03179.sform ---| BEGIN # IF TOSTRING WORD IS FULL #
05055 M00S03180.sform ---| TOCHAROS = 0; # RESET CHARACTER OFFSET #
05056 M01S03181.sform8 ---| TOSTRIU[TOINDEX] = TOWORD; # STORE WORD INTO TOSTRING #
05057 M01S03182.sform8 ---| TOINDEX = TOINDEX + 1; # UPDATE TOWORD INDEX #
Line S00029 Modification History |
M01 (Added by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05058 M01S00029.sform8 +++| TOINDEX = TOINDEX + 1; # UPDATE TOSTRING WORD INDEX #
Line S03183 Modification History |
M01 (Removed by) | sform8 |
Seq # *Modification Id* Act
----------------------------+
05059 M01S03183.sform8 ---| END
05060 M01S03184.sform8 ---| END
05061 M01S03185.sform8 ---|IF TOCHAROS NQ 0 THEN
05062 M01S03186.sform8 ---| BEGIN # IF PARTIAL WORD TO MOVE #
05063 M01S03187.sform8 ---| FOR NUMCHARS = 0 STEP 1 UNTIL TOCHAROS -1 DO
05064 M01S03188.sform8 ---| BEGIN # MOVE ONLY REQUIRED CHARACTERS #
05065 M01S03189.sform8 ---| B<6*NUMCHARS,6>TOSTRIU[TOINDEX] = B<6*NUMCHARS,6>TOWORD;
05066 M00S03190.sform ---| END
05067 M00S03191.sform ---| END
Line S00401 Modification History |
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act
----------------------------+
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 M00S03192.sform +++|
05080 M00S03193.sform +++|END # MVDCA8 #
05081 M00S03194.sform +++|CONTROL EJECT;
05082 M00S03195.sform +++|
05083 M00S03196.sform +++|PROC NCHECK(FLDIND,IVAL,EVAL,INPUTTYPE,DOLLARSIGN);
05084 M00S03197.sform +++|
05085 M00S03198.sform +++|# TITLE NCHECK - NUMERIC CHECK OF INPUT FIELD. #
05086 M00S03199.sform +++|
05087 M00S03200.sform +++|BEGIN # NCHECK #
05088 M00S03201.sform +++|
05089 M00S03202.sform +++|#
05090 M00S03203.sform +++|** NCHECK - CHECK NUMERIC FIELD.
05091 M00S03204.sform +++|*
05092 M00S03205.sform +++|* THIS PROCEDURE CHECKS THAT THE INPUT FITS THE FORMAT SPECIFIED
05093 M00S03206.sform +++|* FOR THE FIELD AND CALULATES THE NUMERIC VALUE OF THE INPUT.
05094 M00S03207.sform +++|*
05095 M00S03208.sform +++|* PROC NCHECK(FLDIND,IVAL,EVAL,INPUTTYPE,DOLLARSIGN)
05096 M00S03209.sform +++|*
05097 M00S03210.sform +++|* ENTRY FLDIND = INDEX OF CURRENT FIELD IN FLDLIST.
05098 M00S03211.sform +++|*
05099 M00S03212.sform +++|* EXIT IVAL = INTEGER VALUE OF INPUT.
05100 M00S03213.sform +++|* EVAL = EXPONENT VALUE OF INPUT.
05101 M00S03214.sform +++|* INPUTTYPE = FORMAT TYPE OF INPUT.
05102 M00S03215.sform +++|* DOLLARSIGN = TRUE IF $ IN INPUT.
05103 M00S03216.sform +++|* FLDVALID[FLDIND] = FALSE, IF INVALID INPUT.
05104 M00S03217.sform +++|*
05105 M00S03218.sform +++|* CALLS GETNUM, SKPBLK.
05106 M00S03219.sform +++|#
05107 M00S03220.sform +++|ITEM FLDIND I; # INDEX IN FLDLIST #
05108 M00S03221.sform +++|ITEM IVAL I; # INTEGER VALUE #
05109 M00S03222.sform +++|ITEM EVAL I; # EXPONENT VALUE #
05110 M00S03223.sform +++|ITEM INPUTTYPE I; # FORMAT TYPE (9 N $ E BAD)#
05111 M00S03224.sform +++|ITEM DOLLARSIGN B; # $ IN INPUT #
05112 M00S03225.sform +++|
05113 M00S03226.sform +++|ITEM CHAR I; # INPUT CHARACTER #
05114 M00S03227.sform +++|ITEM CHARPOS I; # CHARACTER POSITION IN FIELD #
05115 M00S03228.sform +++|ITEM COMMADEL I = O"0054"; # COMMA DELIMETER #
05116 M00S03229.sform +++|ITEM COMMATHERE B; # COMMA PRESENT FLAG #
05117 M00S03230.sform +++|ITEM DECIMALPT B; # DECIMAL POINT IN INPUT #
05118 M00S03231.sform +++|ITEM DIGITINT I; # NUMBER OF DIGITS IN INTEGER #
05119 M00S03232.sform +++|ITEM DIGITLIMIT I=17; # MAXIMUM DIGITS ALLOWED #
05120 M00S03233.sform +++|ITEM DIGITS I; # NUMBER OF DIGITS IN SUBFIELD #
05121 M00S03234.sform +++|ITEM DVAL I; # DECIMAL VALUE #
05122 M00S03235.sform +++|ITEM ESIGN I; # EXPONENT SIGN VALUE #
05123 M00S03236.sform +++|ITEM EXPONLIMIT I=322; # MAXIMUM EXPONENT ALLOWED #
05124 M00S03237.sform +++|ITEM I I; # LOOP COUNTER #
05125 M00S03238.sform +++|ITEM ISIGN I; # INTEGER SIGN VALUE #
Line S03239 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05126 M01S03239.sform25 ---|ITEM PERIODDEL I = O"0056"; # PERIOD DELIMETER #
Line S00001 Modification History |
M01 (Added by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05127 M01S00001.sform25 +++|ITEM PERIODDEL I = O"0056"; # PERIOD DELIMITER #
05128 M00S03240.sform +++|ITEM SOMEDIGITS B; # IF ANY NUMERIC INPUT #
05129 M00S03241.sform +++|ITEM TVAL I; # TEMPORARY VALUE #
05130 M01S00002.sform25 +++|ITEM VARIND I; # INDEX INTO VARLIST OF VARIABLE #
05131 M00S03242.sform +++|
05132 M00S03243.sform +++|SOMEDIGITS = FALSE; # INITIAL VALUES #
05133 M00S03244.sform +++|COMMATHERE = FALSE;
05134 M00S03245.sform +++|DOLLARSIGN = FALSE;
05135 M00S03246.sform +++|DECIMALPT = FALSE;
05136 M01S00003.sform25 +++|VARIND = FLDVARORD[FLDIND];
05137 M00S03247.sform +++|
05138 M00S03248.sform +++|CONTROL IFEQ EUROPEAN,1; # IF EUROPEAN CURRENCY FORMAT #
Line S03249 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05139 M01S03249.sform25 ---| IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"$" THEN
Line S00004 Modification History |
M01 (Added by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05140 M01S00004.sform25 +++| IF VARPICTYPE[VARIND] EQ FORMTYPE"$" THEN
05141 M00S03250.sform +++| BEGIN # CURRENCY FORMAT #
05142 M00S03251.sform +++| COMMADEL = PERIOD;
05143 M00S03252.sform +++| PERIODDEL = COMMA;
05144 M00S03253.sform +++| END
05145 M00S03254.sform +++| ELSE
05146 M00S03255.sform +++| BEGIN # NOT CURRENCY FORMAT #
05147 M00S03256.sform +++| COMMADEL = COMMA;
05148 M00S03257.sform +++| PERIODDEL = PERIOD;
05149 M00S03258.sform +++| END
05150 M00S03259.sform +++|CONTROL FI; # END EUROPEAN #
05151 M00S03260.sform +++|
05152 M00S03261.sform +++|INPUTTYPE = FORMTYPE"BAD";
05153 M00S03262.sform +++|IVAL = 0;
05154 M00S03263.sform +++|DVAL = 0;
05155 M00S03264.sform +++|EVAL = 0;
05156 M00S03265.sform +++|TVAL = 0;
05157 M00S03266.sform +++|ISIGN = 1;
05158 M00S03267.sform +++|ESIGN = 1;
05159 M00S03268.sform +++|CHARPOS = 0;
05160 M00S03269.sform +++|DIGITINT = 0;
05161 M00S03270.sform +++|
05162 M00S03271.sform +++|SKPBLK(FLDIND,CHARPOS,CHAR); # FIND START OF FIELD #
05163 M00S03272.sform +++|
05164 M00S03273.sform +++|IF UPPER(CHAR) EQ CAPE THEN GOTO EXPSUBFLD; # START OF EXPONENT #
05165 M00S03274.sform +++|
05166 M00S03275.sform +++|IF CHAR EQ DOLLAR THEN
05167 M00S03276.sform +++| BEGIN # CURRENCY INPUT #
05168 M00S03277.sform +++| DOLLARSIGN = TRUE;
05169 M00S03278.sform +++| INPUTTYPE = FORMTYPE"$";
05170 M00S03279.sform +++| CHARPOS = CHARPOS + 1;
05171 M00S03280.sform +++| END
05172 M00S03281.sform +++|
05173 M00S03282.sform +++|IF CHAR EQ PLUS OR CHAR EQ MINUS THEN
05174 M00S03283.sform +++| BEGIN # SIGNED INPUT #
05175 M00S03284.sform +++| INPUTTYPE = FORMTYPE"N";
05176 M00S03285.sform +++| IF CHAR EQ MINUS THEN ISIGN = -1;
05177 M00S03286.sform +++| CHARPOS = CHARPOS + 1;
05178 M00S03287.sform +++| END
05179 M00S03288.sform +++|
05180 M00S03289.sform +++|IF CHAR EQ PERIODDEL THEN GOTO DECSUBFLD; # START OF DECIMAL #
05181 M00S03290.sform +++|
05182 M00S03291.sform +++|INTSUBFLD: # GET VALUE OF INTEGER SUBFIELD #
05183 M00S03292.sform +++|
05184 M00S03293.sform +++| GETNUM(FLDIND,CHARPOS,IVAL,DIGITS);
05185 M00S03294.sform +++| DIGITINT = DIGITINT + DIGITS;
Line S03295 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05186 M01S03295.sform25 ---| IF (COMMATHERE AND DIGITS NQ 3) OR DIGITINT GR DIGITLIMIT THEN
Line S00005 Modification History |
M01 (Added by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05187 M01S00005.sform25 +++| IF (COMMATHERE AND DIGITS NQ 3)
05188 M01S00006.sform25 +++| OR (DIGITINT GR DIGITLIMIT AND VARTYPE[VARIND] GR 1) THEN
05189 M00S03296.sform +++| BEGIN
05190 M00S03297.sform +++| INPUTTYPE = FORMTYPE"BAD";
05191 M00S03298.sform +++| RETURN;
05192 M00S03299.sform +++| END
05193 M00S03300.sform +++| IF DIGITS NQ 0 THEN SOMEDIGITS = TRUE;
05194 M00S03301.sform +++| IF NEXTCHAR(FLDIND,CHARPOS) EQ COMMADEL THEN
05195 M00S03302.sform +++| BEGIN # CURRENCY TYPE INPUT #
05196 M00S03303.sform +++| IF (NOT COMMATHERE AND DIGITS GR 3) OR DIGITS LS 1 THEN
05197 M00S03304.sform +++| BEGIN
05198 M00S03305.sform +++| INPUTTYPE = FORMTYPE"BAD";
05199 M00S03306.sform +++| RETURN;
05200 M00S03307.sform +++| END
05201 M00S03308.sform +++| DOLLARSIGN = TRUE;
05202 M00S03309.sform +++| COMMATHERE = TRUE;
05203 M00S03310.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] - 1 THEN GOTO ENDOFFLD;
05204 M00S03311.sform +++| CHARPOS = CHARPOS + 1;
05205 M00S03312.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS);
05206 M00S03313.sform +++| IF CHAR LS ZEROCH OR CHAR GR NINECH THEN
05207 M00S03314.sform +++| BEGIN # INVALID CHARACTER #
05208 M00S03315.sform +++| INPUTTYPE = FORMTYPE"BAD";
05209 M00S03316.sform +++| RETURN;
05210 M00S03317.sform +++| END
05211 M00S03318.sform +++| INPUTTYPE = FORMTYPE"$";
05212 M00S03319.sform +++| GOTO INTSUBFLD;
05213 M00S03320.sform +++| END
Line S03321 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05214 M01S03321.sform25 ---| IVAL = ISIGN * IVAL;
Line S00007 Modification History |
M01 (Added by) | sform25 |
M02 (Removed by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05215 M02S00007.sfor25a ---| IF VARTYPE[VARIND] GR 1 THEN IVAL = ISIGN * IVAL;
Line S00001 Modification History |
M01 (Added by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05216 M01S00001.sfor25a +++| IVAL = ISIGN * IVAL;
05217 M00S03322.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD;
05218 M00S03323.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); # LOOK AT NEXT CHARACTER #
05219 M00S03324.sform +++| IF UPPER(CHAR) EQ CAPE THEN GOTO EXPSUBFLD; # START OF EXPONENT #
05220 M00S03325.sform +++| IF CHAR EQ PERIODDEL THEN GOTO DECSUBFLD; # START OF DECIMAL #
05221 M00S03326.sform +++| IF CHAR EQ MINUS OR CHAR EQ PLUS AND SOMEDIGITS THEN
05222 M00S03327.sform +++| BEGIN # START OF EXPONENT #
05223 M00S03328.sform +++| GOTO EXPSUBFLD;
05224 M00S03329.sform +++| END
05225 M00S03330.sform +++| IF CHAR EQ BLANK THEN GOTO ENDOFFLD; # END OF FIELD #
05226 M00S03331.sform +++| INPUTTYPE = FORMTYPE"BAD"; # BAD INPUT #
05227 M00S03332.sform +++| RETURN;
05228 M00S03333.sform +++|
05229 M00S03334.sform +++|DECSUBFLD: # GET VALUE OF DECIMAL SUBFIELD #
05230 M00S03335.sform +++|
05231 M00S03336.sform +++| DECIMALPT = TRUE;
05232 M00S03337.sform +++| INPUTTYPE = FORMTYPE"$";
05233 M00S03338.sform +++| CHARPOS = CHARPOS + 1;
05234 M00S03339.sform +++| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD;
05235 M00S03340.sform +++| GETNUM(FLDIND,CHARPOS,DVAL,DIGITS);
Line S03341 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05236 M01S03341.sform25 ---| DIGITINT = DIGITINT + DIGITS;
05237 M01S03342.sform25 ---| IF DIGITINT GR DIGITLIMIT THEN
Line S00008 Modification History |
M01 (Added by) | sform25 |
M02 (Removed by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05238 M02S00008.sfor25a ---| IF DIGITINT+DIGITS GR DIGITLIMIT AND VARTYPE[VARIND] GR 1 THEN
Line S00002 Modification History |
M01 (Added by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05239 M01S00002.sfor25a +++| DIGITINT = DIGITINT + DIGITS;
05240 M01S00003.sfor25a +++| IF DIGITINT GR DIGITLIMIT AND VARTYPE[VARIND] GR 1 THEN
05241 M00S03343.sform +++| BEGIN # TOO MANY DIGITS ENTERED #
05242 M00S03344.sform +++| INPUTTYPE = FORMTYPE"BAD";
05243 M00S03345.sform +++| RETURN;
05244 M00S03346.sform +++| END
05245 M00S03347.sform +++| IF DIGITS NQ 0 THEN
05246 M00S03348.sform +++| BEGIN # SOME DECIMAL DIGITS ENTERED #
Line S03349 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05247 M01S03349.sform25 ---| FOR I = 1 STEP 1 UNTIL DIGITS DO
Line S00009 Modification History |
M01 (Added by) | sform25 |
M02 (Removed by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05248 M02S00009.sfor25a ---| FOR I = 1 STEP 1 WHILE I LQ DIGITS AND DIGITINT+I LQ DIGITLIMIT DO
Line S00004 Modification History |
M01 (Added by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05249 M01S00004.sfor25a +++| IF DIGITINT LQ DIGITLIMIT THEN
05250 M00S03350.sform +++| BEGIN
Line S03351 Modification History |
M01 (Removed by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05251 M01S03351.sfor25a ---| IVAL = IVAL * 10;
Line S00005 Modification History |
M01 (Added by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
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 M00S03352.sform +++| END
Line S03353 Modification History |
M01 (Removed by) | sform25 |
Seq # *Modification Id* Act
----------------------------+
05258 M01S03353.sform25 ---| IVAL = IVAL + DVAL*ISIGN;
Line S00010 Modification History |
M01 (Added by) | sform25 |
M02 (Removed by) | sfor25a |
Seq # *Modification Id* Act
----------------------------+
05259 M02S00010.sfor25a ---| DIGITINT = DIGITINT + DIGITS;
05260 M02S00011.sfor25a ---| IF DIGITINT LQ DIGITLIMIT THEN IVAL = IVAL + DVAL*ISIGN;
05261 M00S03354.sform ---| SOMEDIGITS = TRUE;
05262 M00S03355.sform ---| END
05263 M00S03356.sform ---| EVAL = -DIGITS;
05264 M00S03357.sform ---| IF DIGITS GR 2 THEN INPUTTYPE = FORMTYPE"E";
05265 M00S03358.sform ---| IF CHARPOS GQ FLDLENGTH[FLDIND] THEN GOTO ENDOFFLD; # END OF FIELD #
05266 M00S03359.sform ---| CHAR = NEXTCHAR(FLDIND,CHARPOS);
05267 M00S03360.sform ---| IF CHAR EQ PLUS OR CHAR EQ MINUS
05268 M00S03361.sform ---| OR UPPER(CHAR) EQ CAPE THEN
05269 M00S03362.sform ---| BEGIN # START OF EXPONENT #
05270 M00S03363.sform ---| GOTO EXPSUBFLD;
05271 M00S03364.sform ---| END
05272 M00S03365.sform ---| IF CHAR EQ BLANK THEN GOTO ENDOFFLD; # END OF FIELD #
05273 M00S03366.sform ---| INPUTTYPE = FORMTYPE"BAD";
05274 M00S03367.sform ---| RETURN;
05275 M00S03368.sform ---|
05276 M00S03369.sform ---|EXPSUBFLD: # GET VALUE OF EXPONENT SUBFIELD #
05277 M00S03370.sform ---|
05278 M00S03371.sform ---| INPUTTYPE = FORMTYPE"E";
05279 M00S03372.sform ---| IF UPPER(CHAR) EQ CAPE THEN
05280 M00S03373.sform ---| BEGIN # SKIP E CHARACTER #
05281 M00S03374.sform ---| CHARPOS = CHARPOS + 1;
05282 M00S03375.sform ---| CHAR = NEXTCHAR(FLDIND,CHARPOS);
05283 M00S03376.sform ---| END
05284 M00S03377.sform ---| IF CHAR EQ MINUS THEN
05285 M00S03378.sform ---| BEGIN # NEGATIVE EXPONENT #
05286 M00S03379.sform ---| ESIGN = -1;
05287 M00S03380.sform ---| CHARPOS = CHARPOS + 1;
05288 M00S03381.sform ---| CHAR = NEXTCHAR(FLDIND,CHARPOS);
05289 M00S03382.sform ---| END
05290 M00S03383.sform ---| ELSE IF CHAR EQ PLUS THEN
05291 M00S03384.sform ---| BEGIN # POSITIVE EXPONENT #
05292 M00S03385.sform ---| CHARPOS = CHARPOS + 1;
05293 M00S03386.sform ---| CHAR = NEXTCHAR(FLDIND,CHARPOS);
05294 M00S03387.sform ---| END
05295 M00S03388.sform ---| GETNUM(FLDIND,CHARPOS,TVAL,DIGITS);
05296 M00S03389.sform ---| IF DIGITS EQ 0 OR DIGITS GR DIGITLIMIT THEN
05297 M00S03390.sform ---| BEGIN # TOO MANY OR NO DIGITS IN EXP #
05298 M00S03391.sform ---| INPUTTYPE = FORMTYPE"BAD";
05299 M00S03392.sform ---| RETURN;
05300 M00S03393.sform ---| END
05301 M00S03394.sform ---| EVAL = ESIGN * TVAL + EVAL;
05302 M00S03395.sform ---|
05303 M00S03396.sform ---|ENDOFFLD: # END OF INPUT FIELD #
05304 M00S03397.sform ---|
05305 M00S03398.sform ---| IF ABS(EVAL) + DIGITINT GR EXPONLIMIT THEN
05306 M00S03399.sform ---| BEGIN # INPUT NUMBER TOO LARGE #
05307 M00S03400.sform ---| INPUTTYPE = FORMTYPE"BAD";
05308 M00S03401.sform ---| RETURN;
05309 M00S03402.sform ---| END
05310 M00S03403.sform ---|
05311 M00S03404.sform ---| IF (DOLLARSIGN AND (INPUTTYPE EQ FORMTYPE"E")) OR NOT SOMEDIGITS THEN
05312 M00S03405.sform ---| BEGIN # REAL INPUT WITH $ OR NO DIGITS #
05313 M00S03406.sform ---| INPUTTYPE = FORMTYPE"BAD";
05314 M00S03407.sform ---| RETURN;
05315 M00S03408.sform ---| END
05316 M00S03409.sform ---|
05317 M00S03410.sform ---| IF SOMEDIGITS AND (FORMTYPE"NINE" GR INPUTTYPE) THEN
05318 M00S03411.sform ---| BEGIN # UNSIGNED INTEGER INPUT #
05319 M00S03412.sform ---| INPUTTYPE = FORMTYPE"NINE";
05320 M00S03413.sform ---| END
05321 M00S03414.sform ---|
05322 M00S03415.sform ---| IF CHARPOS LQ FLDLENGTH[FLDIND] -1 THEN
05323 M00S03416.sform ---| BEGIN # CHECK FOR EXTRA CHARACTERS #
05324 M00S03417.sform ---| FOR I = CHARPOS STEP 1 UNTIL FLDLENGTH[FLDIND] -1 DO
05325 M00S03418.sform ---| BEGIN
05326 M00S03419.sform ---| IF NEXTCHAR(FLDIND,I) NQ BLANK THEN INPUTTYPE = FORMTYPE"BAD";
05327 M00S03420.sform ---| END
05328 M00S03421.sform ---| END
05329 M00S03422.sform ---|
05330 M00S03423.sform ---|END # NCHECK #
05331 M00S03424.sform ---|CONTROL EJECT;
05332 M00S03425.sform ---|
05333 M00S03426.sform ---|PROC PICVAL(FLDIND);
05334 M00S03427.sform ---|
05335 M00S03428.sform ---|# TITLE PICVAL - PERFORM PICTURE VALIDATION. #
05336 M00S03429.sform ---|
05337 M00S03430.sform ---|BEGIN # PICVAL #
05338 M00S03431.sform ---|
05339 M00S03432.sform ---|#
05340 M00S03433.sform ---|** PICVAL - PERFORM PICTURE VALIDATION.
05341 M00S03434.sform ---|*
05342 M00S03435.sform ---|* THIS PROCEDURE VALIDATES THAT INPUT TO THE VARIABLE POINTED TO
05343 M00S03436.sform ---|* BY FLDIND CONFORMS WITH THE PICTURE TYPE SPECIFIED IN VARLIST.
05344 M00S03437.sform ---|*
05345 M00S03438.sform ---|* PROC PICVAL(FLDIND)
05346 M00S03439.sform ---|*
05347 M00S03440.sform ---|* ENTRY FLDIND = FLDLIST INDEX FOR FIELD TO BE CHECKED.
05348 M00S03441.sform ---|*
05349 M00S03442.sform ---|* EXIT FLDVALID[FLDIND] = FALSE, IF INPUT IS INVALID.
05350 M00S03443.sform ---|*
05351 M00S03444.sform ---|* CALLS DATEVL, NCHECK.
05352 M00S03445.sform ---|#
05353 M00S03446.sform ---|ITEM FLDIND I; # INDEX OF VARIABLE TO VALIDATE #
05354 M00S03447.sform ---|
05355 M00S03448.sform ---|ITEM DOLLARSIGN B; # $ IN INPUT #
05356 M00S03449.sform ---|ITEM EVAL I; # EXPONENT VALUE OF INPUT #
05357 M00S03450.sform ---|ITEM INPIND I; # INDEX OF CHARACTER IN INPUT #
05358 M00S03451.sform ---|ITEM INPTYPE I; # FORMAT TYPE OF INPUT #
05359 M00S03452.sform ---|ITEM IVAL I; # INTEGER VALUE OF INPUT #
05360 M00S03453.sform ---|ITEM NCHAR I; # NEXT CHARACTER IN VARDATA #
05361 M00S03454.sform ---|ITEM PTYPE I; # PICTURE TYPE #
05362 M00S03455.sform ---|ITEM VARIND I; # INDEX INTO VARLIST OF VARIABLE #
05363 M00S03456.sform ---|
05364 M00S03457.sform ---|SWITCH PICTURTYPE # PICTURE TYPE SWITCH #
05365 M00S03458.sform ---| ,
05366 M00S03459.sform ---| PICX, # X PICTURE(DEFAULT) #
05367 M00S03460.sform ---| PICA, # ALPHA PICTURE #
05368 M00S03461.sform ---| PIC9, # INTEGER PICTURE #
05369 M00S03462.sform ---| PICN, # NUMERIC PICTURE #
05370 M00S03463.sform ---| PIC$, # DOLLAR PICTURE #
05371 M00S03464.sform ---| PICE, # REAL PICTURE #
05372 M00S03465.sform ---| PICY, # YYMMDD DATE PICTURE #
05373 M00S03466.sform ---| PICM, # MMDDYY DATE PICTURE #
05374 M00S03467.sform ---| PICD; # DDMMYY DATE PICTURE #
05375 M00S03468.sform ---|
05376 M00S03469.sform ---|VARIND = FLDVARORD[FLDIND];
05377 M00S03470.sform ---|PTYPE = VARPICTYPE[VARIND] ;
05378 M00S03471.sform ---|
05379 M00S03472.sform ---|GOTO PICTURTYPE[PTYPE];
05380 M00S03473.sform ---|
05381 M00S03474.sform ---|PICX: # DISPLAYABLE CHARACTER TYPE #
05382 M00S03475.sform ---|
05383 M00S03476.sform ---| RETURN;
05384 M00S03477.sform ---|
05385 M00S03478.sform ---|PICA: # ALPHABETIC FORMAT #
05386 M00S03479.sform ---|
05387 M00S03480.sform ---| FOR INPIND = 0 STEP 1 UNTIL FLDLENGTH[FLDIND] -1 DO
05388 M00S03481.sform ---| BEGIN
05389 M00S03482.sform ---| NCHAR = NEXTCHAR(FLDIND,INPIND);
05390 M00S03483.sform ---| IF NOT(NCHAR GQ CAPA AND NCHAR LQ CAPZ)
05391 M00S03484.sform ---| AND NOT(NCHAR GQ LOWA AND NCHAR LQ LOWZ)
05392 M00S03485.sform ---| AND NOT(NCHAR EQ BLANK) THEN
05393 M00S03486.sform ---| BEGIN # NOT ALPHABETIC INPUT #
05394 M00S03487.sform ---| FLDVALID[FLDIND] = FALSE;
05395 M00S03488.sform ---| END
05396 M00S03489.sform ---| END
05397 M00S03490.sform ---|
05398 M00S03491.sform ---| RETURN;
05399 M00S03492.sform ---|
05400 M00S03493.sform ---|PICY:
05401 M00S03494.sform ---|PICM:
05402 M00S03495.sform ---|PICD: # DATE FORMATS #
05403 M00S03496.sform ---|
05404 M00S03497.sform ---| DATEVL(FLDIND,IVAL,EVAL);
05405 M00S03498.sform ---| RETURN;
05406 M00S03499.sform ---|
05407 M00S03500.sform ---|PICE: # REAL FORMAT #
05408 M00S03501.sform ---|PIC9: # INTEGER FORMAT #
05409 M00S03502.sform ---|PICN: # SIGNED INTEGER FORMAT #
05410 M00S03503.sform ---|PIC$: # CURRENCY FORMAT #
05411 M00S03504.sform ---|
05412 M00S03505.sform ---| NCHECK(FLDIND,IVAL,EVAL,INPTYPE,DOLLARSIGN);
05413 M00S03506.sform ---| IF (VARPICTYPE[VARIND] EQ FORMTYPE"E" AND DOLLARSIGN)
05414 M00S03507.sform ---| OR INPTYPE GR VARPICTYPE[VARIND] OR INPTYPE EQ FORMTYPE"BAD" THEN
05415 M00S03508.sform ---| BEGIN
05416 M00S03509.sform ---| FLDVALID[FLDIND] = FALSE;
05417 M00S03510.sform ---| END
05418 M00S03511.sform ---| RETURN;
05419 M00S03512.sform ---|
05420 M00S03513.sform ---|END # PICVAL #
05421 M00S03514.sform ---|CONTROL EJECT;
05422 M00S03515.sform ---|
05423 M00S03516.sform ---|PROC POSARR(PANELADDR);
05424 M00S03517.sform ---|
Line S03518 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05425 M01S03518.242l642 ---|# TITLE POSARR - POSITON PANEL RECORD BASED ARRAYS. #
Line S00844 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05426 M01S00844.242l642 +++|# TITLE POSARR - POSITION PANEL RECORD BASED ARRAYS. #
05427 M00S03519.sform +++|
05428 M00S03520.sform +++|BEGIN # POSARR #
05429 M00S03521.sform +++|
05430 M00S03522.sform +++|#
05431 M00S03523.sform +++|** POSARR - POSITION PANEL RECORD BASED ARRAYS.
05432 M00S03524.sform +++|*
05433 M00S03525.sform +++|* THIS PROCEDURE POSITIONS THE BASED ARRAYS THAT DESCRIBE THE
05434 M00S03526.sform +++|* FORMAT OF THE INFORMATION IN PANEL RECORD USING THE ADDRESS
05435 M00S03527.sform +++|* PASSED IN PANELADDR.
05436 M00S03528.sform +++|*
05437 M00S03529.sform +++|* PROC POSARR(PANELADDR)
05438 M00S03530.sform +++|*
05439 M00S03531.sform +++|* ENTRY PANELADDR = FWA OF THE PANEL RECORD IN MEMORY.
05440 M00S03532.sform +++|*
05441 M00S03533.sform +++|* EXIT ALL PANEL RECORD BASED ARRAYS POSITIONED.
05442 M00S03534.sform +++|#
05443 M00S03535.sform +++|ITEM PANELADDR I; # THE ADDRESS OF THE PANEL #
05444 M00S03536.sform +++|
05445 M00S03537.sform +++|ITEM ZEROWORD I = 0; # DUMMY FIELD LIST #
05446 M00S03538.sform +++|
05447 M00S03539.sform +++|P<RECORD> = PANELADDR; # POSITION BASED ARRAYS #
05448 M00S03540.sform +++|P<PANELHEADR> = PANELADDR;
05449 M00S03541.sform +++|P<VDATA> = PANELADDR + PANHEADLEN;
05450 M00S03542.sform +++|
05451 M00S03543.sform +++|IF PANSTRFLD[0] NQ 0 THEN
05452 M00S03544.sform +++| BEGIN # IF PANEL HAS FIELD LIST #
05453 M00S03545.sform +++| P<FLDLIST> = PANELADDR + PANSTRFLD[0];
05454 M00S03546.sform +++| END
05455 M00S03547.sform +++|ELSE
05456 M00S03548.sform +++| BEGIN # NO FIELD LIST, ONLY BOXES #
05457 M00S03549.sform +++| P<FLDLIST> = LOC(ZEROWORD);
05458 M00S03550.sform +++| END
05459 M00S03551.sform +++|
05460 M00S03552.sform +++|P<VARLIST> = PANELADDR + PANSTRVAR[0];
05461 M00S03553.sform +++|P<FUNLIST> = PANELADDR + PANSTRFUN[0];
05462 M00S03554.sform +++|P<ATTLIST> = PANELADDR + PANSTRATT[0];
05463 M00S03555.sform +++|P<ARRLIST> = PANELADDR + PANSTRARR[0];
05464 M00S03556.sform +++|P<BOXLIST> = PANELADDR + PANSTRBOX[0];
05465 M00S03557.sform +++|
05466 M00S03558.sform +++|END # POSARR #
Line S00231 Modification History |
M01 (Added by) | 243l647 |
Seq # *Modification Id* Act
----------------------------+
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];
05497 M01S00261.243l647 +++| END
05498 M01S00262.243l647 +++|ELSE
05499 M01S00263.243l647 +++| BEGIN # NO FIELD LIST, ONLY BOXES #
05500 M01S00264.243l647 +++| P<FLD2LIST> = LOC(ZEROWORD);
05501 M01S00265.243l647 +++| END
05502 M01S00266.243l647 +++|
05503 M01S00267.243l647 +++|P<VAR2LIST> = PANELADDR + PAN2STRVAR[0];
05504 M01S00268.243l647 +++|P<ATT2LIST> = PANELADDR + PAN2STRATT[0];
Line S00001 Modification History |
M01 (Added by) | sform15 |
Seq # *Modification Id* Act
----------------------------+
05505 M01S00001.sform15 +++|P<ARR2LIST> = PANELADDR + PAN2STRARR[0];
Line S00269 Modification History |
M01 (Added by) | 243l647 |
Seq # *Modification Id* Act
----------------------------+
05506 M01S00269.243l647 +++|
05507 M01S00270.243l647 +++|END # POSTWO #
05508 M00S03559.sform +++|CONTROL EJECT;
05509 M00S03560.sform +++|
05510 M00S03561.sform +++|PROC PSTRNG(FLDIND,MESSNUM);
05511 M00S03562.sform +++|
05512 M00S03563.sform +++|# TITLE PSTRNG - PRINT MESSAGE STRING. #
05513 M00S03564.sform +++|
05514 M00S03565.sform +++|BEGIN # PSTRNG #
05515 M00S03566.sform +++|
05516 M00S03567.sform +++|#
05517 M00S03568.sform +++|** PSTRNG - PRINT MESSAGE STRING.
05518 M00S03569.sform +++|*
05519 M00S03570.sform +++|* THIS PROCEDURE CLEARS THE MESSAGE AREA AND PRINTS A USER OR
05520 M00S03571.sform +++|* SMF MESSAGE.
05521 M00S03572.sform +++|*
05522 M00S03573.sform +++|* PROC PSTRNG(FLDIND,MESSNUM)
05523 M00S03574.sform +++|*
05524 M00S03575.sform +++|* ENTRY FLDIND = INDEX OF FIELD FOR HELP STRING.
05525 M00S03576.sform +++|* MESSNUM = SWITCH VALUE FOR MESSAGE PROMPT.
05526 M00S03577.sform +++|*
05527 M00S03578.sform +++|* EXIT MESSAGE TRUNCATED IF NECESSARY AND WRITTEN.
05528 M00S03579.sform +++|*
Line S03580 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05529 M01S03580.242l642 ---|* CALLS CPANEL, VDTBOO, VDTCHR, VDTCLL, VDTEOO, VDTPOS, VDTSAM
05530 M01S03581.242l642 ---|* VDTSTR.
Line S00845 Modification History |
M01 (Added by) | 242l642 |
M02 (Removed by) | ns2346 |
Seq # *Modification Id* Act
----------------------------+
05531 M02S00845.ns2346 ---|* CALLS CPANEL, MCLEAN, VDTCAA, VDTCHR, VDTSTR.
Line S00011 Modification History |
M01 (Added by) | ns2346 |
Seq # *Modification Id* Act
----------------------------+
05532 M01S00011.ns2346 +++|* CALLS CPANEL, MCLEAN, VDTCHR, VDTPOS, VDTSAM, VDTSTR.
05533 M00S03582.sform +++|*
05534 M00S03583.sform +++|* USES TERHELPREQ, TERMESREAD, TERMESWRIT.
05535 M00S03584.sform +++|#
05536 M00S03585.sform +++|ITEM FLDIND I; # INDEX INTO FIELD LIST #
05537 M00S03586.sform +++|ITEM MESSNUM S:MESSSTAT; # SWITCH FOR MESSAGE PROMPT #
05538 M00S03587.sform +++|
05539 M00S03588.sform +++|ITEM CINDEX I; # CHARACTER INDEX INTO MESSAGE #
05540 M00S03589.sform +++|ITEM I I; # LOOP VARIABLE #
05541 M00S03590.sform +++|ITEM MESCHR I; # HOLDS ONE CHARACTER OF MESSAGE #
05542 M00S03591.sform +++|ITEM MCOUNT I; # CHARACTER COUNT FOR MESSAGE #
05543 M00S03592.sform +++|ITEM MSGFIT B; # MESSAGE TRUNCATION FLAG #
05544 M00S03593.sform +++|ITEM VARIND I; # INDEX INTO VARLIST #
05545 M00S03594.sform +++|ITEM WINDEX I; # WORD INDEX INTO MESSAGE #
05546 M00S03595.sform +++|
Line S00846 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05547 M01S00846.242l642 +++|*IF UNDEF,QTRM
Line S03596 Modification History |
M01 (Removed by) | sform13 |
Seq # *Modification Id* Act
----------------------------+
05548 M01S03596.sform13 ---|ARRAY CONMESS[0:2] P(1);
Line S03597 Modification History |
M01 (Removed by) | 242l642 |
M02 (Removed by) | sform13 |
Seq # *Modification Id* Act
----------------------------+
05549 M02S03597.sform13 ---| BEGIN # :I PLEASE CONFIRM #
Line S00847 Modification History |
M01 (Added by) | 242l642 |
M02 (Removed by) | sform13 |
Seq # *Modification Id* Act
----------------------------+
05550 M02S00847.sform13 ---| BEGIN # :IPLEASE CONFIRM #
Line S03598 Modification History |
M01 (Removed by) | sform13 |
Seq # *Modification Id* Act
----------------------------+
05551 M01S03598.sform13 ---| ITEM CONMESSAGE U(00,00,60) = [
05552 M01S03599.sform13 ---| O"00112076147605760176",
05553 M01S03600.sform13 ---| O"23760555760376177616",
05554 M01S03601.sform13 ---| O"76067611762276150000"];
05555 M01S03602.sform13 ---| END
05556 M01S03603.sform13 ---|
05557 M01S03604.sform13 ---|ARRAY CORMESS[0:2] P(1);
05558 M01S03605.sform13 ---| BEGIN # :IPLEASE CORRECT #
05559 M01S03606.sform13 ---| ITEM CORMESSAGE U(00,00,60) = [
05560 M01S03607.sform13 ---| O"00112076147605760176",
05561 M01S03608.sform13 ---| O"23760555760376177622",
05562 M01S03609.sform13 ---| O"76227605760376240000"];
05563 M01S03610.sform13 ---| END
05564 M01S03611.sform13 ---|
05565 M01S03612.sform13 ---|ARRAY DEFMESS[0:2] P(1);
05566 M01S03613.sform13 ---| BEGIN # :IPLEASE ENTER #
05567 M01S03614.sform13 ---| ITEM DEFMESSAGE U(00,00,60) = [
05568 M01S03615.sform13 ---| O"00112076147605760176",
05569 M01S03616.sform13 ---| O"23760555760576167624",
05570 M01S03617.sform13 ---| O"76057622000000000000"];
05571 M01S03618.sform13 ---| END
05572 M01S03619.sform13 ---|
05573 M01S03620.sform13 ---|ARRAY ERRMESS[0:4] P(1);
05574 M01S03621.sform13 ---| BEGIN # :IPLEASE REENTER INPUT #
05575 M01S03622.sform13 ---| ITEM ERRMESSAGE U(00,00,60) = [
05576 M01S03623.sform13 ---| O"00112076147605760176",
05577 M01S03624.sform13 ---| O"23760555762276057605",
05578 M01S03625.sform13 ---| O"76167624760576225576",
05579 M01S03626.sform13 ---| O"11761676207625762400",
05580 M01S03627.sform13 ---| O"00000000000000000000"];
05581 M01S03628.sform13 ---| END
05582 M01S03629.sform13 ---|
05583 M01S03630.sform13 ---|ARRAY FUNMESS[0:4] P(1);
05584 M01S03631.sform13 ---| BEGIN # :IPLEASE PRESS FUNCTION KEY #
05585 M01S03632.sform13 ---| ITEM FUNMESSAGE U(00,00,60) = [
05586 M01S03633.sform13 ---| O"00112076147605760176",
05587 M01S03634.sform13 ---| O"23760555762076227605",
05588 M01S03635.sform13 ---| O"76237623557606762576",
05589 M01S03636.sform13 ---| O"16760376247611761776",
05590 M01S03637.sform13 ---| O"16557613760576310000"];
05591 M01S03638.sform13 ---| END
Line S00001 Modification History |
M01 (Added by) | sform13 |
Seq # *Modification Id* Act
----------------------------+
05592 M01S00001.sform13 +++|ARRAY CONMESS[0:3] P(1);
05593 M01S00002.sform13 +++| BEGIN # PLEASE CONFIRM #
05594 M01S00003.sform13 +++| ITEM CONMESSAGE U(00,00,60) = [
05595 M01S00004.sform13 +++| O"41204154414541414163",
05596 M01S00005.sform13 +++| O"41454040414341574156",
05597 M01S00006.sform13 +++| O"41464151416241550000"];
05598 M01S00007.sform13 +++| END
05599 M01S00008.sform13 +++|
05600 M01S00009.sform13 +++|ARRAY CORMESS[0:3] P(1);
05601 M01S00010.sform13 +++| BEGIN # PLEASE CORRECT #
05602 M01S00011.sform13 +++| ITEM CORMESSAGE U(00,00,60) = [
05603 M01S00012.sform13 +++| O"41204154414541414163",
05604 M01S00013.sform13 +++| O"41454040414341574162",
05605 M01S00014.sform13 +++| O"41624145414341640000"];
05606 M01S00015.sform13 +++| END
05607 M01S00016.sform13 +++|
05608 M01S00017.sform13 +++|ARRAY DEFMESS[0:2] P(1);
05609 M01S00018.sform13 +++| BEGIN # PLEASE ENTER #
05610 M01S00019.sform13 +++| ITEM DEFMESSAGE U(00,00,60) = [
05611 M01S00020.sform13 +++| O"41204154414541414163",
05612 M01S00021.sform13 +++| O"41454040414541564164",
05613 M01S00022.sform13 +++| O"41454162000000000000"];
05614 M01S00023.sform13 +++| END
05615 M01S00024.sform13 +++|
05616 M01S00025.sform13 +++|ARRAY ERRMESS[0:4] P(1);
05617 M01S00026.sform13 +++| BEGIN # PLEASE REENTER INPUT #
05618 M01S00027.sform13 +++| ITEM ERRMESSAGE U(00,00,60) = [
05619 M01S00028.sform13 +++| O"41204154414541414163",
05620 M01S00029.sform13 +++| O"41454040416241454145",
05621 M01S00030.sform13 +++| O"41564164414541624040",
05622 M01S00031.sform13 +++| O"41514156416041654164",
05623 M01S00032.sform13 +++| O"00000000000000000000"];
05624 M01S00033.sform13 +++| END
05625 M01S00034.sform13 +++|
05626 M01S00035.sform13 +++|ARRAY FUNMESS[0:5] P(1);
05627 M01S00036.sform13 +++| BEGIN # PLEASE PRESS FUNCTION KEY #
05628 M01S00037.sform13 +++| ITEM FUNMESSAGE U(00,00,60) = [
05629 M01S00038.sform13 +++| O"41204154414541414163",
05630 M01S00039.sform13 +++| O"41454040416041624145",
05631 M01S00040.sform13 +++| O"41634163404041464165",
05632 M01S00041.sform13 +++| O"41564143416441514157",
05633 M01S00042.sform13 +++| O"41564040415341454171",
05634 M01S00043.sform13 +++| O"00000000000000000000"];
05635 M01S00044.sform13 +++| END
Line S00848 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05636 M01S00848.242l642 +++|*ELSE
05637 M01S00849.242l642 +++|ARRAY CONMESS[0:3] P(1);
05638 M01S00850.242l642 +++| BEGIN # PLEASE CONFIRM #
05639 M01S00851.242l642 +++| ITEM CONMESSAGE U(00,00,60) = [
05640 M01S00852.242l642 +++| O"40404040412041544145",
05641 M01S00853.242l642 +++| O"41414163414540404143",
05642 M01S00854.242l642 +++| O"41574156414641514162",
05643 M01S00855.242l642 +++| O"41550000000000000000"];
05644 M01S00856.242l642 +++| END
05645 M01S00857.242l642 +++|
05646 M01S00858.242l642 +++|ARRAY CORMESS[0:3] P(1);
05647 M01S00859.242l642 +++| BEGIN # PLEASE CORRECT #
05648 M01S00860.242l642 +++| ITEM CORMESSAGE U(00,00,60) = [
05649 M01S00861.242l642 +++| O"40404040412041544145",
05650 M01S00862.242l642 +++| O"41414163414540404143",
05651 M01S00863.242l642 +++| O"41574162416241454143",
05652 M01S00864.242l642 +++| O"41640000000000000000"];
05653 M01S00865.242l642 +++| END
05654 M01S00866.242l642 +++|
05655 M01S00867.242l642 +++|ARRAY DEFMESS[0:2] P(1);
05656 M01S00868.242l642 +++| BEGIN # PLEASE ENTER #
05657 M01S00869.242l642 +++| ITEM DEFMESSAGE U(00,00,60) = [
05658 M01S00870.242l642 +++| O"40404040412041544145",
05659 M01S00871.242l642 +++| O"41414163414540404145",
05660 M01S00872.242l642 +++| O"41564164414541620000"];
05661 M01S00873.242l642 +++| END
05662 M01S00874.242l642 +++|
05663 M01S00875.242l642 +++|ARRAY ERRMESS[0:4] P(1);
05664 M01S00876.242l642 +++| BEGIN # PLEASE REENTER INPUT #
05665 M01S00877.242l642 +++| ITEM ERRMESSAGE U(00,00,60) = [
05666 M01S00878.242l642 +++| O"40404040412041544145",
05667 M01S00879.242l642 +++| O"41414163414540404162",
05668 M01S00880.242l642 +++| O"41454145415641644145",
05669 M01S00881.242l642 +++| O"41624040415141564160",
05670 M01S00882.242l642 +++| O"41654164000000000000"];
05671 M01S00883.242l642 +++| END
05672 M01S00884.242l642 +++|
05673 M01S00885.242l642 +++|ARRAY FUNMESS[0:5] P(1);
05674 M01S00886.242l642 +++| BEGIN # PLEASE PRESS FUNCTION KEY #
05675 M01S00887.242l642 +++| ITEM FUNMESSAGE U(00,00,60) = [
05676 M01S00888.242l642 +++| O"40404040412041544145",
05677 M01S00889.242l642 +++| O"41414163414540404160",
05678 M01S00890.242l642 +++| O"41624145416341634040",
05679 M01S00891.242l642 +++| O"41464165415641434164",
05680 M01S00892.242l642 +++| O"41514157415640404153",
05681 M01S00893.242l642 +++| O"41454171000000000000"];
05682 M01S00894.242l642 +++| END
05683 M01S00895.242l642 +++|*ENDIF
05684 M00S03639.sform +++|
05685 M00S03640.sform +++|BASED ARRAY MESSNAME [0:0] P(1); # MESSAGE STRING #
05686 M00S03641.sform +++| BEGIN
05687 M00S03642.sform +++| ITEM MESSWORD U(00,00,60); # MESSAGE WORD #
05688 M00S03643.sform +++| END
05689 M00S03644.sform +++|
05690 M00S03645.sform +++|SWITCH JUMPCASE:MESSSTAT
05691 M00S03646.sform +++| JUMPHELP:HELP, # SMF OR USER HELP #
05692 M00S03647.sform +++| JUMPCONF:CONFIRM, # PLEASE CONFIRM #
05693 M00S03648.sform +++| JUMPRENT:REENTER; # PLEASE RENTER INPUT #
05694 M00S03649.sform +++|
Line S03650 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05695 M01S03650.242l642 ---|VDTBOO;
05696 M00S03651.sform ---|MCLEAN(MCOUNT,MSGFIT); # CLEAN MESSAGE AREA #
05697 M00S03652.sform ---|
05698 M00S03653.sform ---|GOTO JUMPCASE[MESSNUM]; # ISSUE MESSAGE #
05699 M00S03654.sform ---|
05700 M00S03655.sform ---|JUMPHELP: # PRINT HELP MESSAGE #
05701 M00S03656.sform ---|
05702 M00S03657.sform ---| IF FLDIND NQ -1 THEN
05703 M00S03658.sform ---| BEGIN # IF INPUT FIELD #
05704 M00S03659.sform ---| VARIND = FLDVARORD[FLDIND];
05705 M00S03660.sform ---| IF VARHSOS[VARIND] NQ 0 THEN
05706 M00S03661.sform ---| BEGIN # IF USER HELP MESSAGE DEFINED #
05707 M00S03662.sform ---| P<MESSNAME> = LOC(RECWORDU[0])+ VARHSOS[VARIND];
05708 M00S03663.sform ---| END
05709 M00S03664.sform ---| ELSE
05710 M00S03665.sform ---| BEGIN # NO USER HELP MESSAGE DEFINED #
05711 M00S03666.sform ---| MSGFIT = TRUE; # SMF MESSAGE WILL FIT #
05712 M00S03667.sform ---| IF NOT FLDENTERED[FLDIND] THEN
05713 M00S03668.sform ---| BEGIN # IF DATA NOT ENTERED IN FIELD #
05714 M00S03669.sform ---| P<MESSNAME> = LOC(DEFMESSAGE[0]); # *PLEASE ENTER* #
05715 M00S03670.sform ---| END
05716 M00S03671.sform ---| ELSE
05717 M00S03672.sform ---| BEGIN # DATA ENTERED IN FIELD #
05718 M00S03673.sform ---| P<MESSNAME> = LOC(CORMESSAGE[0]); # *PLEASE CORRECT* #
05719 M00S03674.sform ---| END
05720 M00S03675.sform ---| END
05721 M00S03676.sform ---| END
05722 M00S03677.sform ---| ELSE
05723 M00S03678.sform ---| BEGIN # NO INPUT FIELD #
05724 M00S03679.sform ---| MSGFIT = TRUE; # SMF MESSAGE WILL FIT #
05725 M00S03680.sform ---| P<MESSNAME> = LOC(FUNMESSAGE[0]); # *PLEASE PRESS FUNCTION KEY* #
05726 M00S03681.sform ---| END
Line S03682 Modification History |
M01 (Removed by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05727 M01S03682.ns2231 ---| TERHELPREQ[0] = FALSE; # XYZ # # HELP REQUEST HONORED #
Line S00003 Modification History |
M01 (Added by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05728 M01S00003.ns2231 +++| TERHELPREQ[0] = FALSE; # HELP REQUEST HONORED #
05729 M00S03683.sform +++| GOTO PRINTMSG;
05730 M00S03684.sform +++|
05731 M00S03685.sform +++|JUMPRENT:
05732 M00S03686.sform +++|
05733 M00S03687.sform +++| MSGFIT = TRUE; # SMF MESSAGE WILL FIT #
05734 M00S03688.sform +++| P<MESSNAME> = LOC(ERRMESSAGE[0]); # *PLEASE REENTER INPUT* #
05735 M00S03689.sform +++| GOTO PRINTMSG;
05736 M00S03690.sform +++|
05737 M00S03691.sform +++|JUMPCONF:
05738 M00S03692.sform +++|
05739 M00S03693.sform +++| MSGFIT = TRUE; # SMF MESSAGE WILL FIT #
05740 M00S03694.sform +++| IF FLDIND NQ -1 THEN
05741 M00S03695.sform +++| BEGIN # IF INPUT FIELD #
05742 M00S03696.sform +++| P<MESSNAME> = LOC(CONMESSAGE[0]); # *PLEASE CONFIRM* #
05743 M00S03697.sform +++| END
05744 M00S03698.sform +++| ELSE
05745 M00S03699.sform +++| BEGIN # NO INPUT FIELD #
05746 M00S03700.sform +++| P<MESSNAME> = LOC(FUNMESSAGE[0]); # *PLEASE PRESS FUNCTION KEY* #
05747 M00S03701.sform +++| END
05748 M00S03702.sform +++|
05749 M00S03703.sform +++|PRINTMSG: # PRINT MESSAGE #
05750 M00S03704.sform +++|
Line S00003 Modification History |
M01 (Added by) | sform5 |
Seq # *Modification Id* Act
----------------------------+
05751 M01S00003.sform5 +++| VDTPOS(0,0); # POSITION TO MESSAGE LINE #
05752 M00S03705.sform +++| IF MSGFIT THEN
05753 M00S03706.sform +++| BEGIN # IF MESSAGE WILL FIT #
05754 M00S03707.sform +++| VDTSTR(MESSNAME); # PRINT ENTIRE MESSAGE #
05755 M00S03708.sform +++| END
05756 M00S03709.sform +++| ELSE
05757 M00S03710.sform +++| BEGIN # TRUNCATE AS NEEDED #
Line S03711 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05758 M01S03711.242l642 ---| CINDEX = 2; # SKIP 0007 BYTE #
Line S00896 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05759 M01S00896.242l642 +++| CONTROL IFEQ QTRMV,0; # IF NOT QTRM VARIANT #
05760 M01S00897.242l642 +++| CINDEX = 2; # SKIP 0007 BYTE #
05761 M01S00898.242l642 +++| CONTROL FI; # END OF IF NOT QTRM #
05762 M01S00899.242l642 +++| CONTROL IFEQ QTRMV,1; # IF QTRM VARIANT #
05763 M01S00900.242l642 +++| CINDEX = 0; # START AT BEGINNING OF LINE #
05764 M01S00901.242l642 +++| CONTROL FI; # END OF IF QTRM #
05765 M00S03712.sform +++| WINDEX = 0;
05766 M00S03713.sform +++| MESCHR = C<CINDEX,2>MESSWORD[WINDEX];
05767 M00S03714.sform +++| FOR I = 0 STEP 1 WHILE MESCHR NQ 0 AND I LQ MCOUNT DO
05768 M00S03715.sform +++| BEGIN # WRITE MESSAGE #
05769 M00S03716.sform +++| VDTCHR(MESCHR);
05770 M00S03717.sform +++| CINDEX = CINDEX + 2;
05771 M00S03718.sform +++| IF CINDEX GQ 10 THEN
05772 M00S03719.sform +++| BEGIN # IF WORD EXHAUSTED #
05773 M00S03720.sform +++| CINDEX = 0; # RESET CHARACTER INDEX #
05774 M00S03721.sform +++| WINDEX = WINDEX + 1; # GET NEXT WORD #
05775 M00S03722.sform +++| END
05776 M00S03723.sform +++| MESCHR = C<CINDEX,2>MESSWORD[WINDEX];
05777 M00S03724.sform +++| END
05778 M00S03725.sform +++| END
05779 M00S03726.sform +++|
05780 M00S03727.sform +++| TERMESWRIT[0] = TRUE; # MESSAGE WRITTEN #
05781 M00S03728.sform +++| TERMESREAD[0] = FALSE; # MESSAGE NOT READ BY USER YET #
05782 M00S03729.sform +++|
Line S03730 Modification History |
M01 (Removed by) | ns2346 |
Seq # *Modification Id* Act
----------------------------+
05783 M01S03730.ns2346 ---| VDTCAA; # CLEAR ALL ATTRIBUTES #
Line S00012 Modification History |
M01 (Added by) | ns2346 |
M02 (Removed by) | ns2356 |
Seq # *Modification Id* Act
----------------------------+
05784 M02S00012.ns2356 ---| VDTSAM(0); # CLEAR ALL ATTRIBUTES #
Line S00009 Modification History |
M01 (Added by) | ns2356 |
Seq # *Modification Id* Act
----------------------------+
05785 M01S00009.ns2356 +++| IF NOT TERBLCKMDE[0] THEN
05786 M01S00010.ns2356 +++| BEGIN
05787 M01S00011.ns2356 +++| VDTSAM(0);
05788 M01S00012.ns2356 +++| END
05789 M01S00013.ns2356 +++| ELSE
05790 M01S00014.ns2356 +++| BEGIN
05791 M01S00015.ns2356 +++| VDTSAM(O"6001");
05792 M01S00016.ns2356 +++| END
Line S03731 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05793 M01S03731.242l642 ---| VDTEOO;
05794 M00S03732.sform ---| CPANEL; # REWRITE SCREEN AS NEEDED #
05795 M00S03733.sform ---|
05796 M00S03734.sform ---|END # PSTRNG #
05797 M00S03735.sform ---|CONTROL EJECT;
05798 M00S03736.sform ---|
05799 M00S03737.sform ---|PROC READIN(FLDIND,COFFSET);
05800 M00S03738.sform ---|
05801 M00S03739.sform ---|# TITLE READIN - READ INPUT FROM TERMINAL. #
05802 M00S03740.sform ---|
05803 M00S03741.sform ---|BEGIN # READIN #
05804 M00S03742.sform ---|
05805 M00S03743.sform ---|#
05806 M00S03744.sform ---|** READIN - READ INPUT FROM TERMINAL.
05807 M00S03745.sform ---|*
05808 M00S03746.sform ---|* THIS PROCEDURE READS INPUT FROM THE TERMINAL AND STORES
05809 M00S03747.sform ---|* IT IN THE APPROPRIATE PLACE IN VARDATA.
05810 M00S03748.sform ---|*
05811 M00S03749.sform ---|* PROC READIN(FLDIND,COFFSET)
05812 M00S03750.sform ---|*
05813 M00S03751.sform ---|* ENTRY FLDIND = INDEX OF FIELD FOR STARTING CURSOR POSITION.
05814 M00S03752.sform ---|* COFFSET = CURSOR OFFSET IN FIELD.
05815 M00S03753.sform ---|*
05816 M00S03754.sform ---|* EXIT FLDIND = LAST FIELD ENTERED.
05817 M00S03755.sform ---|* VARDATA CONTAINS INPUT DATA.
05818 M00S03756.sform ---|*
05819 M00S03757.sform ---|* CALLS BFIELD, CPANEL, FFIELD, FUNKEY, PSTRNG, TABKEY, VDTBOI,
05820 M00S03758.sform ---|* VDTCOR, VDTEOO, VDTINP, VDTOUT, VDTPOS, WRIVCH.
05821 M00S03759.sform ---|*
05822 M00S03760.sform ---|* USES TERABNTERM, TERHELPFLD, TERHELPREQ, TERMESREAD,
05823 M00S03761.sform ---|* TERMISSINP, TERNRMTERM, TERPENDHLP, TERREWFLDS,
05824 M01S03762.242l642 ---|* TERREWSCRN, TERSOFTPOS, TERSOFTTAB.
Line S00902 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05825 M01S00902.242l642 +++|*IF UNDEF,QTRM
05826 M01S00903.242l642 +++|* TERREWSCRN, TERSOFTPOS, TERSOFTTAB.
05827 M01S00904.242l642 +++|*ELSE
05828 M01S00905.242l642 +++|* TERREWSCRN, TERSOFTPOS, TERSOFTTAB, TERWAITINP.
05829 M01S00906.242l642 +++|*ENDIF
05830 M00S03763.sform +++|#
05831 M00S03764.sform +++| ITEM FLDIND I; # INDEX OF FIELD IN FLDLIST #
05832 M00S03765.sform +++| ITEM COFFSET I; # CURSOR POSITION OFFSET #
05833 M00S03766.sform +++|
05834 M00S03767.sform +++| ITEM CHAR I; # VDT INPUT CHARACTER #
05835 M00S03768.sform +++| ITEM FIELD I; # INDEX OF FIELD IN FLDLIST #
05836 M00S03769.sform +++| ITEM I I; # LOOP COUNTER #
05837 M00S03770.sform +++| ITEM INPOS U = 0; # LINE AND COLUMN OF INPUT #
05838 M00S03771.sform +++| ITEM INPUTERROR B; # ERROR IN INPUT #
05839 M00S03772.sform +++| ITEM INSEARCH B = FALSE; # DO NOT INCLUDE OUT-ONLY FIELDS #
05840 M00S03773.sform +++| ITEM LASTFIELD I; # LAST FIELD THAT RECEIVED INPUT #
05841 M00S03774.sform +++| ITEM LASTORD I; # PREVIOUS INPUT ORDINAL #
05842 M00S03775.sform +++| ITEM LASTPOS U = 0; # LAST X AND Y POSITION #
05843 M00S03776.sform +++| ITEM OFFSET I; # CHARACTER OFFSET WITHIN FIELD #
05844 M00S03777.sform +++| ITEM ORD I; # VDT INPUT ORDINAL #
05845 M00S03778.sform +++| ITEM SKIPINP B; # SKIP DATA TIL NEXT INPUT READ #
05846 M00S03779.sform +++| ITEM STARTFIELD I; # FIELD TO START SEARCH #
05847 M00S03780.sform +++| ITEM STARTPOS I; # X/Y POSITION TO START SEARCH #
05848 M00S03781.sform +++| ITEM XPOS I; # VDT INPUT COLUMN NUMBER #
05849 M00S03782.sform +++| ITEM YPOS I; # VDT INPUT LINE NUMBER #
Line S03783 Modification History |
M01 (Removed by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05850 M01S03783.ns2231 ---| ITEM ZZZGKEY I; # SYMPL IS CONFUSED #
05851 M01S03784.ns2231 ---| ITEM ZZZNEXT I; # SYMPL IS CONFUSED #
05852 M00S03785.sform ---|
05853 M00S03786.sform ---| SWITCH INPUTTYPE:SCREENST # VDT INPUT ORDINALS #
Line S03787 Modification History |
M01 (Removed by) | ns2641 |
Seq # *Modification Id* Act
----------------------------+
05854 M01S03787.ns2641 ---| CONTINUE : RESERV1, # RESERVED #
Line S00001 Modification History |
M01 (Added by) | ns2641 |
Seq # *Modification Id* Act
----------------------------+
05855 M01S00001.ns2641 +++| CONTINUE : CLRALL, # CLEAR ALL TABS - IGNORED #
05856 M00S03788.sform +++| CHARACTER : CHAR, # OVERSTRIKE CHARACTER #
05857 M00S03789.sform +++| INSERTCHAR : INSC, # INSERT CHARACTER #
05858 M00S03790.sform +++| DELETECHAR : DELC, # DELETE CHARACTER #
05859 M00S03791.sform +++| INSERTLINE : INSL, # INSERT LINE #
05860 M00S03792.sform +++| DELETELINE : DELL, # DELETE LINE #
05861 M00S03793.sform +++| CLEARPAGE : CLRPAG, # CLEAR PAGE #
Line S03794 Modification History |
M01 (Removed by) | ns2453 |
Seq # *Modification Id* Act
----------------------------+
05862 M01S03794.ns2453 ---| CONTINUE : CLREOP, # CLEAR TO END OF PAGE #
Line S00001 Modification History |
M01 (Added by) | ns2453 |
Seq # *Modification Id* Act
----------------------------+
05863 M01S00001.ns2453 +++| CLEARPAGE : CLREOP, # CLEAR TO END OF PAGE #
05864 M00S03795.sform +++| CLEARPAGE : CLRUNP, # CLEAR UNPROTECTED #
05865 M00S03796.sform +++| CLEAREOL : CLREOL, # CLEAR TO END OF LINE #
05866 M00S03797.sform +++| CONTINUE : POS, # POSITION CURSOR #
Line S03798 Modification History |
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
05867 M01S03798.sform9 ---| CONTINUE : HOME, # POSITION HOME #
Line S00003 Modification History |
M01 (Added by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
05868 M01S00003.sform9 +++| HOMEKEY : HOME, # POSITION HOME #
05869 M00S03799.sform +++| CONTINUE : UP, # CURSOR UP #
05870 M00S03800.sform +++| CONTINUE : DOWN, # CURSOR DOWN #
Line S03801 Modification History |
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
05871 M01S03801.sform9 ---| CONTINUE : LEFT, # CURSOR LEFT #
05872 M01S03802.sform9 ---| CONTINUE : RIGHT, # CURSOR RIGHT #
Line S00004 Modification History |
M01 (Added by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
05873 M01S00004.sform9 +++| LEFTKEY : LEFT, # CURSOR LEFT #
05874 M01S00005.sform9 +++| RIGHTKEY : RIGHT, # CURSOR RIGHT #
05875 M00S03803.sform +++| FORWARDTAB : FTAB, # TAB FORWARD #
05876 M00S03804.sform +++| BACKWRDTAB : BTAB, # TAB BACKWARD #
05877 M00S03805.sform +++| CONTINUE : RET, # RETURN #
05878 M00S03806.sform +++| ERASECHAR : ERAC, # ERASE CHARACTER #
05879 M00S03807.sform +++| ERASELINE : ERAL, # ERASE LINE #
05880 M00S03808.sform +++| ENDOFINPUT : EOI, # END OF INFORMATION #
05881 M00S03809.sform +++| CONTINUE : RESET, # RESET #
05882 M00S03810.sform +++| APPLICFUN : FKEY, # FUNCTION KEY #
05883 M00S03811.sform +++| GENERICFUN : GKEY, # GENERIC KEY #
05884 M00S03812.sform +++| BADINPUT : BAD, # BAD #
05885 M00S03813.sform +++| CONTINUE : NOOP, # NOOP #
05886 M00S03814.sform +++| CONTINUE : COORD, # COORDINATES #
05887 M00S03815.sform +++| CONTINUE : PROTECT, # PROTECT ALL #
Line S03816 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05888 M01S03816.242l642 ---| CONTINUE : RESERV2, # RESERVED #
Line S00907 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05889 M01S00907.242l642 +++| NEWFIELD : STRTFLD, # START OF NEW FIELD #
Line S03817 Modification History |
M01 (Removed by) | ns2641 |
Seq # *Modification Id* Act
----------------------------+
05890 M01S03817.ns2641 ---| CONTINUE : RESERV3, # RESERVED #
05891 M01S03818.ns2641 ---| CONTINUE : RESERV4; # RESERVED #
Line S00002 Modification History |
M01 (Added by) | ns2641 |
Seq # *Modification Id* Act
----------------------------+
05892 M01S00002.ns2641 +++| CONTINUE : CLRTAB, # CLEAR TAB STOP - IGNORED #
05893 M01S00003.ns2641 +++| CONTINUE : SETTAB; # SET TAB STOP - IGNORED #
05894 M00S03819.sform +++|
05895 M00S03820.sform +++|INPOS = 0;
05896 M00S03821.sform +++|FIELD = FLDIND;
05897 M00S03822.sform +++|LASTFIELD = FLDIND;
05898 M00S03823.sform +++|INPUTERROR = FALSE;
Line S03824 Modification History |
M01 (Removed by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05899 M01S03824.ns2231 ---|TERHELPREQ[0] = FALSE; # XYZ #
Line S00004 Modification History |
M01 (Added by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05900 M01S00004.ns2231 +++|TERHELPREQ[0] = FALSE;
05901 M00S03825.sform +++|
Line S00908 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05902 M01S00908.242l642 +++|*IF DEF,QTRM
05903 M01S00909.242l642 +++|IF TERWAITINP[0] THEN
05904 M01S00910.242l642 +++| BEGIN # IF INPUT RECEIVED #
05905 M01S00911.242l642 +++| TERWAITINP[0] = FALSE; # CLEAR FLAG #
05906 M01S00912.242l642 +++| GOTO DOREAD1; # CONTINUE #
05907 M01S00913.242l642 +++| END
05908 M01S00914.242l642 +++|
05909 M01S00915.242l642 +++|*ENDIF
05910 M00S03826.sform +++|DOREAD: # READ INPUT FROM TERMINAL #
05911 M00S03827.sform +++|
Line S00004 Modification History |
M01 (Added by) | sform5 |
Seq # *Modification Id* Act
----------------------------+
05912 M01S00004.sform5 +++| ORD = SCREENST"EOI"; # SET LAST ORDINAL TO EOI #
Line S03828 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05913 M01S03828.242l642 ---| SOFTTAB = 0; # NUMBER OF SOFT TABS PENDING #
Line S00916 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05914 M01S00916.242l642 +++| TERSOFTTAB[0] = 0; # NUMBER OF SOFT TABS PENDING #
05915 M00S03829.sform +++| SKIPINP = FALSE;
05916 M00S03830.sform +++| TERMISSINP[0] = FALSE;
05917 M00S03831.sform +++|
05918 M00S03832.sform +++| IF INPUTERROR THEN
05919 M00S03833.sform +++| BEGIN # BAD INPUT #
05920 M00S03834.sform +++| PSTRNG(DUMMY,MESSSTAT"REENTER");
05921 M00S03835.sform +++| INPUTERROR = FALSE;
05922 M00S03836.sform +++| END
05923 M00S03837.sform +++| ELSE
05924 M00S03838.sform +++| BEGIN # NO INPUT ERROR #
05925 M00S03839.sform +++| IF TERHELPREQ[0] THEN
05926 M00S03840.sform +++| BEGIN # HELP REQUESTED FOR FIELD #
05927 M00S03841.sform +++| PSTRNG(TERHELPFLD[0],MESSSTAT"HELP");
Line S03842 Modification History |
M01 (Removed by) | ns2231 |
Seq # *Modification Id* Act
----------------------------+
05928 M01S03842.ns2231 ---| TERHELPREQ[0] = FALSE; # XYZ #
05929 M00S03843.sform ---| FIELD = TERHELPFLD[0];
05930 M00S03844.sform ---| END
05931 M00S03845.sform ---| ELSE
05932 M00S03846.sform ---| BEGIN # NO HELP REQUESTED #
05933 M00S03847.sform ---| CPANEL; # REWRITE SCREEN AS NEEDED #
05934 M00S03848.sform ---| END
05935 M00S03849.sform ---| END
05936 M00S03850.sform ---|
05937 M00S03851.sform ---| IF VALIDFIELD THEN
05938 M00S03852.sform ---| BEGIN # VALID FIELD #
05939 M00S03853.sform ---| XPOS = COFFSET + FLDXCORD[FIELD];
05940 M00S03854.sform ---| YPOS = FLDYCORD[FIELD];
05941 M00S03855.sform ---| END
05942 M00S03856.sform ---| ELSE
05943 M00S03857.sform ---| BEGIN # INVALID FIELD #
05944 M00S03858.sform ---| XPOS = 0;
05945 M00S03859.sform ---| YPOS = 0;
05946 M00S03860.sform ---| END
05947 M00S03861.sform ---| VDTPOS(XPOS,YPOS); # POSITION CURSOR #
05948 M00S03862.sform ---| VDTEOO;
Line S00917 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05949 M01S00917.242l642 +++|*IF DEF,QTRM
05950 M01S00918.242l642 +++| TERWAITINP[0] = TRUE; # SET WAITING FOR INPUT #
05951 M01S00919.242l642 +++| NIT$RC = 23; # SET RETURN CODE #
05952 M01S00920.242l642 +++| RETURN; # RETURN #
05953 M01S00921.242l642 +++|
05954 M01S00922.242l642 +++|DOREAD1: # CONTINUE AFTER QTRM INPUT #
05955 M01S00923.242l642 +++|
05956 M01S00924.242l642 +++|*ENDIF
Line S03863 Modification History |
M01 (Removed by) | sform5 |
Seq # *Modification Id* Act
----------------------------+
05957 M01S03863.sform5 ---| VDTBOI(ORD); # READ INPUT #
05958 M01S03864.sform5 ---| IF ORD NQ 0 THEN
Line S00005 Modification History |
M01 (Added by) | sform5 |
Seq # *Modification Id* Act
----------------------------+
05959 M01S00005.sform5 +++| VDTBOI(LASTORD); # CHECK FOR TYPE AHEAD #
Line S00925 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05960 M01S00925.242l642 +++| VDTBOO; # BEGIN OUTPUT SEQUENCE #
Line S00006 Modification History |
M01 (Added by) | sform5 |
Seq # *Modification Id* Act
----------------------------+
05961 M01S00006.sform5 +++| IF LASTORD NQ 0 THEN
05962 M00S03865.sform +++| BEGIN # TYPE AHEAD WAS ENTERED #
05963 M00S03866.sform +++| PSTRNG(FIELD,MESSSTAT"REENTER"); # PLEASE REENTER #
05964 M00S03867.sform +++| GOTO DOREAD;
05965 M00S03868.sform +++| END
05966 M00S03869.sform +++| COFFSET = 0; # OFFSET NO LONGER VALID #
05967 M00S03870.sform +++| TERMESREAD[0] = TRUE; # MESSAGE HAS BEEN SEEN BY USER #
05968 M00S03871.sform +++| TERNRMTERM[0] = FALSE;
05969 M00S03872.sform +++| TERABNTERM[0] = FALSE;
05970 M00S03873.sform +++|
05971 M00S03874.sform +++|GETINP: # WHILE STILL LOOKING FOR INPUT #
05972 M00S03875.sform +++|
Line S03876 Modification History |
M01 (Removed by) | 252l678 |
Seq # *Modification Id* Act
----------------------------+
05973 M01S03876.252l678 ---| YMASKOF LASTPOS = YPOS; # RETAIN PREVIOUS Y POSITION #
05974 M01S03877.252l678 ---| XMASKOF LASTPOS = XPOS; # RETAIN PREVIOUS X POSITION #
Line S00140 Modification History |
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act
----------------------------+
05975 M01S00140.252l678 +++| YMASKOF TERPREVPOS = YPOS; # RETAIN PREVIOUS Y POSITION #
05976 M01S00141.252l678 +++| XMASKOF TERPREVPOS = XPOS; # RETAIN PREVIOUS X POSITION #
05977 M00S03878.sform +++| LASTORD = ORD; # RETAIN PREVIOUS ORDINAL #
05978 M00S03879.sform +++| VDTINP(ORD,XPOS,YPOS,CHAR,DUMMY); # GET INPUT FROM BUFFER #
Line S00926 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
05979 M01S00926.242l642 +++|
05980 M01S00927.242l642 +++|SKIPREAD:
05981 M01S00928.242l642 +++|
05982 M00S03880.sform +++| YMASKOF INPOS = YPOS;
05983 M00S03881.sform +++| XMASKOF INPOS = XPOS;
05984 M00S03882.sform +++| FFIELD(INPOS,FIELD,OFFSET,INSEARCH); # FIND INPUT FIELD #
05985 M00S03883.sform +++| IF VALIDFIELD THEN LASTFIELD = FIELD; # UPDATE LAST FIELD #
05986 M00S03884.sform +++|
05987 M00S03885.sform +++| GOTO INPUTTYPE[ORD]; # PROCESS INPUT BY TYPE #
05988 M00S03886.sform +++|
05989 M00S03887.sform +++|CHARACTER: # DISPLAYABLE CHARACTER INPUT #
05990 M00S03888.sform +++|
Line S03889 Modification History |
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
05991 M01S03889.sform9 ---| IF NOT VALIDFIELD AND TERTABAUTO[0] THEN
05992 M01S03890.sform9 ---| BEGIN # INPUT NOT IN FIELD AND AUTOTAB #
05993 M01S03891.sform9 ---| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS); # SIMULATE TAB KEY #
05994 M01S03892.sform9 ---| IF (INPOS EQ 0) AND NOT TERTABHOME[0] THEN
05995 M01S03893.sform9 ---| BEGIN # IF TAB DOES NOT STOP AT HOME #
05996 M01S03894.sform9 ---| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
05997 M01S03895.sform9 ---| END
05998 M01S03896.sform9 ---| YPOS = YMASKOF INPOS; # RESET INTERNAL POSITION #
05999 M01S03897.sform9 ---| XPOS = XMASKOF INPOS;
06000 M01S03898.sform9 ---| VDTCOR(YPOS,XPOS);
06001 M01S03899.sform9 ---| END
06002 M01S03900.sform9 ---|
Line S03901 Modification History |
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
06003 M01S03901.242l642 ---| IF (NOT SKIPINP) AND (SOFTTAB EQ 0) THEN
Line S00929 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
06004 M01S00929.242l642 +++| IF (NOT SKIPINP) AND (TERSOFTTAB[0] EQ 0) THEN
06005 M00S03902.sform +++| BEGIN # PROCESS CHARACTER #
Line S00006 Modification History |
M01 (Added by) | sform24 |
Seq # *Modification Id* Act
----------------------------+
06006 M01S00006.sform24 +++| IF NOT VALIDFIELD THEN
06007 M01S00007.sform24 +++| BEGIN # CHAR NOT IN AN INPUT FIELD #
06008 M01S00008.sform24 +++| IF TERTABAUTO[0] AND NOT TERNOINVRS[0] THEN
06009 M01S00009.sform24 +++| BEGIN # IF AUTOMATIC TABBING #
06010 M01S00010.sform24 +++| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06011 M01S00011.sform24 +++| IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06012 M01S00012.sform24 +++| BEGIN # IF TAB DOES NOT STOP AT HOME #
06013 M01S00013.sform24 +++| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06014 M01S00014.sform24 +++| END
06015 M01S00015.sform24 +++| OFFSET = 0; # CLEAR FIELD OFFSET #
06016 M01S00016.sform24 +++| LASTFIELD = FIELD; # UPDATE LAST VALID FIELD #
06017 M01S00017.sform24 +++| XPOS = XMASKOF INPOS; # RESET INTERNAL POSITION #
06018 M01S00018.sform24 +++| YPOS = YMASKOF INPOS;
06019 M01S00019.sform24 +++| VDTCOR(YPOS,XPOS);
06020 M01S00020.sform24 +++| END
06021 M01S00021.sform24 +++| END
06022 M00S03903.sform +++| IF VALIDFIELD THEN
06023 M00S03904.sform +++| BEGIN # CHAR IN AN INPUT FIELD #
06024 M00S03905.sform +++| WRIVCH(FIELD,OFFSET,CHAR); # WRITE CHARACTER INTO VARDATA #
06025 M00S03906.sform +++| FLDENTERED[FIELD] = TRUE;
06026 M00S03907.sform +++| FLDVALID[FIELD] = FALSE; # INVALID UNTIL PROVEN VALID #
06027 M00S03908.sform +++| IF NOT FLDOUTPUTV[FIELD] THEN
06028 M00S03909.sform +++| BEGIN # IF INPUT ONLY FIELD #
06029 M00S03910.sform +++| IF NOT TERGUARDMD[0] THEN
06030 M00S03911.sform +++| BEGIN # IF NO GUARD MODE AVAILABLE #
06031 M00S03912.sform +++| FLDREWRITE[FIELD] = TRUE; # SET REWRITE BIT FOR FIELD #
06032 M00S03913.sform +++| TERREWFLDS[0] = TRUE;
06033 M00S03914.sform +++| END
06034 M00S03915.sform +++| END
Line S00006 Modification History |
M01 (Added by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
06035 M01S00006.sform9 +++| IF TERTABAUTO[0] THEN
06036 M01S00007.sform9 +++| BEGIN # IF AUTOMATIC TABBING #
06037 M01S00008.sform9 +++| IF OFFSET EQ FLDLENGTH[FIELD] - 1 THEN
06038 M01S00009.sform9 +++| BEGIN # IF AUTO-TAB TO NEXT FIELD #
06039 M01S00010.sform9 +++| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
Line S00011 Modification History |
M01 (Added by) | sform9 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
06040 M02S00011.242l642 ---| IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06041 M02S00012.242l642 ---| BEGIN # IF TAB DOES NOT STOP AT HOME #
06042 M02S00013.242l642 ---| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
Line S00930 Modification History |
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act
----------------------------+
06043 M01S00930.242l642 +++| IF INPOS EQ 0 THEN
06044 M01S00931.242l642 +++| BEGIN # IF TABBING PAST LAST FIELD #
06045 M01S00932.242l642 +++| IF TERPTDWFPG[0] THEN
06046 M01S00933.242l642 +++| BEGIN # IF NO WRAP AROUND SCREEN #
06047 M01S00934.242l642 +++| TABKEY(SCREENST"BTAB",INPOS,FIELD,INPOS);
06048 M01S00935.242l642 +++| OFFSET = FLDLENGTH[FIELD] - 1;
06049 M01S00936.242l642 +++| INPOS = INPOS + OFFSET;
06050 M01S00937.242l642 +++| END
06051 M01S00938.242l642 +++| ELSE
06052 M01S00939.242l642 +++| BEGIN # WRAPPING TO FIRST FIELD #
06053 M01S00940.242l642 +++| IF NOT TERTABHOME[0] THEN
06054 M01S00941.242l642 +++| BEGIN # IF TAB DOES NOT STOP AT HOME #
06055 M01S00942.242l642 +++| TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06056 M01S00943.242l642 +++| END
06057 M01S00944.242l642 +++| OFFSET = 0;
06058 M01S00945.242l642 +++| END
Line S00014 Modification History |
M01 (Added by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
06059 M01S00014.sform9 +++| END
06060 M01S00015.sform9 +++| OFFSET = 0; # CLEAR FIELD OFFSET #
06061 M01S00016.sform9 +++| LASTFIELD = FIELD; # UPDATE LAST VALID FIELD #
06062 M01S00017.sform9 +++| INPOS = INPOS - 1; # RESET INTERNAL POSITION #
06063 M01S00018.sform9 +++| YPOS = YMASKOF INPOS;
06064 M01S00019.sform9 +++| XPOS = XMASKOF INPOS;
06065 M01S00020.sform9 +++| VDTCOR(YPOS,XPOS);
06066 M01S00021.sform9 +++| END
06067 M01S00022.sform9 +++| END
06068 M00S03916.sform +++| END
06069 M00S03917.sform +++| ELSE
06070 M00S03918.sform +++| BEGIN # CHAR NOT IN AN INPUT FIELD #
Line S03919 Modification History |
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act
----------------------------+
06071 M01S03919.sform9 ---| IF CHAR NQ BLANK THEN
06072 M01S03920.sform9 ---| BEGIN # IF CHARACTER IS NOT A BLANK #
06073 M01S03921.sform9 ---| VDTPOS(XPOS,YPOS); # ERASE CHARACTER #