Download SELCOPY C++ Version (SLC) 3.10 New Features
Transcript
New Features and Other Changes SLEEP statement supported for CMS SLC will then read the file "abc.data" off any accessed disk, or failing that, off the BFS or HFS (Byte File System for CMS or Hierarchical File System for MVS), and take 10 seconds to process each record. Very useful ! Alternatively, a SLC job could be started which re-accessed a disk, checked for the existence of a certain file or event and did something useful, otherwise sleeps for 20 mins or whatever. It could be left running continuously in a disconnected machine. e.g. selcopy POSIX(ON) / -ctl=CHECKEML.CTL -Lst=EMAIL.LST.B 2007/03/01 s208_898 FLUSH statement support for TAPE output All SELCOPY's output files are buffered using a buffer of length BLKSIZE, default=2048. Nothing is physically written until the buffer cannot accommodate another record, at which time the buffer is written out, reset to empty, then used for the record that wouldn't fit. The FLUSH statement allows the user to control when SELCOPY issues a physical write in order to clear the buffer. For output to a real TAPE device, the physical write will also include the writing of an Inter-Record-Gap on the tape, so the FLUSH statement becomes very important in order to control where the IRGs occur. e.g. read input.fil wr tape.fil flush tape.fil * Read a data record. * Puts curr record in buffer. * Physically writes and clears the buffer. Note: 1. SELCOPY's OPEN=NORWD and CLOSE=NORWD will have no effect. If coded they are silently ignored. However, when attaching a tape to a UNIX or PC system, you may well find that an option exists for choosing whether at open/close time the tape rewinds or remains where it is. 2007/06/17 s208_903 NEWBLK param to give equivalent of FLUSH The NEWBLK parameter may be used on a WRITE statement to give the same effect as using a FLUSH statement prior to the WRITE. e.g. read input.fil wr tape.fil newblk * Read a data record. * Puts curr record at start of buffer, * by first flushing the buffer if reqd. * Thus, every record will start a new block. * Other WRITE statements may be coded, without the NEWBLK param, * if selective blocking is reqd. 2007/03/13 s208_899 CSV data via COMPRESS/EXPAND statements Comma Separated Variables may be processed with the COMPRESS/EXPAND statements: _________________________________________________________________________________________ | | | | | n1 AT p1 n2 AT p2 | | | p1, p2 TO p3, p4 | | | 'litval' | | | | | | FLEN=n1 n2 n3 ... * Field lengths. Mandatory param. | | | | | COMPRESS | DLM='x' * Field delimiter char. Default is ',' (Comma.) | | | DELIM | | | | | EXPAND | FILL='x' * Fill (padding) char. Default is ' ' (Blank.) | | | PAD | | | | | | ESC='x' * Escape char. Default is '\' (BackSlash.) | | | | | | ENC='x' * Enclosing char. Default is '"' (DoubleQuote.) | | | | | | IFNEC * Implies ENC. Only enclose if necessary. (Default.) | | | STR * Implies ENC. Only enclose if non-numeric string. | | | ALL * Implies ENC. Enclose all except null fields. | | | | |____________|____________________________________________________________________________| 2013-07-08 12:02:20 SELCOPY C++ Version (SLC) 3.10 New Features 15