SET(pointer) Esta opção é uma alternativa ao parâmetro INTO para tratamento dos dados da tela diretamente no bufer do CICS. Veja observações abaixo.
FROM(area) Este parâmetro aponta para uma área contendo os dados da tela que serão mapeados, quando estes dados não estão na tabela TCT.
LENGTH(compr) Usado com o parâmetro FROM, contem o tamanho da área de dados. A variável compr deve ter formato S9(4) COMP.
É usado para se acessar os dados da tela diretamente no bufer do CICS. Para isso é necessário definir a área copy gerada pelo mapa BMS na LINKAGE SECTION do programa Cobol. O comando EXEC CICS RECEIVE deve endereçar esta área como no exemplo abaixo:
Existem 2 formas basicas para este comando: A primeira é usada no inicio do processamento para enviar para o terminal a mascara da tela, com seus literais e atributos. A segunda forma é usada nos envios subsequentes para alimentar dados variaveis sobre a tela já formatada.
Omitindo-se nos comandos as palavras MAPONLY e DATAONLY, o efeito será cumulativo dos dois formatos.
MAPONLY Será enviado para a tela somente o mapa físico, definido pelas macros DFHMDF. Dados variáveis (working-storage do Cobol) não serão enviados para a tela.
FROM(area) Informa o nome da área da working-storage de onde os dados serão enviados para a tela (<mapa>O). Esta opção não pode ser usada com a opção MAPONLY.
LENGTH(compr) Usado com o parâmetro FROM, informa o tamanho da área de dados da tela. compr deve ter formato S9(4) COMP.
FREEKB O teclado será desbloqueado após o envio da tela. Sem este parâmetro o teclado permanecerá bloqueado, e o operador não poderá usa-lo.
No posicionamento físico é usado o parâmetro CURSOR do comando EXEC CICS SEND. Este parâmetro informa diretamente a posição do cursor pela posição do bufer da tela, que é um valor entre 0 e 1919 para telas de 24 linhas e 80 colunas. Este valor pode ser dado por um literal fixo, ou por um campo com formato S9(4) COMP.
No posicionamento lógico usamos o nome do campo definido no mapa, movendo o valor –1 para o campo <nome>L da area da tela. Neste caso o parametro CURSOR do comando EXEC CICS SEND é usado sem o argumento valor.
As opções de HANDLE CONDITION do comando EXEC CICS SEND MAP não se aplicam para os formatos estudados neste curso.
Mapa (Na coluna 1) é o nome da tela. Este nome será usado nos programas para leitura e gravação da tela.
Indica a coluna do terminal onde deve ser posicionada a tela. Posição pode ser qualquer dos valores descritos em LINE.
A macro DFHMDF define os atributos sobre a tela. É necessario uma macro DFHMDF para cada atributo da tela.
Como exemplo, suponhamos que na coluna 10 de uma tela desejamos criar uma caixa de texto para digitar o codigo do produto. A caixa de texto terá ‘a sua esquerda um literal descritivo do campo. A linha 10 terá o seguinte aspecto:
Note na ilustração que criamos 3 atributos representados pelas letras (x). O codigo BMS para esta linha terá 3 macros DFHMDF:
Campo (na coluna 1) é opcional, e informa o nome do campo nos casos em que ele deve aparecer no programa Cobol.
Define a localização do campo na tela. Esta será a posição ocupada pelo atributo descrito. Pode ser informada em um dos formatos:
Este é o comprimento do campo, não incluindo o atributo. Os campos podem ter comprimento máximo de 256 caracteres. Quando o comprimento de um campo faz com que ele ultrapasse a coluna 80 da linha (overflow), o campo continuará na linha seguinte. Se o overflow ocorrer na última linha o campo, ele continuará na linha 1.
Pode-se definir um campo de comprimento zero se a macro DFHMDF não tiver label (campo sem nome). Este pseudo-campo não aparecerá na área copy da tela, e servirá somente para criar um atributo limitador para o campo anterior da tela.
Este argumento define as características do atributo do campo. Os valores permitidos em cada opção do argumento, todos opcionais, são:
acesso), FSET – O campo deve ter o atributo MDT sempre ligado (ON). O terminal transmite seu conteúdo para o programa Cics, mesmo que o operador não altere o campo.
JUSTIFY define como o terminal posicionará os dados no campo durante a digitação. O argumento posição pode ser RIGHT ou LEFT, e o preenchimento pode ser BLANK ou ZERO.
O argumento GRPNAME serve para agrupar sub-campos de um campo, como por exemplo, o dia, mês e ano formando uma data. Para se criar sub-campos, use macros DFHMDF para criar cada um dos sub-campos. Todas as macros DFHMDF dos sub-campos devem ter o argumento GRPNAME com o mesmo nome, que será usado como identificação do grupo. Somente o primeiro sub-campo pode ter o argumento ATTRB, os outros sub-campos vão usar o ATTRB do primeiro sub-campo. Ex.:
O Label desta macro define o nome do mapset. Ele deverá ser usado nos programas dentro dos comandos de leitura e gravação da tela.
TYPE=MAP, Indica que deve ser gerado um modulo objeto do mapset, com o nome do label da macro, para uso do Cics.
STORAGE=AUTO, As áreas de INPUT e OUTPUT das telas usarão a mesma área de memória (serão geradas com a clausula REDEFINES).
FREEKB, Libera automaticamente o teclado quando uma tela é enviada ao terminal. No sistema 3270 os teclados ficam bloqueados enquanto a tela esta sendo tratada pelo Cics.
TIOAPFX=YES, Cria um campo FILLER de 12 posições no inicio da área copy da tela (usado internamente pelo Cics).