cdc:nos2.source:opl.opl871:deck:sform.001
Deck SFORM Part 001
49 Modifications
Listing Sections
- Deck SFORM Start
- Deck SFORM Part 1 (Line 1453)
- Deck SFORM Part 2 (Line 3127)
- Deck SFORM Part 3 (Line 4583)
- Deck SFORM Part 4 (Line 5960)
- Deck SFORM Part 5 (Line 7272)
Source
Seq # *Modification Id* Act ----------------------------+ 01453 M00S00705.sform +++| 01454 M00S00706.sform +++|GFIELD(VNAME,USEROW,FLDIND); # GET ASSOCIATED FIELD # 01455 M00S00707.sform +++|IF FLDIND EQ -1 THEN GOTO INTERROR; # FIELD NOT FOUND # 01456 M00S00708.sform +++| 01457 M00S00709.sform +++|ALLBLANK = TRUE; 01458 M00S00710.sform +++|FOR I = 0 STEP 1 WHILE ALLBLANK AND I LQ FLDLENGTH[FLDIND] -1 DO 01459 M00S00711.sform +++| BEGIN # CHECK IF BLANK FIELD # 01460 M00S00712.sform +++| IF NEXTCHAR(FLDIND,I) NQ BLANK THEN ALLBLANK = FALSE; 01461 M00S00713.sform +++| END 01462 M00S00714.sform +++|IF ALLBLANK THEN 01463 M00S00715.sform +++| BEGIN # BLANK FIELD # 01464 M00S00716.sform +++| VALUE = 0; 01465 M00S00717.sform +++| RETURN; 01466 M00S00718.sform +++| END 01467 M00S00719.sform +++| 01468 M00S00720.sform +++|HOLDVALID = FLDVALID[FLDIND]; # SAVE VALID FLAG # 01469 M00S00721.sform +++|FLDVALID[FLDIND] = TRUE; 01470 M00S00722.sform +++|IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"Y" 01471 M00S00723.sform +++| OR VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"M" 01472 M00S00724.sform +++| OR VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"D" THEN 01473 M00S00725.sform +++| BEGIN # DATE FORMAT FIELD #
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform10 |
Seq # *Modification Id* Act ----------------------------+ 01474 M01S00001.sform10 +++| FORMAT = VARPICTYPE[FLDVARORD[FLDIND]]; # SET FORMAT TYPE # 01475 M00S00726.sform +++| DATEVL(FLDIND,IVALUE); # GET VALUE # 01476 M00S00727.sform +++| END 01477 M00S00728.sform +++|ELSE 01478 M00S00729.sform +++| BEGIN # NUMERIC FIELD # 01479 M00S00730.sform +++| NCHECK(FLDIND,IVALUE,EVALUE,FORMAT,CURRENCY); 01480 M00S00731.sform +++| IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"$" THEN 01481 M00S00732.sform +++| BEGIN # WEIGHT CURRENCY INPUT # 01482 M00S00733.sform +++| IF EVALUE EQ 0 THEN IVALUE = IVALUE * 100; 01483 M00S00734.sform +++| ELSE IF EVALUE EQ -1 THEN IVALUE = IVALUE * 10; 01484 M00S00735.sform +++| END 01485 M00S00736.sform +++| ELSE 01486 M00S00737.sform +++| BEGIN # NOT CURRENCY # 01487 M00S00738.sform +++| IF EVALUE LS 0 THEN 01488 M00S00739.sform +++| BEGIN # TRUNCATE DECIMAL DIGITS # 01489 M00S00740.sform +++| FOR I = -1 STEP -1 UNTIL EVALUE DO IVALUE = IVALUE/10; 01490 M00S00741.sform +++| END 01491 M00S00742.sform +++| ELSE 01492 M00S00743.sform +++| BEGIN # RAISE TO POWER OF EXPONENT # 01493 M00S00744.sform +++| FOR I = 1 STEP 1 UNTIL EVALUE DO IVALUE = IVALUE*10; 01494 M00S00745.sform +++| END 01495 M00S00746.sform +++| END 01496 M00S00747.sform +++| END 01497 M00S00748.sform +++| 01498 M00S00749.sform +++|IF NOT FLDVALID[FLDIND] OR FORMAT EQ FORMTYPE"BAD"THEN 01499 M00S00750.sform +++| BEGIN # ERRORS IN INPUT # 01500 M00S00751.sform +++| GOTO INTERROR; 01501 M00S00752.sform +++| END 01502 M00S00753.sform +++|FLDVALID[FLDIND] = HOLDVALID; # RESET VALID FLAG # 01503 M00S00754.sform +++|VALUE = IVALUE; 01504 M00S00755.sform +++|RETURN; 01505 M00S00756.sform +++| 01506 M00S00757.sform +++|INTERROR: # CANNOT RETURN VALUE # 01507 M00S00758.sform +++| 01508 M00S00759.sform +++| IF FLDIND NQ -1 THEN FLDVALID[FLDIND] = HOLDVALID; 01509 M00S00760.sform +++| VALUE = ERRORVAL; 01510 M00S00761.sform +++| 01511 M00S00762.sform +++|END # SFGETI$ # 01512 M00S00763.sform +++|CONTROL EJECT; 01513 M00S00764.sform +++| 01514 M00S00765.sform +++|PROC SFGETK(GENERIC,ORDINAL); 01515 M00S00766.sform +++| 01516 M00S00767.sform +++|# TITLE SFGETK - GET FUNCTION KEY. # 01517 M00S00768.sform +++| 01518 M00S00769.sform +++|BEGIN # SFGETK # 01519 M00S00770.sform +++| 01520 M00S00771.sform +++|# 01521 M00S00772.sform +++|** SFGETK - GET FUNCTION KEY. 01522 M00S00773.sform +++|* 01523 M00S00774.sform +++|* SFGETK RETURNS THE ORDINAL OF THE LAST FUNCTION KEY PROCESSED. 01524 M00S00775.sform +++|* 01525 M00S00776.sform +++|* PROC SFGETK(GENERIC,ORDINAL) 01526 M00S00777.sform +++|* 01527 M00S00778.sform +++|* ENTRY TERFUNCGEN = TRUE IF GENERIC FUNCTION KEY.
Line S00779 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01528 M01S00779.242l642 ---|* FUNCORD = ORDINAL OF FUNCTION KEY.
Line S00299 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01529 M01S00299.242l642 +++|* TERFUNCORD = ORDINAL OF FUNCTION KEY. 01530 M00S00780.sform +++|* 01531 M00S00781.sform +++|* EXIT GENERIC = TRUE IF GENERIC FUNCTION KEY. 01532 M00S00782.sform +++|* ORDINAL = ORDINAL OF FUNCTION KEY. 01533 M00S00783.sform +++|# 01534 M00S00784.sform +++|ITEM GENERIC B; # GENERIC/APPLICATION KEY FLAG # 01535 M00S00785.sform +++|ITEM ORDINAL I; # FUNCTION KEY ORDINAL # 01536 M00S00786.sform +++| 01537 M00S00787.sform +++|GENERIC = TERFUNCGEN[0]; # RETURN GENERIC FLAG #
Line S00788 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01538 M01S00788.242l642 ---|ORDINAL = FUNCORD; # RETURN FUNCTION ORDINAL #
Line S00300 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01539 M01S00300.242l642 +++|ORDINAL = TERFUNCORD[0]; # RETURN FUNCTION ORDINAL #
Line S00789 Modification History | |
---|---|
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act ----------------------------+ 01540 M01S00789.sform9 ---|IF TERFUNCGEN[0] AND FUNCORD GR 16 THEN ORDINAL = 1; # RETURN NEXT # 01541 M00S00790.sform +++| 01542 M00S00791.sform +++|END # SFGETK # 01543 M00S00792.sform +++|CONTROL EJECT; 01544 M00S00793.sform +++|
Line S00002 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01545 M01S00002.241l630 +++|PROC SFGETN$(MODEL,MLEN,MOFF); 01546 M01S00003.241l630 +++| 01547 M01S00004.241l630 +++|# TITLE SFGETN$ - GET TERMINAL MODEL NAME. # 01548 M01S00005.241l630 +++| 01549 M01S00006.241l630 +++|BEGIN # SFGETN$ # 01550 M01S00007.241l630 +++| 01551 M01S00008.241l630 +++|# 01552 M01S00009.241l630 +++|** SFGETN$ - GET TERMINAL MODEL NAME. 01553 M01S00010.241l630 +++|*
Line S00011 Modification History | |
---|---|
M01 (Added by) | 241l630 |
M02 (Removed by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01554 M02S00011.sform17 ---|* SFGETN$ RETURNS THE TERMINAL MODEL NAME.
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01555 M01S00001.sform17 +++|* SFGETN$ RETURNS THE TERMINAL MODEL NAME LEFT JUSTIFIED BLANK 01556 M01S00002.sform17 +++|* FILLED. IF MODEL NAME IS NOT FOUND, SPACES ARE RETURNED.
Line S00012 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01557 M01S00012.241l630 +++|* 01558 M01S00013.241l630 +++|* PROC SFGETN$(MODEL,MLEN,MOFF) 01559 M01S00014.241l630 +++|*
Line S00003 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01560 M01S00003.sform17 +++|* ENTRY MLEN = LENGTH OF MODEL NAME FIELD. 01561 M01S00004.sform17 +++|* MOFF = OFFSET OF MODEL NAME FIELD. 01562 M01S00005.sform17 +++|*
Line S00015 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01563 M01S00015.241l630 +++|* EXIT MODEL = TERMINAL MODEL NAME.
Line S00016 Modification History | |
---|---|
M01 (Added by) | 241l630 |
M02 (Removed by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01564 M02S00016.sform17 ---|* MLEN = LENGTH OF MODEL NAME. 01565 M02S00017.sform17 ---|* MOFF = OFFSET OF MODEL NAME.
Line S00018 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01566 M01S00018.241l630 +++|* 01567 M01S00019.241l630 +++|* CALLS VDTITD. 01568 M01S00020.241l630 +++|#
Line S00006 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01569 M01S00006.sform17 +++| 01570 M01S00007.sform17 +++|BASED ARRAY TEMP [0:0]; 01571 M01S00008.sform17 +++| BEGIN 01572 M01S00009.sform17 +++| ITEM STRING C(00,00,10); # MODEL NAME TEMPLATE # 01573 M01S00010.sform17 +++| END
Line S00021 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01574 M01S00021.241l630 +++|ITEM MODEL C(6); # TERMINAL MODEL NAME # 01575 M01S00022.241l630 +++|ITEM MLEN I; # LENGTH OF MODEL PARAMETER # 01576 M01S00023.241l630 +++|ITEM MOFF I; # OFFSET INTO MODEL PARAMETER #
Line S00011 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01577 M01S00011.sform17 +++|ITEM RETVAL C(6); # RETURNED VALUE # 01578 M01S00012.sform17 +++|ITEM OFFIND I; # OFFSET INDEX # 01579 M01S00013.sform17 +++|ITEM I I; # LOOP INDEX #
Line S00024 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01580 M01S00024.241l630 +++|
Line S00025 Modification History | |
---|---|
M01 (Added by) | 241l630 |
M02 (Removed by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01581 M02S00025.sform17 ---|MLEN = 6; # SET LENGTH # 01582 M02S00026.sform17 ---|VDTITD(MODEL); # GET MODEL NAME # 01583 M02S00027.sform17 ---|FOR MOFF = MLEN - 1 STEP -1 WHILE MOFF GQ 1 AND C<MOFF,1>MODEL EQ 0 DO
Line S00014 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01584 M01S00014.sform17 +++|VDTITD(RETVAL); # GET MODEL NAME # 01585 M01S00015.sform17 +++|P<TEMP> = LOC(MODEL); 01586 M01S00016.sform17 +++|OFFIND = MOFF; 01587 M01S00017.sform17 +++|FOR I = 0 STEP 1 UNTIL MLEN - 1 DO
Line S00028 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01588 M01S00028.241l630 +++| BEGIN # BLANK FILL MODEL NAME #
Line S00029 Modification History | |
---|---|
M01 (Added by) | 241l630 |
M02 (Removed by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01589 M02S00029.sform17 ---| C<MOFF,1>MODEL = " "; 01590 M02S00030.sform17 ---| END 01591 M02S00031.sform17 ---|MOFF = 0; # SET OFFSET #
Line S00018 Modification History | |
---|---|
M01 (Added by) | sform17 |
Seq # *Modification Id* Act ----------------------------+ 01592 M01S00018.sform17 +++| IF I GR 6 THEN # IF BEYOND POSSIBLE MODEL NAME # 01593 M01S00019.sform17 +++| C<OFFIND,1>STRING = " "; 01594 M01S00020.sform17 +++| ELSE 01595 M01S00021.sform17 +++| IF C<I,1>RETVAL EQ 0 THEN # IF BEYOND ACTUAL MODEL NAME # 01596 M01S00022.sform17 +++| C<OFFIND,1>STRING = " "; 01597 M01S00023.sform17 +++| ELSE 01598 M01S00024.sform17 +++| C<OFFIND,1>STRING = C<I,1>RETVAL; 01599 M01S00025.sform17 +++| OFFIND = OFFIND + 1; 01600 M01S00026.sform17 +++| IF (OFFIND GR 9) THEN 01601 M01S00027.sform17 +++| BEGIN # IF END OF CURRENT WORD # 01602 M01S00028.sform17 +++| OFFIND = 0; 01603 M01S00029.sform17 +++| P<TEMP> = P<TEMP> + 1; 01604 M01S00030.sform17 +++| END 01605 M01S00031.sform17 +++| END
Line S00032 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01606 M01S00032.241l630 +++| 01607 M01S00033.241l630 +++|END # SFGETN$ # 01608 M01S00034.241l630 +++|CONTROL EJECT; 01609 M01S00035.241l630 +++| 01610 M00S00794.sform +++|PROC SFGETP$(VARNAME,VLEN,VOFF,OFFSET,ROWNUM); 01611 M00S00795.sform +++| 01612 M00S00796.sform +++|# TITLE SFGETP$ - GET LAST CURSOR POSITION. # 01613 M00S00797.sform +++| 01614 M00S00798.sform +++|BEGIN # SFGETP$ # 01615 M00S00799.sform +++| 01616 M00S00800.sform +++|# 01617 M00S00801.sform +++|** SFGETP$ - GET LAST CURSOR POSITION.
Line S00036 Modification History | |
---|---|
M01 (Added by) | 241l630 |
Seq # *Modification Id* Act ----------------------------+ 01618 M01S00036.241l630 +++|* 01619 M01S00037.241l630 +++|* SFGETP$ RETURNS VALUES THAT DEFINE THE LAST POSITION OF THE 01620 M01S00038.241l630 +++|* SCREEN CURSOR. 01621 M00S00802.sform +++|* 01622 M00S00803.sform +++|* PROC SFGETP$(VARNAME,VLEN,VOFF,OFFSET,ROWNUM) 01623 M00S00804.sform +++|* 01624 M00S00805.sform +++|* ENTRY VARNAME = LOCATION OF VARIABLE PARAMETER. 01625 M00S00806.sform +++|* VLEN = LENGTH OF VARNAME. 01626 M00S00807.sform +++|* VOFF = OFFSET OF VARNAME. 01627 M00S00808.sform +++|* 01628 M00S00809.sform +++|* EXIT VARNAME = VARIABLE NAME OF FIELD. 01629 M00S00810.sform +++|* OFFSET = OFFSET OF CURSOR IN FIELD. 01630 M00S00811.sform +++|* ROWNUM = ROW NUMBER OF FIELD. 01631 M00S00812.sform +++|* 01632 M00S00813.sform +++|* CALLS FFIELD. 01633 M00S00814.sform +++|# 01634 M00S00815.sform +++|ITEM VARNAME C(11); # VARIABLE NAME # 01635 M00S00816.sform +++|ITEM VLEN I; # LENGTH OF VARNAME PARAMETER # 01636 M00S00817.sform +++|ITEM VOFF I; # OFFSET INTO VARNAME PARAMETER # 01637 M00S00818.sform +++|ITEM OFFSET I; # OFFSET INTO FIELD # 01638 M00S00819.sform +++|ITEM ROWNUM I; # ROW NUMBER IN ARRAY # 01639 M00S00820.sform +++| 01640 M00S00821.sform +++|ITEM FIELD I; # FUNCTION FIELD # 01641 M00S00822.sform +++|ITEM I I; # LOOP COUNTER # 01642 M00S00823.sform +++|ITEM OUTSEARCH B=TRUE; # INCLUDE OUTPUT ONLY FIELDS # 01643 M00S00824.sform +++|ITEM VARIND I; # VARIABLE ORDINAL OF FIELD # 01644 M00S00825.sform +++| 01645 M00S00826.sform +++|IF VLEN LS 1 THEN VLEN = 7; # CRACK PARAMETER # 01646 M00S00827.sform +++|C<VOFF,VLEN>VARNAME = " "; 01647 M00S00828.sform +++| 01648 M00S00829.sform +++|ROWNUM = 0; # FIND FIELD #
Line S00830 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01649 M01S00830.242l642 ---|FFIELD(FUNCPOS,FIELD,OFFSET,OUTSEARCH);
Line S00301 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01650 M01S00301.242l642 +++|FFIELD(TERFUNCPOS[0],FIELD,OFFSET,OUTSEARCH); 01651 M00S00831.sform +++| 01652 M00S00832.sform +++|IF VALIDFIELD THEN 01653 M00S00833.sform +++| BEGIN # IF FIELD FOUND # 01654 M00S00834.sform +++| OFFSET = OFFSET + 1; 01655 M00S00835.sform +++| VARIND = FLDVARORD[FIELD]; 01656 M00S00836.sform +++| C<VOFF,VLEN>VARNAME = VARNME[VARIND]; 01657 M00S00837.sform +++| IF VARARRORD[VARIND] NQ 0 THEN 01658 M00S00838.sform +++| BEGIN # IF ARRAY MEMBER # 01659 M00S00839.sform +++| ROWNUM = VARROWNUM[VARIND] + 1; 01660 M00S00840.sform +++| END 01661 M00S00841.sform +++| END 01662 M00S00842.sform +++| 01663 M00S00843.sform +++|END # SFGETP$ # 01664 M00S00844.sform +++|CONTROL EJECT; 01665 M00S00845.sform +++| 01666 M00S00846.sform +++|PROC SFGETR$(VARNAME,VLEN,VOFF,VALUE); 01667 M00S00847.sform +++| 01668 M00S00848.sform +++|# TITLE SFGETR$ - GET REAL VALUE. # 01669 M00S00849.sform +++| 01670 M00S00850.sform +++|BEGIN # SFGETR$ # 01671 M00S00851.sform +++| 01672 M00S00852.sform +++|# 01673 M00S00853.sform +++|** SFGETR$ - GET REAL VALUE. 01674 M00S00854.sform +++|* 01675 M00S00855.sform +++|* SFGETR$ RETURNS THE REAL NUMERIC VALUE OF THE FIELD 01676 M00S00856.sform +++|* SPECIFIED BY VARNAME. 01677 M00S00857.sform +++|* 01678 M00S00858.sform +++|* PROC SFGETR$(VARNAME,VLEN,VOFF,VALUE) 01679 M00S00859.sform +++|* 01680 M00S00860.sform +++|* ENTRY VARNAME = VARIABLE NAME OF FIELD. 01681 M00S00861.sform +++|* VLEN = LENGTH OF VARNAME. 01682 M00S00862.sform +++|* VOFF = OFFSET OF VARNAME. 01683 M00S00863.sform +++|* 01684 M00S00864.sform +++|* EXIT VALUE = REAL VALUE OF SPECIFIED FIELD. 01685 M00S00865.sform +++|* 01686 M00S00866.sform +++|* CALLS DATEVL, GFIELD, NCHECK. 01687 M00S00867.sform +++|# 01688 M00S00868.sform +++|ITEM VARNAME C(11); # VARIABLE NAME # 01689 M00S00869.sform +++|ITEM VLEN I; # LENGTH OF VARNAME PARAMETER # 01690 M00S00870.sform +++|ITEM VOFF I; # OFFSET INTO VARNAME PARAMETER # 01691 M00S00871.sform +++|ITEM VALUE R; # VALUE OF INPUT # 01692 M00S00872.sform +++| 01693 M00S00873.sform +++|ITEM ALLBLANK B; # ALL CHARACTERS IN FIELD BLANK # 01694 M00S00874.sform +++|ITEM CURRENCY B; # TRUE IF DOLLAR SIGN INPUT # 01695 M00S00875.sform +++|ITEM ERRORVAL R = 0; # RETURNED IF ERROR IN FIELD # 01696 M00S00876.sform +++|ITEM EVALUE I; # EXPONENT VALUE # 01697 M00S00877.sform +++|ITEM FLDIND I; # FIELD ORDINAL # 01698 M00S00878.sform +++|ITEM FORMAT I; # FORMAT OF INPUT # 01699 M00S00879.sform +++|ITEM FPSTAT I; # GFP OVERFLOW STATUS # 01700 M00S00880.sform +++|ITEM HOLDVALID B; # HOLD FLDVALID VALUE # 01701 M00S00881.sform +++|ITEM I I; # LOOP COUNTER # 01702 M00S00882.sform +++|ITEM IVALUE I; # INTEGER VALUE #
Line S00883 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01703 M01S00883.242l642 ---|ITEM USEROW B = FALSE; # DO NOT USE CURSORROW #
Line S00302 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01704 M01S00302.242l642 +++|ITEM USEROW B = FALSE; # DO NOT USE TERCURSROW # 01705 M00S00884.sform +++|ITEM VNAME C(7); # VARIABLE NAME LEFT JUSTIFIED # 01706 M00S00885.sform +++| 01707 M00S00886.sform +++|IF VLEN LS 1 THEN VLEN = 7; # CRACK PARAMETER # 01708 M00S00887.sform +++|VNAME = C<VOFF,VLEN>VARNAME; 01709 M00S00888.sform +++| 01710 M00S00889.sform +++|GFIELD(VNAME,USEROW,FLDIND); # GET ASSOCIATED FIELD # 01711 M00S00890.sform +++|IF FLDIND EQ -1 THEN GOTO REALERROR; # FIELD NOT FOUND # 01712 M00S00891.sform +++| 01713 M00S00892.sform +++|ALLBLANK = TRUE; 01714 M00S00893.sform +++|FOR I = 0 STEP 1 WHILE ALLBLANK AND I LQ FLDLENGTH[FLDIND] -1 DO 01715 M00S00894.sform +++| BEGIN # CHECK IF BLANK FIELD # 01716 M00S00895.sform +++| IF NEXTCHAR(FLDIND,I) NQ BLANK THEN ALLBLANK = FALSE; 01717 M00S00896.sform +++| END 01718 M00S00897.sform +++|IF ALLBLANK THEN 01719 M00S00898.sform +++| BEGIN # BLANK FIELD # 01720 M00S00899.sform +++| VALUE = 0; 01721 M00S00900.sform +++| RETURN; 01722 M00S00901.sform +++| END 01723 M00S00902.sform +++| 01724 M00S00903.sform +++|HOLDVALID = FLDVALID[FLDIND]; # SAVE FLDVALID # 01725 M00S00904.sform +++|FLDVALID[FLDIND] = TRUE; 01726 M00S00905.sform +++| 01727 M00S00906.sform +++|IF VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"Y" 01728 M00S00907.sform +++| OR VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"M" 01729 M00S00908.sform +++| OR VARPICTYPE[FLDVARORD[FLDIND]] EQ FORMTYPE"D" THEN 01730 M00S00909.sform +++| BEGIN # IF DATE FORMAT # 01731 M00S00910.sform +++| DATEVL(FLDIND,IVALUE); # GET VALUE # 01732 M00S00911.sform +++| EVALUE = 0; 01733 M00S00912.sform +++| END 01734 M00S00913.sform +++|ELSE 01735 M00S00914.sform +++| BEGIN # GET NUMERIC VALUE # 01736 M00S00915.sform +++| NCHECK(FLDIND,IVALUE,EVALUE,FORMAT,CURRENCY); 01737 M00S00916.sform +++| END 01738 M00S00917.sform +++| 01739 M00S00918.sform +++|IF NOT FLDVALID[FLDIND] OR FORMAT EQ FORMTYPE"BAD"THEN 01740 M00S00919.sform +++| BEGIN # ERRORS IN INPUT # 01741 M00S00920.sform +++| GOTO REALERROR; 01742 M00S00921.sform +++| END 01743 M00S00922.sform +++|FLDVALID[FLDIND] = HOLDVALID; 01744 M00S00923.sform +++| 01745 M00S00924.sform +++|FPSTAT = GFP(IVALUE,EVALUE,VALUE); # GENERATE REAL VALUE # 01746 M00S00925.sform +++|IF FPSTAT EQ 0 THEN RETURN; # IF NO OVERFLOW ERROR # 01747 M00S00926.sform +++| 01748 M00S00927.sform +++|REALERROR: # CANNOT RETURN VALUE # 01749 M00S00928.sform +++| 01750 M00S00929.sform +++| IF FLDIND NQ -1 THEN FLDVALID[FLDIND] = HOLDVALID; 01751 M00S00930.sform +++| VALUE = ERRORVAL; 01752 M00S00931.sform +++| 01753 M00S00932.sform +++|END # SFGETR$ #
Line S00303 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 01754 M01S00303.242l642 +++|*IF DEF,QTRM 01755 M01S00304.242l642 +++|CONTROL EJECT; 01756 M01S00305.242l642 +++| 01757 M01S00306.242l642 +++|PROC SFMODE$(MODE,MODEL,MLEN,MOFF); 01758 M01S00307.242l642 +++| 01759 M01S00308.242l642 +++|# TITLE SFMODE$ - QTRM MODE SWITCHING FUNCTION. # 01760 M01S00309.242l642 +++| 01761 M01S00310.242l642 +++|BEGIN # SFMODE$ # 01762 M01S00311.242l642 +++| 01763 M01S00312.242l642 +++|# 01764 M01S00313.242l642 +++|** SFMODE$ - QTRM MODE SWITCHING FUNCTION. 01765 M01S00314.242l642 +++|* 01766 M01S00315.242l642 +++|* THIS PROCEDURE SWITCHES A TERMINAL TO AND FROM SCREEN MODE. IT 01767 M01S00316.242l642 +++|* INTERFACES TO COBOL5 AND FTN5 APPLICATION PROGRAMS THROUGH A 01768 M01S00317.242l642 +++|* COMPASS INTERFACE CALLED SFMODE. 01769 M01S00318.242l642 +++|* 01770 M01S00319.242l642 +++|* PROC SFMODE$(MODE,MODEL,MLEN,MOFF) 01771 M01S00320.242l642 +++|* 01772 M01S00321.242l642 +++|* ENTRY MODE = 0, IF REQUESTED MODE IS SCREEN. 01773 M01S00322.242l642 +++|* 1, IF REQUESTED MODE IS LINE. 01774 M01S00323.242l642 +++|* MODEL = TERMINAL MODEL NAME. 01775 M01S00324.242l642 +++|* MLEN = LENGTH OF MODEL NAME. 01776 M01S00325.242l642 +++|* MOFF = OFFSET OF MODEL NAME. 01777 M01S00326.242l642 +++|* 01778 M01S00327.242l642 +++|* EXIT THE NIT RETURN CODE FIELD IN THE NIT WILL BE SET TO 0 IF 01779 M01S00328.242l642 +++|* THE REQUEST WAS SUCCESSFUL, NON-ZERO IF NOT. 01780 M01S00329.242l642 +++|# 01781 M01S00330.242l642 +++|ITEM MODE I; # REQUESTED MODE # 01782 M01S00331.242l642 +++|ITEM MODEL C(7); # TERMINAL MODEL (OR 'NONE') # 01783 M01S00332.242l642 +++|ITEM MLEN I; # LENGTH OF MODEL NAME # 01784 M01S00333.242l642 +++|ITEM MOFF I; # OFFSET OF MODEL NAME # 01785 M01S00334.242l642 +++| 01786 M01S00335.242l642 +++|ITEM I I; # SCRATCH VARIABLE # 01787 M01S00336.242l642 +++|ITEM MODELNAME C(7); # TERMINAL MODEL NAME # 01788 M01S00337.242l642 +++| 01789 M01S00338.242l642 +++|IF MLEN LS 1 THEN MLEN = 7; # CRACK PARAMETER # 01790 M01S00339.242l642 +++|MODELNAME = C<MOFF,MLEN>MODEL; 01791 M01S00340.242l642 +++| 01792 M01S00341.242l642 +++|IF NIT$STATE[NIT$CON] NQ 2 THEN 01793 M01S00342.242l642 +++| BEGIN # IF CMM BLOCKS TO CLEAR UP # 01794 M01S00343.242l642 +++| NIT$RC = NITRTC"OK"; 01795 M01S00344.242l642 +++| IF NIT$PCT [NIT$CON] EQ 0 THEN RETURN; 01796 M01S00345.242l642 +++| P<PCT> = NIT$PCT [NIT$CON]; 01797 M01S00346.242l642 +++| IF PCT$VRDATA NQ 0 THEN CMMFRF (PCT$VRDATA); 01798 M01S00347.242l642 +++| PCT$VRDATA = 0; # INSURE THIS IS DONE ONLY ONCE # 01799 M01S00348.242l642 +++| CMMFRF (NIT$PCT[NIT$CON]); 01800 M01S00349.242l642 +++| NIT$PCT[NIT$CON] = 0; 01801 M01S00350.242l642 +++| RETURN; # RETURN # 01802 M01S00351.242l642 +++| END 01803 M01S00352.242l642 +++| 01804 M01S00353.242l642 +++|IF NIT$PCT[NIT$CON] EQ 0 THEN 01805 M01S00354.242l642 +++| BEGIN # IF CMM BLOCK NEEDED # 01806 M01S00355.242l642 +++| CMMALF (PCTSIZE,0,0,I); # GET A BLOCK FOR THE PCT # 01807 M01S00356.242l642 +++| NIT$PCT[NIT$CON] = I; 01808 M01S00357.242l642 +++| P<PCT> = I; 01809 M01S00358.242l642 +++| FOR I = 0 STEP 1 UNTIL PCTSIZE - 1 DO 01810 M01S00359.242l642 +++| BEGIN # ZERO THE ENTIRE PCT # 01811 M01S00360.242l642 +++| PCT$WD0[I] = 0; 01812 M01S00361.242l642 +++| END 01813 M01S00362.242l642 +++| 01814 M01S00363.242l642 +++| FOR I = 0 STEP 1 UNTIL SFORMSIZE - 1 DO 01815 M01S00364.242l642 +++| BEGIN # INITIALIZE TERMSTAT AREA # 01816 M01S00365.242l642 +++| TERMSTATWD[I] = TERINITHLD[I]; 01817 M01S00366.242l642 +++| END 01818 M01S00367.242l642 +++| FOR I = 0 STEP 1 UNTIL VTERMSIZE - 1 DO 01819 M01S00368.242l642 +++| BEGIN 01820 M01S00369.242l642 +++| COMVDT$WD0[I] = VDTINITHLD[I]; # INIT VDT AREAS # 01821 M01S00370.242l642 +++| END 01822 M01S00371.242l642 +++| 01823 M01S00372.242l642 +++| TERMODNAME[0] = " "; 01824 M01S00373.242l642 +++| TERACTPANL[0] = " "; 01825 M01S00374.242l642 +++| TERACTPLTI[0] = 0; 01826 M01S00375.242l642 +++| TERFUNCPOS[0] = 0; 01827 M01S00376.242l642 +++| TERNUMCOLS[0] = 0; 01828 M01S00377.242l642 +++| TERNUMLNES[0] = 0; 01829 M01S00378.242l642 +++| 01830 M01S00379.242l642 +++| P<PLTABLE> = LOC(PLT); # INITIALIZE THE NIT PLT AREA # 01831 M01S00380.242l642 +++| I = PLTNUMENT[0]; 01832 M01S00381.242l642 +++| P<PLTABLE> = NIT$PCT[NIT$CON] + PLTOFFSET; 01833 M01S00382.242l642 +++| FOR I = 1 STEP 1 UNTIL 10 DO 01834 M01S00383.242l642 +++| BEGIN # ZERO PLT WORD # 01835 M01S00384.242l642 +++| PLTWORDONE[I] = 0; 01836 M01S00385.242l642 +++| PLTWORDTWO[I] = 0; 01837 M01S00386.242l642 +++| END 01838 M01S00387.242l642 +++| PLTENTRYNM[0] = 10; 01839 M01S00388.242l642 +++| IF MODELNAME NQ "NONE" THEN # SET MODEL # 01840 M01S00389.242l642 +++| NIT$TRNAM[NIT$CON] = MODELNAME; 01841 M01S00390.242l642 +++| IF MODELNAME EQ "NONE " THEN NIT$MODEL [NIT$CON] = 0; 01842 M01S00391.242l642 +++| ELSE IF MODELNAME EQ "721 " THEN NIT$MODEL [NIT$CON] = 2; 01843 M01S00392.242l642 +++| ELSE NIT$MODEL [NIT$CON] = 1; 01844 M01S00393.242l642 +++| 01845 M01S00394.242l642 +++| TERQTRMSOL[0] = MODE NQ 1; # SAVE SCREEN/LINE MODE # 01846 M01S00395.242l642 +++| END 01847 M01S00396.242l642 +++| 01848 M01S00397.242l642 +++|END # SFMODE$ # 01849 M01S00398.242l642 +++|CONTROL EJECT; 01850 M01S00399.242l642 +++| 01851 M01S00400.242l642 +++|PROC SFNQUE$(QNAME,QLEN,QOFF,BUFFER,RC); 01852 M01S00401.242l642 +++| 01853 M01S00402.242l642 +++|# TITLE SFNQUE$ - ENQUEUE A BLOCK FOR A TERMINAL (ACN). # 01854 M01S00403.242l642 +++| 01855 M01S00404.242l642 +++|BEGIN # SFNQUE$ # 01856 M01S00405.242l642 +++| 01857 M01S00406.242l642 +++|# 01858 M01S00407.242l642 +++|** SFNQUE$ - ENQUEUE A BLOCK FOR A TERMINAL (ACN). 01859 M01S00408.242l642 +++|* 01860 M01S00409.242l642 +++|* THIS PROCEDURE ACCUMULATES DATA INTO A QUEUE FOR A SPECIFIED 01861 M01S00410.242l642 +++|* TERMINAL. VALID QUEUE NAMES ARE *GET* AND *PUT*. A BLOCK OF 01862 M01S00411.242l642 +++|* 1600 WORDS IS ALLOCATED FOR EACH QUEUE. EACH SFNQUE$ CALL ADDS 01863 M01S00412.242l642 +++|* DATA TO THE QUEUE WITH THE SPECIFIED QNAME AND TERMINAL NUMBER. 01864 M01S00413.242l642 +++|* IT INTERFACES TO COBOL5 AND FTN5 APPLICATION PROGRAMS THROUGH 01865 M01S00414.242l642 +++|* A COMPASS INTERFACE CALLED SFNQUE. 01866 M01S00415.242l642 +++|* 01867 M01S00416.242l642 +++|* PROC SFNQUE$(QNAME,QLEN,QOFF,BUFFER,RC) 01868 M01S00417.242l642 +++|* 01869 M01S00418.242l642 +++|* ENTRY QNAME = QUEUE TO PLACE DATA INTO (GET OR PUT). 01870 M01S00419.242l642 +++|* QLEN = LENGTH OF QUEUE NAME. 01871 M01S00420.242l642 +++|* QOFF = OFFSET OF QUEUE NAME. 01872 M01S00421.242l642 +++|* BUFFER = DATA TO ADD TO THE QUEUE. 01873 M01S00422.242l642 +++|* RC = RETURN CODE. 01874 M01S00423.242l642 +++|* NIT$CTLC = COUNT (IN 12 BIT CHARACTERS) IN BUFFER. 01875 M01S00424.242l642 +++|* 01876 M01S00425.242l642 +++|* EXIT RC = 0, IF DATA ENQUEUED (NO ERROR). 01877 M01S00426.242l642 +++|* 1, IF DATA NOT ENQUEUED. 01878 M01S00427.242l642 +++|* 01879 M01S00428.242l642 +++|* CALLS CMMALF. 01880 M01S00429.242l642 +++|# 01881 M01S00430.242l642 +++|ITEM QNAME C(7); # QUEUE TO PLACE DATA # 01882 M01S00431.242l642 +++|ITEM QLEN I; # LENGTH OF QUEUE NAME # 01883 M01S00432.242l642 +++|ITEM QOFF I; # OFFSET OF QUEUE NAME # 01884 M01S00433.242l642 +++|ITEM BUFFER U; # DATA TO ADD TO QUEUE # 01885 M01S00434.242l642 +++|ITEM RC I; # RETURN CODE # 01886 M01S00435.242l642 +++| 01887 M01S00436.242l642 +++|BASED ARRAY B$BUFF [0:0] P(1); # BUFFER # 01888 M01S00437.242l642 +++| BEGIN 01889 M01S00438.242l642 +++| ITEM B$WD0 U(00,00,60); # BUFFER WORD (INTEGER) # 01890 M01S00439.242l642 +++| END 01891 M01S00440.242l642 +++| 01892 M01S00441.242l642 +++|ITEM BIT I; # BIT POSITION # 01893 M01S00442.242l642 +++|ITEM B$CURBIT I; # CURRENT BIT # 01894 M01S00443.242l642 +++|ITEM B$CURWORD I; # CURRENT WORD # 01895 M01S00444.242l642 +++|ITEM ENTCT I = 0; # QTRM # 01896 M01S00445.242l642 +++|ITEM I I = 0; # LOOP VARIABLE # 01897 M01S00446.242l642 +++|ITEM QUEUENAME C(7); # QUEUE TO PLACE DATA # 01898 M01S00447.242l642 +++|ITEM RCC I; # RETURN CODE # 01899 M01S00448.242l642 +++|ITEM WORD I; # BUFFER WORD # 01900 M01S00449.242l642 +++| 01901 M01S00450.242l642 +++|IF QLEN LS 1 THEN QLEN = 7; # LEFT JUSTIFY QUEUE NAME # 01902 M01S00451.242l642 +++|QUEUENAME = C<QOFF,QLEN>QNAME; 01903 M01S00452.242l642 +++| 01904 M01S00453.242l642 +++|P<B$BUFF> = LOC(BUFFER); 01905 M01S00454.242l642 +++|B$CURBIT = 0; # START AT BEGINNING OF BUFFER # 01906 M01S00455.242l642 +++|B$CURWORD = 0; 01907 M01S00456.242l642 +++|ENTCT = ENTCT + 1; 01908 M01S00457.242l642 +++| 01909 M01S00458.242l642 +++|SFNQUE1: 01910 M01S00459.242l642 +++| 01911 M01S00460.242l642 +++| I = 0; 01912 M01S00461.242l642 +++| P<Q$HEADER> = CHAIN; 01913 M01S00462.242l642 +++| WHYLE P<Q$HEADER> NQ 0 DO 01914 M01S00463.242l642 +++| BEGIN # FIND QUEUE NAME FOR THIS ACN # 01915 M01S00464.242l642 +++| IF (( NIT$CON EQ Q$ACN ) AND 01916 M01S00465.242l642 +++| ( C<0,3>QNAME EQ C<0,3>Q$NAME )) THEN 01917 M01S00466.242l642 +++| IF NIT$CON EQ Q$ACN AND QUEUENAME EQ Q$NAME THEN 01918 M01S00467.242l642 +++| BEGIN # IF FOUND # 01919 M01S00468.242l642 +++| P<Q$BUFFER> = P<Q$HEADER> + Q$HEADLEN; 01920 M01S00469.242l642 +++| FOR I = 1 STEP 1 UNTIL NIT$CTLC DO 01921 M01S00470.242l642 +++| BEGIN # ADD DATA TO QUEUE # 01922 M01S00471.242l642 +++| WORD = Q$INCHAR / 5; 01923 M01S00472.242l642 +++| IF WORD GQ Q$SIZE THEN 01924 M01S00473.242l642 +++| BEGIN # IF BLOCK OVERFLOW # 01925 M01S00474.242l642 +++| RC = 1; # SET ERROR # 01926 M01S00475.242l642 +++| RETURN; # RETURN # 01927 M01S00476.242l642 +++| END 01928 M01S00477.242l642 +++| BIT = (Q$INCHAR - (WORD * 5)) * 12; 01929 M01S00478.242l642 +++| B<BIT,12>Q$WORD[WORD] = B<B$CURBIT,12>B$WD0[B$CURWORD]; 01930 M01S00479.242l642 +++| Q$INCHAR = Q$INCHAR + 1; 01931 M01S00480.242l642 +++| B$CURBIT = B$CURBIT + 12; 01932 M01S00481.242l642 +++| IF B$CURBIT GQ 60 THEN 01933 M01S00482.242l642 +++| BEGIN # IF FULL WORD # 01934 M01S00483.242l642 +++| B$CURBIT = 0; 01935 M01S00484.242l642 +++| B$CURWORD = B$CURWORD + 1; 01936 M01S00485.242l642 +++| END 01937 M01S00486.242l642 +++| END 01938 M01S00487.242l642 +++| RC = 0; # CLEAR RETURN CODE # 01939 M01S00488.242l642 +++| RETURN; # RETURN # 01940 M01S00489.242l642 +++| END 01941 M01S00490.242l642 +++| 01942 M01S00491.242l642 +++| I = P<Q$HEADER>; # QUEUE DOESN-T EXIST, CREATE IT # 01943 M01S00492.242l642 +++| P<Q$HEADER> = Q$FORWARD; # ADD BLOCK TO END OF CHAIN # 01944 M01S00493.242l642 +++| END 01945 M01S00494.242l642 +++| 01946 M01S00495.242l642 +++| IF CHAIN EQ 0 THEN 01947 M01S00496.242l642 +++| BEGIN # IF NO CHAIN HEADER # 01948 M01S00497.242l642 +++| P<Q$HEADER> = LOC(CHAIN); 01949 M01S00498.242l642 +++| END 01950 M01S00499.242l642 +++| ELSE 01951 M01S00500.242l642 +++| BEGIN # CHAIN HEADER EXISTS # 01952 M01S00501.242l642 +++| P<Q$HEADER> = I; 01953 M01S00502.242l642 +++| END 01954 M01S00503.242l642 +++| 01955 M01S00504.242l642 +++| CMMALF (Q$BLKSIZE,0,0,RCC); 01956 M01S00505.242l642 +++| Q$FORWARD = RCC; 01957 M01S00506.242l642 +++| I = P<Q$HEADER>; 01958 M01S00507.242l642 +++| P<Q$HEADER> = Q$FORWARD; 01959 M01S00508.242l642 +++| Q$WD0 = 0; # CLEAR THE ENTRY HEADER AREA # 01960 M01S00509.242l642 +++| Q$WD1 = 0; 01961 M01S00510.242l642 +++| Q$WD2 = 0; 01962 M01S00511.242l642 +++| Q$BACK = I; # SET THE BACKWARD POINTER # 01963 M01S00512.242l642 +++| Q$ACN = NIT$CON; # SET THE TERMINAL ACN # 01964 M01S00513.242l642 +++| Q$NAME = QUEUENAME; # SET QUEUE NAME # 01965 M01S00514.242l642 +++| Q$SIZE = Q$BLKSIZE - Q$HEADLEN; 01966 M01S00515.242l642 +++| Q$CHARSET = NIT$CH$SET; # DEFAULT IS 12 BIT ASCII # 01967 M01S00516.242l642 +++| 01968 M01S00517.242l642 +++| GOTO SFNQUE1; # ADD THE DATA TO THE QUEUE # 01969 M01S00518.242l642 +++| 01970 M01S00519.242l642 +++|END # SFNQUE$ # 01971 M01S00520.242l642 +++|*ENDIF 01972 M00S00933.sform +++|CONTROL EJECT; 01973 M00S00934.sform +++|
Line S00003 Modification History | |
---|---|
M01 (Added by) | ns2619 |
Seq # *Modification Id* Act ----------------------------+ 01974 M01S00003.ns2619 +++|PROC SFLUSH$; 01975 M01S00004.ns2619 +++| 01976 M01S00005.ns2619 +++|# TITLE SFLUSH$ - FLUSH DATA ALREADY WRITTEN TO SCREEN # 01977 M01S00006.ns2619 +++| 01978 M01S00007.ns2619 +++|BEGIN # SFLUSH$ # 01979 M01S00008.ns2619 +++| 01980 M01S00009.ns2619 +++|# 01981 M01S00010.ns2619 +++|** SFLUSH$ - FLUSH DATA ALREADY WRITTEN TO SCREEN. 01982 M01S00011.ns2619 +++|* 01983 M01S00012.ns2619 +++|* THIS PROCEDURE FORCES DATA WHICH HAS ALREADY BEEN WRITTEN TO THE 01984 M01S00013.ns2619 +++|* SCREEN BY MEANS OF *SFSWRI$* TO BE DISPLAYED UPON THE SCREEN, BY 01985 M01S00014.ns2619 +++|* WRITING AN *EOR* TO THE SCREEN. NO PARAMETERS ARE REQUIRED. 01986 M01S00015.ns2619 +++|* 01987 M01S00016.ns2619 +++|* PROC SFLUSH$ 01988 M01S00017.ns2619 +++|* 01989 M01S00018.ns2619 +++|* ENTRY NONE. 01990 M01S00019.ns2619 +++|* 01991 M01S00020.ns2619 +++|* EXIT PREVIOUSLY WRITTEN PANEL DATA FLUSHED TO SCREEN. 01992 M01S00021.ns2619 +++|* 01993 M01S00022.ns2619 +++|* CALLS VDTFOS. 01994 M01S00023.ns2619 +++|* 01995 M01S00024.ns2619 +++|* USES TERVDTBOOC. 01996 M01S00025.ns2619 +++|* 01997 M01S00026.ns2619 +++|# 01998 M01S00027.ns2619 +++|*IF UNDEF,QTRM 01999 M01S00028.ns2619 +++|ITEM RECALL I = 1; # RECALL PARAMETER FOR VDTFOS # 02000 M01S00029.ns2619 +++| 02001 M01S00030.ns2619 +++|IF TERVDTBOOC[0] THEN 02002 M01S00031.ns2619 +++| BEGIN # IF DATA IN BUFFER TO FLUSH # 02003 M01S00032.ns2619 +++| IF NOT TERNOVDTEO[0] THEN VDTEOO; 02004 M01S00033.ns2619 +++| TERVDTBOOC[0] = FALSE; 02005 M01S00034.ns2619 +++| VDTFOS(RECALL); # FLUSH OUTPUT TO SCREEN, RECALL # 02006 M01S00035.ns2619 +++| END 02007 M01S00036.ns2619 +++|*ELSE 02008 M01S00037.ns2619 +++| 02009 M01S00038.ns2619 +++|NIT$RC = NITRTC"OK"; # SET RETURN CODE # 02010 M01S00039.ns2619 +++|*ENDIF 02011 M01S00040.ns2619 +++| 02012 M01S00041.ns2619 +++|END # SFLUSH$ # 02013 M01S00042.ns2619 +++|CONTROL EJECT; 02014 M01S00043.ns2619 +++| 02015 M00S00935.sform +++|PROC SFOPEN$(NAME,NLENGTH,NOFFSET,OPENSTAT); 02016 M00S00936.sform +++| 02017 M00S00937.sform +++|# TITLE SFOPEN$ - OPEN PANEL. # 02018 M00S00938.sform +++| 02019 M00S00939.sform +++|BEGIN # SFOPEN$ # 02020 M00S00940.sform +++| 02021 M00S00941.sform +++|# 02022 M00S00942.sform +++|** SFOPEN$ - OPEN PANEL. 02023 M00S00943.sform +++|*
Line S00944 Modification History | |
---|---|
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act ----------------------------+ 02024 M01S00944.sform9 ---|* THIS PROCEDURE CALLS *CHKTRM* TO CHECK TO SEE IF THE TERMINAL
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform9 |
Seq # *Modification Id* Act ----------------------------+ 02025 M01S00001.sform9 +++|* THIS PROCEDURE CHECKS (VIA VDTGSL/VDTITD) TO SEE IF THE TERMINAL 02026 M00S00945.sform +++|* IN USE IS SUPPORTED UNDER SCREEN FORMATTING (UNLESS THIS HAS 02027 M00S00946.sform +++|* ALREADY BEEN DONE BY A PREVIOUS CALL TO SFOPEN.) IF THE TERM- 02028 M00S00947.sform +++|* INAL IS SUPPORTED THEN *SFLOAD* IS CALLED TO LOAD THE PANEL 02029 M00S00948.sform +++|* VIA THE FAST DYNAMIC LOADER (EXCEPT FOR THOSE PANELS THAT ARE 02030 M00S00949.sform +++|* STATICALLY LOADED AND THUS ALWAYS PRESENT IN MEMORY) AND THE 02031 M00S00950.sform +++|* PANEL LOAD TABLE IS UPDATED IF THE LOAD WAS SUCCESSFUL. THE 02032 M00S00951.sform +++|* STATUS OF THE OPEN IS RETURNED TO THE CALLING APPLICATION IN 02033 M00S00952.sform +++|* ALL CASES INDICATING THAT THE OPEN WAS SUCCESSFUL OR AN ERROR 02034 M00S00953.sform +++|* CODE INDICATING WHY NOT. SFOPEN$ INTERFACES TO COBOL AND FOR- 02035 M00S00954.sform +++|* TRAN PROGRAMS THROUGH A COMPASS INTERFACE MODULE CALLED SFOPEN. 02036 M00S00955.sform +++|* 02037 M00S00956.sform +++|* PROC SFOPEN$(NAME,NLENGTH,NOFFSET,OPENSTAT) 02038 M00S00957.sform +++|* 02039 M00S00958.sform +++|* ENTRY NAME = NAME OF PANEL TO BE OPENED. 02040 M00S00959.sform +++|* NLENGTH = LENGTH IN SIX BIT CHARACTERS. 02041 M00S00960.sform +++|* NOFFSET = OFFSET INTO NAME. 02042 M00S00961.sform +++|* 02043 M00S00962.sform +++|* EXIT PANEL OPENED IF POSSIBLE, OPENSTAT SET REGARDLESS. 02044 M00S00963.sform +++|*
Line S00964 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02045 M01S00964.242l642 ---|* CALLS CHKTRM, SETSRN, SFLOAD.
Line S00521 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02046 M01S00521.242l642 +++|*IF UNDEF,QTRM 02047 M01S00522.242l642 +++|* CALLS SETSRN, SFLOAD, VDTITD, VDTGSL. 02048 M01S00523.242l642 +++|*ELSE 02049 M01S00524.242l642 +++|* CALLS SETFSF, SETSRN, SFLOAD, VDTITD. 02050 M01S00525.242l642 +++|*ENDIF 02051 M00S00965.sform +++|* 02052 M00S00966.sform +++|* NOTES OPENSTAT IS SET BY SFOPEN IN SOME CASES AND IS ALSO 02053 M00S00967.sform +++|* A PARAMETER ON THE CALL TO SFLOAD IN THOSE INSTANCES 02054 M00S00968.sform +++|* WHERE THE FAST DYNAMIC LOADER IS TO BE CALLED. 02055 M00S00969.sform +++|* 02056 M00S00970.sform +++|* OPENSTAT SIGNIFICANCE PROCEDURE 02057 M00S00971.sform +++|* ..................................................... 02058 M00S00972.sform +++|* . 0 . NO ERROR . BOTH . 02059 M00S00973.sform +++|* . 1 . UNKNOWN PANEL NAME . SFLOAD . 02060 M00S00974.sform +++|* . 2 . INCORRECT CAPSULE FORMAT . SFLOAD . 02061 M00S00975.sform +++|* . 3 . PLT FULL (TOO MANY OPEN PANELS) . SFOPEN . 02062 M00S00976.sform +++|* . 4 . PANEL ALREADY OPEN . SFOPEN . 02063 M00S00977.sform +++|* . 5 . INTERNAL (FAST DYNAMIC LOADER) . SFLOAD . 02064 M00S00978.sform +++|* . 6 . NO SCREEN COMMAND ISSUED . SFOPEN . 02065 M00S00979.sform +++|* . 7 . UNSUPPORTED TERMINAL . SFOPEN . 02066 M00S00980.sform +++|* ..................................................... 02067 M00S00981.sform +++|# 02068 M00S00982.sform +++|ITEM NAME C(11); # NAME OF PANEL TO OPEN # 02069 M00S00983.sform +++|ITEM NLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 02070 M00S00984.sform +++|ITEM NOFFSET I; # OFFSET INTO NAME # 02071 M00S00985.sform +++|ITEM OPENSTAT I; # RETURNS STATUS TO APPLICATION # 02072 M00S00986.sform +++|
Line S00526 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02073 M01S00526.242l642 +++|ITEM MODELNAME C(7); # MODEL NAME FOR VDTITD CALL # 02074 M00S00987.sform +++|ITEM NAMEINDEX I; # INDEX OF PANEL IF FOUND # 02075 M00S00988.sform +++|ITEM PANELADDR I; # MEMORY ADDRESS OF PANEL # 02076 M00S00989.sform +++|ITEM PANELNAME C(7); # PANEL NAME, LEFT JUSTIFIED # 02077 M00S00990.sform +++|ITEM PLTINDEX I; # INDEX INTO PANEL LOAD TABLE # 02078 M00S00991.sform +++|ITEM SCREEN I = 1; # INDICATES SCREEN MODE TO VDT # 02079 M00S00992.sform +++|ITEM SCREENDIM I; # SCREEN DIMENSIONS FOR SETSRN #
Line S00527 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02080 M01S00527.242l642 +++|*IF DEF,QTRM 02081 M01S00528.242l642 +++|ITEM QTPLTINDEX I; # INDEX INTO QTRM USERS PLT # 02082 M01S00529.242l642 +++|*ENDIF 02083 M00S00993.sform +++|
Line S00994 Modification History | |
---|---|
M01 (Removed by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02084 M01S00994.ns2275 ---|OPENSTAT = 0; # CLEAR OPEN STATUS # 02085 M01S00995.ns2275 ---|IF TERMMODEL EQ -1 THEN 02086 M01S00996.ns2275 ---| BEGIN # IF NO CHECK FOR SUPPORT YET # 02087 M01S00997.ns2275 ---| CHKTRM(OPENSTAT); # CHECK FOR SUPPORTED TERMINAL #
Line S00012 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02088 M01S00012.ns2275 +++|OPENSTAT = OPENSTATUS"NOERROR"; # CLEAR OPEN STATUS #
Line S00013 Modification History | |
---|---|
M01 (Added by) | ns2275 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02089 M02S00013.242l642 ---|IF TERMMODEL EQ " " THEN
Line S00530 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02090 M01S00530.242l642 +++|IF TERMODNAME[0] EQ " " THEN
Line S00014 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02091 M01S00014.ns2275 +++| BEGIN # IF *TDU* TABLE NOT YET READ #
Line S00015 Modification History | |
---|---|
M01 (Added by) | ns2275 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02092 M02S00015.242l642 ---| VDTGSL(DUMMY,OPENSTAT); # CHECK SYSTEM SCREEN/LINE #
Line S00531 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02093 M01S00531.242l642 +++|*IF UNDEF,QTRM 02094 M01S00532.242l642 +++| VDTGSL(DUMMY,OPENSTAT); # CHECK SYSTEM SCREEN/LINE # 02095 M01S00533.242l642 +++|*ELSE 02096 M01S00534.242l642 +++| OPENSTAT = NIT$MODEL[NIT$CON]; # GET SCREEN MODE # 02097 M01S00535.242l642 +++| MODELNAME = NIT$TRNAM[NIT$CON]; # GET MODEL NAME # 02098 M01S00536.242l642 +++|*ENDIF
Line S00016 Modification History | |
---|---|
M01 (Added by) | ns2275 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02099 M02S00016.242l642 ---| IF OPENSTAT EQ 1 THEN 02100 M02S00017.242l642 ---| BEGIN # IF SCREEN MODE #
Line S00537 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02101 M01S00537.242l642 +++| IF OPENSTAT EQ 0 THEN 02102 M01S00538.242l642 +++| BEGIN # IF NO MODEL SPECIFIED # 02103 M01S00539.242l642 +++| OPENSTAT = OPENSTATUS"NOSCREEN"; # NONE SPECIFIED # 02104 M01S00540.242l642 +++| END 02105 M01S00541.242l642 +++| ELSE 02106 M01S00542.242l642 +++| BEGIN # MODEL SPECIFIED #
Line S00018 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02107 M01S00018.ns2275 +++| OPENSTAT = OPENSTATUS"NOERROR"; # CLEAR OPEN STATUS #
Line S00019 Modification History | |
---|---|
M01 (Added by) | ns2275 |
M02 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02108 M02S00019.242l642 ---| VDTITD(TERMMODEL); # INITIALIZE *TDU* TABLE # 02109 M02S00020.242l642 ---| IF TERMMODEL EQ " " THEN OPENSTAT = OPENSTATUS"UNSPTERM";
Line S00543 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02110 M01S00543.242l642 +++| VDTITD(MODELNAME); # INITIALIZE *TDU* TABLE #
Line S00544 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02111 M02S00544.ns2671 ---| TERMODNAME[0] = MODELNAME;
Line S00021 Modification History | |
---|---|
M01 (Added by) | ns2275 |
M02 (Removed by) | 242l642 |
M03 (Removed by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02112 M03S00021.ns2671 ---| END 02113 M03S00022.ns2671 ---| ELSE 02114 M03S00023.ns2671 ---| BEGIN # OS MODE IS LINE # 02115 M03S00024.ns2671 ---| OPENSTAT = OPENSTATUS"NOSCREEN"; # RETURN STATUS #
Line S00545 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | ns2605 |
M03 (Removed by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02116 M03S00545.ns2671 ---| IF TERMODNAME[0] EQ " " THEN OPENSTAT = OPENSTATUS"UNSPTERM";
Line S00055 Modification History | |
---|---|
M01 (Added by) | ns2605 |
M02 (Removed by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02117 M02S00055.ns2671 ---| IF TERMODNAME[0] EQ " " THEN
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02118 M01S00001.ns2671 +++| IF C<0,6>MODELNAME EQ " " THEN
Line S00056 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 02119 M01S00056.ns2605 +++| BEGIN # IF TERMINAL UNDEFINED #
Line S00002 Modification History | |
---|---|
M01 (Added by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02120 M01S00002.ns2671 +++| TERMODNAME[0] = " ";
Line S00057 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 02121 M01S00057.ns2605 +++| OPENSTAT = OPENSTATUS"UNSPTERM"; 02122 M01S00058.ns2605 +++| END 02123 M01S00059.ns2605 +++| ELSE 02124 M01S00060.ns2605 +++| BEGIN # SUPPORTED TERMINAL #
Line S00003 Modification History | |
---|---|
M01 (Added by) | ns2671 |
Seq # *Modification Id* Act ----------------------------+ 02125 M01S00003.ns2671 +++| TERMODNAME[0] = MODELNAME;
Line S00061 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 02126 M01S00061.ns2605 +++| P<CORE>=0; 02127 M01S00062.ns2605 +++| IF COREWORD[CSMR] GQ 0 THEN 02128 M01S00063.ns2605 +++| BEGIN # IF 63 CHARACTER SET SYSTEM # 02129 M01S00064.ns2605 +++| DC2A8[00] = O"0040"; # 00B = UNDEFINED # 02130 M01S00065.ns2605 +++| DC2A8[51] = O"0072"; # 63B = COLON # 02131 M01S00066.ns2605 +++| A82DC[37] = O"0055"; # PERCENT = UNDEFINED # 02132 M01S00067.ns2605 +++| A82DC[58] = O"0063"; # COLON = 63B # 02133 M01S00068.ns2605 +++| AS2A8[03] = O"0045"; # 7404B = PERCENT # 02134 M01S00069.ns2605 +++| TERASC8ATD[0] = 37; # PERCENT = 7404B # 02135 M01S00070.ns2605 +++| END 02136 M01S00071.ns2605 +++| END
Line S00025 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02137 M01S00025.ns2275 +++| END 02138 M00S00998.sform +++| END 02139 M00S00999.sform +++|
Line S01000 Modification History | |
---|---|
M01 (Removed by) | sform9 |
Seq # *Modification Id* Act ----------------------------+ 02140 M01S01000.sform9 ---|IF OPENSTAT EQ 0 THEN
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform9 |
Seq # *Modification Id* Act ----------------------------+ 02141 M01S00002.sform9 +++|IF OPENSTAT EQ OPENSTATUS"NOERROR" THEN 02142 M00S01001.sform +++| BEGIN # IF TERMINAL CAN BE USED # 02143 M00S01002.sform +++| IF NOT TERSCREENM[0] THEN 02144 M00S01003.sform +++| BEGIN # IF NOT IN SCREEN MODE # 02145 M00S01004.sform +++| SCREENDIM = 1; # ASK FOR SMALLEST SCREEN SIZE # 02146 M00S01005.sform +++| SETSRN(SCREENDIM,SCREENDIM); # SET SCREEN MODE # 02147 M00S01006.sform +++| END 02148 M00S01007.sform +++| IF NLENGTH LS 1 THEN NLENGTH = 7; # LEFT JUSTIFY PANEL NAME # 02149 M00S01008.sform +++| PANELNAME = C<NOFFSET,NLENGTH>NAME;
Line S00546 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02150 M01S00546.242l642 +++|*IF DEF,QTRM 02151 M01S00547.242l642 +++| 02152 M01S00548.242l642 +++|# CHECK FOR PANEL IN THIS USERS PLT AREA # 02153 M01S00549.242l642 +++| 02154 M01S00550.242l642 +++| P<PLTABLE> = NIT$PCT[NIT$CON] + PLTOFFSET; 02155 M01S00551.242l642 +++| PANELADDR = 0; 02156 M01S00552.242l642 +++| QTPLTINDEX = 0; 02157 M01S00553.242l642 +++| FOR PLTINDEX = 1 STEP 1 WHILE 02158 M01S00554.242l642 +++| PANELADDR EQ 0 AND PLTINDEX LQ PLTNUMENT[0] DO 02159 M01S00555.242l642 +++| BEGIN 02160 M01S00556.242l642 +++| IF PLTENAME[PLTINDEX] EQ PANELNAME THEN 02161 M01S00557.242l642 +++| BEGIN 02162 M01S00558.242l642 +++| PANELADDR = PLTADDR[PLTINDEX]; 02163 M01S00559.242l642 +++| NAMEINDEX = PLTINDEX; 02164 M01S00560.242l642 +++| END 02165 M01S00561.242l642 +++| END 02166 M01S00562.242l642 +++| IF PANELADDR EQ 0 THEN 02167 M01S00563.242l642 +++| BEGIN # IF NOT IN USER PLT # 02168 M01S00564.242l642 +++| P<PLTABLE> = LOC(PLT); # CHECK GLOBAL PLT # 02169 M01S00565.242l642 +++| FOR PLTINDEX = 1 STEP 1 WHILE 02170 M01S00566.242l642 +++| PANELADDR EQ 0 AND PLTINDEX LQ PLTNUMENT[0] DO 02171 M01S00567.242l642 +++| BEGIN 02172 M01S00568.242l642 +++| IF PLTENAME[PLTINDEX] EQ PANELNAME THEN 02173 M01S00569.242l642 +++| BEGIN 02174 M01S00570.242l642 +++| PANELADDR = PLTADDR[PLTINDEX]; 02175 M01S00571.242l642 +++| NAMEINDEX = PLTINDEX; 02176 M01S00572.242l642 +++| END 02177 M01S00573.242l642 +++| END 02178 M01S00574.242l642 +++| END 02179 M01S00575.242l642 +++| IF PANELADDR NQ 0 THEN 02180 M01S00576.242l642 +++| BEGIN # UPDATE USER PLT FROM GLOBAL # 02181 M01S00577.242l642 +++| PLTNUMQTRM[NAMEINDEX] = PLTNUMQTRM[NAMEINDEX] + 1; 02182 M01S00578.242l642 +++| P<PLTABLE> = NIT$PCT[NIT$CON] + PLTOFFSET; 02183 M01S00579.242l642 +++| PLTNUMENT[0] = PLTNUMENT[0] + 1; 02184 M01S00580.242l642 +++| NAMEINDEX = PLTNUMENT[0]; 02185 M01S00581.242l642 +++| PLTENAME[NAMEINDEX] = PANELNAME; 02186 M01S00582.242l642 +++| PLTSLFLAG[NAMEINDEX] = FALSE; 02187 M01S00583.242l642 +++| PLTOPENFLG[NAMEINDEX] = TRUE; 02188 M01S00584.242l642 +++| PLTADDR[NAMEINDEX] = PANELADDR; 02189 M01S00585.242l642 +++| SETFSF(PANELADDR); # SET FIELD STATUS FLAGS # 02190 M01S00586.242l642 +++| RETURN; 02191 M01S00587.242l642 +++| END 02192 M01S00588.242l642 +++|*ENDIF 02193 M00S01009.sform +++| P<PLTABLE> = LOC(PLT); # REFERENCE PANEL LOAD TABLE # 02194 M00S01010.sform +++| PANELADDR = 0; # CHECK FOR PANEL NAME IN TABLE # 02195 M00S01011.sform +++| FOR PLTINDEX = 1 STEP 1 WHILE 02196 M00S01012.sform +++| PANELADDR EQ 0 AND PLTINDEX LQ PLTNUMENT[0] DO 02197 M00S01013.sform +++| BEGIN 02198 M00S01014.sform +++| IF PLTENAME[PLTINDEX] EQ PANELNAME THEN 02199 M00S01015.sform +++| BEGIN # IF PANEL NAME FOUND # 02200 M00S01016.sform +++| PANELADDR = PLTADDR[PLTINDEX]; # SET PANEL ADDRESS # 02201 M00S01017.sform +++| NAMEINDEX = PLTINDEX; # SET INDEX INTO PLT # 02202 M00S01018.sform +++| END 02203 M00S01019.sform +++| END 02204 M00S01020.sform +++| IF PANELADDR EQ 0 THEN 02205 M00S01021.sform +++| BEGIN # IF PANELNAME NOT IN PLT # 02206 M00S01022.sform +++| IF PLTNUMENT[0] GQ PLTENTRYNM[0] THEN 02207 M00S01023.sform +++| BEGIN # IF PANEL LOAD TABLE IS FULL #
Line S01024 Modification History | |
---|---|
M01 (Removed by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02208 M01S01024.ns2275 ---| OPENSTAT = 3; # PANEL LOAD TABLE FULL #
Line S00026 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02209 M01S00026.ns2275 +++| OPENSTAT = OPENSTATUS"PLTFULL"; 02210 M00S01025.sform +++| END 02211 M00S01026.sform +++| ELSE 02212 M00S01027.sform +++| BEGIN # LOAD VIA FAST DYNAMIC LOADER # 02213 M00S01028.sform +++| SFLOAD(PANELNAME,PANELADDR,OPENSTAT);
Line S00225 Modification History | |
---|---|
M01 (Added by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 02214 M01S00225.243l647 +++| IF OPENSTAT EQ 0 THEN 02215 M01S00226.243l647 +++| BEGIN # IF LOADED WITHOUT ERROR # 02216 M01S00227.243l647 +++| GETADD(PANELNAME,PANELADDR,NAMEINDEX); 02217 M01S00228.243l647 +++| POSTWO(PANELADDR); # POSITION SFATTR ARRAYS # 02218 M01S00229.243l647 +++| END
Line S00589 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02219 M01S00589.242l642 +++|*IF DEF,QTRM 02220 M01S00590.242l642 +++| PLTNUMQTRM[PLTINDEX] = PLTNUMQTRM[PLTINDEX] + 1; # USER COUNT # 02221 M01S00591.242l642 +++| P<PLTABLE> = NIT$PCT[NIT$CON] + PLTOFFSET; 02222 M01S00592.242l642 +++| PLTNUMENT[0] = PLTNUMENT[0] + 1; 02223 M01S00593.242l642 +++| NAMEINDEX = PLTNUMENT[0]; 02224 M01S00594.242l642 +++| PLTENAME[NAMEINDEX] = PANELNAME; 02225 M01S00595.242l642 +++| PLTSLFLAG[NAMEINDEX] = FALSE; 02226 M01S00596.242l642 +++| PLTOPENFLG[NAMEINDEX] = TRUE; 02227 M01S00597.242l642 +++| PLTADDR[NAMEINDEX] = PANELADDR; 02228 M01S00598.242l642 +++|*ENDIF 02229 M00S01029.sform +++| END 02230 M00S01030.sform +++| END 02231 M00S01031.sform +++| ELSE 02232 M00S01032.sform +++| BEGIN # IF PANEL ALREADY IN PLT # 02233 M00S01033.sform +++| IF PLTOPENFLG[NAMEINDEX] THEN 02234 M00S01034.sform +++| BEGIN # IF PANEL IS ALREADY OPEN #
Line S01035 Modification History | |
---|---|
M01 (Removed by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02235 M01S01035.ns2275 ---| OPENSTAT = 4; # PANEL ALREADY OPEN #
Line S00027 Modification History | |
---|---|
M01 (Added by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02236 M01S00027.ns2275 +++| OPENSTAT = OPENSTATUS"PANELOPEN"; 02237 M00S01036.sform +++| END 02238 M00S01037.sform +++| ELSE 02239 M00S01038.sform +++| BEGIN # OPEN STATICALLY LOADED PANEL # 02240 M00S01039.sform +++| PLTOPENFLG[NAMEINDEX] = TRUE; # SET PANEL OPEN #
Line S00599 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02241 M01S00599.242l642 +++|*IF DEF,QTRM 02242 M01S00600.242l642 +++| SETFSF(PANELADDR); # SET FIELD STATUS FLAGS # 02243 M01S00601.242l642 +++|*ENDIF 02244 M00S01040.sform +++| END
Line S00230 Modification History | |
---|---|
M01 (Added by) | 243l647 |
Seq # *Modification Id* Act ----------------------------+ 02245 M01S00230.243l647 +++| POSTWO(PANELADDR); # POSITION SFATTR ARRAYS # 02246 M00S01041.sform +++| END 02247 M00S01042.sform +++| END 02248 M00S01043.sform +++| 02249 M00S01044.sform +++|END # SFOPEN$ # 02250 M00S01045.sform +++|CONTROL EJECT; 02251 M00S01046.sform +++| 02252 M00S01047.sform +++|PROC SFPOSR$(TABLENAME,TLEN,TOFF,ROWNUMBER); 02253 M00S01048.sform +++| 02254 M00S01049.sform +++|# TITLE SFPOSR$ - POSITION TABLE ROW. # 02255 M00S01050.sform +++| 02256 M00S01051.sform +++|BEGIN # SFPOSR$ # 02257 M00S01052.sform +++| 02258 M00S01053.sform +++|# 02259 M00S01054.sform +++|** SFPOSR$ - POSITION TABLE ROW. 02260 M00S01055.sform +++|* 02261 M00S01056.sform +++|* SFPOSR$ POSITIONS TABLENAME TO ROWNUMBER. 02262 M00S01057.sform +++|* 02263 M00S01058.sform +++|* PROC SFPOSR$(TABLENAME,TLEN,TOFF,ROWNUMBER) 02264 M00S01059.sform +++|* 02265 M00S01060.sform +++|* ENTRY TABLENAME = TABLE NAME. 02266 M00S01061.sform +++|* TLEN = LENGTH OF TABLENAME. 02267 M00S01062.sform +++|* TOFF = OFFSET OF TABLENAME. 02268 M00S01063.sform +++|* ROWNUMBER = ROW NUMBER. 02269 M00S01064.sform +++|* 02270 M00S01065.sform +++|* EXIT ARRCURROW[TABLENAME] = ROWNUMBER. 02271 M00S01066.sform +++|# 02272 M00S01067.sform +++|ITEM TABLENAME C(11); # TABLE NAME # 02273 M00S01068.sform +++|ITEM TLEN I; # LENGTH OF TABLENAME PARAMETER # 02274 M00S01069.sform +++|ITEM TOFF I; # OFFSET IN TABLENAME PARAMETER # 02275 M00S01070.sform +++|ITEM ROWNUMBER I; # ROW NUMBER IN ARRAY # 02276 M00S01071.sform +++| 02277 M00S01072.sform +++|ITEM I I; # LOOP COUNTER # 02278 M00S01073.sform +++|ITEM NOTFOUND B; # TABLE NOT FOUND # 02279 M00S01074.sform +++|ITEM TNAME C(7); # TABLE NAME LEFT JUSTIFIED # 02280 M00S01075.sform +++| 02281 M00S01076.sform +++|IF PANSTRARR[0] EQ 0 THEN RETURN; # IF NO TABLES IN PANEL # 02282 M00S01077.sform +++| 02283 M00S01078.sform +++|IF TLEN LS 1 THEN TLEN = 7; # CRACK PARAMETER # 02284 M00S01079.sform +++|TNAME = C<TOFF,TLEN>TABLENAME; 02285 M00S01080.sform +++| 02286 M00S01081.sform +++|NOTFOUND = TRUE;
Line S01082 Modification History | |
---|---|
M01 (Removed by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 02287 M01S01082.sform6 ---|FOR I = 1 STEP 1 WHILE ARRNUMVARS[I] NQ 0 AND NOTFOUND DO
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform6 |
Seq # *Modification Id* Act ----------------------------+ 02288 M01S00001.sform6 +++|FOR I = 0 STEP 1 WHILE ARRNUMVARS[I] NQ 0 AND NOTFOUND DO 02289 M00S01083.sform +++| BEGIN # SEARCH ARRAY LIST FOR TABLE # 02290 M00S01084.sform +++| IF ARRNAME[I] EQ TNAME THEN 02291 M00S01085.sform +++| BEGIN # IF TABLE NAME FOUND # 02292 M00S01086.sform +++| NOTFOUND = FALSE; 02293 M00S01087.sform +++| IF ROWNUMBER LS 1 OR ROWNUMBER GR ARRNUMROWS[I] THEN 02294 M00S01088.sform +++| BEGIN # IF ILLEGAL ROW NUMBER # 02295 M00S01089.sform +++| ARRCURROW[I] = 0; 02296 M00S01090.sform +++| END 02297 M00S01091.sform +++| ELSE ARRCURROW[I] = ROWNUMBER - 1; 02298 M00S01092.sform +++| END 02299 M00S01093.sform +++| END 02300 M00S01094.sform +++| 02301 M00S01095.sform +++|END # SFPOSR$ #
Line S00072 Modification History | |
---|---|
M01 (Added by) | ns2605 |
Seq # *Modification Id* Act ----------------------------+ 02302 M01S00072.ns2605 +++|CONTROL EJECT; 02303 M01S00073.ns2605 +++| 02304 M01S00074.ns2605 +++|PROC SFSETF$(VNAME,VLEN,VOS,STRG,SLEN,SOS,CSET,CLEN,COS,STAT); 02305 M01S00075.ns2605 +++| BEGIN 02306 M01S00076.ns2605 +++|# 02307 M01S00077.ns2605 +++|** SFSETF$ - SET FIELD CHARACTER STRING. 02308 M01S00078.ns2605 +++|* 02309 M01S00079.ns2605 +++|* SFGETF$ TRANSFERS CHARACTERS TO A SPECIFIED PANEL FIELD FROM 02310 M01S00080.ns2605 +++|* A SPECIFIED STRING, USING *MOVEFLD*. 02311 M01S00081.ns2605 +++|* 02312 M01S00082.ns2605 +++|* PROC SFGETF$(VNAME,VLEN,VOS,STRG,SLEN,SOS,CSET,CLEN,COS,STAT) 02313 M01S00083.ns2605 +++|* 02314 M01S00084.ns2605 +++|* ENTRY VNAME = VARIABLE NAME OF FIELD. 02315 M01S00085.ns2605 +++|* VLEN = LENGTH OF VARNAME PARAMETER. 02316 M01S00086.ns2605 +++|* VOS = OFFSET OF VARNAME PARAMETER. 02317 M01S00087.ns2605 +++|* STRG = VARIABLE FIELD STRING. 02318 M01S00088.ns2605 +++|* SLEN = LENGTH OF STRING PARAMETER. 02319 M01S00089.ns2605 +++|* SOS = OFFSET OF STRING PARAMETER. 02320 M01S00090.ns2605 +++|* CSET = CHARACTER SET OF STRING (SEE SFCSET$). 02321 M01S00091.ns2605 +++|* CLEN = LENGTH OF CSET PARAMETER. 02322 M01S00092.ns2605 +++|* COS = OFFSET OF CSET PARAMETER. 02323 M01S00093.ns2605 +++|* 02324 M01S00094.ns2605 +++|* EXIT STAT GQ 0, NUMBER OF 6 BIT CHARACTERS MOVED. 02325 M01S00095.ns2605 +++|* LS 0, VARIABLE NOT FOUND IN ACTIVE PANELS. 02326 M01S00096.ns2605 +++|* 02327 M01S00097.ns2605 +++|* CALLS MOVEFLD. 02328 M01S00098.ns2605 +++|# 02329 M01S00099.ns2605 +++| 02330 M01S00100.ns2605 +++| ITEM VNAME I; # VARIABLE NAME # 02331 M01S00101.ns2605 +++| ITEM VLEN I; # LENGTH OF VARNAME PARAMETER # 02332 M01S00102.ns2605 +++| ITEM VOS I; # OFFSET INTO VARNAME PARAMETER # 02333 M01S00103.ns2605 +++| ITEM STRG I; # INSTRING PARAMETER # 02334 M01S00104.ns2605 +++| ITEM SLEN I; # LENGTH OF INSTRING # 02335 M01S00105.ns2605 +++| ITEM SOS I; # OFFSET INTO INSTRING # 02336 M01S00106.ns2605 +++| ITEM CSET I; # CHARACTER SET # 02337 M01S00107.ns2605 +++| ITEM CLEN I; # LENGTH OF CHARACTER SET # 02338 M01S00108.ns2605 +++| ITEM COS I; # OFFSET INTO CHARACTER SET # 02339 M01S00109.ns2605 +++| ITEM STAT I; # STATUS FIELD # 02340 M01S00110.ns2605 +++| 02341 M01S00111.ns2605 +++| 02342 M01S00112.ns2605 +++| STAT = 1; # INDICATE *SFSETF* # 02343 M01S00113.ns2605 +++| MOVEFLD(VNAME,VLEN,VOS,STRG,SLEN,SOS,CSET,CLEN,COS,STAT); 02344 M01S00114.ns2605 +++| RETURN; 02345 M01S00115.ns2605 +++| 02346 M01S00116.ns2605 +++|END # SFSETF$#
Line S00602 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02347 M01S00602.242l642 +++|*IF DEF,QTRM 02348 M01S00603.242l642 +++|CONTROL EJECT; 02349 M01S00604.242l642 +++| 02350 M01S00605.242l642 +++|PROC SFQTRM$(NITADDR,BUFFER); 02351 M01S00606.242l642 +++| 02352 M01S00607.242l642 +++|# TITLE SFQTRM$ - INTERFACE BETWEEN QTRM AND SFORM # 02353 M01S00608.242l642 +++| 02354 M01S00609.242l642 +++|BEGIN # SFQTRM$ # 02355 M01S00610.242l642 +++| 02356 M01S00611.242l642 +++|# 02357 M01S00612.242l642 +++|** SFQTRM$ - INTERFACE BETWEEN QTRM AND SFORM. 02358 M01S00613.242l642 +++|* 02359 M01S00614.242l642 +++|* THIS PROCEDURE IS THE INTERFACE BETWEEN QTRM AND SFORM THAT 02360 M01S00615.242l642 +++|* IDENTIFIES THE QTRM NETWORK INFORMATION TABLE, DATA BUFFER, 02361 M01S00616.242l642 +++|* AND CURRENT TERMINAL TO SFORM. SFQTRM$ INTERFACES TO COBOL 02362 M01S00617.242l642 +++|* AND FORTRAN PROGRAMS THROUGH A COMPASS INTERFACE MODULE 02363 M01S00618.242l642 +++|* CALLED SFQTRM. 02364 M01S00619.242l642 +++|* 02365 M01S00620.242l642 +++|* PROC SFQTRM$(NITADDR,BUFFER) 02366 M01S00621.242l642 +++|* 02367 M01S00622.242l642 +++|* ENTRY NITADDR = ADDRESS OF QTRM USER-S QTRM NETWORK 02368 M01S00623.242l642 +++|* INFORMATION TABLE. 02369 M01S00624.242l642 +++|* BUFFER = ADDRESS OF BUFFER FOR THE SCREEN FORMATTING 02370 M01S00625.242l642 +++|* ROUTINES SFSREA AND SFSWRI TO USE. THE 02371 M01S00626.242l642 +++|* 02372 M01S00627.242l642 +++|* EXIT POINTERS TO BUFFER INITIALIZED. 02373 M01S00628.242l642 +++|# 02374 M01S00629.242l642 +++|ITEM NITADDR U; # ADDRESS OF THE USERS NIT # 02375 M01S00630.242l642 +++|ARRAY BUFFER [0:0] P(1);; # BUFFER # 02376 M01S00631.242l642 +++| 02377 M01S00632.242l642 +++|ITEM CHARIND I = 0; # CHAR INDEX FOR FLAG MOVE # 02378 M01S00633.242l642 +++|ITEM CURRNT$ACN I = 0; # CURRENT ACN POINTER # 02379 M01S00634.242l642 +++|ITEM I I; # LOOP COUNTER # 02380 M01S00635.242l642 +++|ITEM HOLDADR U; # HOLDS BUFFER ADDRESS # 02381 M01S00636.242l642 +++|ITEM PANELNAME C(7); # PANEL NAME FOR ARRAY RESET # 02382 M01S00637.242l642 +++|ITEM PANELADDR I; # PANEL ADDR FOR ARRAY RESET # 02383 M01S00638.242l642 +++|ITEM VDATALEN I; # VARDATA LENGTH # 02384 M01S00639.242l642 +++|ITEM PLTINDEX I; # ACTIVE PANEL INDEX TO RESET # 02385 M01S00640.242l642 +++|ITEM WORDIND I = 0; # WORD INDEX FOR FLAG MOVE # 02386 M01S00641.242l642 +++| 02387 M01S00642.242l642 +++|HOLDADR = LOC(BUFFER); # SAVE BUFFER ADDRESS # 02388 M01S00643.242l642 +++|P<NIT> = LOC(NITADDR); # SAVE NIT ADDRESS # 02389 M01S00644.242l642 +++|IF CURRNT$ACN EQ 0 THEN 02390 M01S00645.242l642 +++| BEGIN # IF FIRST CALL TO SFQTRM$ # 02391 M01S00646.242l642 +++| CURRNT$ACN = NIT$CON[0]; 02392 M01S00647.242l642 +++| P<QTRM$BUFFER> = LOC(BUFFER); 02393 M01S00648.242l642 +++| FOR I = 0 STEP 1 UNTIL SFORMSIZE -1 DO 02394 M01S00649.242l642 +++| BEGIN # SAVE TERMSTAT DEFAULTS # 02395 M01S00650.242l642 +++| TERINITHLD[I] = TERMSTATWD[I]; 02396 M01S00651.242l642 +++| END 02397 M01S00652.242l642 +++| FOR I = 0 STEP 1 UNTIL VTERMSIZE -1 DO 02398 M01S00653.242l642 +++| BEGIN # SAVE VDT AREA DEFAULTS # 02399 M01S00654.242l642 +++| VDTINITHLD[I] = COMVDT$WD0[I]; 02400 M01S00655.242l642 +++| END 02401 M01S00656.242l642 +++| RETURN; 02402 M01S00657.242l642 +++| END 02403 M01S00658.242l642 +++| 02404 M01S00659.242l642 +++|IF CURRNT$ACN NQ NIT$CON[0] THEN 02405 M01S00660.242l642 +++|BEGIN # IF NEW USER # 02406 M01S00661.242l642 +++| IF CURRNT$ACN NQ 0 AND NIT$PCT[CURRNT$ACN] NQ 0 THEN 02407 M01S00662.242l642 +++| BEGIN # IF THERE IS A CURRENT USER # 02408 M01S00663.242l642 +++| P<PCT> = NIT$PCT[CURRNT$ACN]; # SAVE PREVIOUS TERMINAL-S STATE # 02409 M01S00664.242l642 +++| TERFLDADDR = P<FLDLIST>; # SAVE FIELD LIST ADDRESS # 02410 M01S00665.242l642 +++| P<QTRM$BUFFER> = P<PCT> + SFORMOFFSET; 02411 M01S00666.242l642 +++| FOR I = 0 STEP 1 UNTIL SFORMSIZE -1 DO 02412 M01S00667.242l642 +++| BEGIN # MOVE SFORM DATA # 02413 M01S00668.242l642 +++| QTRM$WD0[I] = TERMSTATWD[I]; 02414 M01S00669.242l642 +++| END 02415 M01S00670.242l642 +++| P<QTRM$BUFFER> = P<PCT> + VTERMOFFSET; 02416 M01S00671.242l642 +++| FOR I = 0 STEP 1 UNTIL VTERMSIZE - 1 DO 02417 M01S00672.242l642 +++| BEGIN # MOVE VIRTERM DATA # 02418 M01S00673.242l642 +++| QTRM$WD0[I] = COMVDT$WD0[I]; 02419 M01S00674.242l642 +++| END 02420 M01S00675.242l642 +++| P<QTRM$BUFFER> = P<PCT> + FDAOFFSET; 02421 M01S00676.242l642 +++| IF TERFLDADDR[0] NQ 0 THEN 02422 M01S00677.242l642 +++| BEGIN # IF FIELD STATUS FLAGS EXIST # 02423 M01S00678.242l642 +++| FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0 DO 02424 M01S00679.242l642 +++| BEGIN # MOVE FIELD STATUS FLAGS # 02425 M01S00680.242l642 +++| WORDIND = I / 15; 02426 M01S00681.242l642 +++| CHARIND = I - 15*WORDIND; 02427 M01S00682.242l642 +++| B<CHARIND*4,4>QTRM$WD0[WORDIND] = FLDSTFLAGS[I]; 02428 M01S00683.242l642 +++| END 02429 M01S00684.242l642 +++| END 02430 M01S00685.242l642 +++| P<QTRM$BUFFER> = P<PCT> + VDTAOFFSET; 02431 M01S00686.242l642 +++| PANELADDR = P<VDATA> - PANHEADLEN; 02432 M01S00687.242l642 +++| IF PANSTRFLD[0] NQ 0 THEN 02433 M01S00688.242l642 +++| BEGIN # IF FIELDS EXISTS # 02434 M01S00689.242l642 +++| VDATALEN = P<FLDLIST> - (PANELADDR + PANHEADLEN); 02435 M01S00690.242l642 +++| END 02436 M01S00691.242l642 +++| ELSE 02437 M01S00692.242l642 +++| BEGIN # NO FIELDS # 02438 M01S00693.242l642 +++| VDATALEN = P<VARLIST> - (PANELADDR + PANHEADLEN); 02439 M01S00694.242l642 +++| END 02440 M01S00695.242l642 +++| FOR I = 0 STEP 1 UNTIL VDATALEN -1 DO 02441 M01S00696.242l642 +++| BEGIN 02442 M01S00697.242l642 +++| QTRM$WD0[I] = VDATAU[I]; 02443 M01S00698.242l642 +++| END 02444 M01S00699.242l642 +++| END 02445 M01S00700.242l642 +++| CURRNT$ACN = NIT$CON[0]; # LOAD ITEMS FOR NEW TERMINAL # 02446 M01S00701.242l642 +++| IF NIT$PCT[CURRNT$ACN] NQ 0 THEN 02447 M01S00702.242l642 +++| BEGIN # IF USER HAS A PCT # 02448 M01S00703.242l642 +++| P<PCT> = NIT$PCT[CURRNT$ACN]; 02449 M01S00704.242l642 +++| P<PLTABLE> = NIT$PCT[CURRNT$ACN] + PLTOFFSET; 02450 M01S00705.242l642 +++| P<QTRM$BUFFER> = P<PCT> + SFORMOFFSET; 02451 M01S00706.242l642 +++| FOR I = 0 STEP 1 UNTIL SFORMSIZE - 1 DO 02452 M01S00707.242l642 +++| BEGIN # MOVE SFORM DATA # 02453 M01S00708.242l642 +++| TERMSTATWD[I] = QTRM$WD0[I]; 02454 M01S00709.242l642 +++| END 02455 M01S00710.242l642 +++| P<FLDLIST> = TERFLDADDR; # FLDLIST ADDRESS # 02456 M01S00711.242l642 +++| P<QTRM$BUFFER> = P<PCT> + VTERMOFFSET; 02457 M01S00712.242l642 +++| FOR I = 0 STEP 1 UNTIL VTERMSIZE - 1 DO 02458 M01S00713.242l642 +++| BEGIN # MOVE VIRTERM DATA # 02459 M01S00714.242l642 +++| COMVDT$WD0[I] = QTRM$WD0[I]; 02460 M01S00715.242l642 +++| END 02461 M01S00716.242l642 +++| IF TERACTPANL[0] NQ " " THEN 02462 M01S00717.242l642 +++| BEGIN # IF PANEL ACTIVE # 02463 M01S00718.242l642 +++| P<QTRM$BUFFER> = P<PCT> + FDAOFFSET; 02464 M01S00719.242l642 +++| IF TERFLDADDR[0] NQ 0 THEN 02465 M01S00720.242l642 +++| BEGIN # IF FIELD STATUS FLAGS EXIST # 02466 M01S00721.242l642 +++| FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0 DO 02467 M01S00722.242l642 +++| BEGIN # MOVE FIELD STATUS FLAGS # 02468 M01S00723.242l642 +++| WORDIND = I / 15; 02469 M01S00724.242l642 +++| CHARIND = I - 15*WORDIND; 02470 M01S00725.242l642 +++| FLDSTFLAGS[I] = B<CHARIND*4,4>QTRM$WD0[WORDIND]; 02471 M01S00726.242l642 +++| END 02472 M01S00727.242l642 +++| END 02473 M01S00728.242l642 +++| PANELNAME = TERACTPANL[0]; # GET PANEL NAME # 02474 M01S00729.242l642 +++| GETADD(PANELNAME,PANELADDR,PLTINDEX); 02475 M01S00730.242l642 +++| POSARR(PANELADDR); 02476 M01S00731.242l642 +++| P<QTRM$BUFFER> = P<PCT> + VDTAOFFSET; 02477 M01S00732.242l642 +++| PANELADDR = P<VDATA> - PANHEADLEN; 02478 M01S00733.242l642 +++| IF PANSTRFLD[0] NQ 0 THEN 02479 M01S00734.242l642 +++| BEGIN 02480 M01S00735.242l642 +++| VDATALEN = P<FLDLIST> - (PANELADDR + PANHEADLEN); 02481 M01S00736.242l642 +++| END 02482 M01S00737.242l642 +++| ELSE 02483 M01S00738.242l642 +++| BEGIN 02484 M01S00739.242l642 +++| VDATALEN = P<VARLIST> - (PANELADDR + PANHEADLEN); 02485 M01S00740.242l642 +++| END 02486 M01S00741.242l642 +++| FOR I = 0 STEP 1 UNTIL VDATALEN -1 DO 02487 M01S00742.242l642 +++| BEGIN 02488 M01S00743.242l642 +++| VDATAU[I] = QTRM$WD0[I]; 02489 M01S00744.242l642 +++| END 02490 M01S00745.242l642 +++| END 02491 M01S00746.242l642 +++| END 02492 M01S00747.242l642 +++| ELSE 02493 M01S00748.242l642 +++| BEGIN # NO PCT FOR THIS USER # 02494 M01S00749.242l642 +++| FOR I = 0 STEP 1 UNTIL SFORMSIZE -1 DO 02495 M01S00750.242l642 +++| BEGIN # INITIALIZE TERMSTAT # 02496 M01S00751.242l642 +++| TERMSTATWD[I] = TERINITHLD[I]; 02497 M01S00752.242l642 +++| END 02498 M01S00753.242l642 +++| FOR I = 0 STEP 1 UNTIL VTERMSIZE -1 DO 02499 M01S00754.242l642 +++| BEGIN # INITIALIZE VDT AREA # 02500 M01S00755.242l642 +++| COMVDT$WD0[I] = VDTINITHLD[I]; 02501 M01S00756.242l642 +++| END 02502 M01S00757.242l642 +++| TERMODNAME[0] = " "; 02503 M01S00758.242l642 +++| TERACTPANL[0] = " "; 02504 M01S00759.242l642 +++| TERACTPLTI[0] = 0; 02505 M01S00760.242l642 +++| TERFUNCPOS[0] = 0; 02506 M01S00761.242l642 +++| TERNUMCOLS[0] = 0; 02507 M01S00762.242l642 +++| TERNUMLNES[0] = 0; 02508 M01S00763.242l642 +++| END 02509 M01S00764.242l642 +++| P<QTRM$BUFFER> = HOLDADR; 02510 M01S00765.242l642 +++| END 02511 M01S00766.242l642 +++| 02512 M01S00767.242l642 +++|END # SFQTRM$ # 02513 M01S00768.242l642 +++|*ENDIF 02514 M00S01096.sform +++|CONTROL EJECT; 02515 M00S01097.sform +++| 02516 M00S01098.sform +++|PROC SFSETP$(VARNAME,VLEN,VOFF,OFFSET,ROWNUM); 02517 M00S01099.sform +++| 02518 M00S01100.sform +++|# TITLE SFSETP$ - SET CURSOR POSITION. # 02519 M00S01101.sform +++| 02520 M00S01102.sform +++|BEGIN # SFSETP$ # 02521 M00S01103.sform +++| 02522 M00S01104.sform +++|# 02523 M00S01105.sform +++|** SFSETP$ - SET CURSOR POSITION. 02524 M00S01106.sform +++|* 02525 M00S01107.sform +++|* SFSETP$ SPECIFIES WHAT FIELD THE CURSOR WILL 02526 M00S01108.sform +++|* BE POSITIONED AT FOR THE NEXT READ. 02527 M00S01109.sform +++|* 02528 M00S01110.sform +++|* PROC SFSETP$(VARNAME,VLEN,VOFF,OFFSET,ROWNUM) 02529 M00S01111.sform +++|* 02530 M00S01112.sform +++|* ENTRY VARNAME = VARIABLE NAME OF FIELD. 02531 M00S01113.sform +++|* VLEN = LENGTH OF VARP. 02532 M00S01114.sform +++|* VOFF = OFFSET OF VARP. 02533 M00S01115.sform +++|* OFFSET = OFFSET INTO SPECIFIED FIELD. 02534 M00S01116.sform +++|* ROWNUM = ROW NUMBER OF SPECIFIED FIELD. 02535 M00S01117.sform +++|*
Line S01118 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02536 M01S01118.242l642 ---|* EXIT CURSORVAR = VARIABLE NAME OF SPECIFIED FIELD. 02537 M01S01119.242l642 ---|* CURSORROW = ROW NUMBER OF SPECIFIED FIELD. 02538 M01S01120.242l642 ---|* CURSOROFF = OFFSET OF SPECIFIED FIELD. 02539 M01S01121.242l642 ---|* CURSORSET = TRUE.
Line S00769 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02540 M01S00769.242l642 +++|* EXIT TERCURSVAR = VARIABLE NAME OF SPECIFIED FIELD. 02541 M01S00770.242l642 +++|* TERCURSROW = ROW NUMBER OF SPECIFIED FIELD. 02542 M01S00771.242l642 +++|* TERCURSOFF = OFFSET OF SPECIFIED FIELD. 02543 M01S00772.242l642 +++|* TERCURSSET = TRUE. 02544 M00S01122.sform +++|*
Line S01123 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02545 M01S01123.242l642 ---|* USES CURSOROFF, CURSORROW, CURSORSET, CURSORVAR.
Line S00773 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02546 M01S00773.242l642 +++|* USES TERCURSOFF, TERCURSROW, TERCURSSET, TERCURSVAR. 02547 M00S01124.sform +++|* 02548 M00S01125.sform +++|* NOTES ROUTINE READSF WILL SET THE ACTUAL CURSOR POSITION. 02549 M00S01126.sform +++|# 02550 M00S01127.sform +++|ITEM VARNAME C(11); # VARIABLE NAME # 02551 M00S01128.sform +++|ITEM VLEN I; # LENGTH OF VARNAME PARAMETER # 02552 M00S01129.sform +++|ITEM VOFF I; # OFFSET INTO VARNAME PARAMETER # 02553 M00S01130.sform +++|ITEM OFFSET I; # OFFSET INTO FIELD # 02554 M00S01131.sform +++|ITEM ROWNUM I; # ROW NUMBER IN ARRAY # 02555 M00S01132.sform +++| 02556 M00S01133.sform +++|IF VLEN LS 1 THEN VLEN = 7; # CRACK PARAMETER #
Line S01134 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02557 M01S01134.242l642 ---|CURSORVAR = C<VOFF,VLEN>VARNAME;
Line S00774 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02558 M01S00774.242l642 +++|TERCURSVAR[0] = C<VOFF,VLEN>VARNAME; 02559 M00S01135.sform +++| 02560 M00S01136.sform +++|TERCURSSET[0] = TRUE; # SET GLOBAL VARIABLES #
Line S01137 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02561 M01S01137.242l642 ---|IF OFFSET GR 0 THEN CURSOROFF = OFFSET - 1; 02562 M01S01138.242l642 ---| ELSE CURSOROFF = 0; 02563 M01S01139.242l642 ---|IF ROWNUM LS 1 THEN CURSORROW = 0; 02564 M01S01140.242l642 ---| ELSE CURSORROW = ROWNUM - 1;
Line S00775 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02565 M01S00775.242l642 +++|IF OFFSET GR 0 THEN TERCURSOFF[0] = OFFSET - 1; 02566 M01S00776.242l642 +++| ELSE TERCURSOFF[0] = 0; 02567 M01S00777.242l642 +++|IF ROWNUM LS 1 THEN TERCURSROW[0] = 0; 02568 M01S00778.242l642 +++| ELSE TERCURSROW[0] = ROWNUM - 1; 02569 M00S01141.sform +++| 02570 M00S01142.sform +++|END # SFSETP$ # 02571 M00S01143.sform +++|CONTROL EJECT; 02572 M00S01144.sform +++| 02573 M00S01145.sform +++|PROC SFSREA$(PANELP,PANLEN,PANOFF,INSP,INSLEN,INSOFF); 02574 M00S01146.sform +++| 02575 M00S01147.sform +++|# TITLE SFSREA$ - READ PANEL USING INSTRING. # 02576 M00S01148.sform +++| 02577 M00S01149.sform +++|BEGIN # SFSREA$ # 02578 M00S01150.sform +++| 02579 M00S01151.sform +++|# 02580 M00S01152.sform +++|** SFSREA$ - READ PANEL USING INSTRING. 02581 M00S01153.sform +++|* 02582 M00S01154.sform +++|* SFSREA$ READS A PANEL AND PLACES THE INPUT IN 02583 M00S01155.sform +++|* INSTRING. 02584 M00S01156.sform +++|* 02585 M00S01157.sform +++|* PROC SFSREA$(PANELP,PANLEN,PANOFF,INSP,INSLEN,INSOFF) 02586 M00S01158.sform +++|* 02587 M00S01159.sform +++|* ENTRY PANELP = NAME OF PANEL TO READ. 02588 M00S01160.sform +++|* PANLEN = LENGTH OF PANELP. 02589 M00S01161.sform +++|* PANOFF = OFFSET OF PANELP. 02590 M00S01162.sform +++|* INSP = INSTRING TO RECEIVE DATA. 02591 M00S01163.sform +++|* INSLEN = LENGTH OF INSP. 02592 M00S01164.sform +++|* INSOFF = OFFSET OF INSP. 02593 M00S01165.sform +++|* 02594 M00S01166.sform +++|* EXIT INSP CONTAINS INPUT DATA. 02595 M00S01167.sform +++|* 02596 M00S01168.sform +++|* CALLS CPANEL, MOVEST, READSF. 02597 M00S01169.sform +++|*
Line S01170 Modification History | |
---|---|
M01 (Removed by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02598 M01S01170.sform24 ---|* UESE TERREADFLG.
Line S00001 Modification History | |
---|---|
M01 (Added by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02599 M01S00001.sform24 +++|* USES TERREADFLG. 02600 M00S01171.sform +++|# 02601 M00S01172.sform +++|ITEM PANELP C(11); # PANEL PARAMETER # 02602 M00S01173.sform +++|ITEM PANLEN I; # LENGTH OF PANEL PARAMETER # 02603 M00S01174.sform +++|ITEM PANOFF I; # OFFSET OF PANEL PARAMETER # 02604 M00S01175.sform +++|ITEM INSP I; # ADDRESS OF INSTRING # 02605 M00S01176.sform +++|ITEM INSLEN I; # LENGTH OF INSTRING # 02606 M00S01177.sform +++|ITEM INSOFF I; # OFFSET OF INSTRING # 02607 M00S01178.sform +++| 02608 M00S01179.sform +++|ITEM PANEL C(7); # NAME OF INPUT PANEL # 02609 M00S01180.sform +++|
Line S00779 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02610 M01S00779.242l642 +++|*IF DEF,QTRM 02611 M01S00780.242l642 +++|NIT$RC = NITRTC"OK"; # SET STATUS OK # 02612 M01S00781.242l642 +++| 02613 M01S00782.242l642 +++|*ENDIF 02614 M00S01181.sform +++|IF PANLEN LS 1 THEN PANLEN = 7; # CRACK PARAMETER # 02615 M00S01182.sform +++|PANEL = C<PANOFF,PANLEN>PANELP; 02616 M00S01183.sform +++| 02617 M00S01184.sform +++|READSF(PANEL); # READ PANEL # 02618 M00S01185.sform +++|CPANEL; # REWRITE SCREEN AS NEEDED # 02619 M00S01186.sform +++| 02620 M00S01187.sform +++|IF PANNUMBYTE[0] NQ 0 THEN 02621 M00S01188.sform +++| BEGIN # IF VARIABLES IN PANEL # 02622 M00S01189.sform +++| TERREADFLG[0] = TRUE; 02623 M00S01190.sform +++| MOVEST(LOC(INSP),INSOFF,INSLEN); # MOVE VARDATA TO INSTRING # 02624 M00S01191.sform +++| TERREADFLG[0] = FALSE; 02625 M00S01192.sform +++| END 02626 M00S01193.sform +++| 02627 M00S01194.sform +++|END # SFSREA$ #
Line S00783 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02628 M01S00783.242l642 +++|*IF UNDEF, QTRM 02629 M00S01195.sform +++|CONTROL EJECT; 02630 M00S01196.sform +++| 02631 M00S01197.sform +++|PROC SFSSHO$(PANELP,PANLEN,PANOFF,OUTP,OLEN,OOFF,INSP,ILEN,IOFF); 02632 M00S01198.sform +++| 02633 M00S01199.sform +++|# TITLE SFSSHO$ - SHOW PANEL USING INSTRING AND OUTSTRING. # 02634 M00S01200.sform +++| 02635 M00S01201.sform +++|BEGIN # SFSSHO$ # 02636 M00S01202.sform +++| 02637 M00S01203.sform +++|# 02638 M00S01204.sform +++|** SFSSHO - SHOW PANEL USING INSTRING AND OUTSTRING. 02639 M00S01205.sform +++|* 02640 M00S01206.sform +++|* THIS PROCEDURE CALLS SFSWRI$ AND SFSREA$. 02641 M00S01207.sform +++|* 02642 M00S01208.sform +++|* PROC SFSSHO$(PANELP,PANLEN,PANOFF,OUTP,OLEN,OOFF,INSP,ILEN,IOFF) 02643 M00S01209.sform +++|* 02644 M00S01210.sform +++|* ENTRY PANELP = NAME OF PANEL TO READ. 02645 M00S01211.sform +++|* PANLEN = LENGTH OF PANELP. 02646 M00S01212.sform +++|* PANOFF = OFFSET OF PANELP. 02647 M00S01213.sform +++|* OUTP = OUTSTRING DISPLAY DATA. 02648 M00S01214.sform +++|* OLEN = LENGTH OF OUTP. 02649 M00S01215.sform +++|* OOFF = OFFSET OF OUTP. 02650 M00S01216.sform +++|* ILEN = LENGTH OF INSP. 02651 M00S01217.sform +++|* IOFF = OFFSET OF INSP. 02652 M00S01218.sform +++|* 02653 M00S01219.sform +++|* EXIT INSP = CONTAINS INPUT DATA. 02654 M00S01220.sform +++|* 02655 M00S01221.sform +++|* CALLS SFSREA$, SFSWRI$. 02656 M00S01222.sform +++|* 02657 M00S01223.sform +++|* USES TERSHOWFLG. 02658 M00S01224.sform +++|# 02659 M00S01225.sform +++|ITEM PANELP I; # NAME OF PANEL TO READ # 02660 M00S01226.sform +++|ITEM PANLEN I; # LENGTH OF PANELP # 02661 M00S01227.sform +++|ITEM PANOFF I; # OFFSET OF PANELP # 02662 M00S01228.sform +++|ITEM OUTP I; # OUTSTRING DISPLAY DATA # 02663 M00S01229.sform +++|ITEM OLEN I; # LENGTH OF OUTP # 02664 M00S01230.sform +++|ITEM OOFF I; # OFFSET OF OUTP # 02665 M00S01231.sform +++|ITEM INSP I; # INSTRING TO RECEIVE DATA # 02666 M00S01232.sform +++|ITEM ILEN I; # LENGTH OF INSP # 02667 M00S01233.sform +++|ITEM IOFF I; # OFFSET OF INSP # 02668 M00S01234.sform +++| 02669 M00S01235.sform +++|TERSHOWFLG[0] = TRUE; 02670 M00S01236.sform +++|SFSWRI$(PANELP,PANLEN,PANOFF,OUTP,OLEN,OOFF); # WRITE PANEL # 02671 M00S01237.sform +++|SFSREA$(PANELP,PANLEN,PANOFF,INSP,ILEN,IOFF); # READ PANEL # 02672 M00S01238.sform +++|TERSHOWFLG[0] = FALSE; 02673 M00S01239.sform +++| 02674 M00S01240.sform +++|END # SFSSHO$ #
Line S00784 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02675 M01S00784.242l642 +++|*ENDIF 02676 M00S01241.sform +++|CONTROL EJECT; 02677 M00S01242.sform +++| 02678 M00S01243.sform +++|PROC SFSWRI$(NAME,NLENGTH,NOFFSET,STRING,SLENGTH,SOFFSET); 02679 M00S01244.sform +++| 02680 M00S01245.sform +++|# TITLE SFSWRI$ - SCREEN FORMAT STRING WRITE FUNCTION. # 02681 M00S01246.sform +++| 02682 M00S01247.sform +++|BEGIN # SFSWRI$ # 02683 M00S01248.sform +++| 02684 M00S01249.sform +++|# 02685 M00S01250.sform +++|** SFSWRI$ - SCREEN FORMAT WRITE FUNCTION. 02686 M00S01251.sform +++|* 02687 M00S01252.sform +++|* THIS PROCEDURE WRITES THE SPECIFIED PANEL USING THE CONCATENATED 02688 M00S01253.sform +++|* VARIABLE DATA FOUND IN OUTSTRING (OR IN THE CASE OF AN ATTEMPTED 02689 M00S01254.sform +++|* READ BEFORE WRITE USING THE VARIABLE DATA ALREADY PRESENT IN THE 02690 M00S01255.sform +++|* VARDATA SECTION OF THE PANEL RECORD) AND THE CONSTANT DATA FOUND 02691 M00S01256.sform +++|* IN THE PANEL RECORD. IT INTERFACES TO COBOL AND FORTRAN APPLICA- 02692 M00S01257.sform +++|* TION PROGRAMS THROUGH A COMPASS INTERFACE MODULE CALLED SFSWRI. 02693 M00S01258.sform +++|* 02694 M00S01259.sform +++|* PROC SFSWRI$(NAME,NLENGTH,NOFFSET,STRING,SLENGTH,SOFFSET) 02695 M00S01260.sform +++|* 02696 M00S01261.sform +++|* ENTRY NAME = THE NAME OF THE PANEL TO BE WRITTEN. 02697 M00S01262.sform +++|* NLENGTH = LENGTH IN SIX BIT CHARACTERS. 02698 M00S01263.sform +++|* NOFFSET = OFFSET INTO NAME. 02699 M00S01264.sform +++|* STRING = CONTAINS THE CONCATENATED VARIABLE DATA. 02700 M00S01265.sform +++|* SLENGTH = LENGTH IN SIX BIT CHARACTERS. 02701 M00S01266.sform +++|* SOFFSET = OFFSET INTO STRING. 02702 M00S01267.sform +++|* 02703 M00S01268.sform +++|* EXIT PANEL WRITTEN TO SCREEN. 02704 M00S01269.sform +++|* 02705 M00S01270.sform +++|* CALLS GETADD, MOVEST, POSARR, WRIPAN. 02706 M00S01271.sform +++|* 02707 M00S01272.sform +++|* USES TERACTIVEP, TERACTPANI. 02708 M00S01273.sform +++|* 02709 M00S01274.sform +++|* NOTES IF TERREADFLG IS SET SFSWRI HAS BEEN CALLED BY SFSREA 02710 M00S01275.sform +++|* AND HENCE THERE IS NO OUTSTRING TO MOVE INTO VARDATA 02711 M00S01276.sform +++|* AND WHATEVER VARIABLE DATA IS PRESENTLY THERE WILL BE 02712 M00S01277.sform +++|* WRITTEN TO THE SCREEN. 02713 M00S01278.sform +++|# 02714 M00S01279.sform +++|ITEM NAME C(11); # NAME OF PANEL TO BE WRITTEN # 02715 M00S01280.sform +++|ITEM NLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 02716 M00S01281.sform +++|ITEM NOFFSET I; # OFFSET INTO NAME # 02717 M00S01282.sform +++|ITEM STRING I; # OUTSTRING PARAMETER # 02718 M00S01283.sform +++|ITEM SLENGTH I; # LENGTH IN SIX BIT CHARACTERS # 02719 M00S01284.sform +++|ITEM SOFFSET I; # OFFSET INTO OUTSTRING # 02720 M00S01285.sform +++| 02721 M00S01286.sform +++|ITEM PANELNAME C(7); # PANEL NAME, LEFT JUSTIFIED # 02722 M00S01287.sform +++|ITEM PANELADDR I; # ADDRESS OF PANEL RECORD # 02723 M00S01288.sform +++|ITEM PLTINDEX I; # PANEL LOAD TABLE INDEX # 02724 M00S01289.sform +++|ITEM STRINGADDR I; # ADDRESS OF OUTSTRING # 02725 M00S01290.sform +++|
Line S00785 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02726 M01S00785.242l642 +++|*IF DEF,QTRM 02727 M01S00786.242l642 +++|NIT$RC = NITRTC"OK"; # SET RETURN CODE # 02728 M01S00787.242l642 +++|TERMODNAME[0] = NIT$MODEL[NIT$CON]; # GET THE USERS MODEL FROM NIT # 02729 M01S00788.242l642 +++|*ENDIF 02730 M00S01291.sform +++|IF NLENGTH LS 1 THEN NLENGTH = 7; # CRACK PARAMETER # 02731 M00S01292.sform +++|PANELNAME = C<NOFFSET,NLENGTH>NAME; # LEFT JUSTIFY PANEL NAME # 02732 M00S01293.sform +++|
Line S01294 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02733 M01S01294.242l642 ---|IF PANELNAME NQ ACTIVEPAN THEN
Line S00789 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02734 M01S00789.242l642 +++|IF PANELNAME NQ TERACTPANL[0] THEN 02735 M00S01295.sform +++| BEGIN # IF NOT THE ACTIVE PANEL #
Line S01296 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02736 M01S01296.242l642 ---| ACTIVEPAN = PANELNAME; # UPDATE ACTIVE PANEL NAME #
Line S00790 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02737 M01S00790.242l642 +++| TERACTPANL[0] = PANELNAME; # UPDATE ACTIVE PANEL NAME # 02738 M00S01297.sform +++| GETADD(PANELNAME,PANELADDR,PLTINDEX);
Line S01298 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02739 M01S01298.242l642 ---| ACTPANPLTI = PLTINDEX;
Line S00791 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02740 M01S00791.242l642 +++| TERACTPLTI[0] = PLTINDEX; 02741 M00S01299.sform +++| POSARR(PANELADDR); # POSITION BASED ARRAYS # 02742 M00S01300.sform +++| END 02743 M00S01301.sform +++| 02744 M00S01302.sform +++|IF PANNUMBYTE[0] NQ 0 AND NOT TERREADFLG[0] THEN 02745 M00S01303.sform +++| BEGIN # IF VARIABLE DATA PRESENT # 02746 M00S01304.sform +++| STRINGADDR = LOC(STRING); # ADDRESS OF OUTSTRING # 02747 M00S01305.sform +++| MOVEST(STRINGADDR,SOFFSET,SLENGTH); # MOVE OUTSTRING TO VARDATA # 02748 M00S01306.sform +++| END 02749 M00S01307.sform +++|
Line S00792 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 02750 M02S00792.252l678 ---|IF FIRSTWRITE THEN
Line S00133 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 02751 M01S00133.252l678 +++|IF NOT TERVDTBOOC[0] THEN
Line S00793 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02752 M01S00793.242l642 +++| BEGIN # IF FIRST WRITE #
Line S00794 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 02753 M02S00794.252l678 ---| FIRSTWRITE = FALSE;
Line S00134 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 02754 M01S00134.252l678 +++| TERVDTBOOC[0] = TRUE;
Line S00795 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02755 M01S00795.242l642 +++| VDTBOO; # BEGIN OUTPUT SEQUENCE # 02756 M01S00796.242l642 +++| END 02757 M00S01308.sform +++|WRIPAN; # WRITE PANEL # 02758 M00S01309.sform +++| 02759 M00S01310.sform +++|END # SFSWRI$ # 02760 M00S01311.sform +++|CONTROL EJECT; 02761 M00S01312.sform +++| 02762 M00S01313.sform +++|PROC BFIELD(FIELD,STARTCHAR,LASTDIRTY); 02763 M00S01314.sform +++| 02764 M00S01315.sform +++|# TITLE BFIELD - BLANK FIELD IN VARDATA. # 02765 M00S01316.sform +++| 02766 M00S01317.sform +++|BEGIN # BFIELD # 02767 M00S01318.sform +++| 02768 M00S01319.sform +++|# 02769 M00S01320.sform +++|** BFIELD - BLANK FIELD IN VARDATA. 02770 M00S01321.sform +++|* 02771 M00S01322.sform +++|* THIS PROCEDURE BLANK FILLS A FIELD IN VARDATA. 02772 M00S01323.sform +++|* 02773 M00S01324.sform +++|* PROC BFIELD(FIELD,STARTCHAR,LASTDIRTY) 02774 M00S01325.sform +++|* 02775 M00S01326.sform +++|* ENTRY FIELD = INDEX OF FIELD IN FLDLIST. 02776 M00S01327.sform +++|* STARTCHAR = POSITION TO START BLANK FILL. 02777 M00S01328.sform +++|* 02778 M00S01329.sform +++|* EXIT LASTDIRTY = LAST POSITION WITH PREVIOUS 02779 M00S01330.sform +++|* NON-BLANK CHARACTER. 02780 M00S01331.sform +++|# 02781 M00S01332.sform +++|ITEM FIELD I; # FIELD TO INITIALIZE # 02782 M00S01333.sform +++|ITEM STARTCHAR I; # STARTING CHARACTER POSITION # 02783 M00S01334.sform +++|ITEM LASTDIRTY I; # LAST NON-BLANK CHARACTER # 02784 M00S01335.sform +++| 02785 M00S01336.sform +++|ITEM CHARNUM I; # CHARACTER POSITION IN VARDATA # 02786 M00S01337.sform +++|ITEM CHARIND I; # CHARACTER INDEX IN VARDATA # 02787 M00S01338.sform +++|ITEM I I; # LOOP COUNTER # 02788 M00S01339.sform +++|ITEM WORDIND I; # WORD INDEX IN VARDATA # 02789 M00S01340.sform +++| 02790 M00S01341.sform +++|LASTDIRTY = -1; 02791 M00S01342.sform +++|CHARNUM = FLDVDTCORD[FIELD] + STARTCHAR; 02792 M00S01343.sform +++|WORDIND = CHARNUM / 5; 02793 M00S01344.sform +++|CHARIND = CHARNUM - (5 * WORDIND); 02794 M00S01345.sform +++| 02795 M00S01346.sform +++|FOR I = STARTCHAR STEP 1 UNTIL FLDLENGTH[FIELD] -1 DO 02796 M00S01347.sform +++| BEGIN # BLANK FILL FIELD IN VDATA # 02797 M00S01348.sform +++| IF NEXTCHAR(FIELD,I) NQ BLANK THEN 02798 M00S01349.sform +++| BEGIN # NON-BLANK CHARACTER # 02799 M00S01350.sform +++| LASTDIRTY = I; # UPDATE LAST DIRTY CHARACTER # 02800 M00S01351.sform +++| END 02801 M00S01352.sform +++| B<CHARIND*12,12>VDATAU[WORDIND] = BLANK; # BLANK CHARACTER POS # 02802 M00S01353.sform +++| CHARIND = CHARIND + 1; 02803 M00S01354.sform +++| IF CHARIND EQ 5 THEN 02804 M00S01355.sform +++| BEGIN 02805 M00S01356.sform +++| CHARIND = 0; 02806 M00S01357.sform +++| WORDIND = WORDIND + 1; 02807 M00S01358.sform +++| END 02808 M00S01359.sform +++| END 02809 M00S01360.sform +++| 02810 M00S01361.sform +++|END # BFIELD #
Line S01362 Modification History | |
---|---|
M01 (Removed by) | ns2275 |
Seq # *Modification Id* Act ----------------------------+ 02811 M01S01362.ns2275 ---|CONTROL EJECT; 02812 M01S01363.ns2275 ---| 02813 M01S01364.ns2275 ---|PROC CHKTRM(OPENSTAT); 02814 M01S01365.ns2275 ---| 02815 M01S01366.ns2275 ---|# TITLE CHKTRM - CHECK FOR SUPPORTED TERMINAL. # 02816 M01S01367.ns2275 ---| 02817 M01S01368.ns2275 ---|BEGIN # CHKTRM # 02818 M01S01369.ns2275 ---| 02819 M01S01370.ns2275 ---|# 02820 M01S01371.ns2275 ---|** CHKTRM - CHECK FOR SUPPORTED TERMINAL. 02821 M01S01372.ns2275 ---|* 02822 M01S01373.ns2275 ---|* THIS PROCEDURE CHECKS TO SEE IF THE TERMINAL IN USE SUPPORTS 02823 M01S01374.ns2275 ---|* SCREEN FORMATTING. 02824 M01S01375.ns2275 ---|* 02825 M01S01376.ns2275 ---|* PROC CHKTRM(OPENSTAT) 02826 M01S01377.ns2275 ---|* 02827 M01S01378.ns2275 ---|* ENTRY OPENSTAT = 0. 02828 M01S01379.ns2275 ---|* TERMMODEL = -1. 02829 M01S01380.ns2275 ---|* 02830 M01S01381.ns2275 ---|* EXIT OPENSTAT = 0 IF NO ERROR. 02831 M01S01382.ns2275 ---|* = 7 IF UNSUPPORTED TERMINAL. 02832 M01S01383.ns2275 ---|* TERMMODEL = TERMINAL MODEL ORDINAL, IF NO ERROR. 02833 M01S01384.ns2275 ---|* = -1, ERROR. 02834 M01S01385.ns2275 ---|* 02835 M01S01386.ns2275 ---|* CALLS VDTGSL. 02836 M01S01387.ns2275 ---|* 02837 M01S01388.ns2275 ---|* USES TERMMODEL. 02838 M01S01389.ns2275 ---|# 02839 M01S01390.ns2275 ---|ITEM OPENSTAT I; # STATUS OF TERMINAL IN USE # 02840 M01S01391.ns2275 ---| 02841 M01S01392.ns2275 ---|ITEM OSMODEFG I; # OS SCREEN/LINE MODE FLAG # 02842 M01S01393.ns2275 ---| 02843 M01S01394.ns2275 ---|VDTGSL(TERMMODEL,OSMODEFG); # GET MODEL AND SCREEN OR LINE # 02844 M01S01395.ns2275 ---| 02845 M01S01396.ns2275 ---|IF OSMODEFG NQ 1 THEN 02846 M01S01397.ns2275 ---| BEGIN # IF OS MODE IS LINE # 02847 M01S01398.ns2275 ---| OPENSTAT = 7; # TERMINAL IS NOT SUPPORTED # 02848 M01S01399.ns2275 ---| TERMMODEL = -1; 02849 M01S01400.ns2275 ---| END 02850 M01S01401.ns2275 ---| 02851 M01S01402.ns2275 ---|END # CHKTRM # 02852 M00S01403.sform +++|CONTROL EJECT; 02853 M00S01404.sform +++| 02854 M00S01405.sform +++|PROC CLRLNS; 02855 M00S01406.sform +++| 02856 M00S01407.sform +++|# TITLE CLRLNS - CLEAR LINES. # 02857 M00S01408.sform +++| 02858 M00S01409.sform +++|BEGIN # CLRLNS # 02859 M00S01410.sform +++| 02860 M00S01411.sform +++|# 02861 M00S01412.sform +++|** CLRLNS - CLEAR LINES. 02862 M00S01413.sform +++|* 02863 M00S01414.sform +++|* THIS PROCEDURE CLEARS THE PROPER LINES BEFORE AN OVERLAY 02864 M00S01415.sform +++|* WRITE. 02865 M00S01416.sform +++|* 02866 M00S01417.sform +++|* PROC CLRLNS 02867 M00S01418.sform +++|* 02868 M00S01419.sform +++|* EXIT PROPER LINES CLEARED ON SCREEN. 02869 M00S01420.sform +++|* 02870 M00S01421.sform +++|* CALLS VDTCLL. 02871 M00S01422.sform +++|# 02872 M00S01423.sform +++|ITEM CURYCORD I; # CURRENT Y COORDINATE # 02873 M00S01424.sform +++|ITEM FLDINDEX I; # INDEX INTO FIELD LIST # 02874 M00S01425.sform +++| 02875 M00S01426.sform +++|IF PANSTRFLD[0] EQ 0 THEN RETURN; 02876 M00S01427.sform +++| 02877 M00S01428.sform +++|CURYCORD = -1; # NO CURRENT Y COORDINATE YET # 02878 M00S01429.sform +++|FOR FLDINDEX = 0 STEP 1 WHILE FLDENTRY[FLDINDEX] NQ 0 DO 02879 M00S01430.sform +++| BEGIN 02880 M00S01431.sform +++| IF FLDACTIVE[FLDINDEX] AND FLDYCORD[FLDINDEX] NQ CURYCORD THEN 02881 M00S01432.sform +++| BEGIN # IF ACTIVE FIELD ON NEW LINE # 02882 M00S01433.sform +++| CURYCORD = FLDYCORD[FLDINDEX]; # RESET CURRENT Y COORDINATE # 02883 M00S01434.sform +++| VDTCLL(0,CURYCORD); # CLEAR LINE # 02884 M00S01435.sform +++| END 02885 M00S01436.sform +++| END
Line S00135 Modification History | |
---|---|
M01 (Added by) | 252l678 |
Seq # *Modification Id* Act ----------------------------+ 02886 M01S00135.252l678 +++|IF TERNOTCHAR[0] THEN VDTCAA(0); # IF LINE OR PAGE TYPE ATTRS. # 02887 M00S01437.sform +++| 02888 M00S01438.sform +++|END # CLRLNS # 02889 M00S01439.sform +++|CONTROL EJECT; 02890 M00S01440.sform +++| 02891 M00S01441.sform +++|PROC CPANEL; 02892 M00S01442.sform +++| 02893 M00S01443.sform +++|# TITLE CPANEL - CLEAN PANEL. # 02894 M00S01444.sform +++| 02895 M00S01445.sform +++|BEGIN # CPANEL # 02896 M00S01446.sform +++| 02897 M00S01447.sform +++|# 02898 M00S01448.sform +++|** CPANEL - CLEAN PANEL. 02899 M00S01449.sform +++|* 02900 M00S01450.sform +++|* THIS PROCEDURE CHECKS FLAGS PERTAINING TO REWRITING THE 02901 M00S01451.sform +++|* SCREEN AND THEN CALLS THE APPROPRIATE PROCEDURES. 02902 M00S01452.sform +++|* 02903 M00S01453.sform +++|* PROC CPANEL 02904 M00S01454.sform +++|* 02905 M00S01455.sform +++|* ENTRY TERMESWRIT = TRUE, IF THE MESSAGE CONTAINS A MESSAGE. 02906 M00S01456.sform +++|* TERMESREAD = TRUE, IF THE MESSAGE AREA CAN BE CLEARED.
Line S01457 Modification History | |
---|---|
M01 (Removed by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02907 M01S01457.sform24 ---|* TERREWFLDS = TRUE, IF AT LEAST ONE INPUT FIELD NEEDS 02908 M01S01458.sform24 ---|* TO BE REWRITTEN.
Line S00002 Modification History | |
---|---|
M01 (Added by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02909 M01S00002.sform24 +++|* TERREWFLDS = TRUE, IF ONE OR MORE FIELDS NEED REWRITING. 02910 M01S00003.sform24 +++|* TERREWSCRN = TRUE, IF THE ENTIRE SCREEN NEEDS REWRITING. 02911 M00S01459.sform +++|* 02912 M00S01460.sform +++|* EXIT TERMESREAD = FALSE. 02913 M00S01461.sform +++|* TERREWFLDS = FALSE.
Line S00004 Modification History | |
---|---|
M01 (Added by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02914 M01S00004.sform24 +++|* TERREWSCRN = FALSE. 02915 M00S01462.sform +++|*
Line S01463 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02916 M01S01463.242l642 ---|* CALLS REWFLD, MCLEAN, VDTBOO, VDTCAA, VDTEOO, WRIALL.
Line S00797 Modification History | |
---|---|
M01 (Added by) | 242l642 |
M02 (Removed by) | ns2346 |
Seq # *Modification Id* Act ----------------------------+ 02917 M02S00797.ns2346 ---|* CALLS REWFLD, MCLEAN, VDTCAA, WRIALL.
Line S00007 Modification History | |
---|---|
M01 (Added by) | ns2346 |
Seq # *Modification Id* Act ----------------------------+ 02918 M01S00007.ns2346 +++|* CALLS REWFLD, MCLEAN, VDTSAM, WRIALL. 02919 M00S01464.sform +++|*
Line S01465 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02920 M01S01465.242l642 ---|* USES TERDONTCLR, TERMESREAD, TERREWFLDS, TERREWSCRN, 02921 M01S01466.242l642 ---|* TERREWVARS.
Line S00798 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02922 M01S00798.242l642 +++|* USES TERDONTCLR, TERMESREAD, TERNOREWRT, TERREWFLDS, 02923 M01S00799.242l642 +++|* TERREWSCRN. 02924 M00S01467.sform +++|# 02925 M00S01468.sform +++|ITEM I I; # LOOP COUNTER # 02926 M00S01469.sform +++| 02927 M00S01470.sform +++|IF TERMESWRIT[0] AND TERMESREAD[0] AND NOT TERREWSCRN[0] THEN 02928 M00S01471.sform +++| BEGIN # CLEAR MESSAGE AREA #
Line S01472 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02929 M01S01472.242l642 ---| VDTBOO; 02930 M00S01473.sform +++| MCLEAN(DUMMY,DUMMY); # CLEAN MESSAGE LINE #
Line S01474 Modification History | |
---|---|
M01 (Removed by) | ns2346 |
Seq # *Modification Id* Act ----------------------------+ 02931 M01S01474.ns2346 ---| VDTCAA; # CLEAR ALL ATTRIBUTES #
Line S00008 Modification History | |
---|---|
M01 (Added by) | ns2346 |
M02 (Removed by) | ns2356 |
Seq # *Modification Id* Act ----------------------------+ 02932 M02S00008.ns2356 ---| VDTSAM(0); # CLEAR ALL ATTRIBUTES #
Line S00001 Modification History | |
---|---|
M01 (Added by) | ns2356 |
Seq # *Modification Id* Act ----------------------------+ 02933 M01S00001.ns2356 +++| IF NOT TERBLCKMDE[0] THEN 02934 M01S00002.ns2356 +++| BEGIN 02935 M01S00003.ns2356 +++| VDTSAM(0); 02936 M01S00004.ns2356 +++| END 02937 M01S00005.ns2356 +++| ELSE 02938 M01S00006.ns2356 +++| BEGIN 02939 M01S00007.ns2356 +++| VDTSAM(O"6001"); 02940 M01S00008.ns2356 +++| END
Line S01475 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02941 M01S01475.242l642 ---| VDTEOO; 02942 M00S01476.sform +++| END 02943 M00S01477.sform +++|
Line S01478 Modification History | |
---|---|
M01 (Removed by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02944 M01S01478.sform24 ---|IF TERREWFLDS[0] THEN
Line S00005 Modification History | |
---|---|
M01 (Added by) | sform24 |
Seq # *Modification Id* Act ----------------------------+ 02945 M01S00005.sform24 +++|IF TERREWFLDS[0] OR TERREWSCRN[0] THEN 02946 M00S01479.sform +++| BEGIN # REWRITE FLAGGED FIELDS # 02947 M00S01480.sform +++| TERREADFLG[0] = TRUE; 02948 M00S01481.sform +++| TERDONTCLR[0] = TRUE; # DO NOT CLEAR REWRITE/ENTERED # 02949 M00S01482.sform +++| IF TERREWSCRN[0] THEN 02950 M00S01483.sform +++| BEGIN # FULL REWRITE OF SCREEN # 02951 M00S01484.sform +++| WRIALL; 02952 M00S01485.sform +++| TERREWSCRN[0] = FALSE; 02953 M00S01486.sform +++| END 02954 M00S01487.sform +++| ELSE # REWRITE FLAGGED FIELDS # 02955 M00S01488.sform +++| BEGIN
Line S01489 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02956 M01S01489.242l642 ---| TERREWVARS[0] = FALSE;
Line S00800 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02957 M01S00800.242l642 +++| TERNOREWRT[0] = TRUE;
Line S01490 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02958 M01S01490.242l642 ---| VDTBOO; 02959 M00S01491.sform +++| REWFLD; # REWRITE FIELDS #
Line S01492 Modification History | |
---|---|
M01 (Removed by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02960 M01S01492.242l642 ---| VDTEOO; 02961 M01S01493.242l642 ---| TERREWVARS[0] = TRUE;
Line S00801 Modification History | |
---|---|
M01 (Added by) | 242l642 |
Seq # *Modification Id* Act ----------------------------+ 02962 M01S00801.242l642 +++| TERNOREWRT[0] = FALSE; 02963 M00S01494.sform +++| END 02964 M00S01495.sform +++| TERDONTCLR[0] = FALSE; 02965 M00S01496.sform +++| TERREADFLG[0] = FALSE; 02966 M00S01497.sform +++| END 02967 M00S01498.sform +++| 02968 M00S01499.sform +++|TERMESREAD[0] = FALSE; 02969 M00S01500.sform +++|TERREWFLDS[0] = FALSE; 02970 M00S01501.sform +++| 02971 M00S01502.sform +++|END # CPANEL # 02972 M00S01503.sform +++|CONTROL EJECT; 02973 M00S01504.sform +++| 02974 M00S01505.sform +++|PROC DATEVL(FLDIND,IVAL); 02975 M00S01506.sform +++| 02976 M00S01507.sform +++|# TITLE DATEVL - DATE VALIDATION. # 02977 M00S01508.sform +++| 02978 M00S01509.sform +++|BEGIN # DATEVL # 02979 M00S01510.sform +++| 02980 M00S01511.sform +++|# 02981 M00S01512.sform +++|** DATEVL - DATE VALIDATION. 02982 M00S01513.sform +++|* 02983 M00S01514.sform +++|* THIS PROCEDURE CHECKS THAT THE INPUT IS A VALID DATE. 02984 M00S01515.sform +++|* 02985 M00S01516.sform +++|* PROC DATEVL(FLDIND,IVAL) 02986 M00S01517.sform +++|* 02987 M00S01518.sform +++|* ENTRY FLDIND = INDEX OF CURRENT FIELD IN FLDLIST. 02988 M00S01519.sform +++|* 02989 M00S01520.sform +++|* EXIT IVAL = INTEGER VALUE OF INPUT. 02990 M00S01521.sform +++|* FLDVALID[FLDIND] = FALSE, IF INVALID INPUT. 02991 M00S01522.sform +++|* 02992 M00S01523.sform +++|* CALLS GETNUM, SKPBLK. 02993 M00S01524.sform +++|# 02994 M00S01525.sform +++|ITEM FLDIND I; # VARIABLE TO BE VALIDATED # 02995 M00S01526.sform +++|ITEM IVAL I; # INTEGER VALUE OF INPUT # 02996 M00S01527.sform +++| 02997 M00S01528.sform +++|ITEM CHAR I; # INPUT CHARACTER # 02998 M00S01529.sform +++|ITEM CHARPOS I; # CHARACTER POSITION IN FIELD # 02999 M00S01530.sform +++|ITEM DATEIND I; # INDEX TO DATEARRAY # 03000 M00S01531.sform +++|ITEM DD I; # DAY # 03001 M00S01532.sform +++|ITEM DIGITS I; # NUMBER OF DIGITS IN SUBFIELD # 03002 M00S01533.sform +++|ITEM FVAL I; # SUBFIELD VALUE # 03003 M00S01534.sform +++|ITEM I I; # LOOP COUNTER # 03004 M00S01535.sform +++|ITEM INPIND I; # INDEX TO NEXT INPUT CHARACTER # 03005 M00S01536.sform +++|ITEM MM I; # MONTH # 03006 M00S01537.sform +++|ITEM TEMP1 I; # USED FOR LEAP YEAR CALCULATION # 03007 M00S01538.sform +++|ITEM VARIND I; # INDEX INTO VARLIST # 03008 M00S01539.sform +++|ITEM YY I; # YEAR # 03009 M00S01540.sform +++| 03010 M00S01541.sform +++|ARRAY DATEARRAY[0:7] P(1); 03011 M00S01542.sform +++| BEGIN 03012 M00S01543.sform +++| ITEM DATECHAR U(00,00,60); # HOLDS INPUT CHARACTERS # 03013 M00S01544.sform +++| END 03014 M00S01545.sform +++| 03015 M00S01546.sform +++|ARRAY DATEDELS[0:2] P(1); 03016 M00S01547.sform +++| BEGIN 03017 M00S01548.sform +++| ITEM DATEDEL U(00,00,60); # DATE DELIMETER # 03018 M00S01549.sform +++| END 03019 M00S01550.sform +++| 03020 M00S01551.sform +++|ARRAY FIELDARRAY[0:2] P(1); 03021 M00S01552.sform +++| BEGIN 03022 M00S01553.sform +++| ITEM FIELD U(00,00,60); # HOLDS MONTH, DAY, YEAR FIELDS # 03023 M00S01554.sform +++| END 03024 M00S01555.sform +++| 03025 M00S01556.sform +++|ARRAY MONTHS [0:12] P(1); # NUMBER OF DAYS IN EACH MONTH # 03026 M00S01557.sform +++| BEGIN # 0TH MONTH = LEAP YEAR FEBRUARY # 03027 M00S01558.sform +++| ITEM MONLENGTH U(00,00,60) = 03028 M00S01559.sform +++| [29,31,28,31,30,31,30,31,31,30,31,30,31]; 03029 M00S01560.sform +++| END 03030 M00S01561.sform +++| 03031 M00S01562.sform +++|SWITCH DATETYPE:FORMTYPE 03032 M00S01563.sform +++| YYMMDD : Y, 03033 M00S01564.sform +++| MMDDYY : M, 03034 M00S01565.sform +++| DDMMYY : D; 03035 M00S01566.sform +++| 03036 M00S01567.sform +++|DATEIND = 0; 03037 M00S01568.sform +++|INPIND = 0; 03038 M00S01569.sform +++|CHARPOS = 0; 03039 M00S01570.sform +++| 03040 M00S01571.sform +++|VARIND = FLDVARORD[FLDIND]; # SET INDEX TO VARLIST # 03041 M00S01572.sform +++|IVAL = 0; 03042 M00S01573.sform +++|SKPBLK(FLDIND,CHARPOS,CHAR); 03043 M00S01574.sform +++|IF CHARPOS GQ FLDLENGTH[FLDIND] THEN 03044 M00S01575.sform +++| BEGIN # BLANK FIELD # 03045 M00S01576.sform +++| FLDVALID[FLDIND] = FALSE; 03046 M00S01577.sform +++| RETURN; 03047 M00S01578.sform +++| END 03048 M00S01579.sform +++| 03049 M00S01580.sform +++|FOR I = 0 STEP 1 UNTIL 2 DO 03050 M00S01581.sform +++| BEGIN 03051 M00S01582.sform +++| FVAL = 0; 03052 M00S01583.sform +++| GETNUM(FLDIND,CHARPOS,FVAL,DIGITS); 03053 M00S01584.sform +++| IF I NQ 2 THEN 03054 M00S01585.sform +++| BEGIN 03055 M00S01586.sform +++| CHAR = NEXTCHAR(FLDIND,CHARPOS); 03056 M00S01587.sform +++| DATEDEL[I] = CHAR; 03057 M00S01588.sform +++| END 03058 M00S01589.sform +++| ELSE CHARPOS = CHARPOS -1; 03059 M00S01590.sform +++| IF NOT(DIGITS EQ 1 OR DIGITS EQ 2) THEN 03060 M00S01591.sform +++| BEGIN 03061 M00S01592.sform +++| FLDVALID[FLDIND] = FALSE; 03062 M00S01593.sform +++| RETURN; 03063 M00S01594.sform +++| END 03064 M00S01595.sform +++| CHARPOS = CHARPOS + 1; 03065 M00S01596.sform +++| FIELD[I] = FVAL; 03066 M00S01597.sform +++| END 03067 M00S01598.sform +++| 03068 M00S01599.sform +++|IF CHARPOS NQ FLDLENGTH[FLDIND] THEN 03069 M00S01600.sform +++| BEGIN # CHECK FOR EXTRA CHARACTERS # 03070 M00S01601.sform +++| SKPBLK(FLDIND,CHARPOS,CHAR); 03071 M00S01602.sform +++| IF CHARPOS LQ FLDLENGTH[FLDIND] - 1 THEN 03072 M00S01603.sform +++| BEGIN # NON-BLANK CHAR AFTER DATE # 03073 M00S01604.sform +++| FLDVALID[FLDIND] = FALSE; 03074 M00S01605.sform +++| RETURN; 03075 M00S01606.sform +++| END 03076 M00S01607.sform +++| END 03077 M00S01608.sform +++| 03078 M00S01609.sform +++|IF DATEDEL[1] NQ DATEDEL[0] THEN 03079 M00S01610.sform +++| BEGIN 03080 M00S01611.sform +++| FLDVALID[FLDIND] = FALSE; 03081 M00S01612.sform +++| RETURN; 03082 M00S01613.sform +++| END 03083 M00S01614.sform +++|GOTO DATETYPE[VARPICTYPE[VARIND]]; 03084 M00S01615.sform +++| 03085 M00S01616.sform +++|MMDDYY: # SET MONTH, DAY, YEAR VALUES # 03086 M00S01617.sform +++| 03087 M00S01618.sform +++| MM = FIELD[0]; 03088 M00S01619.sform +++| DD = FIELD[1]; 03089 M00S01620.sform +++| YY = FIELD[2]; 03090 M00S01621.sform +++| GOTO CHECKDATE; 03091 M00S01622.sform +++| 03092 M00S01623.sform +++|YYMMDD: # SET MONTH, DAY, YEAR VALUES # 03093 M00S01624.sform +++| 03094 M00S01625.sform +++| YY = FIELD[0]; 03095 M00S01626.sform +++| MM = FIELD[1]; 03096 M00S01627.sform +++| DD = FIELD[2]; 03097 M00S01628.sform +++| GOTO CHECKDATE; 03098 M00S01629.sform +++| 03099 M00S01630.sform +++|DDMMYY: # SET MONTH, DAY, YEAR VALUES # 03100 M00S01631.sform +++| 03101 M00S01632.sform +++| DD = FIELD[0]; 03102 M00S01633.sform +++| MM = FIELD[1]; 03103 M00S01634.sform +++| YY = FIELD[2]; 03104 M00S01635.sform +++| 03105 M00S01636.sform +++|CHECKDATE: # CHECK FOR VALID DATE VALUE # 03106 M00S01637.sform +++| 03107 M00S01638.sform +++| IF MM GR 12 OR MM LS 1 THEN 03108 M00S01639.sform +++| BEGIN # INVALID MONTH # 03109 M00S01640.sform +++| FLDVALID[FLDIND] = FALSE; 03110 M00S01641.sform +++| RETURN; 03111 M00S01642.sform +++| END 03112 M00S01643.sform +++| 03113 M00S01644.sform +++| IF MM EQ 2 THEN # CHECK IF LEAP YEAR FEBRUARY # 03114 M00S01645.sform +++| BEGIN 03115 M00S01646.sform +++| TEMP1 = YY / 4; 03116 M00S01647.sform +++| TEMP1 = YY - (4 * TEMP1); 03117 M00S01648.sform +++| IF TEMP1 EQ 0 THEN MM = 0; 03118 M00S01649.sform +++| END 03119 M00S01650.sform +++| 03120 M00S01651.sform +++| IF DD GR MONLENGTH[MM] OR DD LS 1 THEN 03121 M00S01652.sform +++| BEGIN # INVALID DAY # 03122 M00S01653.sform +++| FLDVALID[FLDIND] = FALSE; 03123 M00S01654.sform +++| RETURN; 03124 M00S01655.sform +++| END 03125 M00S01656.sform +++| 03126 M00S01657.sform +++| IF MM EQ 0 THEN MM = 2;
Proceed to Part 2
cdc/nos2.source/opl.opl871/deck/sform.001.txt ยท Last modified: by 127.0.0.1