18/11/15

Erro no CICS - DFHPA1909 CICS DATA 216 IS INVALID FOR KEYWORD

Customer Information Control System, ou simplesmente CICS, é um monitor de transações utilizado inicialmente nos sistemas operacionais z/OS e z/VSE dos mainframes da IBM. Atualmente o CICS é disponibilizado para outros sistemas operacionais, como o i5/OS, OS/2, AIX, Windows, Linux, dentre outros. A implementação para o sistema z/OS é de longe a mais popular e importante dentre todas. CICS é um sistema de processamento de transações designado tanto para atividade Online como processamento Batch. Uma transação é basicamente um conjunto de comandos que executam uma tarefa. Normalmente , a maioria das transações são tarefas relativamente simples, como a atualização de uma conta corrente. Executado em servidores Z IBM System, o CICS facilmente suporta milhares de transações por segundo. Aplicações CICS podem ser escritas em muitas linguagens de programação, incluindo COBOL, PL/I, C, C++, IBM Basic Assembly language, REXX, e Java.

Erro no CICS

Depois de um tempo consegui encontrar uma solução para o erro abaixo:

   *09.00.19 STC00060 *02 DFHPA1909 CICS     DATA 216 IS INVALID FOR KEYWORD
   * CICSSVC=. RESPECIFY KEYWORD AND DATA.

A solução que encontrei

Primeiro alterado a LOADPARM para 0A95DC..
# --------------------------------------------------------------------------------------- 
# Hercules Emulator Control file...                                                      
# Description: 
# MaxShutdownSecs: 15
#
#
# System parameters
# --------------------------------------------------------------------------------------- 

ARCHMODE  z/Arch
ALRF      ENABLE
CCKD      RA=2,RAQ=4,RAT=2,WR=2,GCINT=5,GCPARM=0,NOSTRESS=0,TRACE=0,FREEPEND=-1
CNSLPORT  3270
CONKPALV  (3,1,10)
CPUMODEL  3090
CPUSERIAL 012345
DIAG8CMD  ENABLE
ECPSVM    YES
LOADPARM  0A95DC..    # CICS ONLINE
# LOADPARM  0A95CC..
# LOADPARM  0A95DB..    # estava assim
LPARNAME  HERCULES
MAINSIZE  1024
MOUNTED_TAPE_REINIT  DISALLOW
NUMCPU    4
OSTAILOR  Z/OS
PANRATE   80
PGMPRDOS  LICENSED
SHCMDOPT  NODIAG8
SYSEPOCH  1900
TIMERINT  50
TZOFFSET  +1400
YROFFSET  0

HERCPRIO  0
TODPRIO   -20
DEVPRIO   8
CPUPRIO   0
PANTITLE  z/OS 1.10 IPL A80?

# ---------------------------------------------------------------------------------------    
# SYMBOLS DEFINITION                                          
# ---------------------------------------------------------------------------------------    

DEFSYM DASD "C:\Mainframe\Z_OS_110"
DEFSYM PRTR "C:\Mainframe\Z_OS_110"

# ---------------------------------------------------------------------------------------    
# Device list
# ---------------------------------------------------------------------------------------    

# Display Terminals

0700    3270
0701    3270
0702    3270
0703    3270
0704    3270

# DASD Devices

0A81    3390    $(DASD)\zares1.cckd
0A82    3390    $(DASD)\zares2.cckd
0A83    3390    $(DASD)\zadb81.cckd
0A84    3390    $(DASD)\zadb82.cckd
0A85    3390    $(DASD)\zadb83.cckd
0A86    3390    $(DASD)\zadb84.cckd
0A87    3390    $(DASD)\zadb91.cckd
0A88    3390    $(DASD)\zadb92.cckd
0A89    3390    $(DASD)\zacic1.cckd
0A8A    3390    $(DASD)\zadis1.cckd
0A8B    3390    $(DASD)\zadis2.cckd
0A8C    3390    $(DASD)\zadis3.cckd
0A8D    3390    $(DASD)\zadis4.cckd
0A8E    3390    $(DASD)\zadis5.cckd
0A8F    3390    $(DASD)\zadis6.cckd
0A90    3390    $(DASD)\zaims1.cckd
0A91    3390    $(DASD)\zaprd1.cckd
0A92    3390    $(DASD)\zaprd2.cckd
0A93    3390    $(DASD)\zaprd3.cckd
0A94    3390    $(DASD)\zaprd4.cckd
0A95    3390    $(DASD)\zasys1.cckd
0A96    3390    $(DASD)\zauss1.cckd
0A97    3390    $(DASD)\zawas1.cckd
0A98    3390    $(DASD)\zawas2.cckd
0A99    3390    $(DASD)\zawas3.cckd
0A9A    3390    $(DASD)\sares1.cckd
Depois de dar o IPL com essa configuração acesso o CICS (tecle enter)
WELCOME TO CICS 03:01:03


                    ******\  ******\  ******\   ******\(R)
                   ********\ ******\ ********\ ********\
                   **\\\\**\   **\\\ **\\\\**\ **\\\\**\
                   **\    \\   **\   **\    \\ **\    \\
                   **\         **\   **\       *******\
                   **\         **\   **\        *******\
                   **\         **\   **\         \\\\**\
                   **\   **\   **\   **\   **\ **\   **\
                   ********\ ******\ ********\ ********\
                    ******\\ ******\  ******\\  ******\\
                     \\\\\\   \\\\\\   \\\\\\    \\\\\\
