• Aucun résultat trouvé

IEBlMAGE Program

Dans le document OS/VS1 Utilities (Page 175-183)

General Information

Storage Requirements

For IEBIMAGE

For SYSl.IMAGELIB

IEBIMAGE is a data set utility that creates and maintains the following types of 3800 printing subsystem modules and stores them in a library:

• Forms control buffer modules for the 3800, which specify controls for the vertical line spacing and anyone of 12 channel codes per line.

• Copy modification modules for the 3800, which specify data that is to be printed on every page for specified copies of the output data set.

• Character arrangement table modules for the 3800, which translate the input data into printable characters and identify the associated character set(s) and graphic character modification module(s).

• Graphic character modification modules for the 3800, which contain the scan patterns of user-designed characters and/or characters from ffiM-supplied modules.

• Library character set modules for the 3800, which contain the scan patterns of IBM-supplied character sets and/or user-defined character sets.

The IEBIMAGE program can be used to create and maintain all modules required for use on the 3800 printing subsystem.

The IEBIMAGE utility program is mM-supplied and requires pageable .virtual storage in which to operate. The storage needed by mBlMAGE is given by the formula:

Storage requirements (in bytes) = 44K+4B+H

B is the largest block size in the job step, rounded to the next highest multiple of 2K. If the format specified for the data set is VS and LRECL is less than 32K, then B is the maximum logical record length, rounded to the next highest multiple of2K.

H is the size of the largest member to be loaded from SYS1.IMAGELffi, rounded to the next highest multiple of 2K.

K is 1024 bytes.

The auxiliary storage requirement in tracks for SYSl.IMAGELIB is:

Number of tracks

=

(A+B)/T

A is the total number of 1403 UCS images, 3211 UCS images, 3211 FCB images, 3525 data protection images, 3886 format records, 3890 SCI programs, 3800 FCB modules, and 3800 character arrangement tables (both IBM-supplied and

user-defined images or modules, as applicable). A also includes the 4245 UCS image table.

IBM supplies twelve 1403 UCS images, five 3211 UCS images, four 3211 FCB images, one 3800 FCB image, fourteen 3800 character arrangement tables, and one 4245 UCS image table, if the appropriate printer is in the system. According to the TABLE parameter coded on the DATAMGT system generation macro, IBM supplies the following number of additional character arrangement tables:

5 if T3211 is specified 13 if T 1403 is specified 10 if TOCR is specified 3 if TKA T is specified 3 if TFMT is specified

If TABLE

=

ALL is coded, add all the above numbers. If ALL, T3211 , or T 1403 is coded, add one more for the GRAFSPCl graphic character modification module.

Note that IBM supplies no 4245 UCS images in SYS1.IMAGELIB. The 4245 printers load their own UCS images into the UCS buffer at power-on time. IBM does supply 4245 FCB images which may be used. See OS/VSl Data Management for System Programmers for more information on printer-supplied UCS or FCB images.

B is (V+600)/15-00 for each 3800 graphic character modification module and library character set module, each 3800 copy modification module, and each 3890 SCI program that is over about 600 bytes. V is the virtual storage requirement in bytes for each module. The virtual storage requirement for the IBM-supplied 3800 graphic character modification module containing the World Trade National Use Graphics is 32420 bytes.

The virtual storage requirement for the IBM-supplied 3800 library character set is 4680 bytes.

T is the approximate number of members per track, depending on type of volume.

Because of the overhead bytes and blocks in a load module, the difference in space requirements for an 80-byte module and a 400-byte module is small. These constants assume an average member of 8 blocks, including a file mark, with a total data length of 800 bytes. For example, on a 3330 with 135 bytes of block overhead, the assumed average is 1880 bytes. If a different average member data length and average number of blocks per member are anticipated, these constants should reflect the actual number of members per track. To determine the number of members per track, divide the average member length, including block overhead, into the track capacity for the device. Track capacity for DASD is given in OS/VSl Data Management Macro Instructions.

t dt' t WWtffltbdtMIHtrt d't#tthtthbH'bf H±h ** i #WWh tMnH ttt£iHWM * 'e!t:b±Ht'Whb

T 3 for a 2305-1 6 for a 2305-2 4 for a 2314/2319

/ Ior a .:U .5U or a .5.5.5U- I I

4 for a 3340 4 for a 3344 8 for a 3350 8 for a 3375 9 for a 3380

The result, (A+B)/T, is the track requirement.

