I would advise testing the length of the work area against your required length.
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Assembler List [[email protected]] on behalf of Guillaume Boesel [[email protected]] Sent: Saturday, July 8, 2023 3:35 PM To: [email protected] Subject: Re: IEFU86 WorkArea use ? Thank you Charles and Jon for your explanations. "I would guess your S0C4 is caused by you not specifying LINKAGE=BRANCH on the WTO" I use LINKAGE=BRANCH. Using workarea method works well (WTO OK) except when a user login/logoff (S0C4-11). I use this area for few bytes (less than 1024) Workarea method : works but S0C4-11 when a user login/logoff on my test system LR R10,R1 Parameter list dans R10 USING SMFEXITP,R10 ... L R8,SMXP_RECPTR R8 = record SMF LR R9,R10 R9 = Parameter List A R9,SMXP_WORKAREA_OFFSET R9 = Pointer to the work area ... USING WORKAREA,R9 ... WTO MF=(E,WTOZONE),LINKAGE=BRANCH Storage Obtain method : works every time on my test system LR R10,R1 Parameter list dans R10 USING SMFEXITP,R10 ... L R8,SMXP_RECPTR R8 = record SMF STORAGE OBTAIN,LENGTH=WORKLEN,ADDR=(R1),SP=245 LTR R15,R15 Storage Obtain OK ? JNZ FIN Non, on sort sans RELEASE LR R9,R1 R9 = addr memoire obtenue ... USING WORKAREA,R9 ST R9,WORKADDR Sauvegarde de l addr pour le release ... WTO MF=(E,WTOZONE),LINKAGE=BRANCH STORAGE RELEASE,LENGTH=WORKLEN,ADDR=WORKADDR,SP=245
