Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

IRXEXCOM Fetch Invocation Help

96 views
Skip to first unread message

Selig Tessler

unread,
Sep 29, 2021, 6:52:14 AM9/29/21
to
I am writing a z/OS Assembler routine which is called by a REXX EXEC which creates several stem variables (the REXX EXEC creates the stem variables). The Assembler routine calls IRXEXCOM to fetch the stem variables created by the REXX EXEC. Unfortunately, I am getting rc=32 (invalid parameter list).

This is the parameter list:
EXCMPLST DS 0D IRXEXCOM PARM LIST
EXCMEYEC DS CL8 'IRXEXCOM' EYECATCHER
EXCMZER1 DS F SET TO ZERO
EXCMZER2 DS F SET TO ZERO
EXCMSHVB DS CL(SHVBLEN) REXX SHARED VARIABLE REQUEST BLK
EXCMENVB DS A PTR TO ENVIRONMENT BLOCK
EXCMRTCD DS F RETURN CODE

The high-order byte of EXCMRTCD is set to x'80'.

Can anyone tell me what I am doing wrong? It looks to me that I am following the instructions in the TSO/E REXX Reference manual.

If you don't see anything wrong, can you please send me an example of an IRXEXCOM fetch invocation (in any language)?

Thank you very much,
Selig Tessler

Willy Jensen

unread,
Sep 30, 2021, 6:23:07 AM9/30/21
to
Extract from assembly below, this is an expansion of macro call:
RxVget name='testvar1',data=(vardata,l'vardata)
You might be interested in my collection of REXX interface macros, see REXXMACS at https://harders-jensen.com/. There are macros for GET, STEMGET, PUT, STEMPUT, NEXT, SAY and more. The doc is a bit lacking, but drop me a note if you need more info.

mvi ZRX_ShVbFunc,C'F' fetch
*setup for data
laey R14,VARDATA
laey R15,L'VARDATA
stm r14,r15,ZRX_ShVbVba
st r15,ZRX_ShVbFbl
*setup for name
laey R14,=c'TESTVAR1'
la r15,8
stm r14,r15,ZRX_ShVbVna
*setup for call
mvc ZRX_ShVUser,ZRX_ShVbVnl for 'next'
l r15,zrx_coma address of module irxexcom
l r0,zrx_envba
la r1,ZRX_Comblk
Basr r14,r15
l r0,ZRX_ShVbVbl
l r1,ZRX_ShVbVnl

ZRX_ShVb ds 0d
ZRX_ShVbNext ds a -> next ShVb
ZRX_ShVUser ds f Used by 'next' function
ZRX_ShVCode ds 0c F=Fetch, S=Set (put)
ZRX_ShVbFunc ds c F=Fetch, S=Set (put)
ZRX_ShVRet ds 0x Return code area
ZRX_ShVbRc ds x Return code area
ZRX_last equ x'02' last var transferred flag
ZRX_eof equ x'02' last var transferred flag
ZRX_trunc equ x'04' 'truncated' flag
ds h Reserved
ZRX_ShVbFbl ds a Length of fetch buffer
ZRX_ShVbVna ds a -> variable name
ZRX_ShVbVnl ds a length of variable name
ZRX_ShVbVba ds a -> value buffer
ZRX_ShVbVbl ds a Length of fetched value
0 new messages