View previous topic :: View next topic
|
Author |
Message |
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Apoorva
New User
Joined: 28 Jan 2020 Posts: 49 Location: India
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Apoorva
New User
Joined: 28 Jan 2020 Posts: 49 Location: India
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Apoorva
New User
Joined: 28 Jan 2020 Posts: 49 Location: India
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Apoorva
New User
Joined: 28 Jan 2020 Posts: 49 Location: India
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
|
|
hey guys thanks a lot for the info and effort. i will read and reply |
|
Back to top |
|
|
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
|
|
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 |
|
|
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
|
|
Do we have any examples of EXCI? |
|
Back to top |
|
|
Apoorva
New User
Joined: 28 Jan 2020 Posts: 49 Location: India
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
|
|
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 |
|
|
Ziko13
New User
Joined: 19 Jul 2018 Posts: 26 Location: Greece
|
|
Back to top |
|
|
John Poulakos
Active User
Joined: 13 Jun 2012 Posts: 178 Location: United States
|
|
|
|
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 |
|
|
|