IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

trigger enter key automatically call cics from batch


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Fri Apr 03, 2020 2:53 pm
Reply with quote

Hi all,

We have a requirement to call a cics transaction from a batch program. we are able to call the transaction and see the first screen with the map fields populated. Map fields are populated through commarea. Where we are stuck is the second stage of the program where the user presses the enter key and transaction resumes processing ie updates the databases in our case. Can this be done automatically ie the program to behave as if the enter key has been pressed?

Thank you in advance
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Sat Apr 04, 2020 1:14 pm
Reply with quote

No automatic way to have enter done by itself.

You could call a same transaction again but with some unique Parms than first time call , once you get in the program and sense the unique parm just do a receive map and process the updates .

But the whole design is convoluted if I see but this is one way to get what’s needed.
Back to top
View user's profile Send private message
Apoorva

New User


Joined: 28 Jan 2020
Posts: 49
Location: India

PostPosted: Sat Apr 04, 2020 9:23 pm
Reply with quote

Rohit Umarjikar wrote:
No automatic way to have enter done by itself.

You could call a same transaction again but with some unique Parms than first time call , once you get in the program and sense the unique parm just do a receive map and process the updates .

But the whole design is convoluted if I see but this is one way to get what’s needed.


There are automatic ways to do it but no "easy" automatics ways. Programmers with deep VTAM knowledge could develop home grown utilities to do such automation. In fact IBM's TPNS (Teleprocessing Network Simulator) is designed for such things but it's a licensed product.

www.ibm.com/support/knowledgecenter/en/SSGMCP_4.1.0/com.ibm.cics.ts.performance.doc/topics/dfht31x.html
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Sat Apr 04, 2020 10:20 pm
Reply with quote

So with this you are sure that when a map is send then whatever you mentioned would so a magic to have it enter or some key pressed so that program gets the control and process the updates ?

This to me a research work and no results guaranteed unless you tried it before and used for such purposes.

Again I am not a VTAM expert to comment but what I said would work unless it has any issues that TS thinks of .
Back to top
View user's profile Send private message
Apoorva

New User


Joined: 28 Jan 2020
Posts: 49
Location: India

PostPosted: Sat Apr 04, 2020 10:37 pm
Reply with quote

Rohit Umarjikar wrote:
So with this you are sure that when a map is send then whatever you mentioned would so a magic to have it enter or some key pressed so that program gets the control and process the updates ?

This to me a research work and no results guaranteed unless you tried it before and used for such purposes.

Again I am not a VTAM expert to comment but what I said would work unless it has any issues that TS thinks of .


FYI this is not a research work but already has been done, and hence guaranteed. Whatever I mentioned will not do a "magic" but will replicate the terminal actions as directed by the user by interfacing with VTAM, and that is what IBM's TPNS is for.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Sun Apr 05, 2020 1:47 am
Reply with quote

That’s good to know but as I said the whole design is messy.

Why one thinks this is the best design and make stuff complicated at first place ?

There are better ways to do if you lost the requirements and ask for designs than asking the solution on this convoluted programming.

You can also write messages to MQ and trigger a transaction that can do online updates , I understand that you are trying to leverage the existing program than creating your own but you can always make a copy of the program twist it to not to send map when triggered from MQ else trigger. That’s is much better than this approach.

E.g

ibmmainframes.com/about61039.html

ibmmainframes.com/about66220.html
Back to top
View user's profile Send private message
Apoorva

New User


Joined: 28 Jan 2020
Posts: 49
Location: India

PostPosted: Sun Apr 05, 2020 4:33 am
Reply with quote

Rohit Umarjikar wrote:
That’s good to know but as I said the whole design is messy.

Why one thinks this is the best design and make stuff complicated at first place ?

There are better ways to do if you lost the requirements and ask for designs than asking the solution on this convoluted programming.

You can also write messages to MQ and trigger a transaction that can do online updates , I understand that you are trying to leverage the existing program than creating your own but you can always make a copy of the program twist it to not to send map when triggered from MQ else trigger. That’s is much better than this approach.

E.g

ibmmainframes.com/about61039.html

ibmmainframes.com/about66220.html


