APAR status
INTRAN
Error description
... continuation of PQ87041 and II14121 ... . ********* * LPR * ********* Line Printer (LPR) Client ========================= POWER ASA carrriage control is provided by the characters: 1, 0, -, +, and blank. These are assigned the functions: 1 - Top or form - Skip 1 line 0 - Skip 2 lines - - Skip 3 lines + - Skip 0 lines (overstrike) The spacing is performed BEFORE each line is printed. The control characters normally used to cause this spacing are x'0D' - Carriage Return (ASCII / EBCDIC) x'0A' - Line Feed (ASCII) x'0C' - Form Feed (ASCII / EBCDIC) x'15' - New Line (EBCDIC) x'25' - Line Feed (EBCDIC) x'20' - Blank (ASCII) Be aware that EBCDIC to ASCII translations do NOT affect these codes; they are applied after translation. To support a wide variety of target platforms, you may specify your own characters for carriage control. You do this by coding a series of "SET" commands. Each SET command specifies a string of up to 50 hexadecimal characters to be used in lieu of the default. These can be "normal" control characters, or something more exotic, such as PCL codes. Coding a SET value of "*", returns the corresponding control to its default value. Setting a value to "NULL" causes the specified control to be omitted. The following values, shown with their defaults, may be coded: SET SKIP0=0D CR SET SKIP1=0D0A CR/LF SET SKIP2=0D0A0A CR/LF/LF SET SKIP3=0D0A0A0A CR/LF/LF/LF SET BLANK=20 SET TOF=0C0D FF/CR (Top Of Form) SET EOD=NULL (End Of Data) SET SOD=NULL (Start Of Data) SET EOL=NULL (End Of Line) "TOF" is "Top Of Form". "EOD" is "End Of Data". This allows you to specify a string to follow the final character in the data file. The "normal" value used is x'1A', but is generally considered to be optional. "SOD" is "Start Of Data". This allows you to provide a character string to be output prior to any other data. There is no conventional value and this string is provided only for symmetry. "EOL" is "End Of Line". If specified, this value is added following each line of text. This can be used to help support some of the more bizarre printers and LP Daemons. If you are using an FCB to control printing, several additional commands are provided. Note that these have NO affect unless an FCB is being used. SET ALIGN=nn This command allows you to indicate the starting alignment of your "paper" against the FCB. Normal processing assumes that when a report starts printing, the printer and FCB are both aligned to position 1. Example: You have a report and FCB that run on fanfold paper. Operator alignment is to position the printer on the fold. The 8-lpi FCB specifies that "channel 1" is on line 9. This causes the printer to space 8 lines from the fold, leaving a 1 inch margin at the top of each page. When converting this report to a "network printer", it is found the this printer automatically starts printing 1 inch from the edge of the paper. By specifying "SET ALIGN=9", the FCB is positioned to account for this "automatic margin". Note that this also has the effect of reducing the number of lines per page to allow for the same margin on each page. SET CHANNELn= This command allows you to specify up to 50 hexadecimal characters that will be added to the output stream when the corresponding channel skip is encountered. This string is emitted immediately before the printable text. One use would be to provide absolute positioning of text on a form. SET SKIPTOCHANNEL=ON/OFF (default=ON) This works with the SET CHANNELn= command to allow you to suppress use of the "SKIP1=" string when skipping to a channel for which you have provided a non-null SET CHANNELn= value. For example, "SET CHANNEL1=0C0D" and "SET SKIPTOCHANNEL=OFF" would cause a channel 1 skip to omit the single-line spacing to the channel 1 position and generate a formfeed instead. . Example ======= Assume that the target LPD operates in EBCDIC mode. You do NOT want any ASCII data or codes to be transmitted. ■The control sequences used to negotiate the session are ALWAYS sent as ASCII strings. The following overrides would be coded: SET TRANLATE=NULL Supress ASCII to EBCDIC translation SET SKIP0=0D CR SET SKIP1=15 NL SET SKIP2=1515 NL/NL SET SKIP3=151515 NL/NL/NL SET BLANK=40 SET TOF=0C0D FF/CR SET EOD=NULL SET SOD=NULL SET EOL=NULL . Interaction with other Functions ================================ If you provide an INSERTS phase, there are three additional control strings: Start, End, and Page. The order of precedence is as follows: 1. INSERTS "START" string 2. SOD= 3. Normal line-spacing and data 4. TOF= 5. INSERTS "PAGE" string 6. Data portion of top-of-form line 7. SOD= 8. INSERTS "END" string . Special considerations for FCB-controlled Printing ================================================== If an FCB is associated with a file, carriage control is performed in a very different manner. The MAJOR consideration is that, with an FCB, it is assumed that the printer is already positioned to Top-Of-Form. The FCB specifies exactly how many lines will appear on each page and a "skip to channel 1" means "skip to channel 1" --NOT "insert formfeed". LPR processing examines each line's carriage control and positions it using ONLY the SKIP1= and SKIP0= values. "Top Of Form" is achieved each time the FCB "wraps" back to its starting position. A carriage control character of "1" causes "SKIP1" codes to be generated until the FCB reaches the next line with a "1" in it. There can be more than one, and it need not be at the true top-of-form. The same processing is performed for Carriage Control characters "1" through "9" and "A" through "C" In the event that you need to issue a printer control when the true top-of-form is reached (ie, when the FCB wraps back to line 1), you may use an INSERTS phase's "PAGE" section and/or the SET TOF= control. When present, this data string is added to the file each time the FCB wraps to the top-of-form position. FCB Rules 1. FCB's consist of 256 bytes of control information followed by 80 bytes of "eyeball" information (displayed to the user at various times --eg, when image is loaded). 2. Each byte corresponds to one line on the physical output page 3. Each byte is divided into two nibbles. The right nibble contains channel-stop information, as follows: 0 - No channel stop 1 - Channel 1 2 - Channel 2 ... etc ... C - Channel 12 4. The left nibble contains information on the FCB's structure, as follows: 1 - Last position on page (end of FCB), if in any position other than first 1 - 8 LPI, if in the first position (first byte in FCB) 5. The ASA carriage control functions apply spacing BEFORE the line is printed: + - No spacing (overstrike) - (blank) Single line spacing 0 - Double line spacing - - Triple line spacing 1 - Skip to channel 1 and print 2 - Skip to channel 2 and print ... etc ... C - Skip to channel 12 and print 6. Undefined carriage control bytes are treated as "blank". 7. Channel skip operations are performed as follows: * If the "current" line (last printed) contains data --including a blank line-- from the previous operation, then we skip to the next line and search for a match on the channel. * If the "current" line does NOT contain data, then the seach for a matching channel begins WITH the current line. 8. If a channel is not found in the FCB, printing will advance by 1 page. Examples: Legend: NL - "New Line" sequence, as defined by "SET SKIP1=" (default: 0D0A) NS - "No Space" sequence, as defined by "SET SKIP0=" (default: 0D) BL - Blank, as defined by "SET BLANK=" (default: 20) IP - Value specified in INSERTS phase for "page" IH - Value specified in INSERTS phase for "header" IT - Value specified in INSERTS phase for "trailer" SOD - Value specified as "SET SOD=" (Start Of Data, default: NULL) EOD - Value specified as "SET EOD=" (End Of Data, default: NULL) TOF - Value specified as "SET TOF=" (Top Of Form, default: NULL) EOL - Value specified as "SET EOL=" (End Of Line, default: NULL) Assuming a four-line FCB: X'01' X'00' X'00' X'10' Report: Page Line Data-------- Generated------------------- 1 1 1Top of form (IH SOD)Top of form(EOL) 2 Second line (NL)Second line(EOL) 2 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 2 Second line (NL)Second line(EOL) 3 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 4 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 5 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 2 Second line (NL)Second line(EOL) 4 0Fourth line (NL BL EOL NL)Fourth line(EOL) 6 1 Top of form (NL BL EOL TOF IP)Top of form(EOL) 7 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 8 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL NL BL EOL TOF IP)Top of form(EOL) 2 Second line (NL)Second line(EOL) 4 0Fourth line (NL BL EOL NL)Fourth line(EOL) 4 +Fourth line (NS)Fourth line(EOL) 9 1 Top of form (IP TOF)Top of form(EOL) 10 1 1Top of form (NL BL EOL NL BL EOL NL BL EOL NL BL EOL)Top of form(EOL EOD IT) . Other Commands that affect Line-Spacing ======================================= The following commands cause the indicated values to be set: SET CRLF=ON Default values are set SET CRLF=OFF SET SKIP0=NULL SET SKIP1=NULL SET SKIP2=NULL SET SKIP3=NULL SET TOF=NULL SET EOD=NULL SET SOD=NULL SET EOL=NULL SET CRLF=UNIX SET SKIP0=0D CR SET SKIP1=0A LF SET SKIP2=0A0A LF/LF SET SKIP3=0A0A0A LF/LF/LF SET TOF=0C FF SET EOD=1A EOD SET SOD=NULL SET EOL=NULL SET ENDWITHEJECT=YES SET EOD=0C0D SET FCB=name SET TOF=NULL SET FCB=*NULL SET TOF=0C0D FF/CR SET NOEJECT=YES (non-FCB printing) SET TOF=NULL in effect for the first line; then reset to its previous value. INSERTS "page" data is suppressed until first line is printed.
Local fix
Problem summary
Problem conclusion
Temporary fix
Comments
APAR Information
APAR number
II14130
Reported component name
DN LIB INFO ITE
Reported component ID
INFODNLIB
Reported release
001
Status
INTRAN
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2006-10-31
Closed date
Last modified date
2014-04-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG32M","label":"APARs - VSE\/ESA environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]
Document Information
Modified date:
04 April 2014