Thanks to David and Timothy for those fairly comprehensive lists!  Especially 
to Timothy for the “call COBOL from python” blog reference, a most interesting 
exercise.

Having had the opportunity to actually use David’s pyzfile interface on a z/OS 
system, I can testify its performance is exceptional, and it Just Works.  Kudos.

Be aware there is (or at least there was as of August 2023) a small glitch in 
the ibm_db package in that the tagging of the odbc.ini control file that is 
integral to the ODBC interface to DB2 on z/OS has to be encoded and tagged in 
just the right way (encoded in IBM-1047, tagged binary (chtag -b) or encoded in 
IBM-1047, mixed tag (chtag -mc IBM-1047)) or fetch processes will fail with 
S0C4 abends.  I reported those S0C4’s to the ibm_db team on their github and 
eventually one of the contributors found the glitch.

Timothy,

Is there any chance you can inquire internally to IBM whether Mr. Gäbler is 
going to expand the github he referenced in the blog post to include the 
program sources and expanded examples as he proposed to do?  That would be a 
very useful example resource to have available.

Peter


From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Timothy Sipples
Sent: Wednesday, July 3, 2024 3:01 AM
To: [email protected]
Subject: Re: z/OS 3.1 Enhancements & Support News


David Crayford wrote:



>There are equivalents to almost all of those listed above. As Timothy already



>mentioned ZAOU has many functions....



Good list! I should mention some more.



1. IBM offers open source Python code called tnz that provides a complete 3270 
?stack.? You can use tnz to programmatically drive practically anything that 
can be driven through a TN3270E connection. And sometimes you have to do that, 
maybe because you?ve lost the source code or otherwise would find it difficult 
to add APIs to an existing application through some other means. (Or maybe you 
want to automate some tests of 3270 screens.) You can also use tnz as a 
terminal emulator, running on a client machine (PC, Mac) or on z/OS itself. 
When you run tnz on z/OS you can connect via SSH (using Putty for example), 
fire up tnz, and establish a TN3270E connection from there ? back to TSO/E on 
the same z/OS instance if you want. Or hop over to z/VM, VSEn, some other 
instances of z/OS, or z/TPF. All from your SSH terminal session into the z/OS 
instance that?s running tnz. Very handy!



https://urldefense.com/v3/__https://github.com/IBM/tnz__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_Ta_KPy3Q$<https://urldefense.com/v3/__https:/github.com/IBM/tnz__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_Ta_KPy3Q$>



2. Colin Paice ported PyMQI, a popular Python library for IBM MQ, to z/OS. More 
information here:



https://urldefense.com/v3/__https://github.com/colinpaicemq/zpymqi__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_TFdRnK1Q$<https://urldefense.com/v3/__https:/github.com/colinpaicemq/zpymqi__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_TFdRnK1Q$>



IBM MQ for z/OS also has a simple RESTful interface, and as David mentioned 
it's easy to use/consume REST interfaces in Python.



3. Python has an email package that you can use to send and receive emails ? 
analogous to XMITIP and CSSMTP.



4. PyRACF is just what it sounds like: a Python interface into the RACF 
management API.



https://urldefense.com/v3/__https://github.com/ambitus/pyracf__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_Rm9Wx9sQ$<https://urldefense.com/v3/__https:/github.com/ambitus/pyracf__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_Rm9Wx9sQ$>



5. Here's an article explaining how to call COBOL directly from Python:



https://urldefense.com/v3/__https://community.ibm.com/community/user/ibmz-and-linuxone/blogs/denis-gbler2/2023/12/08/how-to-call-existing-cobol-modules-from-python?communityKey=9a8b7fc3-b167-447a-8e14-adf93406eccc__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_QfRKlx4A$<https://urldefense.com/v3/__https:/community.ibm.com/community/user/ibmz-and-linuxone/blogs/denis-gbler2/2023/12/08/how-to-call-existing-cobol-modules-from-python?communityKey=9a8b7fc3-b167-447a-8e14-adf93406eccc__;!!Ebr-cpPeAnfNniQ8HSAI-g_K5b7VKg!PtB2u8T6ohRman3ILnB4ArgJI6tiYBLcL4O07T0XmGrDg9HHoWj3b11PXuliDFS7JfDQYA-GoeKlm_QfRKlx4A$>



--



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to