Create CSV format Stream File - Help The Create CSV format Stream File (CRTCSVF) command copies an externally described database file to a CSV format stream file on IFS. The term CSV stands for Comma Separated Value(s) and used for purposes of exchanging data between heterogenous databases. O Read data from database file, convert format to CSV and write to stream file directly. The CSV format file (TOSTMF parameter) will be called the STMF for this command. O For string field, trailing blanks are removed. If last byte of string field is shift-in (X'0e', used to represent end of DBCS character), DBCS trailing blanks are also removed. This is very effective when using J/E fields. O For numeric (PACK or ZONE) field, preceeding and trailing '0's are supressed. (e.g. '0001.00' -> '1.0') If the field has no decimal fraction, period ('.') will not be displayed. O Decimal data errors are ignored and numeric value is set to '0' or '0.0' when you specify RCDERR(*IGNORE) or RCDERR(value). Note: Specifying RCDERR(*IGNORE) in conjunction with RCDERRMSG(*SECLVL) may generate a lot of low level messages in joblog. Specifying RCDERR(*ABORT) or RCDERR(value) is recommended when converting large database file. Restrictions: 1. If the database file contains more than 100 fields, only first 100 fields are converted. If the database file contains fields with complex definition, less than 100 fields may be converted. 2. Cannot process database file if record length of the database file is greater than 9999. 3. Unexpected condition may occur when CSV record (one line) exceeds 32767 byte. Note: This restriction applies only to encoding schemes (CCSID) which require escape sequences. Usually you won't encounter this restriction because maximum record / string field length is 32766. 4. Only ZONE, PACK, CHAR (except GRAPHIC and VARYING length), DATE, TIME, TIMESTAMP fields are converted. Other field types such as BINARY are ignored. Note: Do not precede an entry with an asterisk unless that entry is a "special value" that is shown (on the display or in the help information) with an asterisk. Error messages for CRTCSVF *ESCAPE Messages CPF9897 Program aborted. &1/&2 records processed, &3 error(s) found. *STATUS Messages During the running of the CRTCSVF command, message is sent as a status message in every 1,000 records informing the interactive user that a copy is occurring. File (FILE) Specifies the qualified name of the FILE that contains the records to be copied. The database file can be a single-format logical, physical file. This is a required parameter. The File Name can be qualified by one of the following library values: *LIBL All libraries in the job's library list are searched until the first match is found. *CURLIB The current library for the job is searched. If no library is specified as the current library for the job, the QGPL library is used. library-name Specify the name of the library to be searched. file-name Specify the name of the file that contains the records to be copied. To stream file (TOSTMF) Specifies the path name of the output stream file to which data is copied. All directories in the path name must exist. New directories are not created. If the stream file does not exist, it will be created. For more information on specifying path names, refer to Chapter 2 of the CL Reference, SC41-5722. This is a required parameter. Member name (MBR) The File Member Name specifies the FILE member name that is copied. The possible values are: *FIRST The first member (in order of creation date) in the FILE is copied. member-name Specify the name of the FILE member to be copied. Overwrite existing stream file (OVRWRT) Specifies if a new STMF is created when a STMF of the same name already exists in the specified IFS path. The possible values are: *YES A new STMF is created in the specified path. If a STMF of the same name already exists in the specified IFS path, CRTCSVF deletes it before conversion. Even error occured during conversion, original (deleted) stream file will not be recovered. *NO A new STMF is not created if a STMF of the same name already exists in the path. The existing STMF is not replaced, a message is displayed, and command aborts. Database file CCSID (DBFCCSID) Specifies the method of obtaining the database file CCSID (EBCDIC). The possible values are: *JOB The default job CCSID is used, unless it is 65535. If the default job CCSID is 65535, an error condition is created. *FILE The database file CCSID is used, unless it is 65535. If the database file CCSID is 65535, default job CCSID is used. If the default JOB CCSID is 65535, an error condition is created. coded-character-set-identifier Specify the database file CCSID. The values 0, 65534, and 65535 are not valid. Stream file code page (STMFCODPAG) Specifies the method of obtaining the stream file code page and the CCSID equivalent of the code page that is used for data conversion. The possible values are: *SYSTEM Determine the correct NLV directory (PC ASCII CCSID of selected NLV) to be used to locate translation information. code-page Specify the ASCII code page (CCSID) used. The specified code page is associated with the stream file when it is created. Additional information (ADDINF) Specifies additional information to be written to the STMF. The possible values are: *NONE No additional information will be written. *FLDNAM Put Field names are inserted in the first row of the STMF. *COLHDG Column-headings are inserted in the first row of the STMF. *BOTH Column-headings are inserted in the first row and field names are inserted in the second row of the STMF. Allow record error (RCDERR) Specifies how much record errors can be ignored. Note: Possible record error types are : - Character conversion (iconv() function) error. - Decimal data error. - Double quotation (") in string field replaced by different character. The possible values are: *ABORT Record error is not permitted. Program will abort if any record error is detected. *IGNORE Continue processing in case of recoverable error. Record errors will be recoverd. record-errors Specify the maximum number of record error. Program aborts when error count exceeds this value. Valid values range from 1 through 9999. Record error message (RCDERRMSG) Specifies whether record error messages are sent to joblog or/and STMF. Fatal internal program error or completion message is always sent to the program message queue. The possible values are: *BOTH Record error messages are written to the STMF and sent to joblog as low level message. *STMF Record error messages are written to the STMF. *SECLVL Record error messages are sent to joblog as low level message. *NONE No record error messages are sent. String delimiter replace char (RPLCHR) Replaces double quote character (") in string field by specified character. Note: If you specify RPLCHR(*DOUBLEQUOTE) or RPLCHR('"'), double quotation in string field is not considered to be record error. The possible values are: *DOUBLEQUOTE The double quote character (") in string field will be replaced by two double quote characters (""). This is equivalent to specifying double quote character as character-value. Note: This encoding is same as CA/400 express file transfer function. Microsoft Excel 97 and Lotus 1-2-3 98 convert two double quote characters ("") to single double quote character (") when they read the CSV file. Other software may not interpret this. *SPACE The double quote character in string field will be replaced by space character (X'20'). 'character-value' Specify a character to replace double quote character (") in string field. Field delimiter (FLDDLM) Specifies the field delimiter for the record. This value is placed between fields. The possible values are: *COMMA The comma (,) character is used as the field delimiter. *SPACE The space (X'20') character is used as the field delimiter. 'character-value' Specify a character to be used as the field delimiter. Debug print out (DEBUG) Specifies whether the debug output from the command is printed with the job's spooled output. The possible values are: *NO The debug output is disabled. *YES The debug output is printed with the job's spooled output.
[Home]