Aware of what When something goes wrong or gets updated
You probably were a CTO I’m just a peon > On Jan 3, 2022, at 2:30 PM, Seymour J Metz <sme...@gmu.edu> wrote: > > You have to be aware regardless. > > > -- > Shmuel (Seymour J.) Metz > http://mason.gmu.edu/~smetz3 > > ________________________________________ > From: IBM Mainframe Assembler List [ASSEMBLER-LIST@LISTSERV.UGA.EDU] on > behalf of Joseph Reichman [reichman...@gmail.com] > Sent: Monday, January 3, 2022 2:06 PM > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Subject: Re: Determining a group item > > I’m just trying to generate the 4 fields need > To define a variable to Rexx when using assembler > 1) length of fetch value > 2) address of the name of the variable > 3) length of variable name > 4) address of the fetch buffer > > I 100 % agree with Charles that using the adata is better > > It’s just not practical > > I would have to be aware every time one of these copybooks changes > re-assemble it to get adata > > Nobody is going to tell me so > > Everyday I would have to check endeavor to see if they copybooks were changed > > Or else I would have to read production programs that use the copybooks > >> On Jan 3, 2022, at 1:06 PM, Charles Mills <charl...@mcn.org> wrote: >> >> Well, could be. I am not always totally adept at deducing Joseph's >> requirements. >> >> In any event what you suggest would be a great way of doing things. >> >> I read what Joseph writes below as saying he wants something like >> >> LASTNAME_Address = 1 >> LASTNAME_Length = 16 >> >> Not sure what he means by address (offset?) and length of name as opposed to >> address and length of value. >> >> Charles >> >> >> -----Original Message----- >> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] >> On Behalf Of Martin Trübner >> Sent: Monday, January 3, 2022 9:05 AM >> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU >> Subject: Re: Determining a group item >> >> Charles, >> >> >> the way I understand Joseph is that he wants >> >> CALL POPULATE_A_RECORD >> >> and then have variables LASTNAME FRSTNAME ZIPCODE and BIRTHYR populates >> with valid data. >> >> >> Best >> >> >> Martin >> >> -----Original Message----- >> From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] >> On Behalf Of Joseph Reichman >> Sent: Sunday, January 2, 2022 7:07 AM >> To: ASSEMBLER-LIST@LISTSERV.UGA.EDU >> Subject: Re: Determining a group item >> >> My initial thoughts were having the copybook preceded my AREAD >> Bottom line with AREAD I get the entire 80 byte assembler sysin >> Many have said I can’t do this way >> I may give it a try >> >> I need to generate 4 fields for rexx >> >> 1) address of the name >> 2) length of the name >> 3) address of the value >> 4) length of the value >> >> >> >>>>> On Jan 2, 2022, at 8:16 AM, Paul Gilmartin >>>>> <00000014e0e4a59b-dmarc-requ...@listserv.uga.edu> wrote: >>>>> >>>>> On Jan 2, 2022, at 01:15:38, Martin Trübner wrote: >>>>> ... >>>>> For the record: My HLASM debugger eats source code to support >>>>> source-debugging. >>>>> >>> Does it grok SYSIN and SYSLIB in z/FS files? >>> >>> -- gil >> >> The DCDS record has all the information you need. Should be no big deal >> to code the ADEXIT to spit out information that can then be used by a >> REXX program to populate the variables. >> >> I can only guess for a stand-alone program- but there is no big difference. >> >> >> Martin >> >> >> >>>> Am 03.01.22 um 15:50 schrieb Charles Mills: >>> There is an OOP concept called an accessor or getter. I am not finding a >>> succinct definition on the Web but perhaps you can. >>> >>> Anyway, as an alternative to generating the four fields you describe below, >>> you might consider generating accessor routines. (This is on the output >>> side of things and independent of AREAD, ADATA or SYSPRINT input.) >>> >>> Assume the following is the record to be accessed from Rexx: >>> >>> CLIENT DSECT >>> LASTNAME DS CL16 >>> FRSTNAME DS CL12 >>> ZIPCODE DS F >>> BIRTHYR DS H >>> >>> The program would return the following Rexx code (untested): >>> >>> LASTNAME_Get: Return SubStr(Arg(1), 1, 16) >>> FRSTNAME_Get: Return SubStr(Arg(1), 17, 12) >>> ZIPCODE_Get: Return C2D(SubStr(Arg(1), 29, 4)) >>> BIRTHYR_Get: Return C2D(SubStr(Arg(1), 33, 2)) >>> >>> Now your Rexx application programmer could code lines like the following >>> (assuming CLIENT_Rec contained a CLIENT record): >>> >>> Say "Client" LASTNAME_Get(CLIENT_Rec) "was born in" BIRTHYR_Get(CLIENT_Rec) >>> >>> Charles >>>