The number of directory blocks for SYS l.IMAGELIB is given by the formula:

Number of directory blocks = (A+C+D)/6 A is as calculated to determine the track requirement.

C is the number of modules used to calculate B, when calculating the track requirement.

D is the number of aliases. The IBM-supplied 1403 UCS images have four aliases and the IBM-supplied 3211 UCS images have six aliases. These aliases can be scratched after system generation if they will not be used.

Maintaining the SYSl.lMAGELIB Data Set

You will normally maintain SYS I.1MAGELIB using several programs in

conjunction with IEBIMAGE. For example, you may find it necessary to rename or delete modules or to compress or list the entire contents of the data set. Utility programs such as IEBCOPY, IEBPTPCH, IEHLIST, IEHMOVE, and

IEHPROGM (as described in this book) and HMASPZAP or AMASPZAP (as described in OS/VSl Service Aids) should be used to help maintain

SYS1.1MAGELIB.

If you use programs other than.IEBIMAGE for maintenance, you must specify the full name for each module. The module's full name consists of a 4-character prefix followed by its 1- to 4-character user-assigned name. It is thus a 5- to 8-character member name in the form:

FCBlxxxx, which identifies a 1403 FCB module

FCB2xxxx, which identifies an FCB module that may be used with a 3203, 3211, 3262, or 4245 printer.

FCB3xxxx, which identifies a 3800 FCB module

MODlxxxx, which identifies a 3800 copy modification module

XTBlxxxx, which identifies a 3800 character arrangement table module GRAFxxxx, which identifies a 3800 graphic character modification module LCSlnn, which identifies a 3800 library character set module

where:

General Module Structure

xxxx

is the 1- to 4-character user-assigned name of the module.

nn

is the 2-character user-assigned 10 of the module.

Alias names are not supported by IEBIMAGE, so you should be careful if you use them. For example, if you change a module by specifying its alias name, the alias name becomes the main name of the new module, and the old module is no longer accessible via the alias but is still accessible via its original main name.

Each module contains eight bytes of header information preceding the data. For the 3800 printing subsystem, the module header is shown in Figure 9-7.

Length (in hexadecimal) of module, excluding the 8 bytes of header information

Reserved -(x'OOOO')

A 1- to 4-character identification of the module, left-justified (excluding the system-assigned prefix)

Figure 9-7. 3800 General Module Header

The SETPRT SVC uses the name, if present, to:

• Identify the module in the image library

• Store the name in the UCB extension The SETPRT SVC uses the length to:

• Obtain sufficient storage for the module

• Build channel programs to load the data into the printer Naming Conventions for Modules

Each module placed in a library by the IEBIMAGE utility has a 4-character system-assigned prefix as the first part of its name. These prefixes are:

FCB3 for 3800 forms control buffer modules MODI for 3800 copy modification modules

XTBI for 3800 character arrangement table modules GRAF for 3800 graphic character modification modules

Using IEBIMAGE

LCSI for 3800 library character set modules

You can assign a 1- to 4-character identifier (name) to the module you create by using the NAME control statement in the operation group you use to build the module. If the module is a library character set, the ID assigned to it must be exactly two characters. Each of those characters must be within the range 0 through 9, and A through F; and the second character must represent an odd hexadecimal digit. However, the combinations X'7F' and X'FF' are not allowed.

This identifier is used in the J CL, the SETPR T parameter, or the character arrangement table to identify the module to be loaded.

While IEBIMAGE refers only to the 1- to 4-character name or the 2-character ID (the suffix) that is appended to the prefix, the full name must be used when using other utilities (such as IEBPTPCH or IEHPROGM).

Creating a Forms Control Buffer Module

3800 FeB Module Structure

The forms control buffer (FCB) module is of variable length and contains vertical line spacing information (6, 8, or 12 lines per inch for the 3800). The FCB module can also identify one of 12 carriage-control channel codes for each line.

The FCB module is created and stored in an image library, using the FCB and NAME utility control statements of the IEBIMAGE program. For the 3800, IBM supplies a default FCB image in SYSl.IMAGELIB.

The FCB data following the header information is a series of I-byte line control codes for each physical line of the form. There are 18 to 144 of these bytes, depending on the length of the form.

Each byte is a bit pattern describing one of 12 channel codes for vertical forms positioning and one of the allowed lines-per-inch codes for vertical line spacing.

The structure of the 3800 FCB module is shown in Figure 9-8.

