I have one question is there another way to create a structure besides using 
the BLSQ macros that’s the only thing I need to do in assembler the rest I’ll 
do Rexx

> On Oct 11, 2023, at 5:08 PM, Tony Harminc <t...@harminc.net> wrote:
> 
> On Wed, 11 Oct 2023 at 03:59, Joseph Reichman <reichman...@gmail.com> wrote:
> 
> That was very helpful back to my first beef
>> 
>> The EVAL….. subcommands particular to Rexx clist are interspersed among
>> those IPCS subcommands done by hand
>> 
>> The reason I think I cannt get around verbx assembler exit is because I
>> want to create a structure to be used in the run chain command and I think
>> that necessitates the use of the BLSQS assembler macros
>> 
> 
> A few observations. First, like Binyamin, I don't know why you don't just
> use REXX to format your own (or anyone's) control blocks. I, and I'm sure
> others, have written many thousands of lines of REXX to go through dumps.
> It's not just formatting CBs, but having the REXX take different actions
> based on what it finds in some of those blocks. So e.g. we have a product
> that has a notion of transactions, and a transaction is represented by a
> single CB that points to various other CBs, and that transaction CB is
> always on one of many possible queues, or it's being processed by a
> specific module. So the REXX can go through the queues and format the
> status and history of all or a single transaction, chase down and report on
> the linked CBs with their various pieces of information, and so on. Or it
> can start with a transaction ID (perhapssupplied by the dump reader as an
> argument), find where it's queued, and report on things unique to the queue
> it's on. And it can prompt the dump reader based on things found during
> processing, e.g. "Transaction x has 7 sub-transactions that have not
> completed - report on them? Reply Yes, No, or Details". That kind of thing.
> 
> RUNCHAIN is one of the easiest things to write in REXX. It doesn't have to
> exactly mimic the IPCS command, but it probably needs notions like the
> offset of the chain pointer, how end-of-chain is marked, how to format some
> fields in each block encountered (the eyecatcher?), whether there are
> errors that make a CB instance suspicious (maybe the "in use" and "has been
> freed" flags are both on), and so on. Just make it a subroutine, and then
> you can call it from anywhere in your larger REXX program.
> 
> Write yourself a few generalized REXX subroutines - one to manage storage
> fetching requests with perhaps different types of input (hex or decimal or
> character string for the address, since you may conveniently have any of
> those available), one to format output like one line of a dump (in my case
> I can optionally format EBCDIC/ASCII or both) and ensure that you don't
> pass things like a single quote to the IPCS NOTE command, perhaps one to
> manipulate addresses (you pass it a hex string and a decimal offset, or
> whatever), and of course routines that are more specific to your own code
> and CBs.
> 
> There's another aspect... You can indeed use the BLSQ... macros to define a
> control block in a format that IPCS can format from. These macros are not
> very easy to use, imho, but still can be useful. You can do two things with
> them: use them to define your own control blocks to IPCS (since obviously
> IPCS doesn't come with these mappings) so that you can use CBF and such on
> them, but also you can interpret the macro output in your own REXX routines
> if you like, without using the IBM IPCS commands. Fiddly, but potentially a
> way to do more than the IBM formatters do.
> 
> [BTW, if you want a lot of examples of use of the BLSQ... macros, look at
> the JES2 source code that should be on your system. HASM.... modules are
> all related to IPCS, and most are CB definitions. I imagine IBM has a tool
> to take the assembler definitions (or maybe ADATA) and churn out the BLSQM
> stuff. Or maybe they're all hand written.]
> 
> Tony H.
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to