Mit dem Aufruf CALL "NLMOD"... können Sie die FTAM-Attribute einer Datei im lokalen System ändern und die Attribute so anpassen, wie Sie für einen Dateiübertragungs- oder Dateimanagement-Auftrag mit einem FTAM-Partner zur Verfügung stehen sollen. Der Funktionsumfang entspricht dem Kommando MODIFY-FILE-FT-ATTRIBUTES.
Zusätzlich zu den von der openFT (BS2000) Kommandoschnittstelle gebotenen Möglichkeiten können die Dateinamen wahlweise auch über ihre Linknamen angegeben werden.
Aufruf
Die Funktion können Sie wie folgt aufrufen:
CALL "NLMOD" USING FT-NLMOD-LIST FT-RETURN-INFO.
FT-NLMOD-LIST
Der Bereich FT-NLMOD-LIST beschreibt die Parameterliste für den NLMOD-Aufruf. FT-NLMOD-LIST muss in der WORKING-STORAGE SECTION definiert sein und kann mit der Anweisung
COPY FTNLMOD OF linkname.
dorthin kopiert werden.
Vor dem ersten NLMOD-Aufruf sollten die Parameterfelder mit der Anweisung
MOVE LOW-VALUE TO USER-PARAMETERS IN FT-NLMOD-LIST.
gelöscht werden.
Vor einem weiteren NLMOD-Aufruf müssen Sie die gewünschten Felder ausfüllen. Soll ein Parameter nicht angegeben werden bzw. auf den Standardwert Bezug genommen werden, so muss diesem Feld der Wert LOW-VALUE zugewiesen werden.
FT-NLMOD-LIST ist folgendermaßen definiert:
01 FT-NLMOD-LIST.
*
02 FILLER PIC X(4) VALUE "V520".
*
02 USER-PARAMETERS.
*
05 FILE-NAME PIC X(54).
88 NOT-SPECIFIED VALUE LOW-VALUE.
05 LINK-NAME PIC X(8).
88 NOT-SPECIFIED VALUE LOW-VALUE.
*
05 FILE-PASSWORD PIC X(4).
88 NONE VALUE LOW-VALUE.
05 FILE-PASSWD-ATTR PIC X(1).
88 GRAPHIC VALUE LOW-VALUE.
88 OCTET VALUE "O".
*
05 PERMITTED-ACTIONS PIC X(1).
88 UNCHANGED VALUE LOW-VALUE.
88 PARAMETER VALUE "P".
05 READ-FILE PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 INSERT-DATA-UNIT PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 REPLACE-FILE PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 EXTEND-FILE PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 ERASE-DATA-UNIT PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 READ-ATTRIBUTES PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 CHANGE-ATTRIBUTES PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
05 DELETE-FILE PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 NO-PAR VALUE "N".
88 YES VALUE "Y".
*
05 TRANSFER-ATTRIBUTES.
10 TR-ATTRIBUTES PIC X(1).
88 UNCHANGED VALUE LOW-VALUE.
88 PARAMETER VALUE "P".
10 DATA-TYPE PIC X(1).
88 UNCHANGED VALUE LOW-VALUE.
88 BINARY-DATA VALUE "B".
88 CHARACTER-TYPE VALUE "C".
10 CHARACTER-SET PIC X(1).
88 NO-VALUE VALUE LOW-VALUE.
88 GRAPHIC VALUE "R".
88 GENERAL VALUE "E".
88 IA5 VALUE "I".
88 VISIBLE VALUE "V".
10 RECORD-FORMAT PIC X(1).
88 UNCHANGED VALUE LOW-VALUE.
10 RECORD-SIZE PIC X(5).
88 UNCHANGED VALUE LOW-VALUE.
Die am Anfang der Struktur stehende Versionsangabe dient zur Identifikation des COPY-Elements und darf vom Benutzer nicht überschrieben werden.
Durch einen NLMOD-Aufruf werden keine Werte in der Struktur FT-NLMOD-LIST geändert.
Die Felder sind linksbündig zu beschreiben und rechtsbündig mit Leerzeichen aufzufüllen (Standard bei der COBOL-MOVE-Anweisung für Zeichenketten).
Felder, die keine Angaben enthalten sollen, sind mit der Zuweisung LOW-VALUE zu kennzeichnen.
Bei Nichtangabe eines Parameters werden wie beim MODIFY-FILE-FT-ATTRIBUTES-Kommando die Standardwerte abgesetzt.
Alle weiteren Werte, die an der Kommandoschnittstelle in Hochkommata eingeschlossen sein müssen, haben diese Hochkommata an der Programmschnittstelle nicht.
Kennwörter mit Integer-Wert müssen binär angegeben werden.
Für die Zuweisung von Schlüsselworten, zum Beispiel *BINARY, *VISIBLE und *YES, sind die Werte zu verwenden, die in den entsprechenden Strukturstufe-88-Erklärungen festgelegt sind.
Beschreibung der Datenfelder
Die Parameter der FT-NLMOD-LIST haben dieselben Namen und Funktionen wie die entsprechenden Operanden des Kommandos MODIFY-FILE-FT-ATTRIBUTES. Bitte beachten Sie daher die entsprechende Kommandobeschreibung im Handbuch "openFT (BS2000) - Kommandoschnittstelle".
Zusätzlich zu den an der Kommandoschnittstelle angebotenen Möglichkeiten können Sie Datei- und Bibliotheksnamen in COBOL-Programmen auch über Link-Namen ansprechen. Dazu dient das Feld LINK-NAME in der FT-NLMOD-LIST.
Es darf jeweils entweder nur der Linkname oder der Datei- bzw. Bibliotheksname angegeben werden.
Ein zum Ablaufzeitpunkt nicht zugewiesener Linkname führt zu der Meldung
FILE UNKNOWN.
Mit dem FILE-PASSWORD kann ein eventuell vorhandenes Dateikennwort angegeben werden.
Beispiel NLMOD
***************************************************************
* BEISPIEL: *
* *
* /MODIFY-FILE-FT-ATTRIBUTES FILE-NAME=LOCALFILE,- *
* / TRANSFER-ATTRIBUTES=(DATA-TYPE=*BINARY) *
* *
* AUS EINEM COBOL-PROGRAMM *
***************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. TESTNLMOD.
*
ENVIRONMENT DIVISION.
*
CONFIGURATION SECTION.
SPECIAL-NAMES.
TERMINAL IS TERM.
*
DATA DIVISION.
WORKING-STORAGE SECTION.
77 MAIN-RCODE-STRING PIC -ZZZZ9.
77 SUB-RCODE-STRING PIC -ZZZZ9.
COPY FTNLMOD OF FTLIB.
COPY FTRETC OF FTLIB.
*
PROCEDURE DIVISION.
STEUER SECTION.
ST-01.
*
*PARAMETER-VERSORGEN.
MOVE LOW-VALUE TO USER-PARAMETERS.
MOVE "LOCALFILE" TO FILE-NAME.
SET BINARY-DATA IN DATA-TYPE TO TRUE.
*
*NLMOD-AUFRUFEN.
CALL "NLMOD" USING FT-NLMOD-LIST FT-RETURN-INFO.
*
*ERGEBNIS-BEHANDLUNG.
IF OKAY IN MAIN-RETURN-CODE
THEN
DISPLAY "NLMOD OKAY" UPON TERM
ELSE
MOVE MAIN-RETURN-CODE TO MAIN-RCODE-STRING
MOVE SUB-RETURN-CODE TO SUB-RCODE-STRING
DISPLAY "NLMOD ABGELEHNT" UPON TERM
DISPLAY "MAIN-RETURN-CODE: " MAIN-RCODE-STRING
" SUB-RETURN-CODE: " SUB-RCODE-STRING
UPON TERM.
ST-99.
STOP RUN.