FeB Module Listing

Bit Pattern

Reserved Channel Code

(00)

Binary Hex Channel

0000 0 - (null)

Lines pl!r inch 0001 1

00 = 6lpi 0010 2 2

01 = 8lpi 0011 3 3

11 = 12 lpi 0100 4 4

0101 5 5

0110 6 6

0111 7 7

1000 g 8

1001 9 9

1010 A 10

1011 B II

1100 (' 12

Figure 9-8. 3800 FCB Module Structure

• The top and bottom 1/2 inch of each page are unprintable, and the bytes corresponding to these positions must be void of any channel codes. Three bytes of binary zeros are supplied by the IEBIMAGE utility for the top and bottom 1/2 inch.

• The total number of lines defined in the module must be equal to the length of the form. The printable lines defined must start 1/2 inch below the top and stop 1/2 inch from the bottom of the form.

Figures 9-9 through 9-11 are deleted.

Figure 9-12 shows the IEBIMAGE listing of a 3800 FCB module. The notes that follow the figure describe the items in the figure that are marked with circled numbers.

I'HUt.) "MWMMY"ww,lrt$errWr'tWete •• 11#!::. '''Hre'''.,'! t ntt_tHee '.'bMW tslHH#d+*

Figure 9-12. IEBIMAGE Listing of a 3800 Forms Control Buffer Module

Notes to Figure 9-12:

1. The line number. Each line of the form is listed in this fashion.

2. The vertical spacing of the line, in lines per inch.

3. The channel code, printed for each line that includes a channel code.

Creating a Copy Modification Module

COPYMOD Module Structure

The 3800 copy modification module contains predefined data for modifying some or all copies of an output data set. Segments of the module contain predefined text, its position on each page of the output data set, and the copy or copies the text applies to.

The copy modification module is created and stored in an image library using the INCLUDE, OPTION, COPYMOD, and NAME utility control statements of IEBIMAGE.

The INCLUDE statement identifies a module that is to be copied and used as a basis for the newly created module. The OPTION statement with the OVERRUN parameter allows the user to suppress the printing of line overrun condition messages for those vertical line spacings that are not applicable to the job. The COPYMOD statement is used to describe the contents of one of the new module's segments. The NAME statement is used to identify the new module and to indicate whether it is new or is to replace an existing module with the same name.

The copy modification data following the header information is a series of segments. Each segment is of variable length and is composed of the components shown in Figure 9-13.

Segment I Segment 2

L---Modifying tcxt ' - - - N u m b e r of by tcs of tcx t L - - - S t a r t i n g print position L---_ _ _ _ _ _ Number of lines to be modified ' - - - Starting line number

'---Numberof copies to be modified '---Starting copy number

Figure 9-13. Copy Modification Module Structure

A, B, C, D, E, and F are each 1-byte fields.

TEXT

• If the module contains more than one segment, the starting copy number must be equal to or greater than the starting copy number in the previous segment.

'tit" t ." . . . '9" b tClMrtf t t 'tM±tttrtt * ****!kt !:loWe'"".

• Any string of the same character within the text may be compressed into 3 bytes. The first such byte is X'FF', the second byte is the number of

• The size of the module is limited to 8192 bytes of data and 8 bytes of header information.

COPYMOD Module Listing

SEGMENT

2 3

cb

INITIAL COpy NO.

2 2

Figure 9-14 shows the listing of three segments of a copy modification module.

This listing shows only the positioning of the modifying text. To print out the text itself, you can use the IEBPTPCH utility program. The numbered notes that follow the figure describe the items marked with the circled numbers.

~MODIHANK

NUMBER OF INITIAL NUMBER OF INITIAL NUMBER OF

COPIES LINE NO. LINES PRINT POS. CHARACTERS

4 58 35 18

1 50 7.3

1 34

v

3 75 10

~ V

Figure 9-14. IEBIMAGE Listing of Three Segments ofa Copy Modification Module

Notes to Figure 9-14:

In this example, each note refers to the module's third segment.

1. The name of the copy modification module as it exists in the SYS I.IMAGELffi data set's directory (including the 4-byte system-assigned prefix).

2. The segment number of the modification segment.

3. This segment applies only to the second copy of the output data set.

4. The text of the segment is located on lines 34, 35, and 36.

5. The text on each line starts at the 75th character, and occupies 10 character spaces.

Dans le document OS/VS1 Utilities (Page 175-183)