Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ASSIGN-SYSDTA

&pagelevel(3)&pagelevel

SYSDTA einer Eingabequelle zuordnen

Komponente:

SYSFILE                                                                                                              

Funktionsbereich:

Auftragsverarbeitung
Dateiverarbeitung

Anwendungsbereich:

JOB
PROCEDURE
PROGRAM

Privilegierung:

STD-PROCESSING
HARDWARE-MAINTENANCE
SAT-FILE-EVALUATION
SAT-FILE-MANAGEMENT
SECURITY-ADMINISTRATION

Funktionsbeschreibung

Das Kommando ASSIGN-SYSDTA weist die System(eingabe)datei SYSDTA einer Eingabequelle zu. Primärzuweisung und Eigenschaften von SYSDTA sind im Abschnitt „Systemdateien" beschrieben.

Einschränkungen

Die Zuweisung einer Systemdatei zu einer Variablen mit TO=*VARIABLE(...) ist nur möglich, wenn das kostenpflichtige Subsystem SDF-P geladen ist.

Format

ASSIGN-SYSDTA                                                                                                             

  TO = <filename 1..54> / *VARIABLE(...) / *LIBRARY-ELEMENT(...) / *PRIMARY / *SYSCMD


*VARIABLE(...)



|

VARIABLE-NAME = <composed-name 1..254>


*LIBRARY-ELEMENT(...)



|

LIBRARY = <filename 1..54 without-gen-vers>



|

,ELEMENT = <composed-name 1..64 with-under>(...)



|


<composed-name 1..64 with-under>(...)



|



|

VERSION = *HIGHEST-EXISTING / *STD / <composed-name 1..24>



|

,TYPE = S / <alphanum-name 1..8>

,DATA-ESCAPE-CHAR = *COMPATIBLE / ’&&’ / ’#’ / ’*’ / ’@’ / ’$’ / *STD

 

Operandenbeschreibung

TO =
Eingabequelle, der SYSDTA zuzuordnen ist.

TO = <filename 1..54>
Name der Datei, der SYSDTA zuzuweisen ist. Die Datei muss mit folgenden Merkmalen katalogisiert sein:

  • variable Satzlänge

  • Zugriffsmethode SAM oder ISAM

  • Beginn des ISAM-Schlüssels: Byte 5

  • Länge des ISAM-Schlüssels: 8 Byte

TO = *VARIABLE(...)
Name einer zusammengesetzten S-Variablen vom Typ Liste (Folge von Elementen gleichen Variablentyps, auf die nur sequenziell zugegriffen werden kann).
Die Verwendung einer zusammengesetzten S-Variablen ist nur möglich, wenn das kostenpflichtige Subsystem SDF-P geladen ist (siehe Handbuch „SDF-P“ [34]).
Das Kommando wird abgewiesen, wenn die angegebene Liste nicht deklariert ist oder die Listenelemente nicht vom Variablentyp STRING (bzw. ANY) sind.

VARIABLE-NAME = <composed-name 1..254>
Name der S-Variablen.

TO = *LIBRARY-ELEMENT(...)
Eingabequelle ist ein PLAM-Bibliothekselement.

LIBRARY = <filename 1..54 without-gen-vers>
Name einer PLAM-Bibliothek.

ELEMENT = <composed-name 1..64 with-under>(...)
Name eines Elements aus der angegebenen Bibliothek.

VERSION = *HIGHEST-EXISTING / *STD / <composed-name 1..24>
Ergänzung des Elementnamens durch die Versionsangabe. Voreingestellt ist die höchste existierende Version des angegebenen Elements.

TYPE = S / <alphanum-name 1..8>
Typ des Elements.

S

Elementtyp S (Quellprogramme); Default-Wert

D

Elementtyp D (Textdaten)

M

Elementtyp M (Makros)

