Mit dem Makroaufruf NCOPYSYN können Sie Dateien oder Bibliothekselemente synchron übertragen. Der Rechner, in dem das Programm abläuft, kann dabei Sender oder Empfänger der Datei sein. Der Funktionsumfang entspricht dem Kommando TRANSFER-FILE-SYNCHRONOUS (FTSCOPY). NCOPYSYN unterscheidet sich vom Makro NCOPY in folgenden Punkten:
keine lokaler Folgeverarbeitung
keine Ergebnislisten
keine Jobvariablen
keine Prioritäten und keine Angabe von Start- und Abbruchzeitpunkt.
Format des Makros NCOPYSYN (LIST-Form/Standardform)
Name | Operation | Operanden |
|
|
|
Format des Makros NCOPYSYN (DSECT-Form)
Name | Operation | Operanden |
|
|
|
Das Präfix xxx (Standardwert YNY) darf 1 bis 3 Zeichen lang sein. Er muss Namen erzeugen, die in ASSEMBLER erlaubt sind. Folgende ASSEMBLER-Befehle werden abgesetzt:
xxxNCOPY DSECT
xxxHCOP FHDR MF=(C,&P)
xxxDMSCO DS A DMS-FEHLERCODE
xxxPART DS A A(PARTNER-NAME)
xxxPARTL DS XL2 L(PARTNER-NAME)
xxxLFILL DS XL2 L(FILE-NAME)
xxxLFIL DS AL4 A(FILE-NAME)
ORG xxxLFILL
xxxLLIBL DS XL2 L(LIBRARY-NAME)
xxxLLIB DS AL4 A(LIBRARY-NAME)
xxxLEL DS AL4 A(ELEMENT-NAME)
xxxLELL DS XL2 L(ELEMENT-NAME)
xxxLEVL DS XL2 L(ELEMENT-VERSION)
xxxLEV DS AL4 A(ELEMENT-VERSION)
xxxLETY DS AL4 A(ELEMENT-TYPE)
xxxLETYL DS XL2 L(ELEMENT-TYPE)
xxxLFPAL DS XL2 L(FILE-PASSWORD)
xxxLFPA DS AL4 A(FILE-PASSWORD)
xxxLTUS DS AL4 A(USER-ID/TRANS)
xxxLTUSL DS XL2 L(USER-ID/TRANS)
xxxLTACL DS XL2 L(USER-ACC/TRANS)
xxxLTAC DS AL4 A(USER-ACC/TRANS)
xxxLTPA DS AL4 A(USER-PASSWORD/TRANS)
xxxLTPAL DS XL2 L(USER-PASSWORD/TRANS)
*
xxxRFIL DS AL4 A(FILE-NAME)
xxxRFILL DS XL2 L(FILE-NAME)
xxxRLIBL DS XL2 L(LIBRARY-NAME)
xxxRLIB DS AL4 A(LIBRARY-NAME)
xxxREL DS AL4 A(ELEMENT-NAME)
xxxRELL DS XL2 L(ELEMENT-NAME)
xxxREVL DS XL2 L(ELEMENT-VERSION)
xxxREV DS AL4 A(ELEMENT-VERSION)
xxxRETY DS AL4 A(ELEMENT-TYPE)
xxxRETYL DS XL2 L(ELEMENT-TYPE)
xxxRFPAL DS XL2 L(FILE-PASSWORD)
xxxRFPA DS AL4 A(FILE-PASSWORD)
xxxRTUS DS AL4 A(USER-ID/TRANS)
xxxRTUSL DS XL2 L(USER-ID/TRANS)
xxxRTACL DS XL2 L(USER-ACC/TRANS)
xxxRTAC DS AL4 A(USER-ACC/TRANS)
xxxRTPA DS AL4 A(USER-PASSWORD/TRANS)
xxxRTPAL DS XL2 L(USER-PASSWORD/TRANS)
xxxRPUSL DS XL2 L(USER-ID/PROC)
xxxRPUS DS AL4 A(USER-ID/PROC)
xxxRPAC DS AL4 A(USER-ACC/PROC)
xxxRPACL DS XL2 L(USER-ACC/PROC)
xxxRPPAL DS XL2 L(USER-PASSWORD/PROC)
xxxRPPA DS AL4 A(USER-PASSWORD/PROC)
xxxRSUC DS AL4 A(SUCCESS-PROCESSING)
xxxRSUCL DS XL2 L(SUCCESS-PROCESSING)
xxxRFAIL DS XL2 L(FAILURE-PROCESSING)
xxxRFAI DS AL4 A(FAILURE-PROCESSING)
*
xxxTRID DS AL4 A(TRANS-ID)
xxxTRIDL DS XL2 L(TRANS-ID)
xxxTRDIR DS XL1 TRANSFER DIRECTION
xxxCOMP DS XL1 COMPRESSION
xxxWRMOD DS XL1 WRITE-MODE
xxxDATYP DS XL1 DATA-TYPE
xxxRSYN DS XL1 REMOTE SYNTAX
DS 0H
xxxLTADL DS AL2 L(LOCAL TRANSFER-ADMISSION)
xxxLTAD DS AL4 A(LOCAL TRANSFER-ADMISSION)
xxxRTAD DS AL4 A(REMOTE TRANSFER-ADMISSION)
xxxRTADL DS AL2 L(REMOTE TRANSFER-ADMISSION)
*
xxxSTACL DS XL2 L(STORAGE-ACCOUNT)
xxxSTAC DS AL4 A(STORAGE-ACCOUNT)
xxxLQF DS AL4 A(LEGAL-QUALIFICATION)
xxxLQFL DS XL2 L(LEGAL-QUALIFICATION)
*
xxxAVAIL DS XL1 FILE-AVAIL.: NONE / IMMED / DEFER
xxxISTAC DS XL1 STORAGE-ACCOUNT: NONE
xxxILQF DS XL1 LEGAL-QUALIFICATION: UNCHG
*
xxxACCES DS XL1 ACCESS-MODE : NONE / PAR
xxxREADF DS XL1 READ-FILE: NO / YES
xxxREPLF DS XL1 REPLACE-FILE: NO / YES
xxxEXTDF DS XL1 EXTEND-FILE: NO / YES
xxxREADA DS XL1 READ-ATTRIBUTES: NO / YES
xxxCHNGA DS XL1 CHANGE-ATTRIBUTES: NO / YES
xxxDELF DS XL1 DELETE-FILE: NO / YES
xxxINSDU DS XL1 INSERT-DATA-UNIT: NO / YES
xxxERADU DS XL1 ERASE-DATA-UNIT: NO / YES
*
DS 0H
xxxRCPAL DS XL2 L(CREATE-PASSWORD)
xxxRCPA DS AL4 A(CREATE-PASSWORD)
*
xxxRSIZE DS XL4 RECORD-SIZE: *NOT-SPEC / 1..32756
*
xxxRID DS XL4 REQUEST ID
xxxFUD DS AL4 A(FURTHER DETAILS)
xxxLFUD DS XL2 L(FURTHER DETAILS)
xxxASYMG DS XL1 ASYNCHRONOUS END MESSAGE
xxxSCSET DS XL1 CHARACTER SET
xxxRFORM DS XL1 RECORD FORMAT = STD/VAR/FIX/UNDEF
*
xxxTABEX DS XL1 TABULATOR EXPANSION
xxxLCCSL DS XL2 L(LOCAL-CODE-CHARACTER-SET)
xxxLCCS DS AL4 A(LOCAL-CODE-CHARACTER-SET)
xxxRCCS DS AL4 A(REMOTE-CODE-CHARACTER-SET)
xxxRCCSL DS XL2 L(REMOTE-CODE-CHARACTER-SET)
xxxTFF DS XL1 TARGET-FILE-FORMAT
xxxTRF DS XL1 TARGET-RECORD-FORMAT
xxxMDATE DS XL1 MODIFICATION-DATE
xxxFNCM DS XL1 FNCMODE = TRANS/CHAR
*
xxxLNCO EQU *-xxxNCOPY
*
xxxTRDTO EQU X'01' TRANSFER DIRECTION = TO
xxxTRDFR EQU X'00' TRANSFER DIRECTION = FROM
xxxCOMBY EQU X'80' COMPRESSION = BYTE
xxxCOMZI EQU X'40' COMPRESSION = ZIP
xxxCOMNO EQU X'00' COMPRESSION = NONE
xxxMSP EQU X'03' REMOTESYNTAX= MSP
xxxBS2 EQU X'01' REMOTESYNTAX= BS2
xxxANY EQU X'02' REMOTESYNTAX= ANY
xxxNEW EQU X'01' WRITE-MODE = NEW FILE
xxxEXT EQU X'04' WRITE-MODE = EXTEND
xxxRPL EQU X'02' WRITE-MODE = REPLACE
xxxCHRS EQU X'88' DATA TYPE = CHARACTER(TRANS=STD)
xxxBINS EQU X'84' DATA TYPE = BINARY(TRANS=STD)
xxxCHR EQU X'08' DATA TYPE = CHARACTER
xxxBIN EQU X'04' DATA-TYPE = BINARY
xxxNOTSP EQU X'02' DATA-TYPE = NOT-SPECIFIED
xxxUSER EQU X'01' DATA-TYPE = USER
xxxSTDLC EQU X'0' LELVER = STD BEI BS2/LOCAL
xxxSAME EQU X'0' RELVER = SAME BEI BS2/REMOTE
xxxSTDRE EQU X'FF' RELVER = STD BEI BS2/REMOTE
xxxNONE EQU X'0' RELVER = NONE BEI *ANY
xxxNSPEC EQU X'FF' RFIL/LPUS/RPUS = NOT-SPECIFIED
xxxCNES EQU X'01' COMPRESSION = NONE/ENCRYPTION = YES
xxxCZES EQU X'41' COMPRESSION = ZIP/ENCRYPTION = YES
xxxCBES EQU X'81' COMPRESSION = BYTE/ENCRYPTION = YES
xxxCNOD EQU X'02' COMPRESSION = NONE/ENCRYPTION = ODI
xxxCZOD EQU X'42' COMPRESSION = ZIP/ENCRYPTION = ODI
xxxCBOD EQU X'82' COMPRESSION = BYTE/ENCRYPTION = ODI
xxxRFSTD EQU X'00' RFORM = STD
xxxRFVAR EQU X'1A' RFORM = VAR
xxxRFFIX EQU X'1B' RFORM = FIX
xxxRFUND EQU X'1C' RFORM = UNDEF
xxxTFFSA EQU X'00' TARGET-FILE-FORMAT = SAME
xxxTFFBL EQU X'01' TARGET-FILE-FORMAT = BLOCK
xxxTFFSQ EQU X'02' TARGET-FILE-FORMAT = SEQUENTIAL
xxxTRFSA EQU X'00' TARGET-RECORD-FORMAT = SAME
xxxTRFUN EQU X'01' TARGET-RECORD-FORMAT = UNDEFINED
xxxMSTD EQU X'00' MODIFICATION-DATE = STD
xxxMSAME EQU X'01' MODIFICATION-DATE = SAME
xxxFNCMT EQU X'00’ FNCMODE = TRANSPARENT
xxxFNCMC EQU X'01' FNCMODE = CHARACTER
Soll ein Operand nicht versorgt werden, so muss der Wert des Adressfeldes und des Längenfeldes auf binär Null gesetzt werden.
Soll für den Parameter FILE-NAME des fernen Systems der Wert *NOT-SPECIFIED angegeben werden, so ist in das Wertefeld für den Dateinamen (Länge 1) der im Equate xxxNSPEC festgelegte Wert zu schreiben.
Soll dieser Wert für die PROCESSING-ADMISSION des fernen Systems angegeben werden, so ist er in das Wertefeld für die jeweilige USER-ID zu schreiben.
Bedeutung der Felder
Mit dem Makroaufruf NCOPYSYN stehen Ihnen dieselben Möglichkeiten offen wie mit dem Kommando TRANSFER-FILE (NCOPY) bis auf die auf "NCOPYSYN - Datei synchron übertragen" aufgelisteten Ausnahmen. Die folgende Tabelle ordnet die Parameter im Makroaufruf NCOPYSYN den Operanden des Kommandos zu.
Operand | Adressfeld | Bedeutung im Kommando |
TRANS | TRDIR | TRANSFER-DIRECTION |
PARTNER | PART | PARTNER-NAME |
LFILE | LFIL | FILE-NAME in LOCAL-PARAMETER |
LLIB | LLIB | LIBRARY in LOCAL-PARAMETER |
LEL | LEL | ELEMENT in LOCAL-PARAMETER |
LELVER | LEV | VERSION in LOCAL-PARAMETER |
LLIBTYP | LETY | TYPE in LOCAL-PARAMETER |
LFPASS | LFPA | FILE-PASSWORD in LOCAL-PARAMETER |
LTUSER | LTUS | USER-IDENTIFICATION in lokaler TRANSFER-ADMISSION |
LTACC | LTAC | ACCOUNT in lokaler TRANSFER-ADMISSION 1 |
LTPASS | LTPA | PASSWORD in lokaler TRANSFER-ADMISSION |
LTAD | LTAD | TRANSFER-ADMISSION (lokal) |
LCCNS | LCCS | CODED-CHARACTER-SET in LOCAL-PARAMETER |
RSYNTAX | RSYN | REMOTE-PARAMETER |
RFILE | RFIL | FILE-NAME in REMOTE-PARAMETER |
RLIB | RLIB | LIBRARY in REMOTE-PARAMETER |
REL | REL | ELEMENT in REMOTE-PARAMETER |
RELVER | REV | VERSION in REMOTE-PARAMETER |
RLIBTYP | RETY | TYPE in REMOTE-PARAMETER |
RFPASS | RFPA | FILE-PASSWORD in REMOTE-PARAMETER |
RTUSER | RTUS | USER-IDENTIFICATION in ferner TRANSFER-ADMISSION |
RTACC | RTAC | ACCOUNT in ferner TRANSFER-ADMISSION |
RTPASS | RTPA | PASSWORD in ferner TRANSFER-ADMISSION |
RTAD | RTAD | TRANSFER-ADMISSION (fern) |
RPUSER | RPUS | USER-IDENTIFICATION in ferner PROCESSING-ADMISSION |
RPACC | RPAC | ACCOUNT in ferner PROCESSING-ADMISSION |
RPPASS | RPPA | PASSWORD in ferner PROCESSING-ADMISSION |
RSUCC | RSUC | SUCCESS-PROCESSING in REMOTE-PARAMETER |
RFAIL | RFAI | FAILURE-PROCESSING in REMOTE-PARAMETER |
RCCNS | RCCS | CODED-CHARACTER-SET in REMOTE-PARAMETER |
FAVAIL | AVAIL | FILE-AVAILABILITY |
STORACC | STAC | STORAGE-ACCOUNT |
ACCMOD | ACCES | ACCESS-MODE |
READF | READF | READ-FILE in der Struktur ACCESS-MODE |
INSDU | INSDU | INSERT-DATA-UNIT in der Struktur ACCESS-MODE |
REPLF | REPLF | REPLACE-FILE in der Struktur ACCESS-MODE |
EXTDF | EXTDF | EXTEND-FILE in der Struktur ACCESS-MODE |
ERADU | ERADU | ERASE-DATA-UNIT in der Struktur ACCESS-MODE |
READA | READA | READ-ATTRIBUTES in der Struktur ACCESS-MODE |
CHNGA | CHNGA | CHANGE-ATTRIBUTES in der Struktur ACCESS-MODE |
DELF | DELF | DELETE-FILE in der Struktur ACCESS-MODE |
LQUAL | LQF | LEGAL-QUALIFICATION |
RCPASS | RCPA | CREATE-PASSWORD in REMOTE-PARAMETER |
COMP | COMP | COMPRESS |
WRITE | WRMOD | WRITE-MODE |
DATA | DATYP | DATA-TYPE |
TRANSP | DATYP | TRANSPARENT |
DATENCR | COMP | DATA-ENCRYPTION |
TRANSID | TRID | |
RSIZE | RSIZE | RECORD-SIZE |
RFORM | PFORM | RECORD-FORMAT |
TFF | TFF | TARGET-FILE-FORMAT |
TRF | TRF | TARGET-RECORD-FORMAT |
MODDATE | MDATE | MODIFICATION-DATE |
FNCMODE | FNCM | FNC-MODE |
Im Feld für TRANS-ID bzw. TRANSID wird nach einem erfolgreichen NCOPYSYN-Makroaufruf die TRANSFER-ID hinterlegt (dezimal abdruckbar, linksbündig rechts mit Leerzeichen aufgefüllt). Das Feld muss >= 10 Byte sein bzw. 0, wenn die TRANSFER-ID nicht hinterlegt werden soll.
Im Feld FUD (Further Details) kann nach einem fehlerhaften NCOPYSYN-Makroaufruf eine Zusatzinformation (genaue Fehlerursache) zur eigentlichen Fehlermeldung zurückgeliefert werden. Das Feld muss <= 64 Byte sein oder Null, wenn die Zusatzinformationen im Feld FUD nicht hinterlegt werden sollen.
Wenn Sie aus einem ASSEMBLER-Programm mit einem FTAM- oder FTP-Partner File Transfer betreiben, bestehen natürlich dieselben Funktionseinschränkungen wie an der Kommandoschnittstelle. Sie können keine Bibliothekselemente übertragen, die im fernen System vorliegen, keine Folgeverarbeitung für das ferne System angeben und keine Dateien in komprimierter Form übertragen. Näheres finden Sie in der Beschreibung des TRANSFER-FILE(NCOPY)-Kommandos im Handbuch "openFT (BS2000) - Kommandoschnittstelle".