Transfer CFT 3.3.2 Users Guide Save PDF Selected topic Selected topic and subtopics All content Symbolic variables A symbolic variable represents a transfer data item whose value is not known at the time Transfer CFT parameters are set, but only at the time the transfer is executed. For example, prior to a transfer the transfer identifier IDT is not known, so the symbolic variable &IDT can be used to reference the value. For more information see Symbolic variable syntax. Symbolic variables may be used in defining the values of certain parameters of the commands and procedure files associated with transfers. This avoids having to repeat the same basic descriptions a considerable number of times: a single CFTSEND command can hence be applied to several files by using the symbolic variables in the FNAME parameter. This also makes it possible to only have to describe one transfer-related procedure applicable to several transfers. The real value of the parameter is substituted for the symbolic variable, at the time the Transfer CFT command or the procedure is executed. Symbolic variable syntax The symbolic variable syntax is as follows: A special character in the first position (leftmost) Optionally followed by the character(s): Character Indicates... + That the variable toggles to upper case - That the variable toggles to lower case : That the right padding of the variable is suppressed < The left justification of the variable (default value) > The right justification of the variable These characters can be used in combination, such as +: or >+:. See the Example using optional characters Optionally followed by a character string to be used as a prefix (-string_prefix) and/or a character string to be used as a suffix (+string_suffix) and/or a character string to be used as a substitute/alternate value (=string_alternate) Optionally followed by a numeric formula with a syntax ‘n’ or ‘p.’ or ‘p.n’ And then a character string representing the identifier of the variable to be substituted Refer to the Transfer CFT Operations Guide that corresponds to your OS, in order to determine the special character <char_symb> used on your system. The special character which is used in the rest of this document, as well as in the Transfer CFT Operations Guide corresponding to your OS, is the ‘&’ character. The identifiers, recognized by Transfer CFT, which can be used in the syntax of a symbolic variable are indicated in the List of symbolic variables. In this section, the ‘VAR’ notation is used to generically designate such an identifier. The substitution mechanism, which is used to assign a value to the symbolic variable using the effective value of the ‘VAR’ identifier, depends on the numeric formula indicated after the & character. According to the syntax used: &VAR syntax (numeric formula not used)The value substituted for the symbolic variable equals the effective value of the ‘VAR’ identifier, truncated of the blank characters on the right. &+VAR syntax:The value substituted for the symbolic variable is shifted to upper case. &nVAR syntax:The value substituted for the symbolic variable corresponds to a fixed length string of n characters, equal to the string corresponding to the effective value of ‘VAR’, truncated as required, or with blank characters added to the right.The first character in this string corresponds to the first character, from the left, of the string corresponding to the value of the ‘VAR’ identifier. &p.VAR syntax:The value substituted for the symbolic variable corresponds to the character substring formed from the effective value of ‘VAR’ such that:The first character of this substring corresponds to the p th character (from the left) of the string corresponding to the value of ‘VAR’The length corresponds exactly to the length of the effective value of ‘VAR’, the character in the i position being equal to the character in the p+i position of the value of ‘VAR’. If the length of the value of ‘VAR’ is m characters, the length of the substring will consequently be m-p+1 characters &p.nVAR syntax:The value substituted for the symbolic variable corresponds to the character sub-string formed from the effective value of ‘VAR’ such that:The first character of this substring corresponds to the p th character (from the left) of the string corresponding to the value of ‘VAR’This substring is n characters long (fixed length), the character in the i position being equal to the character in the p+i position of the value of ‘VAR’. If the length of the effective value of VAR is less than p+n characters, the characters completing the substring are blank characters &(-string_prefix) (+string_suffix) (=string_alternate)p.nVAR syntax: After the &p.nVAR symbolic variable has been substituted: The <str_prefix>character string is added before the variable, if the substituted variable is not empty The <str_suffix> character string is added after the variable, if the substituted variable is not empty The <str_alternate> character string is used if the substituted variable is empty The character strings <str_prefix>, <str_suffix> and <str_alternate> can contain a symbolic variable Example symbolic variable usage If PART=PART1 and IDF=TEST, then FNAME=&IDF&PART.tst is substituted by FNAME=TESTPART1.tst In formats in which "n" or "p" are used, the following remarks are valid: A value of "n" equal to 0 is non significant A value of "p" equal to 0 is non significant A position "p" greater than the length of the "effective" value of ‘VAR’ gives, after substitution, a string of zero length This allows identifiers of length less than p to be selected, for example. Note &.VAR is substituted as &VAR. The <char_symb> concatenated with a point is substituted as <char_symb>. The rule applies even if VAR is not an identifier known to Transfer CFT. For example, for the formats &.VAR (&0.VAR, &0.0VAR or &.0VAR), the value substituted is not the effective value of the identifier ‘VAR’ but the literal string &VAR. Example of possible formats Given the generic identifier ‘VAR’ of effective value, the character string: ‘F2345’. Depending on the format of the associated symbolic variable, the substituted values are: &VAR = ’F2345’ &3VAR = ’F23’&7VAR = ’F2345 ’ &.VAR = ’&VAR’ (not substituted)&.4VAR = 'F2345' &1.VAR = ’F2345’&2.VAR = ’2345’&5.VAR = ’5’&6.VAR = ’’ &1.1VAR = ’F’&2.1VAR = ’2’&5.1VAR = ’5’&6.1VAR = ’ ’ &1.2VAR = ’F2’&2.3VAR = ’234’&5.6VAR = ’5 ’ (5 blank characters)&6.7VAR = ’ ’ (7 blank characters) Example using optional characters Given the generic identifier ‘VAR’ of an effective value, and the character string: ‘SEND'. Depending on the associated symbolic variable format, the substituted values are: Example of rebuilding filenames using symbolic variables Given the syntax FNAME=&FROOT&(-.)FSUF: If &FSUF is empty, FNAME gets the value &FROOT If &FSUF is not empty, FNAME gets the value &FROOT.&FSUF For example, if you have a file readme.txt on two different platforms: Given the syntax FNAME=&(=DUMMY)PARM,If &PARM is empty, FNAME gets the value DUMMYIf &PARM is not empty, FNAME gets the value &PARM Given the syntax FNAME=&(-PREF)(+SUF)(=DUMMY)PARM,If &PARM is empty, FNAME gets the value DUMMYIf &PARM is not empty, FNAME gets the value PREF&PARMSUFF Note To add a closing parenthesis within the str_prefix, str_suffix and str_alternate, it must be preceded by the character ‘&’: Given the syntax FNAME=&(+(1234&))PARMIf &PARM is not empty, FNAME gets the value &PARM(1234) Example of breaking down files names Break down the name of the file to send using the symbolic variables &FUNIT , &FUNITC , &FPATH , &FROOT , &FSUF (applied to the SFNAME). Break down the name of the received file using the symbolic variables &UNIT, &UNITC, &PATH , &ROOT, &SUF (applied to the FNAME). List of symbolic variables The table below indicates all the symbolic variables available, using the syntax &VAR. The substituted value, corresponding to the effective value of the identifier ‘VAR’ (truncated of the blank characters on the right), is also indicated. Note The other syntax shown above may also be used, for each of the identifiers listed. List of symbolic variables Domain Symbolic variable Maximum length Corresponding substituted value PARTNERS &PART 32 Partner name (ID of CFTPART) &GROUP 32 Group to which the partner belongs &SPART 32 Sending partner name &RPART 32 Receiving partner name &IPART 32 Intermediate partner name &NPART 32 Network name of partner sending data (NSPART or NRPART according to the transfer direction) &NSPART 24 Network identifier by which the local Transfer CFT identifies itself to its partner &NRPART 24 Network identifier by which the remote partner identifies itself to the local Transfer CFT USER &SUSER 32 Sending user name &RUSER 32 Receiving user name &USERID 32 Local user identifier &GROUPID 32 Group identifier linked to the userid &COMMENT 160 Comment indicated in CFTSEND/SEND or CFTRECV/RECV In listcat content=debug this is attribute is MSG &NOTIFY 8 User notified on transfer &SJOBNAME 15 Transfer CFT job name, can be used in exec and cronjob procedures APPLICATIONS &SAPPL 8 48 Sending application name PeSIT E PeSIT E CFT/CFT &RAPPL 8 48 Receiving application namePeSIT EPeSIT E CFT/CFT &IDA 64 Application identifier &PARM 512 Parameter &PI99 512 PI99 contents (PeSIT E) TRANSFER &IDT 8 Transfer identifier &NIDT 8 Protocol transfer identifier &IDTU 8 Local transfer counter (unique) &PIDTU 8 Parent idtu of the child transfers &PHASE 1 Processing phases to help manage transfer flows &PHASESTEP 1 Step in processing phase &APPSTATE 32 State step for the processing script to restart if relaunched &NSUB 4 Counter for the submitting of end-of-transfer procedures, error procedures and procedures submitted by SUBMIT.If 4 characters long, the counter is reset to 1 after 9999 &DIAGI 8 Internal diagnostic code value &DIAGP 64 Protocol diagnostic code value &DIAGC 254 Complimentary diagnostic code value &COMP 2 Compression negotiated for the transfer Compression negotiated for the transfer When listcat content=debug this is attribute is FCOMP / COMPNEG &NBT 20 Number of bytes transferred &PRI 3 Transfer CFT priority for the transfer (0 to 255) &QQ 3 Number of the day in the year associated with the transfer identifier &SELFNAME 512 Name of the generic transfer selection file &FCODE 1 Code for the data in a file &TRTYPE 8 Available at the end of transfer to designate FILE, MESSAGE, REPLY, or NACK When using listcat content=debug the attribute is TYPE &NCODE 1 Code for the data sent over the network &EXITFREE 64 Free communication area between multiple exits &XLATE 32 Transcoding table used during transfer &MODE 1 Server mode = ‘S’ transfer Requester mode = ‘R’ transfer FILE &IDF 32 Model file identifier (logical name) &FNAME 512 Physical file local name &FKEYLEN 5 Length (received) of the indexed file key at the sender’s site &FKEYPOS 5 Position (received) of the indexed file key at the sender’s site &NBR 20 Number of records in the file For listcat=content debug, this attribute is FRECS &BLKNUM 6 Catalog block number &XLATE 32 Identifier of the translation table used &NBC 20 Number of bytes in the transferred file &NIDF 512 Model file network identifier &FDB 64 Database name &FCHARSET 32 Local file encoding &NCHARSET 32 Destination file encoding for network data &WORKINGDIR 512 Specify a directory other than the default directory &HOME 512 Keyword that allows different users to work with files placed in their home directory Receiving &NFNAME 512 Physical file network name &UNIT 512 Physical file volume name for received file &UNITC 512 Physical file unit class for received file (z/OS) &PATH 512 Local file path of the received file &ROOT 512 Local file root for the received file &SUF 512 Local file suffix for the received file Sending &SFNAME 512 Name of file to send &FUNIT 512 Physical file volume name for sending file &FUNITC 512 Physical file unit for sending file (z/OS) &FPATH 512 Prefix (file path) of the sending file &FROOT 512 Root (actual file name) of the sending file &FSUF 512 Suffix associated with file name of the sending file MESSAGES &IDM 32 Message identifier &MSG 80 512 Message text PeSIT D CFT PeSIT E DATE and TIME associated with a FILE &FDATE 8 Date associated with the file &FTIME 8 Time associated with the file &FYEAR 2 Year associated with the file &FMONTH 2 Month associated with the file &FDAY 2 Day associated with the file DATE and TIME associated with a CATALOG &CDATE 8 Catalog entry date &CTIME 8 Catalog entry time &CYEAR 2 Catalog entry year &CMONTH 2 Catalog entry month &CDAY 2 Catalog entry day DATE and TIME associated with a TRANSFER &BDATE 8 Transfer start date When listcat content=debug the start date is DATEB instead of BDATE &BTIME 8 Transfer start time &BYEAR 2 Start year for the transfer &BMONTH 2 Start month for the transfer &BDAY 2 Transfer start day &EDATE 8 Transfer end date When listcat content=debug the end date is DATEE instead of EDATE &ETIME 8 Transfer end time f &EYEAR 2 Transfer end year &EMONTH 2 Transfer end month &EDAY 2 Transfer end day &TT 10 Transmission duration in seconds (TIMES attribute in the Transfer CFT catalog) CONTROL OUTPUT &FLOG 512 Name of last log file used by Transfer CFT &FACCNT 512 Name of last statistics file used by Transfer CFT &FCAT 512 Name of catalog used by Transfer CFT TRACKING &XFRCYCID 250 Processing cycle identifier (set of tracked instances that concern a single transfer) &XFROBJID 32 Tracked object name SSL (1) &SSL 1 Indicates if the session the transfer was carried out on was secured (‘1’) or not (‘0’) &SSLMODE 1 SSL session mode on which the transfer was carried out. (C: Client / S: Server) &SSLAUTH 1 Authentication rule(A: Anonymous /S: Server / B: Both) &SSLCIPH 2 SSL cipher suite &SSLPROF 32 SSL profile identifier &SSLPARM 64 SSL user parameter Parm parameter of the CFTSSL command &SSLRMCA 256 Certificate identifier of the authority that signed the certificate presented by the remote partner &SSLUSER 256 Identifier of the user certificate used locally for authentication by the remote partner &SSLCFNAM 64 Physical name of the file in which the certificate chain presented by the remote partner was recorded This is the same as the CFTSSL CERFNAME parameter value SYSTEM &SYSDATE 8 System date &SYSTIME 8 System time &SYSQQ 3 Number of the day in the year associated with the system date &SYSDAY 1 Day of the week (Sunday = 0, 6 = Saturday) CAT/ ACCOUNT ENVIRONMENT &CFTNAME 32 Name of the Transfer CFT (CFTPARM PART parameter) &CFTEVENT 16 The type of job submitted by Transfer CFT, see (2) below &SJOBNAME 15 The Transfer CFT jobname, which is the name of the job submitting the cronjob or exec procedure (z/OS) &CFTVERSION 16 The Transfer CFT version &CFTSP 16 The latest SP applied to the Transfer CFT &CFTPATCH 16 The latest patch applied to the Transfer CFT &CFTTARGET 16 The Transfer CFT platform with additional details required for a support ticket, for example &CFTHOSTOS 64 The Transfer CFT hostname &CFTHOSTMACHINE 64 The machine processor name where Transfer CFT is running (1): These variables are linked to SSL use. (2): EXEC in SEND, EXECSF, EXECSM, EXEC in RECV, EXECRF, EXECRM, EXECE, EXECSE, EXECRE, EXECA, EXECSFA, EXECSMA, PREEXEC, EXITEOT, EXECSUB, EXECSUBA, EXECSUBPRE Note The symbolic variable formats concerning dates and times are: Time: HHMMSSCC Complete date: YYYYMMDD Year: YY Month: MM Day: DD Sender The symbolic variables are substituted by the values of the local parameters of the commands. Receiver The symbolic variables are substituted: By the sender parameter values when these values are conveyed by the protocol By default, by the corresponding local parameter values Using symbolic variables Symbolic variables can be used: To assign a value to certain parameters of the parameter setting or transfer commands In the processing operations defined by the user in the procedures associated with the transfers Parameter Symbolic variables WFNAME, NFNAME, FNAME for the SEND and RECV commands &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &BDATE, &BTIME, &BYEAR, &BMONTH, &BDAY &SPART, &RPART, &PART, &NPART, &GROUP &SUSER, &RUSER &SAPPL, &RAPPL &IDF, &PARM, &IDA &NIDF &NFNAME (only for FNAME and WFNAME) &IDT (only the FNAME and WFNAME parameters when you receive a file) &SYSQQ &WORKINGDIR EXEC, EXECE, PREEXEC for the SEND and RECV commands EXECRE, EXECSE, EXECRF, EXECSF, EXECSFA, EXECSM, EXECRM, EXECSMA for CFTPARM command &SPART, &RPART, &PART, &GROUP, &NRPART, &NSPART, &USERID,&GROUPID &BDATE, &BTIME, &BYEAR, &BMONTH, &BDAY &CDATE, &CTIME, &CYEAR, &CMONTH, &CDAY &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &EDATE, &ETIME, &EYEAR, &EMONTH, &EDAY &COMMENT &SUSER, &RUSER &SAPPL, &RAPPL &PARM, &MSG, &PI99 &DIAGI, &DIAGP, &DIAGC &FNAME*, &UNIT*, &UNITC*, &NFNAME*, &NFVER*, &FDB*, &SELFNAME*, &FUNITC*, &FUNIT*, &FPATH*, &FROOT*, &SFNAME*, &WORKINGDIR*, &HOME* &IDF*, &PIDTU, &IDTU, &IDT, &NIDT, &NIDF*, &IDA, &IDM, &NSUB, &PATH*, &ROOT*, &SUF* &USERID (only to name EXECRE) &FCODE, &NCODE, &fcharset, &ncharset &BLKNUM &CFTEVENT, &CFTNAME &FMCL, &MODE, &TRTYPE &FBLKSIZE*, &FKEYLEN*, &FKEYPOS*, &NKEYLEN*, &NKEYPOS*, &FLRECL*, &FORG*, &FRECFM*, &FSPACE*, &FTYPE* &NBR*, &NBC*, &NBT*, &TT, &QQ, &COMP, &NOTIFY, &SYSQQ &SSLAUTH, &SSLCIPH, &SSLMODE, &SSLPROF, &SSLPARM, &SSLRMCN, &SSLRMCA, &SSLUSER, &SSLCFNA, &SSL (See Transport security symbolic variables) &XLATE &SYSDATE, &SYSTIME, &SYSDAY &PRI &XFRCYCID, &XFROBJID &EXITFREE &JOBNAME, &NCHARSET &APPSTATE, &PHASESTEP, &PHASE &SOURCEAPPL, &TARGETAPPL Note You cannot use the variables designated by asterisk (*) in procedures associated with the EXEC* parameters relative to message transfers. EXEC for CFTACCNT or CFTLOG &FACCNT, &FLOG TLVCEXEC, TLVWEXEC for CFTCAT &FCAT USERID parameter of the CFTSEND and CFTRECV commands &RUSER, &SUSER, &PART EXIT of the Transfer CFT CFTSEND/SEND and CFTRECV/RECV commands &IDF FNAME parameter of CFTDEST &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &PART, &RPART, &SPART, &NPART, &GROUP &SUSER, &RUSER &SAPPL, &RAPPL &IDF, &PARM, &IDA &NIDF &NFNAME, &NFVER The name of the identifier of the IDF parameter of the CFTPROT command &NIDF The IDA parameter of SEND &IDT Example A file name can consist of the day’s date and the partner’s name: the description command for the PAY file in reception. RECV IDF = PAY, FNAME = PAY&4PART.&FDAY When a file of this type is received from the ALPHSITE partner on July 14 13: RECV PART = ALPHSITE, IDF = PAY Transfer CFT creates and writes to a file: PAYALPH.14 See the end-of-transfer examples in Transfer-related procedure examples. Defining symbolic variable blacklists for processing scripts UNIX and Windows only You can use blacklist characters as a POSIX Regular Extended expression to define forbidden characters in a processing script. To prevent unauthorized actions, do not use these characters in symbolic variables. Defining the blacklist Use the uconf cft.server.processing_scripts_variables_blacklist parameter to define the character sequence to forbid. We recommend setting this parameter to "`|\$(|;|&&||" for UNIX, and "&" for Windows. UNIX uconfset id=cft.server.processing_scripts_variables_blacklist , value="`|\$\(""`|\$(|;|&&||" Windows uconfset id=cft.server.processing_scripts_variables_blacklist , value="&" DIAGI 158 This DIAGI indicates that there was an error while replacing the Transfer CFT variables. Log messages CFTS67E: Error replacing variable <var> <error message> CFTS68E: PART=&part [IDF=&idf | IDM=&idm]IDT=&idt _ &fname not executed Transport security symbolic variables This section describes additional symbolic variables relating to transport security. These symbolic variables can be used in end-of-transfer procedures EXECRF, EXECSF, EXECRM, and so on. These variables indicate whether transport security is used, and if so, the session parameters such as the authentication mode, suite negotiated and certificates used. Symbolic variable Description &SSL Indicates whether security was implemented (1 = yes, 0 = no) for the session in which the transfer was performed. &SSLMODE Direction of the SSL session in which the transfer was performed. C signifies client and S signifies server. &SSLAUTH Authentication mode of the SSL session in which the transfer was performed. S signifies that only the server was authenticated. B signifies that the client and server were authenticated. A signifies that the anonymous mode has been implemented. &SSLCIPH Suite negotiated for the SSL session. This suite is set to one of the values from the suites supported by Transfer CFT (1, 2, 4, 5, 9, 10 or 47). &SSLPROF Identifier of the CFTSSL command used to negotiate the session parameters. &SSLPARM Value of the PARM parameter in the CFTSSL command used to negotiate the session parameters. &SSLRMCA Certificate identifier of the authority that signed the certificate presented by the remote partner. &SSLRMCN Remote user certificate CN field. &SSLUSER Identifier of the user certificate used locally for authentication by the remote partner. &SSLCFNAM Physical name of the file in which the certificate chain presented by the remote partner was recorded. This is the same as the CFTSSL CERFNAME parameter value. Related Links
Symbolic variables A symbolic variable represents a transfer data item whose value is not known at the time Transfer CFT parameters are set, but only at the time the transfer is executed. For example, prior to a transfer the transfer identifier IDT is not known, so the symbolic variable &IDT can be used to reference the value. For more information see Symbolic variable syntax. Symbolic variables may be used in defining the values of certain parameters of the commands and procedure files associated with transfers. This avoids having to repeat the same basic descriptions a considerable number of times: a single CFTSEND command can hence be applied to several files by using the symbolic variables in the FNAME parameter. This also makes it possible to only have to describe one transfer-related procedure applicable to several transfers. The real value of the parameter is substituted for the symbolic variable, at the time the Transfer CFT command or the procedure is executed. Symbolic variable syntax The symbolic variable syntax is as follows: A special character in the first position (leftmost) Optionally followed by the character(s): Character Indicates... + That the variable toggles to upper case - That the variable toggles to lower case : That the right padding of the variable is suppressed < The left justification of the variable (default value) > The right justification of the variable These characters can be used in combination, such as +: or >+:. See the Example using optional characters Optionally followed by a character string to be used as a prefix (-string_prefix) and/or a character string to be used as a suffix (+string_suffix) and/or a character string to be used as a substitute/alternate value (=string_alternate) Optionally followed by a numeric formula with a syntax ‘n’ or ‘p.’ or ‘p.n’ And then a character string representing the identifier of the variable to be substituted Refer to the Transfer CFT Operations Guide that corresponds to your OS, in order to determine the special character <char_symb> used on your system. The special character which is used in the rest of this document, as well as in the Transfer CFT Operations Guide corresponding to your OS, is the ‘&’ character. The identifiers, recognized by Transfer CFT, which can be used in the syntax of a symbolic variable are indicated in the List of symbolic variables. In this section, the ‘VAR’ notation is used to generically designate such an identifier. The substitution mechanism, which is used to assign a value to the symbolic variable using the effective value of the ‘VAR’ identifier, depends on the numeric formula indicated after the & character. According to the syntax used: &VAR syntax (numeric formula not used)The value substituted for the symbolic variable equals the effective value of the ‘VAR’ identifier, truncated of the blank characters on the right. &+VAR syntax:The value substituted for the symbolic variable is shifted to upper case. &nVAR syntax:The value substituted for the symbolic variable corresponds to a fixed length string of n characters, equal to the string corresponding to the effective value of ‘VAR’, truncated as required, or with blank characters added to the right.The first character in this string corresponds to the first character, from the left, of the string corresponding to the value of the ‘VAR’ identifier. &p.VAR syntax:The value substituted for the symbolic variable corresponds to the character substring formed from the effective value of ‘VAR’ such that:The first character of this substring corresponds to the p th character (from the left) of the string corresponding to the value of ‘VAR’The length corresponds exactly to the length of the effective value of ‘VAR’, the character in the i position being equal to the character in the p+i position of the value of ‘VAR’. If the length of the value of ‘VAR’ is m characters, the length of the substring will consequently be m-p+1 characters &p.nVAR syntax:The value substituted for the symbolic variable corresponds to the character sub-string formed from the effective value of ‘VAR’ such that:The first character of this substring corresponds to the p th character (from the left) of the string corresponding to the value of ‘VAR’This substring is n characters long (fixed length), the character in the i position being equal to the character in the p+i position of the value of ‘VAR’. If the length of the effective value of VAR is less than p+n characters, the characters completing the substring are blank characters &(-string_prefix) (+string_suffix) (=string_alternate)p.nVAR syntax: After the &p.nVAR symbolic variable has been substituted: The <str_prefix>character string is added before the variable, if the substituted variable is not empty The <str_suffix> character string is added after the variable, if the substituted variable is not empty The <str_alternate> character string is used if the substituted variable is empty The character strings <str_prefix>, <str_suffix> and <str_alternate> can contain a symbolic variable Example symbolic variable usage If PART=PART1 and IDF=TEST, then FNAME=&IDF&PART.tst is substituted by FNAME=TESTPART1.tst In formats in which "n" or "p" are used, the following remarks are valid: A value of "n" equal to 0 is non significant A value of "p" equal to 0 is non significant A position "p" greater than the length of the "effective" value of ‘VAR’ gives, after substitution, a string of zero length This allows identifiers of length less than p to be selected, for example. Note &.VAR is substituted as &VAR. The <char_symb> concatenated with a point is substituted as <char_symb>. The rule applies even if VAR is not an identifier known to Transfer CFT. For example, for the formats &.VAR (&0.VAR, &0.0VAR or &.0VAR), the value substituted is not the effective value of the identifier ‘VAR’ but the literal string &VAR. Example of possible formats Given the generic identifier ‘VAR’ of effective value, the character string: ‘F2345’. Depending on the format of the associated symbolic variable, the substituted values are: &VAR = ’F2345’ &3VAR = ’F23’&7VAR = ’F2345 ’ &.VAR = ’&VAR’ (not substituted)&.4VAR = 'F2345' &1.VAR = ’F2345’&2.VAR = ’2345’&5.VAR = ’5’&6.VAR = ’’ &1.1VAR = ’F’&2.1VAR = ’2’&5.1VAR = ’5’&6.1VAR = ’ ’ &1.2VAR = ’F2’&2.3VAR = ’234’&5.6VAR = ’5 ’ (5 blank characters)&6.7VAR = ’ ’ (7 blank characters) Example using optional characters Given the generic identifier ‘VAR’ of an effective value, and the character string: ‘SEND'. Depending on the associated symbolic variable format, the substituted values are: Example of rebuilding filenames using symbolic variables Given the syntax FNAME=&FROOT&(-.)FSUF: If &FSUF is empty, FNAME gets the value &FROOT If &FSUF is not empty, FNAME gets the value &FROOT.&FSUF For example, if you have a file readme.txt on two different platforms: Given the syntax FNAME=&(=DUMMY)PARM,If &PARM is empty, FNAME gets the value DUMMYIf &PARM is not empty, FNAME gets the value &PARM Given the syntax FNAME=&(-PREF)(+SUF)(=DUMMY)PARM,If &PARM is empty, FNAME gets the value DUMMYIf &PARM is not empty, FNAME gets the value PREF&PARMSUFF Note To add a closing parenthesis within the str_prefix, str_suffix and str_alternate, it must be preceded by the character ‘&’: Given the syntax FNAME=&(+(1234&))PARMIf &PARM is not empty, FNAME gets the value &PARM(1234) Example of breaking down files names Break down the name of the file to send using the symbolic variables &FUNIT , &FUNITC , &FPATH , &FROOT , &FSUF (applied to the SFNAME). Break down the name of the received file using the symbolic variables &UNIT, &UNITC, &PATH , &ROOT, &SUF (applied to the FNAME). List of symbolic variables The table below indicates all the symbolic variables available, using the syntax &VAR. The substituted value, corresponding to the effective value of the identifier ‘VAR’ (truncated of the blank characters on the right), is also indicated. Note The other syntax shown above may also be used, for each of the identifiers listed. List of symbolic variables Domain Symbolic variable Maximum length Corresponding substituted value PARTNERS &PART 32 Partner name (ID of CFTPART) &GROUP 32 Group to which the partner belongs &SPART 32 Sending partner name &RPART 32 Receiving partner name &IPART 32 Intermediate partner name &NPART 32 Network name of partner sending data (NSPART or NRPART according to the transfer direction) &NSPART 24 Network identifier by which the local Transfer CFT identifies itself to its partner &NRPART 24 Network identifier by which the remote partner identifies itself to the local Transfer CFT USER &SUSER 32 Sending user name &RUSER 32 Receiving user name &USERID 32 Local user identifier &GROUPID 32 Group identifier linked to the userid &COMMENT 160 Comment indicated in CFTSEND/SEND or CFTRECV/RECV In listcat content=debug this is attribute is MSG &NOTIFY 8 User notified on transfer &SJOBNAME 15 Transfer CFT job name, can be used in exec and cronjob procedures APPLICATIONS &SAPPL 8 48 Sending application name PeSIT E PeSIT E CFT/CFT &RAPPL 8 48 Receiving application namePeSIT EPeSIT E CFT/CFT &IDA 64 Application identifier &PARM 512 Parameter &PI99 512 PI99 contents (PeSIT E) TRANSFER &IDT 8 Transfer identifier &NIDT 8 Protocol transfer identifier &IDTU 8 Local transfer counter (unique) &PIDTU 8 Parent idtu of the child transfers &PHASE 1 Processing phases to help manage transfer flows &PHASESTEP 1 Step in processing phase &APPSTATE 32 State step for the processing script to restart if relaunched &NSUB 4 Counter for the submitting of end-of-transfer procedures, error procedures and procedures submitted by SUBMIT.If 4 characters long, the counter is reset to 1 after 9999 &DIAGI 8 Internal diagnostic code value &DIAGP 64 Protocol diagnostic code value &DIAGC 254 Complimentary diagnostic code value &COMP 2 Compression negotiated for the transfer Compression negotiated for the transfer When listcat content=debug this is attribute is FCOMP / COMPNEG &NBT 20 Number of bytes transferred &PRI 3 Transfer CFT priority for the transfer (0 to 255) &QQ 3 Number of the day in the year associated with the transfer identifier &SELFNAME 512 Name of the generic transfer selection file &FCODE 1 Code for the data in a file &TRTYPE 8 Available at the end of transfer to designate FILE, MESSAGE, REPLY, or NACK When using listcat content=debug the attribute is TYPE &NCODE 1 Code for the data sent over the network &EXITFREE 64 Free communication area between multiple exits &XLATE 32 Transcoding table used during transfer &MODE 1 Server mode = ‘S’ transfer Requester mode = ‘R’ transfer FILE &IDF 32 Model file identifier (logical name) &FNAME 512 Physical file local name &FKEYLEN 5 Length (received) of the indexed file key at the sender’s site &FKEYPOS 5 Position (received) of the indexed file key at the sender’s site &NBR 20 Number of records in the file For listcat=content debug, this attribute is FRECS &BLKNUM 6 Catalog block number &XLATE 32 Identifier of the translation table used &NBC 20 Number of bytes in the transferred file &NIDF 512 Model file network identifier &FDB 64 Database name &FCHARSET 32 Local file encoding &NCHARSET 32 Destination file encoding for network data &WORKINGDIR 512 Specify a directory other than the default directory &HOME 512 Keyword that allows different users to work with files placed in their home directory Receiving &NFNAME 512 Physical file network name &UNIT 512 Physical file volume name for received file &UNITC 512 Physical file unit class for received file (z/OS) &PATH 512 Local file path of the received file &ROOT 512 Local file root for the received file &SUF 512 Local file suffix for the received file Sending &SFNAME 512 Name of file to send &FUNIT 512 Physical file volume name for sending file &FUNITC 512 Physical file unit for sending file (z/OS) &FPATH 512 Prefix (file path) of the sending file &FROOT 512 Root (actual file name) of the sending file &FSUF 512 Suffix associated with file name of the sending file MESSAGES &IDM 32 Message identifier &MSG 80 512 Message text PeSIT D CFT PeSIT E DATE and TIME associated with a FILE &FDATE 8 Date associated with the file &FTIME 8 Time associated with the file &FYEAR 2 Year associated with the file &FMONTH 2 Month associated with the file &FDAY 2 Day associated with the file DATE and TIME associated with a CATALOG &CDATE 8 Catalog entry date &CTIME 8 Catalog entry time &CYEAR 2 Catalog entry year &CMONTH 2 Catalog entry month &CDAY 2 Catalog entry day DATE and TIME associated with a TRANSFER &BDATE 8 Transfer start date When listcat content=debug the start date is DATEB instead of BDATE &BTIME 8 Transfer start time &BYEAR 2 Start year for the transfer &BMONTH 2 Start month for the transfer &BDAY 2 Transfer start day &EDATE 8 Transfer end date When listcat content=debug the end date is DATEE instead of EDATE &ETIME 8 Transfer end time f &EYEAR 2 Transfer end year &EMONTH 2 Transfer end month &EDAY 2 Transfer end day &TT 10 Transmission duration in seconds (TIMES attribute in the Transfer CFT catalog) CONTROL OUTPUT &FLOG 512 Name of last log file used by Transfer CFT &FACCNT 512 Name of last statistics file used by Transfer CFT &FCAT 512 Name of catalog used by Transfer CFT TRACKING &XFRCYCID 250 Processing cycle identifier (set of tracked instances that concern a single transfer) &XFROBJID 32 Tracked object name SSL (1) &SSL 1 Indicates if the session the transfer was carried out on was secured (‘1’) or not (‘0’) &SSLMODE 1 SSL session mode on which the transfer was carried out. (C: Client / S: Server) &SSLAUTH 1 Authentication rule(A: Anonymous /S: Server / B: Both) &SSLCIPH 2 SSL cipher suite &SSLPROF 32 SSL profile identifier &SSLPARM 64 SSL user parameter Parm parameter of the CFTSSL command &SSLRMCA 256 Certificate identifier of the authority that signed the certificate presented by the remote partner &SSLUSER 256 Identifier of the user certificate used locally for authentication by the remote partner &SSLCFNAM 64 Physical name of the file in which the certificate chain presented by the remote partner was recorded This is the same as the CFTSSL CERFNAME parameter value SYSTEM &SYSDATE 8 System date &SYSTIME 8 System time &SYSQQ 3 Number of the day in the year associated with the system date &SYSDAY 1 Day of the week (Sunday = 0, 6 = Saturday) CAT/ ACCOUNT ENVIRONMENT &CFTNAME 32 Name of the Transfer CFT (CFTPARM PART parameter) &CFTEVENT 16 The type of job submitted by Transfer CFT, see (2) below &SJOBNAME 15 The Transfer CFT jobname, which is the name of the job submitting the cronjob or exec procedure (z/OS) &CFTVERSION 16 The Transfer CFT version &CFTSP 16 The latest SP applied to the Transfer CFT &CFTPATCH 16 The latest patch applied to the Transfer CFT &CFTTARGET 16 The Transfer CFT platform with additional details required for a support ticket, for example &CFTHOSTOS 64 The Transfer CFT hostname &CFTHOSTMACHINE 64 The machine processor name where Transfer CFT is running (1): These variables are linked to SSL use. (2): EXEC in SEND, EXECSF, EXECSM, EXEC in RECV, EXECRF, EXECRM, EXECE, EXECSE, EXECRE, EXECA, EXECSFA, EXECSMA, PREEXEC, EXITEOT, EXECSUB, EXECSUBA, EXECSUBPRE Note The symbolic variable formats concerning dates and times are: Time: HHMMSSCC Complete date: YYYYMMDD Year: YY Month: MM Day: DD Sender The symbolic variables are substituted by the values of the local parameters of the commands. Receiver The symbolic variables are substituted: By the sender parameter values when these values are conveyed by the protocol By default, by the corresponding local parameter values Using symbolic variables Symbolic variables can be used: To assign a value to certain parameters of the parameter setting or transfer commands In the processing operations defined by the user in the procedures associated with the transfers Parameter Symbolic variables WFNAME, NFNAME, FNAME for the SEND and RECV commands &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &BDATE, &BTIME, &BYEAR, &BMONTH, &BDAY &SPART, &RPART, &PART, &NPART, &GROUP &SUSER, &RUSER &SAPPL, &RAPPL &IDF, &PARM, &IDA &NIDF &NFNAME (only for FNAME and WFNAME) &IDT (only the FNAME and WFNAME parameters when you receive a file) &SYSQQ &WORKINGDIR EXEC, EXECE, PREEXEC for the SEND and RECV commands EXECRE, EXECSE, EXECRF, EXECSF, EXECSFA, EXECSM, EXECRM, EXECSMA for CFTPARM command &SPART, &RPART, &PART, &GROUP, &NRPART, &NSPART, &USERID,&GROUPID &BDATE, &BTIME, &BYEAR, &BMONTH, &BDAY &CDATE, &CTIME, &CYEAR, &CMONTH, &CDAY &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &EDATE, &ETIME, &EYEAR, &EMONTH, &EDAY &COMMENT &SUSER, &RUSER &SAPPL, &RAPPL &PARM, &MSG, &PI99 &DIAGI, &DIAGP, &DIAGC &FNAME*, &UNIT*, &UNITC*, &NFNAME*, &NFVER*, &FDB*, &SELFNAME*, &FUNITC*, &FUNIT*, &FPATH*, &FROOT*, &SFNAME*, &WORKINGDIR*, &HOME* &IDF*, &PIDTU, &IDTU, &IDT, &NIDT, &NIDF*, &IDA, &IDM, &NSUB, &PATH*, &ROOT*, &SUF* &USERID (only to name EXECRE) &FCODE, &NCODE, &fcharset, &ncharset &BLKNUM &CFTEVENT, &CFTNAME &FMCL, &MODE, &TRTYPE &FBLKSIZE*, &FKEYLEN*, &FKEYPOS*, &NKEYLEN*, &NKEYPOS*, &FLRECL*, &FORG*, &FRECFM*, &FSPACE*, &FTYPE* &NBR*, &NBC*, &NBT*, &TT, &QQ, &COMP, &NOTIFY, &SYSQQ &SSLAUTH, &SSLCIPH, &SSLMODE, &SSLPROF, &SSLPARM, &SSLRMCN, &SSLRMCA, &SSLUSER, &SSLCFNA, &SSL (See Transport security symbolic variables) &XLATE &SYSDATE, &SYSTIME, &SYSDAY &PRI &XFRCYCID, &XFROBJID &EXITFREE &JOBNAME, &NCHARSET &APPSTATE, &PHASESTEP, &PHASE &SOURCEAPPL, &TARGETAPPL Note You cannot use the variables designated by asterisk (*) in procedures associated with the EXEC* parameters relative to message transfers. EXEC for CFTACCNT or CFTLOG &FACCNT, &FLOG TLVCEXEC, TLVWEXEC for CFTCAT &FCAT USERID parameter of the CFTSEND and CFTRECV commands &RUSER, &SUSER, &PART EXIT of the Transfer CFT CFTSEND/SEND and CFTRECV/RECV commands &IDF FNAME parameter of CFTDEST &FDATE, &FTIME, &FYEAR, &FMONTH, &FDAY &PART, &RPART, &SPART, &NPART, &GROUP &SUSER, &RUSER &SAPPL, &RAPPL &IDF, &PARM, &IDA &NIDF &NFNAME, &NFVER The name of the identifier of the IDF parameter of the CFTPROT command &NIDF The IDA parameter of SEND &IDT Example A file name can consist of the day’s date and the partner’s name: the description command for the PAY file in reception. RECV IDF = PAY, FNAME = PAY&4PART.&FDAY When a file of this type is received from the ALPHSITE partner on July 14 13: RECV PART = ALPHSITE, IDF = PAY Transfer CFT creates and writes to a file: PAYALPH.14 See the end-of-transfer examples in Transfer-related procedure examples. Defining symbolic variable blacklists for processing scripts UNIX and Windows only You can use blacklist characters as a POSIX Regular Extended expression to define forbidden characters in a processing script. To prevent unauthorized actions, do not use these characters in symbolic variables. Defining the blacklist Use the uconf cft.server.processing_scripts_variables_blacklist parameter to define the character sequence to forbid. We recommend setting this parameter to "`|\$(|;|&&||" for UNIX, and "&" for Windows. UNIX uconfset id=cft.server.processing_scripts_variables_blacklist , value="`|\$\(""`|\$(|;|&&||" Windows uconfset id=cft.server.processing_scripts_variables_blacklist , value="&" DIAGI 158 This DIAGI indicates that there was an error while replacing the Transfer CFT variables. Log messages CFTS67E: Error replacing variable <var> <error message> CFTS68E: PART=&part [IDF=&idf | IDM=&idm]IDT=&idt _ &fname not executed Transport security symbolic variables This section describes additional symbolic variables relating to transport security. These symbolic variables can be used in end-of-transfer procedures EXECRF, EXECSF, EXECRM, and so on. These variables indicate whether transport security is used, and if so, the session parameters such as the authentication mode, suite negotiated and certificates used. Symbolic variable Description &SSL Indicates whether security was implemented (1 = yes, 0 = no) for the session in which the transfer was performed. &SSLMODE Direction of the SSL session in which the transfer was performed. C signifies client and S signifies server. &SSLAUTH Authentication mode of the SSL session in which the transfer was performed. S signifies that only the server was authenticated. B signifies that the client and server were authenticated. A signifies that the anonymous mode has been implemented. &SSLCIPH Suite negotiated for the SSL session. This suite is set to one of the values from the suites supported by Transfer CFT (1, 2, 4, 5, 9, 10 or 47). &SSLPROF Identifier of the CFTSSL command used to negotiate the session parameters. &SSLPARM Value of the PARM parameter in the CFTSSL command used to negotiate the session parameters. &SSLRMCA Certificate identifier of the authority that signed the certificate presented by the remote partner. &SSLRMCN Remote user certificate CN field. &SSLUSER Identifier of the user certificate used locally for authentication by the remote partner. &SSLCFNAM Physical name of the file in which the certificate chain presented by the remote partner was recorded. This is the same as the CFTSSL CERFNAME parameter value.