Pergunta

Is it possible to call a CICS program from JCL batch?

If yes how? If no why not?

Foi útil?

Solução

Yes. Technically, a COBOL batch program is communicating with CICS, and you execute the COBOL batch program from JCL. You can read more in the CICS Transaction Server manual.

The external CICS® interface is an application programming interface that enables a non-CICS program (a client program) running in MVS™ to call a program (a server program) running in a CICS region and to pass and receive data by means of a communications area. The CICS application program is invoked as if linked-to by another CICS application program.

Introduction to the external CICS interface

I believe that your CICS program cannot use maps (must be conversational), but it's been a while since I've worked with CICS, so I might be mistaken.

Outras dicas

There are three ways to do this:

  1. Use EXCI, which is IBM's standard way to do this. It has a moderate amount of setup. It does not support multiple occurs depending correctly. It has just recently been expanded to support containers (exceed the 64k COMMAREA limit).
  2. Call the CICS program through the network, like you would call it from some PC application. This is all kinds of strange and not fun, but it's possible. You would need to write a program in COBOL to implement HTTP using TCP/IP and call it from batch.
  3. But 3rd party product, like Shadow from DataDirect. They basically simplify what IMB's EXCI interface does.

Or if possible, just don't do it. Move the logic to a share, or share data in DB2, something else.

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