TO = *PRIMARY
Setzt SYSDTA auf die Primärzuweisung zurück (siehe Abschnitt „Systemdateien").

TO = *SYSCMD
Schaltet SYSDTA mit SYSCMD zusammen, d.h. das System liest über SYSCMD nicht nur Kommandos, sondern auch Daten ein.

DATA-ESCAPE-CHAR =
Legt fest, ob in Datensätzen Variablen ersetzt werden sollen.

Der Operand ist nur erlaubt im Prozedurmodus. Im Dialogmodus sowie im geführten Dialog ist der Operand nicht verfügbar.

DATA-ESCAPE-CHAR = *COMPATIBLE
Die Ersetzung von Variablen bzw. Ausdrücken in Datensätzen soll kompatibel zu dem bisherigen Verhalten erfolgen:

Bei einer Zuweisung von SYSDTA ungleich SYSCMD findet in Datensätzen keine Ersetzung statt.

Bei einer Zuweisung von SYSDTA=SYSCMD erfolgt die Ersetzung in Datensätzen wie es im Kommando SET-PROCEDURE-OPTIONS, MODIFY-PROCEDURE-OPTIONS oder BEGIN-PROCEDURE festgelegt wurde.

DATA-ESCAPE-CHAR = ’&&’ / ’#’ / ’*’ / ’@’ / ’$’ / *STD
Diese Angabe ist nur möglich bei einer Zuweisung von SYSDTA ungleich SYSCMD. Im Falle von TO=*SYSCMD bzw. TO=*PRIMARY wird die Angabe zurückgewiesen.

In Datensätzen sollen Variable und Ausdrücke, die mit dem angegebenen Zeichen beginnen, ersetzt werden. Mögliche Zeichen sind &, #, *, @ oder $. Die Angabe & ist gleichbedeutend mit der Angabe *STD (wie auf Kommandoebene). Soll das Zeichen & explizit angegeben werden, muss es verdoppelt werden.

 

Kommando-Returncode

(SC2)

SC1

Maincode

Bedeutung


0

CMD0001

Kommando ausgeführt

2

0

SSM3200

Kommando ausgeführt mit Warnung

2

0

SSM3034

Die Systemdatei ist bereits *PRIMARY zugewiesen


1

SSM2036

Operand fehlerhaft


32

SSM1013

Systemfehler während der Kommandoausführung


64

SSM1025

Diskettengerät nicht verfügbar


64

SSM1026

Diskettengerät nicht verfügbar oder die Diskette konnte nicht montiert werden


64

SSM2061

Fehler bei Zugriff auf PLAM-Bibliothekselement


64

SSM2064

Systemdatei kann nicht über RFA zugewiesen werden


64

SSM3031

Semantikfehler


64

SSM3055

fehlerhaftes Satz- oder Dateiformat


64

SSM3056

OPEN-Fehler bei Eingabe (DMS-Fehler ist als Insert in der SYSOUT-Meldung enthalten)


64

SSM3100

S-Variable existiert nicht


64

SSM3101

S-Variable nicht vom Typ Liste


64

SSM3102

Subsystem SDF-P nicht verfügbar


64

SSM3104

DATA-ESCAPE-CHAR ungleich *COMPATIBLE nicht erlaubt bei SYSDTA=SYSCMD


64

SSM3105

Angabe von DATA-ESCAPE-CHAR ungültig in der aktuellen Software-Konfiguration


64

SSM3200

Fehler bei Zugriff auf PLAM-Bibliothek oder Element


65

SSM2074

Subsystem SPOOL nicht geladen; Zugriff auf ein Diskettengerät ist nicht möglich

 

Hinweise

Mit einem ASSIGN-SYSDTA-Kommando kann nur eine Datei zugewiesen werden. Will der Benutzer mehrere Dateien zuweisen, so muss er die entsprechende Anzahl von ASSIGN-SYSDTA-Kommandos geben.

Auf Prozedurebene ist die Systemdatei SYSDTA nicht mehr zugewiesen, wenn das Ende des Dateibestands erreicht ist. Jedes weitere Lesen erzeugt die Meldung SYSDTA NOT ASSIGNED. Bei Rückkehr auf eine niedrigere Prozedurebene wird SYSDTA demjenigen Gerät zugewiesen, das auf dieser niedrigeren Ebene definiert war.

Die Variablen-Ersetzung, die im Operanden DATA-ESCAPE-CHAR für SYSDTA ungleich SYSCMD vereinbart wird, beschränkt sich auf S-Prozeduren.
Mit dieser Einstellung gilt:

  • Wenn Daten im Kontext einer Nicht-S-Prozedur oder ENTER-Datei gelesen werden, wird das Lesen mit der Meldung SSM3106 zurückgewiesen.

  • Wenn bei der Variablen-Ersetzung ein Fehler auftritt, wird der Datensatz zurückgewiesen und das Lesen von der Eingabequelle mit EOF beendet.

  • Wenn während des Lesens aus der Eingabequelle (Datei, Bibliothekselement oder S-Variable) auf die Primärzuweisung umgeschaltet wird, findet keine Variablen-Ersetzung statt (z.B. schaltet EDT nach Auftreten von EOF auf Primärzuweisung um).

Beispiele

Beispiel 1

/start-assembh  ————————————————————————————————————————————————————— (1)

%  BLS0523 ELEMENT 'ASSEMBH', VERSION '013', TYPE 'C' FROM LIBRARY ':1OSH:$TSOS.
SYSPRG.ASSEMBH.013' IN PROCESS
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '01.3A02' OF '2012-04-04' LOADED
%  BLS0552 COPYRIGHT (C) FUJITSU TECHNOLOGY SOLUTIONS   2012. ALL RIGHTS RESERVED
%  ASS6010 V01.3A02 OF BS2000 ASSEMBH  READY
%
//compile source=*sysdta,...
  .
  .
  .
%  ASS6012 END OF ASSTRAN

/assign-sysdta to=src.testprog  —————————————————————————————————————— (2)
/start-assembh

%  BLS0523 ELEMENT 'ASSEMBH', VERSION '013', TYPE 'C' FROM LIBRARY ':1OSH:$TSOS.
SYSPRG.ASSEMBH.013' IN PROCESS
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '01.3A02' OF '2012-04-04' LOADED
%  BLS0552 COPYRIGHT (C) FUJITSU TECHNOLOGY SOLUTIONS   2012. ALL RIGHTS RESERVED
%  ASS6010 V01.3A02 OF BS2000 ASSEMBH  READY
%  ASS6011 ASSEMBLY TIME: 385 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: WARNING
%  ASS6006 LISTING GENERATOR TIME: 121 MSEC
%  ASS6012 END OF ASSEMBH

/assign-sysdta to=*primary  —————————————————————————————————————————— (3)

(1)

Die Systemdatei SYSDTA hat Primärzuweisung. Der Assembler liest seine Eingaben über den Bildschirm ein.

(2)

SYSDTA wird der Datei SRC.TESTPROG zugewiesen. Der Assembler liest die Eingaben aus dieser Datei (COMPILE-Anweisung und Quellprogramm, falls in der COMPILE-Anweisung SOURCE=*SYSDTA vereinbart ist).

(3)

SYSDTA erhält wieder die Primärzuweisung.

Beispiel 2

/assign-sysdta to=*lib-elem(lib=biblio,elem=testprog) 
/start-assembh

%  BLS0523 ELEMENT 'ASSEMBH', VERSION '013', TYPE 'C' FROM LIBRARY ':1OSH:$TSOS.
SYSPRG.ASSEMBH.013' IN PROCESS
%  BLS0500 PROGRAM 'ASSEMBH', VERSION '01.3A10' OF '2012-10-11' LOADED
%  BLS0552 COPYRIGHT (C) FUJITSU TECHNOLOGY SOLUTIONS   2012. ALL RIGHTS RESERVED
%  ASS6010 V01.3A10 OF BS2000 ASSEMBH  READY
%  ASS6011 ASSEMBLY TIME: 429 MSEC
%  ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES
%  ASS6019 HIGHEST ERROR-WEIGHT: WARNING
%  ASS6006 LISTING GENERATOR TIME: 154 MSEC
%  ASS6012 END OF ASSEMBH

/assign-sysdta to=*primary

Der Assembler liest seine Eingaben aus dem Element TESTPROG der Bibliotheksdatei BIBLIO. Nach Beendigung des Compilerlaufes erhält SYSDTA wieder die Primärzuweisung.

Beispiel 3
/BEG-PROC LOG=*ALL, PAR=*YES(PROC-PAR=(&SFFILE1,&SFFILE2))
/ASS-SYSDTA TO=*SYSCMD
/START-SDF-A
//OPEN-SYNTAX-FILE FILE=&SFFILE1, TYPE=*SYSTEM,MODE=*UPDATE
//COPY OBJECT=*COMMAND(NAME=*ALL),FROM-FILE=&SFFILE2
//END
/END-PROC

Durch das Kommando ASSIGN-SYSDTA liegt SYSDTA bei Ablauf der Nicht-S-Prozedur genau wie SYSCMD auf der Datei, in der die Prozedur gespeichert ist. Das ermöglicht nun auch, dass das Dienstprogramm SDF-A die Anweisungen aus dieser Prozedurdatei liest.