FM912 Program

**********00010912 * FORTRAN 77 00020912 FM912 00030912 * DIRAF3 - (412) 00040912 THIS PROGRAM CALLS SUBROUTINE SN913 IN FILE FM913 00050912 **********00060912 * TESTING OF DIRECT ACCESS FILES ANS REF 00070912 FORMATTED, WITH BOTH SEQUENTIAL AND DIRECT 12.5 00080912 * ACCESS TO THE SAME FILE 00090912 00100912 * USES SUBROUTINE SN913 FAQ 00110912 00120912 * S P E C I F I C A T I O N S SEGMENT 412 00130912 **********00140912 THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00450912 FOR IDENTIFYING THE TEST ENVIRONMENT 00460912 00470912 Z01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00480912 Z02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00490912 Z03 ZPROG = 'PROGRAM NAME' 00500912 Z04 ZDATE = 'DATE OF TEST' 00510912 Z05 ZCOMPL = 'COMPILER IDENTIFICATION' 00520912 Z06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00530912 Z07 ZNAME = 'NAME OF USER' 00540912 Z08 ZTAPE = 'TAPE OWNER/ID' 00550912 Z09 ZTAPED = 'DATE TAPE COPIED' 00560912 00570912 * 00820912 THE FOLLOWING STATEMENT MUST BE CHANGED IF THE 00830912 * UNITS GIVEN ARE NOT CAPABLE OF BEING OPENED AS SPECIFIED. 00840912 00850912 I13 CONTAINS THE UNIT NUMBER FOR A NAMED DIRECT ACCESS FILE. 00860912 * THE FOLLOWING STATEMENT MUST BE CHANGED IF THE NAME 00910912 GIVEN IS NOT A VALID FILE SPECIFIER FOR A DIRECT, 00920912 * FORMATTED FILE. 00930912 00940912 CDIR CONTAINS THE FILE NAME FOR UNIT I13. 00950912 * FILE NUMBER AND NAME ASSIGNMENT 01020912 01070912 * FILE NUMBER AND NAME ASSIGNMENT 01080912 01090912 01170912 WRITE REPORT TITLE 01180912 01190912 WRITE DETAIL REPORT HEADERS 01320912 01330912 01400912 * PLUS OR MINUS VALUES 01410912 01420912 * 01450912 INITIALIZE DATA ARRAYS 01460912 * 01470912 01490912 * OPEN DIRECT ACCESS FILE - STATUS=NEW 01500912 01510912 * 01540912 T001 TEST 1 - CHECKS RECL AND NEXTREC 01550912 FOR JUST OPENED DIRECT ACCESS FILE 01560912 * 01570912 01730912 T002 TEST 2 - WRITES RECORD 1 01740912 * 01750912 01910912 T003 TEST 3 - WRITES RECORD 2 01920912 * 01930912 02090912 T004 TEST 4 - WRITES RECORD 3 02100912 * 02110912 02280912 T005 TEST 5 - WRITES RECORDS 4 AND 5 WITH ONE WRITE 02290912 * 02300912 02470912 T006 TEST 6 - CHECK RECL AND NEXTREC ON OPENED FILE 02480912 * 02490912 02630912 T007 TEST 7 - READS RECORD 1 02640912 * 02650912 02760912 T008 TEST 8 - READS RECORD 2 02770912 * 02780912 02890912 T009 TEST 9 - READS RECORD 3 02900912 * 02910912 03010912 T010 TEST 10 - READS RECORD 4 03020912 * 03030912 03140912 T011 TEST 11 - READS RECORD 5 03150912 * 03160912 03280912 T012 TEST 12 - OVERWRITES RECORD 3 03290912 * 03300912 03470912 T013 TEST 13 - OVERWRITES RECORD 5 03480912 * 03490912 03660912 * CLOSE AND REOPEN DIRECT ACCESS FILE 03670912 03680912 * 03720912 T014 TEST 14 - READS RECORD 4 03730912 03740912 * 03840912 T015 TEST 15 - READS THE CHANGED RECORD 5 03850912 03860912 * 04070912 T016 TEST 16 - READS RECORD 2 04080912 04090912 * 04190912 T017 TEST 17 - READS THE CHANGED RECORD 3 04200912 04210912 * 04430912 T018 TEST 18 - READS RECORD 1 04440912 04450912 * 04550912 T019 TEST 19 - OVERWRITES RECORD 4 04560912 04570912 * 04740912 T020 TEST 20 - OVERWRITES RECORDS 1, 2, AND 3 04750912 04760912 * 04950912 T021 TEST 21 - OVERWRITES RECORD 5 04960912 04970912 * 05100912 CLOSE AND REOPEN DIRECT ACCESS FILE 05110912 * 05120912 05160912 T022 TEST 22 - READS RECORD 1 05170912 * 05180912 RECORD # 4 05360912 T023 TEST 23 - READS RECORD 4 05370912 * 05380912 05550912 T024 TEST 24 - READS RECORD 2 TESTS FOR BLANK RECORD 05560912 * 05570912 05710912 T025 TEST 25 - READS RECORD 5 05720912 * 05730912 05890912 T026 TEST 26 - READS RECORD 3 05900912 * 05910912 06060912 * CLOSE DIRECT ACCESS FILE 06070912 06080912 * 06110912 CHECKING RECORD 1 06120912 * 06130912 06620912 * CHECKING RECORD 2 06630912 06640912 * 06780912 CHECKING RECORD 3 06790912 * 06800912 06930912 * CHECKING RECORD 4 06940912 06950912 * 07090912 CHECKING RECORD 5 07100912 * 07110912 07240912 * 07250912 07260912 * 07620912 07630912 * 07640912 07970912 * END OF TEST SEGMENT 412 07980912 * 07990912 WRITE OUT TEST SUMMARY 08020912 08030912 WRITE OUT REPORT FOOTINGS 08150912 08160912 FORMATS FOR TEST DETAIL LINES 08220912 08230912 FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE 08430912 08440912 FORMAT STATEMENTS FOR PAGE HEADERS 08580912 08590912 08720912 FORMAT STATEMENTS FOR REPORT FOOTINGS 08730912 08740912 08790912 FORMAT STATEMENTS FOR RUN SUMMARY 08800912 08810912


