The code below is from the copybook MFUSRPRM.CPY. It describes the parameter block that is passed to the user module. The copybook is located in the %ProgramFiles(x86)%\Micro Focus\Enterprise Developer\cpylib (Windows) or $COBDIR/cpylib (UNIX) directory. See the comments in the code for descriptions of each field:
*=============================================================== * Copyright (C) 2007-2015 Micro Focus Limited. * All rights reserved. *=============================================================== ***************************************************************** * Data items related to the module specified by MFFTP_USR_PGM * * * * (tag)-usr-ftp-function-init * * Function to be performed set as follows: * * if (tag)-usr-ftp-function-init * * used to cause the module to be loaded to ensure it exists* * if (tag)-usr-ftp-function-call * * normal call * * (tag)-usr-ftp-return-code * * Indicate result of the call * * set (tag)-usr-ftp-ok true on an INIT call or if a * * normal call was deemed successful. The calling routine * * will scan the output to determine if the call to the * * FTP client was successful * * set (tag)-usr-ftp-fail true if this module determines * * that there was a problem and that the calling module * * should not check the output * * (tag)-usr-ftp-ip-file-data. * * Contains the length and fully qualified name of the file * * holding the normalised FTP control statements. This may be * * used directly or read to created an edited version as input * * to the FTP client * * (tag)-usr-ftp-ip-name-len * * actual length of the data in (tag)-usr-ftp-ip-name * * (tag)-usr-ftp-ip-name * * actual file name of the file holding the normalised FTP * * control statements * * (tag)-usr-ftp-op-file-data. * * Contains the length and fully qualified name of the file * * to hold the output from the FTP client that will be checked * * (if appropriate) and printed by the calling routine. This * * may be the actual output from the FTP client or this * * routine may write an edited version here, for example to * * remove sensitive information. * * (tag)-usr-ftp-op-name-len * * actual length of the data in (tag)-usr-ftp-op-name * * (tag)-usr-ftp-op-name * * actual file name of the file to hold the output from the * * FTP client (actual or edited) * * (tag)-usr-ftp-tmp-file-data. * * Contains the length and the name of a directory that may be * * used as a work are to hold temporary files. * * (tag)-usr-ftp-tmp-name-len * * actual length of the data in (tag)-usr-ftp-tmp-nam * * (tag)-usr-ftp-tmp-name * * The name of a directory that may be used to create * * temporary files, for example an edited input file or the * * output from the FTP client before it is edited * ***************************************************************** * * 01 (tag)-mfftp-usr-ftp-parm. 05 (tag)-usr-ftp-function pic x(1). 88 (tag)-usr-ftp-function-init value '0'. 88 (tag)-usr-ftp-function-call value '1'. 05 (tag)-usr-ftp-return-code pic x(1). 88 (tag)-usr-ftp-ok value '0'. 88 (tag)-usr-ftp-fail value '1'. 05 (tag)-usr-ftp-msg1 pic x(64). 05 (tag)-usr-ftp-msg2 pic x(64). 05 (tag)-usr-ftp-pass-ip-data. 10 (tag)-usr-ftp-pass-ip-fname-len pic 9(3). 10 (tag)-usr-ftp-pass-ip-fname pic x(512). 05 (tag)-usr-ftp-pass-op-data. 10 (tag)-usr-ftp-pass-op-fname-len pic 9(3). 10 (tag)-usr-ftp-pass-op-fname pic x(512). 05 (tag)-usr-ftp-user-ip-data. 10 (tag)-usr-ftp-user-ip-fname-len pic 9(3). 10 (tag)-usr-ftp-user-ip-fname pic x(512). 05 (tag)-usr-ftp-user-op-data. 10 (tag)-usr-ftp-user-op-fname-len pic 9(3). 10 (tag)-usr-ftp-user-op-fname pic x(512). 05 (tag)-usr-ftp-temp-data. 10 (tag)-usr-ftp-temp-fname-len pic 9(3). 10 (tag)-usr-ftp-temp-fname pic x(512).