Vai dar erro mais dá para digitar: CEDA DEF PROGRAM(N28A) GROUP(N28APPL)
WELCOME TO CICS 03:01:03





                     ******\  ******\  ******\   ******\(R)
                    ********\ ******\ ********\ ********\
                    **\\\\**\   **\\\ **\\\\**\ **\\\\**\
                    **\    \\   **\   **\    \\ **\    \\
                    **\         **\   **\       *******\
                    **\         **\   **\        *******\
                    **\         **\   **\         \\\\**\
                    **\   **\   **\   **\   **\ **\   **\
                    ********\ ******\ ********\ ********\
                     ******\\ ******\  ******\\  ******\\
                      \\\\\\   \\\\\\   \\\\\\    \\\\\\





DFHAC2001 03/09/2018 03:04:31 CICS Transaction '' is not recognized. Check
  that the transaction name is correct. CEDA DEF PROGRAM(N28A) GROUP(N28APPL)
Agora o que faz depois daqui não sei;
DEF PROGRAM(N28A) GROUP(N28APPL)
  OVERTYPE TO MODIFY                                        CICS RELEASE = 0650
   CEDA  DEFine PROGram( N28A     )
    PROGram        : N28A
    Group          : N28APPL
    DEscription  ==>
    Language     ==>                    CObol | Assembler | Le370 | C | Pli
    RELoad       ==> No                 No | Yes
    RESident     ==> No                 No | Yes
    USAge        ==> Normal             Normal | Transient
    USElpacopy   ==> No                 No | Yes
    Status       ==> Enabled            Enabled | Disabled
    RSl            : 00                 0-24 | Public
    CEdf         ==> Yes                Yes | No
    DAtalocation ==> Below              Below | Any
    EXECKey      ==> User               User | Cics
    COncurrency  ==> Quasirent          Quasirent | Threadsafe
    Api          ==> Cicsapi            Cicsapi | Openapi
   REMOTE ATTRIBUTES
+  DYnamic      ==> No                 No | Yes
   S Object already exists in this group.
                                                      SYSID=CICS APPLID=CICS
   DEFINE UNSUCCESSFUL                          TIME:  03.12.06  DATE: 18.068
PF 1 HELP 2 COM 3 END             6 CRSR 7 SBH 8 SFH 9 MSG 10 SB 11 SF 12 CNCL