Calls

program~~fm912~~CallsGraph program~fm912 FM912 proc~sn913 SN913 program~fm912->proc~sn913 f1s f1s program~fm912->f1s g1s g1s program~fm912->g1s

Contents


Variables

Type AttributesNameInitial
character :: A120VK*120
character(len=12) :: A12VK
character :: A1VK*1
character(len=20) :: A201K(10)
character(len=20) :: A20VK
character(len=47) :: A47VK
character :: A4VK*4
character(len=51) :: A51VK
logical :: AVB
double precision :: AVD

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

character :: B120VK*120
double precision :: B1D(15)

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

character(len=20) :: B201K(10)
character(len=20) :: B20VK
character(len=47) :: B47VK
logical :: BVB
double precision :: BVD

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

logical :: C1B(10)
character(len=20) :: C20VK
character(len=47) :: C47VK
character(len=15) :: CDIR

SPECIFICATION STATEMENTS 00310912 00320912

logical :: CVB
double precision :: CVD

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

logical :: D1B(10)
double precision :: D1D(10)

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

double precision :: DVD

* 00240912 * BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00250912 X20 REPLACED BY FEXEC X-20 CONTROL CARD. X-20 IS FOR REPLACING 00260912

character(len=31) :: REMK
character(len=31) :: REMK1
character(len=31) :: REMK2
character(len=31) :: REMK3
character(len=31) :: REMK4
character(len=31) :: REMK45
character(len=31) :: REMK5
character :: REMRKS*31

*** INITIALIZE SECTION 00370912

character :: ZCOMPL*20

*** INITIALIZE SECTION 00370912

character :: ZDATE*17

*** INITIALIZE SECTION 00370912

character :: ZNAME*20

*** INITIALIZE SECTION 00370912

character :: ZPROG*5

*** INITIALIZE SECTION 00370912

character :: ZPROJ*13

*** INITIALIZE SECTION 00370912

character :: ZTAPE*10

*** INITIALIZE SECTION 00370912

character :: ZTAPED*13

*** INITIALIZE SECTION 00370912

character :: ZVERS*13

*** INITIALIZE SECTION 00370912

character :: ZVERSD*17

*** INITIALIZE SECTION 00370912