JCL - IEBIMAGE Define and Use a Character in a Graphic Character Modification Module



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

JCL - IEBIMAGE Example 18: Define and Use a Character in a Graphic Character Modification Module

3800 Model 3

  • In this example, a graphic character modification module containing a user-designed character is built.
    Next, a format character arrangement table is modified to include that new character.
    Then, a copy modification module is created to print the new character enclosed in a box of format characters.
    Finally, the result is tested to allow comparison of the output with the input.


  • Neste exemplo, um módulo de modificação de caractere gráfico contendo um caractere projetado pelo usuário é construído.
    Em seguida, uma tabela de organização de caracteres de formato é modificada para incluir esse novo caractere.
    Em seguida, um módulo de modificação de cópia é criado para imprimir o novo caractere encerrado em uma caixa de caracteres de formato.
    Finalmente, o resultado é testado para permitir a comparação da saída com a entrada.
  //CHAR     JOB  ...
  //BUILD    EXEC PGM=IEBIMAGE
  //SYSUT1   DD  DSNAME=SYS1.IMAGELIB,DISP=OLD
  //SYSPRINT DD  SYSOUT=A
  //SYSIN    DD  *
           OPTION  DEVICE=3800M3
  STEP1    GRAPHIC ASSIGN=5C
  XXX                 XXX SEQ=01
  XXX                 XXX SEQ=02
  XXX                 XXX SEQ=03
  XXX                 XXX SEQ=04
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=05
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=06
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=07
  XXX                 XXX SEQ=08
  XXX                 XXX SEQ=09
  XXX                 XXX SEQ=10
  XXX                 XXX SEQ=11
                          SEQ=12
                          SEQ=13
                          SEQ=14
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=15
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=16
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=17
  XXX       XXX       XXX SEQ=18
  XXX       XXX       XXX SEQ=19
  XXX       XXX       XXX SEQ=20
  XXX       XXX       XXX SEQ=21
  XXXX     XXXXX     XXXX SEQ=22
   XXXX   XXXXXXX   XXXX  SEQ=23
    XXXXXXXXXXXXXXXXXXX   SEQ=24
      XXXXX    XXXXXX     SEQ=25
                          SEQ=26
                          SEQ=27
                          SEQ=28
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=29
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=30
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=31
                  XXXXXXX SEQ=32
       XXXXXXXXXXXXXXXXXX SEQ=33
  XXXXXXXXXXXXXXXX        SEQ=34
  XXXXXXXXXXXXXXXX        SEQ=35
       XXXXXXXXXXXXXXXXXX SEQ=36
                  XXXXXXX SEQ=37
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=38
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=39
  XXXXXXXXXXXXXXXXXXXXXXX SEQ=40
            NAME AIBM

  STEP2    OPTION  DEVICE=3800M3
           INCLUDE FM10
           TABLE   GCMLIST=AIBM,LOC=(5C,2C)
           NAME    BIBM
  STEP3    OPTION  DEVICE=3800M3
           COPYMOD COPIES=1,LINES=58,POS=5,TEXT=(C,'W6X')
           COPYMOD COPIES=1,LINES=59,POS=5,TEXT=(C,'7*7')
           COPYMOD COPIES=1,LINES=60,POS=5,TEXT=(X,'E9F6E8')
           NAME    CIBM
  /*
  //TEST     EXEC PGM=IEBIMAGE
  //SYSUT1   DD  DSNAME=SYS1.IMAGELIB,DISP=OLD
  //SYSPRINT DD  SYSOUT=A,CHARS=(GF10,BIBM),
  //             MODIFY=(CIBM,1)
  //SYSIN    DD  *
          OPTION   DEVICE=3800M3
          GRAPHIC
          NAME     AIBM
  /*

The control statements are discussed as follows:
As declarações de controle são discutidas a seguir:

  • The SYSUT1 DD statement includes DISP=OLD to ensure that no other job can modify the data set while this job is executing.
  • The GRAPHIC statement's ASSIGN parameter specifies that the 8-bit data code for the user-designed character is X'5C' and the width is 10-pitch (the default when no pitch is specified).
    The GRAPHIC statement is followed by data statements that specify the character's scan pattern for vertical line spacing of 6 lines per inch.
  • The name of the graphic character modification module is AIBM, and it is stored as a new module in SYS1.IMAGELIB.
  • At STEP2, the INCLUDE statement specifies that a copy of the FM10 character arrangement table is to be used as a basis for the new module.
  • The TABLE statement identifies the graphic character modification module named AIBM, created in the previous step.
    The TABLE statement's LOC parameter specifies the translation table entry location (the character's 8-bit data code) of X'5C' and the position (X'2C') where that character is to be loaded into the WCGM.
  • The name of the new character arrangement table, which is added to SYS1.IMAGELIB, is BIBM.
  • At STEP3, the three COPYMOD statements specify text that is to be placed on lines 58, 59, and 60 of the first copy of the output data set, starting at print position 5 on each line.
    When used with the BIBM character arrangement table, the characters W, 6, and X print as a top left corner, horizontal line segment, and top right corner, all in line weight 3.
    The characters 7, *, and 7 print as a weight-3 vertical line segment on both sides of the user-designed character built at STEP1 (the asterisk has the EBCDIC assignment 5C, which addresses that character).
    The hexadecimal E9, F6, and E8 complete the line-weight-3 Format box around the character.
  • The name of the copy modification module is CIBM; it is stored as a new module on SYS1.IMAGELIB.
  • At TEST, the EXEC statement calls for another execution of the IEBIMAGE program to test the modules just created.
    On the SYSPRINT DD statement the BIBM character arrangement table is the second of two specified, and the CIBM copy modification module is specified with a table reference character of 1, to use that BIBM table.
  • The GRAPHIC statement with no operand specified calls for printing of the module, AIBM, specified with the NAME statement that follows it.
    Each page of the output listing for this IEBIMAGE run has a small image of the modification printed in the lower left corner.
  • The OPTION statement with the DEVICE parameter at STEP1, STEP2, and STEP3 specifies 3800 Model 3 compatibility mode module format and processing considerations.

  • A instrução SYSUT1 DD inclui DISP = OLD para garantir que nenhum outro trabalho possa modificar o conjunto de dados durante a execução deste trabalho.
  • O parâmetro ASSIGN da instrução GRAPHIC especifica que o código de dados de 8 bits para o caractere projetado pelo usuário é X'5C 'e a largura é 10-pitch (o padrão quando nenhum pitch é especificado).
    A instrução GRAPHIC é seguida por instruções de dados que especificam o padrão de varredura do personagem para espaçamento de linha vertical de 6 linhas por polegada.
  • O nome do módulo de modificação de caractere gráfico é AIBM e é armazenado como um novo módulo em SYS1.IMAGELIB.
  • No STEP2, a instrução INCLUDE especifica que uma cópia da tabela de organização de caracteres FM10 deve ser usada como base para o novo módulo.
  • A instrução TABLE identifica o módulo de modificação de caractere gráfico denominado AIBM, criado na etapa anterior.
    O parâmetro LOC da instrução TABLE especifica o local de entrada da tabela de tradução (o código de dados de 8 bits do caractere) de X'5C 'e a posição (X'2C') onde esse caractere deve ser carregado no WCGM.
  • O nome da nova tabela de organização de caracteres, que é incluída em SYS1.IMAGELIB, é BIBM.
  • No STEP3, as três instruções COPYMOD especificam o texto que deve ser colocado nas linhas 58, 59 e 60 da primeira cópia do conjunto de dados de saída, começando na posição de impressão 5 em cada linha.
    Quando usados ??com a tabela de organização de caracteres BIBM, os caracteres W, 6 e X são impressos como um canto superior esquerdo, segmento de linha horizontal e canto superior direito, todos na espessura de linha 3.
    Os caracteres 7, * e 7 são impressos como um segmento de linha vertical weight-3 em ambos os lados do caractere projetado pelo usuário construído no STEP1 (o asterisco tem a atribuição EBCDIC 5C, que endereça esse caractere).
    O hexadecimal E9, F6 e E8 completam a caixa Formato de espessura de linha-3 ao redor do caractere.
  • O nome do módulo de modificação de cópia é CIBM; ele é armazenado como um novo módulo em SYS1.IMAGELIB.
  • Em TEST, a instrução EXEC pede outra execução do programa IEBIMAGE para testar os módulos recém-criados.
    Na instrução SYSPRINT DD, a tabela de organização de caracteres BIBM é a segunda de duas especificadas e o módulo de modificação de cópia CIBM é especificado com um caractere de referência de tabela de 1, para usar essa tabela BIBM.
  • A instrução GRAPHIC sem nenhuma chamada de operando especificada para impressão do módulo, AIBM, especificada com a instrução NAME que a segue.
    Cada página da lista de saída para esta execução de IEBIMAGE tem uma pequena imagem da modificação impressa no canto esquerdo inferior.
  • A instrução OPTION com o parâmetro DEVICE em STEP1, STEP2 e STEP3 especifica o formato do módulo do modo de compatibilidade do Modelo 3 3800 e as considerações de processamento.

Parent topic: IEBIMAGE Examples



© Copyright IBM Corp.