Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Beispiele

&pagelevel(5)&pagelevel

Die folgenden Beispiele demonstrieren das Prinzip der SDF-Funktionsaufrufe in den Programmiersprachen COBOL und FORTRAN.

Verwendung der COBOL-Schnittstelle (Programmausschnitt)

 .
 . 
 DATA DIVISION. 
 WORKING-STORAGE SECTION. 
*work variable 
 01 SDF-DATA 
     02 SDF-INIT PIC X(4) VALUE "INIT". 
     02 SDF-READ PIC X(4) VALUE "READ". 
     02 SDF-STMT PIC X(4) VALUE "STMT". 
     02 SDF-TYPE PIC X(4) VALUE "TYPE". 
     02 SDF-VAL  PIC X(4) VALUE "OPER". 
     02 SDF-TYP  PIC 9(6) COMP. 
     02 SDF-LNG  PIC 9(6) COMP. 
     02 SDF-POS  PIC 9(6) COMP. 
     02 SDF-LST  PIC 9(6) COMP. 
     02 SDF-ERR  PIC S9(6) COMP. 
     02 SDF-STMT PIC X(8). 
     02 SDF-PROG PIC X(8). 
 77 BUF PIC X(500). 
 77 MAX PIC 9(6) COMP VALUE 500. 
 01 VAL. 
     02 FILLER PIC X OCCURS 1 TO 50 DEPENDING ON SDF-LNG. 
 . 
 . 
* 
 PROCEDURE DIVISION. 
* 
*INIT 
* 
    MOVE "TEST" TO SDF-PROG. 
    CALL "SDF" USING SDF-INIT, BUF, SDF-ERR, MAX, SDF-PROG. 
* 
*READ 
* 
    CALL "SDF" USING SDF-READ, BUF, SDF-ERR. 
* 
*STMT 
* 
    CALL "SDF" USING SDF-STMT, BUF, SDF-ERR, SDF-STMT. 
* 
*TYPE 
* 
    CALL "SDF" USING SDF-TYPE, BUF, SDF-ERR, SDF-POS, 
                     SDF-TYP, SDF-LNG. 
* 
*VAL 
* 
    CALL "SDF" USING SDF-VAL, BUF, SDF-ERR, SDF-POS, VAL, 
                     SDF-LNG. 
. 
.


Das Programm muss mit der Bibliothek SYSLIB.SDF.04x (z.B. 048 für SDF V4.8) gebunden werden. In dieser Bibliothek ist unter anderem auch ein COBOL-Copy-Element mit der Beschreibung der SDF-Deklarationen verfügbar (Typ-S-Element SDFCOPY).

Verwendung der FORTRAN-Schnittstelle (Programmausschnitt)

. 
. 
C*****Work variable 
      CHARACTER*4 SDF$INIT/'INIT'/ 
      CHARACTER*4 SDF$READ/'READ'/ 
      CHARACTER*4 SDF$STMT/'STMT'/ 
      CHARACTER*4 SDF$VAL/'OPER'/ 
      CHARACTER*4 SDF$TYPE/'TYPE'/ 
      INTEGER SDF$LNG,SDF$POS,SDF$LST,SDF$TYP,SDF$ERR 
      CHARACTER*8 SDF$STMT,SDF$PROG 
      CHARACTER*500 AREA,VAL*50 
      INTEGER MTYP(2),MLNG(2) 
      * 
      *INIT 
      * 
          CALL SDF(SDF$INIT,AREA,SDF$ERR,500,'TEST'BLANK''BLANK''BLANK''BLANK'') 
      * 
      *READ 
      * 
          CALL SDF(SDF$READ,AREA,SDF$ERR) 
      * 
      *STMT 
      * 
          CALL SDF(SDF$STMT,AREA,SDF$ERR,SDF$STMT) 
      * 
      *TYPE 
      * 
          CALL SDF(SDF$TYPE,AREA,SDF$ERR,SDF$POS,SDF$TYP,SDF$LNG) 
      * 
      *VAL 
      * 
          CALL SDF(SDF$VAL,AREA,SDF$ERR,SDF$POS,VAL,SDF$LNG) 
      . 
      .

Das Programm muss mit der Bibliothek SYSLIB.SDF.04x (z.B. 048 für SDF V4.8) gebunden werden. In dieser Bibliothek ist unter anderem auch ein FORTRAN-Include-Element mit der Beschreibung der SDF-Deklarationen verfügbar (Typ-S-Element SDFINCL).