Pergunta

Eu sou novo no CICS. Eu tenho uma consulta, podemos desencadear uma transação completa do CICS em lote? Quero acionar um trabalho em lote através do programa que é executado pela transação do CICS, é possível?

Foi útil?

Solução

Sim é possivel.

Seus programadores do sistema precisam configurar uma fila de dados transitórios de partição extra cuja instrução DD está apontando para o leitor interno do JES.

Você precisa escrever o JCL na fila de dados transitórios, incluindo o último // do cartão.

Você é responsável por garantir o acesso em série à fila de dados transitórios com os comandos CICS Enqueue e Dequeue.

O cartão de trabalho precisa conter um ID do usuário e uma senha, para que o trabalho seja executado em sua conta e não no ID do usuário da região do CICS.

Outra opção é o comando spoolopen do CICS.

Aqui está algum código COBOL que usa o comando spoolopen.

EXEC CICS SPOOLOPEN OUTPUT
          NODE ('LOCAL')
          USERID ('INTRDR')
          RESP(RETCODE)RESP2(RESP2)
          TOKEN(TOKEN)
END-EXEC

PERFORM VARYING JCL-IND FROM +1 BY +1
  UNTIL RETCODE NOT = DFHRESP(NORMAL)
     OR JCL-IND > jcl-ind-max
  MOVE JCLELE (JCL-IND)     TO      JOBQUEUE
  EXEC CICS SPOOLWRITE
          FROM(JOBQUEUE)
          RESP(RETCODE) RESP2(RESP2)
          FLENGTH(OUTLEN)
          TOKEN(TOKEN)
  END-EXEC
END-PERFORM

EXEC CICS SPOOLCLOSE
          TOKEN(TOKEN)
          RESP(RETCODE) RESP2(RESP2)
END-EXEC

Eu encontrei essas informações em um Wiki do CICS.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top