Fields to define
- the first table indicates the fields that you must update

Field values - the second table indicates the
values for each field of the communication area as seen from the sender
or the receiver side before and after the call.

The symbols used are indicated in the following table.

Symbol

Description

/

This field does not apply to the
current field

=

This field keeps the value taken in the previous stage

x

This field can be modified by the
Transfer CFT
(before the call) or by the user function (after the call)

*

This field can be defined by the user function

The return code (ret1) must always be defined.

Before the file is allocated

This is the first stage in a file transfer. During this stage, you indicate
the stages at which you want to take control by defining the masc parameter.

Fields to define

Field

Description

masc

Mask used to select stages

access

File access:

0: controlled
by
Transfer CFT

1: controlled
by the user

ret1

Return code:

0: processing
ok

9: refusal
and end of transfer

ret2

Error message

msg

Message sent to the standard output

Field values

Sender mode

Receiver mode

Field

Before

After

Before

After

mtype

0

0

0

0

masc

10000000...000

*

10000000...000

*

access

0

*

0

*

retsync

0

0

ret1

0

*

0

*

ret2

blank

*

blank

*

us-sem

us-ctx

idexit

IDEXIT

=

IDEXIT

=

exname

=

=

parmexit

PARM

=

PARM

=

version

FORMAT

=

FORMAT

=

language

LANGUAGE

=

LANGUAGE

=

reserv

RESERV

=

RESERV

=

waittask

WAITTASK

=

WAITTASK

=

part

PART

=

PART

=

idf

IDF

=

IDF

=

nidf

NIDF

=

NIDF

=

idt

IDT

=

IDT

=

direct

DIRECT

=

DIRECT

=

mode

MODE

=

MODE

=

relance

RELANCE

=

RELANCE

=

prot

PROT

=

PROT

=

prof

PROF

=

PROF

=

spart

SPART

=

SPART

=

rpart

RPART

=

RPART

=

suser

SUSER

=

SUSER

=

ruser

RUSER

=

RUSER

=

fpassw

FPASSW

x

FPASSW

=

sappl

SAPPL

=

SAPPL

=

rappl

RAPPL

=

RAPPL

=

userid

USERID

x

USERID

x

groupid

GROUPID

x

GROUPID

x

exec

EXEC

=

EXEC

=

fdate

FDATE

x

FDATE

x

ftime

FTIME

x

FTIME

x

fdisp

FDISP

=

FDISP

x

faction

FACTION

=

FACTION

x

state

STATE

x

STATE

x

parm

PARM

x

PARM

x

comment

COMMENT

x

COMMENT

x

fname

FNAME

x

FNAME

x

fksize

FKEYSIZE

x

FKEYSIZE

x

fkloc

FKEYPOS

x

FKEYPOS

x

flrecl

FLRECL

x

FLRECL

x

fblksize

FBLKSIZE

x

FBLKSIZE

x

frecfm

FRECFM

x

FRECFM

x

frecfmx

FRECFMX

x

FRECFMX

x

fspace

FSPACE

x

FSPACE

x

ftype

FTYPE

x

FTYPE

x

fcode

FCODE

x

FCODE

x

forg

FORG

x

FORG

x

facc

FACC

x

FACC

x

fsyst

FSYST

x

FSYST

x

nfname

NFNAME

x

NFNAME

=

nfver

NFVER

x

NFVER

=

nlrecl

NLRECL

x

NLRECL

=

nblksize

NBLKSIZE

x

NBLKSIZE

=

nrecfm

NRECFM

x

NRECFM

=

nrecfmx

NRECFMX

x

NRECFMX

=

nspace

NSPACE

x

NSPACE

=

ntype

NTYPE

x

NTYPE

=

ncode

NCODE

x

NCODE

=

norg

NORG

x

NORG

=

nsyst

NSYST

x

NSYST

=

ncomp

NCOMP

x

NCOMP

x

fcars

/

/

/

/

frecs

/

/

/

/

ecars

/

/

/

/

nrecs

/

/

/

/

rpos

/

/

/

/

notify

NOTIFY

x

NOTIFY

x

msg

blank

*

blank

*

ldata

/

/

/

/

idtu

IDTU

=

IDTU

=

cMode

CMODE

=

CMODE

=

cAuthPolicy

CAUTHPOLICY

=

