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