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