CAUTHPOLICY

=

bCipher

BCIPHER

=

BCIPHER

=

sParm

SPARM

=

SPARM

=

sRemoteUserDn

SREMOTEUSERDN

=

SREMOTEUSERDN

=

sRemoteIssuerDn

SREMOTEISSUERDN

=

SREMOTEISSUERDN

=

sRemoteCaId

SREMOTECAID

=

SREMOTECAID

=

sUserCId

SUSERCID

=

SUSERCID

=

sCertFname

SCERTFNAME

=

SCERTFNAME

=

sProf

SPROF

=

SPROF

=

sRemoteSerial

SREMOTESERIAL

=

SREMOTESERIAL

=

ExitFree

EXITFREE

x

EXITFREE

x

nspart

NSPART

=

NSPART

=

nrpart

NRPART

=

NRPART

=

XferCycleId

TRKR

=

TRKR

=

XferObjectcId

"XFBTransfer"

=

"XFBTransfer"

=

Before the file is opened

If the user function manages file accessing, it must open the file at
this stage.

Fields to define

Field

Meaning

ret1

Return code:

0: processing
ok

9: refusal
and end of transfer

ret2

Error message

msg

Message sent to the standard output

Field values

Sender mode

Receiver mode

Field

Before

After

Before

After

mtype

1

1

1

1

masc

=

*

=

*

access

=

=

=

=

retsync

0

0

ret1

0

*

0

*

ret2

blank

*

blank

*

us-sem

us-ctx

idexit

=

=

=

=

exname

=

=

=

=

parmexit

=

=

=

=

version

=

=

=

=

language

=

=

=

=

reserv

=

=

=

=

waittask

=

=

=

=

part

=

=

=

=

idf

=

=

=

=

nidf

=

=

=

=

idt

=

=

=

=

direct

=

=

=

=

mode

=

=

=

=

relance

=

=

=

=

prot

=

=

=

=

prof

=

=

=

=

spart

=

=

=

=

rpart

=

=

=

=

suser

=

=

=

=

ruser

=

=

=

=

fpassw

=

=

=

=

sappl

=

=

=

=

rappl

=

=

=

=

userid

=

=

=

=

groupid

=

=

=

=

exec

=

=

=

=

fdate

=

=

=

=

ftime

=

=

=

=

fdisp

=

=

=

=

faction

=

=

=

=

state

=

=

=

=

parm

x

x

x

x

comment

=

=

=

=

fname

=

=

=

=

fdb

=

=

=

=

fksize

x

x

=

=

fkloc

x

x

=

=

flrecl

x

x

x

=

fblksize

x

x

x

=

frecfm

x

x

x

=

frecfmx

x

x

x

=

fspace

x

x

x

=

ftype

x

x

x

=

fcode

x

x

x

=

forg

x

x

x

=

facc

x

x

=

=

fsyst

=

=

=

=

nfname

=

=

=

=

nfver

=

=

=

=

nlrecl

x

x

=

=

nblksize

x

x

=

=

nrecfm

x

x

=

=

nrecfmx

x

x

=

=

nspace

x

x

=

=

ntype

x

x

=

=

ncode

x

x

=

=

norg

x

x

=

=

nsyst

=

=

=

=

ncomp

=

=

=

=

fcars

/

/

/

/

frecs

/

/

/

/

ecars

/

/

/

/

nrecs

/

/

/

/

rpos

/

/

/

/

notify

=

=

=

=

msg

blank

*

blank

*

ldata

/

/

/

/

idtu

=

=

=

=

cMode

=

=

=

=

cAuthPolicy

=

=

=

=

bCipher

=

=

=

=

sParm

=

=

=

=

sRemoteUserDn

=

=

=

=

sRemoteIssuerDn

=

=

=

=

sRemoteCaId

=

=

=

=

sUserCId

=

=

=

=

sCertFname

=

=

=

=

sProf

=

=

=

=

sRemoteSerial

=

=

=

=

ExitFree

=

x

=

x

nspart

=

=

=

=

nrpart

=

=

=

=

XferCycleId

=

=

=

=

XferObjectId

=

=

=

=

Before the start of the
transfer

Only a File type EXIT at the sender end, DIRECT = S’ can process this
stage.

Fields to define

Field

Description

ret1

Return code:

0: processing
ok

