Can one write a Started Task in Java? What would the JCL look like (neglecting application-specific items)?
I suppose I might ask the same question with regard to Python. Also is Python "standard" with z/OS or would I have to solve the download and install issues? Serious questions. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of David Crayford Sent: Tuesday, June 21, 2022 3:21 PM To: [email protected] Subject: Re: Some UNIX file usage questions On 22/06/2022 3:01 am, Kirk Wolf wrote: > FYI - JZOS includes a wrapper for __console2() - class com.ibm.jzos.MvsConsole Indeed. We use the JZOS console listener for handling modify commands. If Charles had Java skills he could have used the rotating log library and JZOS which provides MVS STOP commands implicitly instead of having to write new code. Which is interesting as he cited choosing REXX as it's quicker to develop in as he already knows the language. In the land of the blind the one eyed man is king :) > Kirk Wolf > Dovetailed Technologies, LLC > http://coztoolkit.com > > Note: Our website and domain name have changed from dovetail.com to > coztoolkit.com > > > On Tue, Jun 21, 2022, at 11:54 AM, Charles Mills wrote: >> _console2() does everything appropriate, including managing the CIB chain. >> >> A batch job could, if appropriate, respond to STOP. >> >> Charles >> >> >> -----Original Message----- >> From: IBM Mainframe Discussion List [mailto:[email protected]] On >> Behalf Of Seymour J Metz >> Sent: Tuesday, June 21, 2022 9:36 AM >> To: [email protected] >> Subject: Re: Some UNIX file usage questions >> >> Does _console2() delete the CIB in order to allow and additional MODIFY? >> >> For a batch job, only the MODIFY CIB is an issue. >> >> ________________________________________ >> From: IBM Mainframe Discussion List <[email protected]> on behalf of >> David Crayford <[email protected]> >> Sent: Tuesday, June 21, 2022 9:17 AM >> To: [email protected] >> Subject: Re: Some UNIX file usage questions >> >> On 21/06/2022 9:09 pm, Seymour J Metz wrote: >>> If all that you want to do is to check for STOP, then it should be trivial >> to do it in C++. If you also want to enable and look for MODIFY text, then >> you need to use QEDIT. At that point it's easier to do it in HLASM. >> >> The __console2() C/C++ RTL function does everything you could want to do >> with console services other than START, which I don't care about >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.co >> m%2Fdocs%2Fen%2Fzos%2F2.1.0%3Ftopic%3Dfunctions-console2-enhanced-console-co >> mmunication-services&data=05%7C01%7Csmetz3%40gmu.edu%7C77d498419638409e4 >> ab608da53888b89%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637914143163123 >> 218%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1h >> aWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DuHrRUBqMMJI%2BOuri59jghQ37N%2F >> qWy189iFtag5qn1A%3D&reserved=0. >> >> Maybe Charles will open up his code for inspection and (just for fun) we >> can see if it's easier to implement in C++ or Java :) >> >> >>> I've used Assembler H and REXX in an environment where code and design >> reviews were mandatory. And, yes, discussions included alternate ways of >> doing things, some accepted, some not. >>> >>> -- >>> Shmuel (Seymour J.) Metz >>> http://mason.gmu.edu/~smetz3 >>> >>> ________________________________________ >>> From: IBM Mainframe Discussion List [[email protected]] on behalf >> of David Crayford [[email protected]] >>> Sent: Monday, June 20, 2022 1:34 PM >>> To: [email protected] >>> Subject: Re: Some UNIX file usage questions >>> >>> I could care less about Python. What is disconcerting is why you would >>> choose REXX/Assembler when you could write the same thing with less code >>> and complexity using C++ which you already know. Maybe you're just >>> having fun and there is nothing wrong with that. There is nobody to >>> review your code and ask for changes like where I work. >>> >>> On 21/06/2022 1:31 am, Charles Mills wrote: >>>> I am not the client. I guess the client makes its decisions based on a >> variety of factors. I have many skills that are valuable to the client, and >> I would guess that "best language for the application in the opinion of a >> guy on IBMMAIN" (as opposed to "demonstrably adequate language") is not high >> on the client's list of factors. >>>> I think you are engaging in "engineer-ism" (there may be a better word?). >> Python may well be the best language for the job, for some values of best. >> Rexx is a perfectly adequate language for the job. "Integrating a new >> developer" would be for the client what "implementing a new language >> environment" would be for me. >>>> Charles >>>> >>>> >>>> -----Original Message----- >>>> From: IBM Mainframe Discussion List [mailto:[email protected]] On >> Behalf Of David Crayford >>>> Sent: Monday, June 20, 2022 9:58 AM >>>> To: [email protected] >>>> Subject: Re: Some UNIX file usage questions >>>> >>>> I take it you must be the client? I can't fathom any client who would be >>>> stupid enough to allow a vendor to write code in their language of >>>> choice due to their personal skill set. That's technical debt. >>>> >>>> On 20/06/2022 11:34 pm, Charles Mills wrote: >>>>> Aww David, I respect you more than that reply. >>>>> >>>>> Of course I could learn to write Hello World in Python more quickly than >> I can write this sentence. But what I alluded to is that past experience >> teaches me that getting from Hello World to a working system on z/OS is many >> days of agony. >>>>> Charles >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: IBM Mainframe Discussion List [mailto:[email protected]] On >> Behalf Of David Crayford >>>>> Sent: Sunday, June 19, 2022 9:32 PM >>>>> To: [email protected] >>>>> Subject: Re: Some UNIX file usage questions >>>>> >>>>> You could have learned Python in the time it took you to write this >> email. >>>>> On 20/06/2022 1:15 am, Charles Mills wrote: >>>>>>> Why not use Python? Good question. >>>>>> 1. I can undoubtedly do it perfectly satisfactorily, and almost >> certainly more quickly, in Rexx (because of the learning curve). I would >> have trouble justifying billing the client for my Python learning time when >> there is little benefit (that I know of -- correct me if I am wrong) for the >> client who is paying the bills. >>>>>> Why not, then, learn Python on my own time? Don't I want to learn >> Python? Yes I do, but there are only so many hours in a day, and there are >> other things I want to learn more than I do Python. For example, I would >> rather spend the time learning to make the Roman-Jewish fried artichokes >> that are in the current Cooks Illustrated. Learning Python is just not very >> high on my bucket list. It's there, but probably not high enough to ever >> rise to the top. >>>>>> 2. I know exactly how to execute a Started Task written in Rexx, and I >> know most of the gotchas. In my experience, THAT is the problem with the >> "new tools" on z/OS. What would I have to do to execute a Started Task >> written in Python? What are the gotchas? Heck, what do I have to do to set >> up any Python environment at all? That is the time-consuming issue, and it >> holds about zero personal gratification for me. I could probably learn the >> Python language pretty readily, and it would be one more notch in my belt. >> Solving the probable gotchas of getting Python to actually do productive >> work on z/OS -- not so much. >>>>>> .... >>>>>> Not for me, and probably not for the "report" (I am flattering the >> requirement calling it a report -- maybe call it an "alert") that the client >> wants. And again, a learning curve that is difficult to justify. >>>>>> So I think I will write it in Rexx, with perhaps a little bit of >> Assembler. >>>>> Does your client REALLY want to maintain assembler code? Our company >>>>> policy is not to use assembler for new code due to lack of available >>>>> skills which will only get worse. >>>>> >>>>> >>>>>> Charles >>>>>> >>>>>> >>>>>> -----Original Message----- >>>>>> From: IBM Mainframe Discussion List [mailto:[email protected]] >> On Behalf Of David Crayford >>>>>> Sent: Saturday, June 18, 2022 11:43 PM >>>>>> To: [email protected] >>>>>> Subject: Re: Some UNIX file usage questions >>>>>> >>>>>> On 19/06/2022 1:33 am, Paul Gilmartin wrote: >>>>>>> On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote: >>>>>>>> ... >>>>>>>> I picture writing the started task in Rexx, so I would have to write >> to a DD >>>>>>>> name allocated to the UNIX file (either dynamically or with JCL), not >> with >>>>>>>> "native" C fopen(), fwrite(), etc. Does that change any of the >> answers? >>>>>>> Why? In Rexx you can "address SYASCALL write ..." instead. >>>>>> Why REXX? Is it a case of knowing the banjo so you play Stairway to >>>>>> Heaven in the style of Earl Schruggs? >>>>>> >>>>>> Why not use IBMs z/OS Python? You can then use SQLite instead of a file >>>>>> which will significantly simplify writing reports. In fact, it would >>>>>> trivial to serve those >>>>>> reports as a REST API and put a nice WebUI on top using a simple >>>>>> template that supports data tables. >>>>>> >>>>>> ---------------------------------------------------------------------- >>>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>> ---------------------------------------------------------------------- >>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>>> send email to [email protected] with the message: INFO IBM-MAIN >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO IBM-MAIN >>>> >>>> ---------------------------------------------------------------------- >>>> For IBM-MAIN subscribe / signoff / archive access instructions, >>>> send email to [email protected] with the message: INFO IBM-MAIN >>> ---------------------------------------------------------------------- >>> For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to [email protected] with the message: INFO IBM-MAIN >>> >>> ---------------------------------------------------------------------- >>> For IBM-MAIN subscribe / signoff / archive access instructions, >>> send email to [email protected] with the message: INFO IBM-MAIN >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN >> >> ---------------------------------------------------------------------- >> For IBM-MAIN subscribe / signoff / archive access instructions, >> send email to [email protected] with the message: INFO IBM-MAIN >> > > > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