19 comentários:

  1. Prezado.
    Aqui aconteceu a mesma coisa, ai foi só mudar a LOADPARM, que não apreceu mais essa mensagem.

    Pergunto: Você tem exemplos de programas em CICS?

    ResponderEliminar
  2. Muito bom brasilianista, vou testar, vou procurar para ver se acho um na internet.

    ResponderEliminar
  3. Aqui no zos110, (para windows) consegui configurar corretamente, para usar FTP, usar JCL, COBOL e DB2, mas para CICS, não consegui nem com o exemplo mais simples, tipo "hello word" para cics.

    ResponderEliminar
  4. If you have message:
    DFHAC2001 CICS Transaction '' is not recognized. Check that the transaction name is correct.

    Type PAUSE/BREAK key to clear the screen. You are actually logged on CICS subsystem.

    Type CESF LOGOFF to log off CICS subsystem or use other transactions etc.

    ResponderEliminar
  5. Configuração do CICS

    O CICS vem perfeitamente configurado da fábrica, mas falta uma coisa, para poder controlá-lo a partir do console principal. Essa configuração é feita através da transação CEDA que é usada para definir, explorar e instalar recursos no CICS. Primeiro você tem que criar um novo grupo que será associado à lista XYZLIST (CEDA ADD), que é a única que não está protegida pelo sistema. Claro, você também pode criar uma nova lista, mas é desnecessária. Em segundo lugar, um novo terminal (CEDA DEFINE TERMINAL) é criado. Este terminal será chamado, por exemplo, L700 como o console principal. Na verdade, esse nome não afeta. TYPETERM deve ser DFHCONS e CONSNAME deve ser L700. Todos os recursos devem estar em um grupo, portanto, ter criado o grupo anteriormente. Em terceiro e último lugar, o grupo é instalado com o CEDA INSTALL GROUP (nome).

    A partir de agora, o CICS pode ser controlado a partir do console principal. Exemplo: F CICSA, CEMT P SHUT. Isso interrompe o CICS.

    Neste ponto, todo o sistema já está configurado corretamente. Para todo o resto existem manuais da IBM.

    ResponderEliminar
    Respostas
    1. Oi Claudemar,

      Como você definiu o terminal pra acessar o CICS ?

      Já vi que o CICSA está ativo, consigo vê a tela inicial, mas ele não habilita pra receber transações.

      Obrigado, seu site está sendo de grande ajuda.

      Eliminar
    2. Estou com o mesmo problema, não consegui configurar o CICS para ficar online para poder acessar

      Eliminar
  6. Olá Claudemar, voçê poderia me ajudar com este erro:

    8.06.12 STC00048 +DFHXS1106 CICS
    Resource profiles could not be built for class EJBROLE

    Estava seguindo este tutorial :

    https://emuframe.com/index.php/cics/74-cics-habilitando-seguridad-racf-parte-1-2

    E surgiu esse erro nã consegui habilitar segurança no CICS.

    Desde já agradeço.

    ResponderEliminar
    Respostas
    1. O CICS nunca consegui acessar por ele, não sei se é uma configuração no HERCULES.CNF ou uma configuração no z/OS, trabalho com outro aplicativo concorrente do CICS

      Eliminar
  7. Eu queria saber como configurar o DB2 noc cics hercules. Eu já definir e instalei o o programa e o mapa. Mas a conexão com o DB2 não funciona.

    ResponderEliminar
  8. Claudemar, boa tarde. depois de um bom tempo voltei a tentar programar em Mainframe, estou tentando recomeçar, com CICS, voce tem exemplos de programa simples? E como configurar e estartar CICS corretamente?

    ResponderEliminar
    Respostas
    1. O CICS nunca consegui acessar por ele, não sei se é uma configuração no HERCULES.CNF ou uma configuração no z/OS, trabalho com outro aplicativo concorrente do CICS

      Eliminar
    2. pelo menos, exemplos simples em cics, você tem?

      Eliminar
    3. Tentei fazer uns, como não consegui acessar ele não deu pra fazer, no serviço acesso um software concorrente dele o pessoal não conseguiu me ajudar

      Eliminar
    4. De o comando D A,L na console para ver os aplicativos que estão online, vai estar lá o CICSA, porque ele não consigo acessar ele não sei te falar, você pode treinar pelo TSO

      Eliminar
    5. aqui eu entro como L cics
      limpo o terminal
      e dou o comando CEDA.
      e tenho acesso ao cics, o que me falta são exemplos.

      Eliminar
    6. https://www.tutorialspoint.com/cics/cics_quick_guide.htm

      Tem o passo 3

      Create a new member inside the PDS and code the following program −

      IDENTIFICATION DIVISION.
      PROGRAM-ID. HELLO.
      DATA DIVISION.
      FILE SECTION.
      WORKING-STORAGE SECTION.
      01 WS-MESSAGE PIC X(40).
      01 WS-LENGTH PIC S9(4) COMP.
      PROCEDURE DIVISION.
      A000-MAIN-PARA.
      MOVE 'Hello World' TO WS-MESSAGE
      MOVE '+12' TO WS-LENGTH
      EXEC CICS SEND TEXT
      FROM (WS-MESSAGE)
      LENGHT(WS-LENGTH)
      END-EXEC
      EXEC CICS RETURN
      END-EXEC.

      Depois rodar um JCL - nele tem um exemplo

      Eliminar
    7. vou tentar, por aqui, e depois lhe falo o resultado, ok.

      Eliminar