I see that the TS already is doing some advanced stuff like running transactions from batch, and using COMMAREA to access the output etc. So TS probably already knows that it could be achieved by making some changes in the current design (like bypassing the logic that involves actions from terminal users) which was your suggestion also. But the reason TS might have raised this topic here is because TS probably is looking for a standalone solution to get the job done without having to change any of the current design. If this was the intention, then VTAM is not just the best but also the ONLY solution to get the job done, and I am not sure if MQ can perform terminal actions like "Hit ENTER key", Hit PF3 etc.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Sun Apr 05, 2020 4:35 am
Reply with quote

We don’t need to do all that terminal stuff .. attach a transaction to the mq and mimic the same program with little twist to do updates without having to wait for pfkeys response . simple , clean and easy and we do this all the time when we stimulate volume testing.
Back to top
View user's profile Send private message
Apoorva

New User


Joined: 28 Jan 2020
Posts: 49
Location: India

PostPosted: Sun Apr 05, 2020 4:54 am
Reply with quote

Rohit Umarjikar wrote:
We don’t need to do all that terminal stuff .. attach a transaction to the mq and mimic the same program with little twist to do updates without having to wait for pfkeys response . simple , clean and easy and we do this all the time when we stimulate volume testing.


You may say "simple,clean,easy" but we don't know how easy or complicated it is for TS to change the existing design. As I said earlier all this needs changes to the current design, and the TS might already have ways to do it if it means existing design needs to be changed.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Sun Apr 05, 2020 5:22 am
Reply with quote

Let’s wait for TS to see these replies and choose one than we speculating stuff . He got few things to work on.
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Mon Apr 06, 2020 4:22 pm
Reply with quote

hey guys thanks a lot for the info and effort. i will read and reply
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Mon Apr 06, 2020 4:42 pm
Reply with quote

we are trying to avoid writing a new program yes. the current program is very complicated and it will take a lot of time and testing to read it and understand it.
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Mon Apr 06, 2020 5:00 pm
Reply with quote

Do we have any examples of EXCI?
Back to top
View user's profile Send private message
Apoorva

New User


Joined: 28 Jan 2020
Posts: 49
Location: India

PostPosted: Mon Apr 06, 2020 5:15 pm
Reply with quote

Ziko13 wrote:
hey guys thanks a lot for the info and effort. i will read and reply


You are Welcome! All the best with this project. I am sorry I don't know much about CICS or EXCI.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3051
Location: NYC,USA

PostPosted: Mon Apr 06, 2020 5:44 pm
Reply with quote

Ziko13 wrote:
Do we have any examples of EXCI?
as in the shared links it states there is no known EXCI just for the MAPs.
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Mon Apr 06, 2020 7:02 pm
Reply with quote

in our shop each transaction is divided into two programs. First program performs the send map and then xctls to the second program which does the receive map and then performs the busines processing ie in our case to update all the databases. Given that EXCI cannot be used with maps i will try to replace the receive map of the second program with information passed via commarea. The idea is to have a copybook with all the map fields and pass it to the second program as commarea.
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 26
Location: Greece

PostPosted: Mon Apr 06, 2020 11:15 pm
Reply with quote

second option is to do it like this

ibmmainframes.com/viewtopic.php?t=61009&highlight=exci
Back to top
View user's profile Send private message
John Poulakos

Active User


Joined: 13 Jun 2012
Posts: 178
Location: United States

PostPosted: Wed Apr 08, 2020 9:41 pm
Reply with quote

Your best option is create a batch version of the program to do the updates. No matter what you do with batch interfacing to CICS or using VTAM to interface, you have to deal with the possibility the request may fail. There is no good way to deal with that.

If you use VTAM, you have to do a lot more work than writing a batch program. You need a started task, ACBs, a main task driver, all VTAM exits, ECB handling, two levels of wait and post logic and the list goes on and on. In the long run, you still won't have a good way of handling errors. The last VTAM task I wrote took 4 people and over 6 months to complete.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts How to get a stack trace on a looping... ABENDS & Debugging 5
No new posts Calling Java method from batch COBOL ... COBOL Programming 5
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
Search our Forums:

Back to Top