Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Hinweise zur Eingabe über SYSDTA

&pagelevel(5)&pagelevel

In den C-Sprachmodi und im Cfront-C++-Sprachmodus des Compilers wird aus Kompatibilitätsgründen die Eingabe einer Quelle über die Systemdatei SYSDTA ermöglicht. Hierzu muss folgende Option angegeben werden:

SOURCE=*SYSDTA

In den Modi C++ V3, C++ 2017 und C++ 2020 ist die Eingabe über SYSDTA nicht möglich.

SYSDTA ist im Dialogbetrieb standardmäßig der Datensichtstation zugeordnet. Quellprogrammeingaben an der Datensichtstation sind zwar prinzipiell möglich, aber nicht sinnvoll, da die Quelle anschließend nicht mehr verfügbar ist.

Wenn deshalb mit der SOURCE-Option *SYSDTA angegeben wird, sollte SYSDTA einer katalogisierten Datei oder einem PLAM-Bibliothekselement zugewiesen werden. Das Kommando hierfür lautet

/ASSIGN-SYSDTA TO-FILE = {dateiname | *LIB-ELEM(LIB=bibliothek,ELEM=element)}

Die Zuweisung kann auf folgende Arten erfolgen:

  1. Zuweisung von SYSDTA vor Aufruf des Compilers

    Beispiel

    /ASSIGN-SYSDTA TO-FILE=quelle

    /START-CPLUS-COMPILER

    Die zugewiesene Quelle muss vor dem eigentlichen Quellcode sämtliche benötigten MODIFY-Anweisungen und die COMPILE-Anweisung enthalten:

    //MODIFY-SOURCE-PROP LANG=*C
    //MODIFY-...
    //COMPILE SOURCE=*SYSDTA,...
    #include ...
    main() {
    ...
    }
    
  2. Zuweisung von SYSDTA nach Aufruf des Compilers

    Beispiel

    /START-CPLUS-COMPILER

    //MODIFY-SOURCE-PROP LANG=*C

    //MODIFY-...

    //EXECUTE-SYSTEM-CMD (ASSIGN-SYSDTA TO-FILE=quelle)

    Die benötigten MODIFY-Anweisungen werden vor der SYSDTA-Umweisung angegeben und müssen deshalb nicht in der zugewiesenen Quelle stehen. Nach der EXECUTE-Anweisung können keine weiteren SDF-Anweisungen angegeben werden. Die zugewiesene Quelle muss vor dem eigentlichen Quellcode mindestens die COMPILE-Anweisung enthalten:

    //COMPILE SOURCE=*SYSDTA,...
    #include ...
    main() {
    ...
    }
    

Wenn das Ende der Quelldatei erreicht ist, wird der Compilerlauf beendet. Eine weitere Umweisung von SYSDTA während eines Compilerlaufs ist nicht möglich.

Auch wenn das Quellprogramm mit dem ASSIGN-SYSDTA-Kommando zugewiesen wird, gilt nach wie vor als Eingabequelle SYSDTA. Dies hat zur Folge, dass bei der Generierung von Standardnamen der Quellprogrammname „CSTD“ zu Grunde gelegt wird (vgl. die Ausgabeparameter *SOURCE-LOCATION oder ELEMENT=*STD-ELEMENT). Außerdem ist die Angabe des Parameters *SOURCE-LIBRARY wirkungslos, wenn ein Bibliothekselement nicht mit der SOURCE-Option, sondern mit dem ASSIGN-SYSDTA-Kommando zugewiesen wird.