Mit dem Aufruf CALL "NCOPY"... können Sie eine Datei oder ein Bibliothekselement übertragen. Das lokale System kann dabei Sender oder Empfänger der Datei sein. Unter dem lokalen System versteht man das System, in dem Sie den Aufruf absetzen. Das Partnersystem wird als das ferne System bezeichnet. Der Funktionsumfang entspricht dem Kommando TRANSFER-FILE (NCOPY).
Aufruf
Die Funktion können Sie wie folgt aufrufen:
CALL "NCOPY" USING FT-NCOPY-LIST FT-RETURN-INFO.
FT-NCOPY-LIST
Der Bereich FT-NCOPY-LIST beschreibt die Parameterliste für den NCOPY-Aufruf. FT-NCOPY-LIST muss in der WORKING-STORAGE SECTION definiert sein und kann mit der Anweisung
COPY FTNCOPY [OF linkname].
dorthin kopiert werden.
Vor dem ersten NCOPY-Aufruf sollten die Parameterfelder mit der Anweisung
MOVE LOW-VALUE TO USER-PARAMETERS IN FT-NCOPY-LIST.
gelöscht werden.
Vor einem weiteren NCOPY-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-NCOPY-LIST ist folgendermaßen definiert:
01 FT-NCOPY-LIST. * 02 FILLER PIC X(4) VALUE "1000". * 02 USER-PARAMETERS. * 05 TRANSFER-DIRECTION PIC X(1). 88 TO-PARTNER VALUE "T". 88 FROM-PARTNER VALUE "F". * 05 PARTNER-NAME PIC X(200). * 05 LOCAL-PARAMETER. 10 FILE-NAME PIC X(512). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 LINK-NAME PIC X(8). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 LIBRARY PIC X(56). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 ELEMENT PIC X(64). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 TYP PIC X(8). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 VERSION PIC X(24). 88 STD VALUE LOW-VALUE. 10 FILE-PASSWORD PIC X(11). 10 SUCCESS-PROCESSING PIC X(500). 10 FAILURE-PROCESSING PIC X(500). 10 USER-DEF-ADMISSION PIC X(67). 88 NONE VALUE LOW-VALUE. 10 TRANSFER-ADMISSION. 15 USER-ID PIC X(8). 15 ACCOUNT PIC X(40). 15 PASSWORD PIC X(35). 10 PROCESSING-ADMISSION. 88 NOT-SPECIFIED VALUE HIGH-VALUE. 15 USER-ID PIC X(8). 15 ACCOUNT PIC X(40). 15 PASSWORD PIC X(35). 10 LISTING PIC X(1). 88 SYSLST-LST VALUE LOW-VALUE. 88 LISTFILE VALUE "L". 88 SYSLST-FAIL VALUE "S". 88 LISTFILE-FAIL VALUE "E". 88 NONE VALUE "N". 10 MONJV PIC X(56). 88 NONE VALUE LOW-VALUE. 10 JV-PASSWORD PIC X(11). 88 NONE VALUE LOW-VALUE. 10 CODE-CHARACTER-SET PIC X(8). 88 STD VALUE LOW-VALUE. * 05 REMOTE-PARAMETER. 10 REMOTE-SYNTAX PIC X(1). 88 BS2000 VALUE LOW-VALUE. 88 MSP VALUE "3". 88 ANY-SYNTAX VALUE "A". 10 FILE-NAME PIC X(512). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 LINK-NAME PIC X(8). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 LIBRARY PIC X(59). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 ELEMENT PIC X(67). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 TYP PIC X(11). 88 NOT-SPECIFIED VALUE LOW-VALUE. 10 VERSION PIC X(27). 88 NONE VALUE LOW-VALUE. 88 STD VALUE " ". 10 FILE-PASSWORD PIC X(131). 10 CREATE-PASSWORD PIC X(131). 10 SUCCESS-PROCESSING PIC X(500). 10 FAILURE-PROCESSING PIC X(500). 10 USER-DEF-ADMISSION PIC X(67). 88 NONE VALUE HIGH-VALUE. 10 TRANSFER-ADMISSION. 88 NONE VALUE HIGH-VALUE. 15 USER-ID PIC X(67). 15 ACCOUNT PIC X(64). 15 PASSWORD PIC X(131). 10 PROCESSING-ADMISSION. 88 NOT-SPECIFIED VALUE HIGH-VALUE. 88 NONE VALUE HIGH-VALUE. 15 USER-ID PIC X(67). 15 ACCOUNT PIC X(64). 15 PASSWORD PIC X(131). 10 FILE-AVAILABLE PIC X(1). 88 NONE VALUE LOW-VALUE. 88 IMMEDIATE VALUE "I". 88 DEFERRED VALUE "D". 10 STORAGE-ACCOUNT PIC X(40). 88 NONE VALUE LOW-VALUE. 10 ACCESS-MODE PIC X(1). 88 NONE VALUE LOW-VALUE. 88 PAR VALUE "P" 10 READ-FILE PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 REPLACE-FILE PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 EXTEND-FILE PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 READ-ATTRIBUTES PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 CHANGE-ATTRIBUTES PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 DELETE-FILE PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 INSERT-DATA-UNIT PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 ERASE-DATA-UNIT PIC X(1). 88 NO-VALUE VALUE LOW-VALUE. 88 NO-PAR VALUE "N". 88 YES VALUE "Y". 10 LEGAL-QUALIFICATION PIC X(80). 88 UNCHANGED VALUE LOW-VALUE. 10 CODE-CHARACTER-SET PIC X(8). 88 STD VALUE LOW-VALUE. * 05 COMPRESS PIC X(1). 88 NONE VALUE LOW-VALUE. 88 BYTE-REPETITION VALUE "B". 88 ZIP VALUE "Z". 88 NONE-ENCRYES VALUE "E". 88 BYTE-ENCRYES VALUE "F". 88 ZIP-ENCRYES VALUE "G". 88 NONE-ENCRODI VALUE "O". 88 BYTE-ENCRODI VALUE "P". 88 ZIP-ENCRODI VALUE "R". * 05 WRITE-MODE PIC X(1). 88 REPLACE-FILE VALUE LOW-VALUE. 88 NEW-FILE VALUE "N". 88 EXTEND-FILE VALUE "E". * 05 DATA-TYPE PIC X(1). 88 CHARACTER-TYPE VALUE LOW-VALUE. 88 BINARY-TYPE VALUE "B". 88 USER-TYPE VALUE "C". 88 CHAR-STD-TYPE VALUE "D". 88 BIN-STD-TYPE VALUE "E". 88 NOT-SPECIFIED VALUE HIGH-VALUE. * 05 PRIORITY PIC X(1). 88 NORMAL VALUE LOW-VALUE. 88 HIGH VALUE "H". 88 LOW VALUE "L". * 05 START-TIME. 10 EARLIEST-DATE PIC X(8). 88 TODAY VALUE LOW-VALUE. 88 TOMORROW VALUE "T". 10 EARLIEST-TIME PIC X(5). * 05 CANCEL-PARAMETER. 10 CANCEL-DESIRED PIC X(1). 88 NO-CANCEL VALUE LOW-VALUE. 88 YES VALUE "Y". 10 CANCEL-DATE PIC X(8). 88 TODAY VALUE LOW-VALUE. 88 TOMORROW VALUE "T". 10 CANCEL-TIME PIC X(5). * 05 RECORD-SIZE PIC X(5). 88 NOT-SPECIFIED VALUE LOW-VALUE. * 05 RECORD-FORMAT PIC X(1). 88 STD VALUE LOW-VALUE. 88 VARIABLE VALUE "V". 88 FIXED VALUE "F". 88 UNDEFINED VALUE "U".
Durch einen NCOPY-Aufruf werden keine Werte in der Struktur FT-NCOPY-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 TRANSFER-FILE(NCOPY)-Kommando die Standardwerte abgesetzt.
Die am Anfang der Struktur FT-NCOPY-LIST stehende Versionsangabe dient zur Identifikation des COPY-Elements und darf nicht überschrieben werden.
Bei Partnern vom Typ MSP/MVS (REMOTE-SYNTAX:"3") ist der Dateiname in Hochkommata zu setzen, falls er die Benutzerkennung (User-ID) enthält (Präfix).
Alle weiteren Werte, die an der Kommandoschnittstelle in Hochkommata eingeschlossen sein müssen, haben diese Hochkommata an der Programmschnittstelle nicht. Aus historischen Gründen wird bei der Angabe von USER-DEF-ADMISSION ohne Hochkommata, der Wert in Kleinbuchstaben umgewandelt . Soll die USER-DEF-ADMISSION in ihrer ursprünglichen Form erhalten bleiben, muss sie in Hochkommata eingeschlossen werden.
Kennwörter mit Integer-Wert müssen binär angegeben werden.
Angaben für das ferne System, die im TRANSFER-FILE(NCOPY)-Kommando standardmäßig mit *SAME aus den Angaben für das lokale System übernommen werden, müssen an der COBOL-Schnittstelle explizit angegeben werden.
Beschreibung der Datenfelder
Die meisten Parameter der FT-NCOPY-LIST haben dieselben Namen und Funktionen wie die entsprechenden Operanden des TRANSFER-FILE(NCOPY)-Kommandos. Deshalb werden hier nur die Abweichungen erläutert. Bitte beachten Sie ansonsten 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-NCOPY-LIST.
Für ein System (lokal oder fern) darf jeweils entweder nur der Linkname oder der Datei- bzw. Bibliotheksname angegeben werden.
Die Angabe des fernen Datei- bzw. Bibliotheksnamens darf nur dann über den Linknamen erfolgen, wenn das lokale und das ferne System identisch sind (File Transfer mit dem eigenen Rechner). Eine Missachtung dieser Regel wird von openFT nicht erkannt und kann zu unerwünschten Resultaten führen.
Wird die lokale Datei bzw. Bibliothek über den Linknamen angegeben, so wird bei fehlender Angabe für die ferne Datei der entsprechende lokale Dateiname verwendet. Ein zum Ablaufzeitpunkt nicht zugewiesener Linkname führt zu der Meldung
FILE UNKNOWN.
Das Feld USER-DEF-ADMISSION in der FT-NCOPY-LIST wird nur benötigt, falls im jeweiligen System das Zusatzprodukt openFT-AC eingesetzt wird und ein Berechtigungsprofil angesprochen werden soll. In diesem Fall kann mit USER-DEF-ADMISSION die mit diesem Berechtigungsprofil verbundene Zugangsberechtigung (im Kommando die TRANSFER-ADMISSION) angegeben werden.
Das Feld REMOTE-SYNTAX steuert die Syntaxüberprüfung der Angaben für das ferne System. Seine Wirkung entspricht der Angabe, die Sie vor der Klammer machen können, die im Kommando die REMOTE-PARAMETER einleitet. Falls dieses Feld also mit LOW-VALUE oder mit "3" belegt ist, führt openFT eine Syntaxüberprüfung dieser Angaben gemäß den BS2000- bzw. MVS-Syntaxregeln aus.
Die Angabemöglichkeiten im Feld START-TIME entsprechen denen des Kommando-Operanden START. Mit EARLIEST-DATE können Sie das früheste Datum und mit EARLIEST-TIME den frühesten Zeitpunkt für den Beginn der Dateiübertragung angeben.
Die CANCEL-PARAMETER entsprechen dem Kommando-Operanden CANCEL. Mit CANCEL-DESIRED können Sie Ihren Auftrag canceln. Mit CANCEL-DATE und CANCEL-TIME legen Sie den gewünschten Abbruchszeitpunkt fest.
Beispiel NCOPY
****************************************************************** * BEISPIEL: * * ABGABE DES DATEIUEBERTRAGUNGSAUFTRAGS * * * * /TRANSFER-FILE PARTNER=VAR001,TRANS=TO, - * * / LOC=(FILE=LOCFILE,TRANS=(USERID,ACCOUNT,'PASSWORD')),- * * / REM=(FILE=REMFILE,TRANS=(USERID,ACCOUNT,'PASSWORD')) * * * * AUS EINEM COBOL-PROGRAMM * ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. NCO. * 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 FTNCOPY OF FTLIB. COPY FTRETC OF FTLIB. * PROCEDURE DIVISION. STEUER SECTION. ST-01. * *PARAMETER-VERSORGEN. MOVE LOW-VALUE TO USER-PARAMETERS IN FT-NCOPY-LIST. MOVE "VAR001" TO PARTNER-NAME. MOVE "T" TO TRANSFER-DIRECTION. MOVE "LOCFILE" TO FILE-NAME IN LOCAL-PARAMETER. MOVE "USERID" TO USER-ID IN TRANSFER-ADMISSION IN LOCAL-PARAMETER. MOVE "ACCOUNT" TO ACCOUNT IN TRANSFER-ADMISSION IN LOCAL-PARAMETER. MOVE "'PASSWORD'" TO PASSWORD IN TRANSFER-ADMISSION IN LOCAL-PARAMETER. MOVE "REMFILE" TO FILE-NAME IN REMOTE-PARAMETER. MOVE "USERID" TO USER-ID IN TRANSFER-ADMISSION IN REMOTE-PARAMETER. MOVE "ACCOUNT" TO ACCOUNT IN TRANSFER-ADMISSION IN REMOTE-PARAMETER. MOVE "'PASSWORD'" TO PASSWORD IN TRANSFER-ADMISSION IN REMOTE-PARAMETER. * *NCOPY-AUFRUFEN. CALL "NCOPY" USING FT-NCOPY-LIST FT-RETURN-INFO. * *ERGEBNIS-BEHANDLUNG. IF OKAY IN MAIN-RETURN-CODE DISPLAY "NCOPY-AUFTRAG ANGENOMMEN, TID= " TRANSFER-ID UPON TERM ELSE MOVE MAIN-RETURN-CODE TO MAIN-RCODE-STRING MOVE SUB-RETURN-CODE TO SUB-RCODE-STRING DISPLAY "NCOPY-AUFTRAG ABGELEHNT" UPON TERM DISPLAY "MAIN-RETURN-CODE: " MAIN-RCODE-STRING " SUB-RETURN-CODE: " SUB-RCODE-STRING UPON TERM. ST-99. STOP RUN.