9: refusal
and end of transfer

ret2

Error message

msg

Message sent to the standard output

Field values

Sender mode

Receiver mode

Field

Before

After

Before

After

mtype

2

2

masc

=

*

access

=

=

retsync

0

ret1

0

*

ret2

blank

*

us-sem

us-ctx

idexit

=

=

exname

=

=

parmexit

=

=

version

=

=

language

=

=

reserv

=

=

waittask

=

=

part

=

=

idf

=

=

nidf

=

=

idt

=

=

direct

=

=

mode

=

=

relance

=

=

prot

=

=

prof

=

=

spart

=

=

rpart

=

=

suser

=

=

ruser

=

=

fpassw

=

=

sappl

=

=

rappl

=

=

userid

=

=

groupid

=

=

exec

=

=

fdate

=

=

ftime

=

=

fdisp

=

=

faction

=

=

state

=

=

parm

x

x

comment

=

=

fname

=

=

fdb

=

=

fksize

=

=

fkloc

=

=

flrecl

x

=

fblksize

x

=

frecfm

x

=

frecfmx

x

=

fspace

x

=

ftype

x

=

fcode

x

=

forg

x

=

facc

=

=

fsyst

=

=

nfname

=

=

nfver

=

=

nlrecl

x

x

nblksize

x

x

nrecfm

x

x

nrecfmx

x

x

nspace

x

x

ntype

x

x

ncode

x

x

norg

x

x

nsyst

=

=

ncomp

=

=

fcars

/

/

frecs

/

/

ecars

/

/

nrecs

/

/

rpos

/

/

notify

=

=

msg

blank

*

ldata

/

/

idtu

=

=

cMode

=

=

cAuthPolicy

=

=

bCipher

=

=

sParm

=

=

sRemoteUserDn

=

=

sRemoteIssuerDn

=

=

sRemoteCaId

=

=

sUserCId

=

=

sCertFname

=

=

sProf

=

=

ExitFree

=

x

nspart

=

=

nrpart

=

=

XferCycleId

=

=

XferObjectId

=

=

Before
a record is sent or after it is received

At the sender end, DIRECT =
S, the user function is called before the record is sent to the
remote site, and after the record is read if
Transfer CFT manages file
accessing. If file accessing is managed by the user function, the latter
has to read the record and define the ldata field as well as the zdata
parameter before handing back control to
Transfer CFT.

At the receiver end, DIRECT = R,
the user function is called after the record is received, and before the
record is written if
Transfer CFT manages file accessing. If file accessing
is managed by the user function, the latter has to write the record before
handing back control to
Transfer CFT.

At this stage (DATA_TYP) and before the record is sent or after it is
received, the user function can perform the following operations:

Modify the record
sent or to be sent

Insert one or more
records

Delete the record

Set the "END
of FILE" event

Fields to define

Field

Description

ret1

Return code:

0 = processing
ok.
Record not modified

4 = end
of file
The previous record becomes the last one

9 = refusal
and end of transfer

If file accessing is managed by
Transfer CFT:

1 = record
modified
The user function must modify the ldata field and the zdata parameter.
The record length must be consistent with the value of the flrecl field
in order not to cause a read or write error.

2 = one
or more records inserted
At the time the first record is inserted, you can save the current
record in the zwork working area before handing back control to Transfer
CFT. In the insertion mode (as long as ret1 = 2), the zdata is not defined
by
Transfer CFT in the following DATA_TYP stages and the user can continue
to insert as many records as required.

3 = record
deleted
On returning from the user function,
Transfer CFT ignores the current
record. The record is not sent when in send mode, and not written into
the file when in receive mode.

ret2

Error message

msg

Message sent to the standard output

ldata

Record length (in bytes)

Compression

Records are compressed as a result of a negotiation between the sender
partner and the receiver partner. At the
sender end, records are compressed before being sent by the
Transfer CFT. At the receiver end, the
records are decompressed by the
Transfer CFT immediately after
they are received. The records
Transfer CFT supplies to the user function
are never in compressed form.

The ncomp field designates the compression algorithm used. The default
value of this field is the value specified in the NCOMP parameter of the
CFTSEND or CFTRECV command associated with the File type EXIT.

The user function can modify the ncomp field at the first stage in the
transfer (ALLOC_TYP). A zero value inhibits compression.