Hi João,
This is not a perfect Macro but it does the job:
MACRO
TBIT &ACTION,&ARRAY,&BIT
LCLC &TBTIX
&TBTIX SETC 'TBT'.'&SYSNDX'
LR 14,&BIT
SRDL 14,3
SRL 15,29
LAY 1,&ARRAY
LA 1,0(14,1)
AIF ('&ACTION' EQ 'ON').ACON
AIF ('&ACTION' EQ 'OFF').ACOFF
AGO .ERROR1
.ACON ANOP
&TBTIX.O DS 0H
LTR 15,15
JZ &TBTIX.R
LLILF 14,X'00000080'
&TBTIX.L DS 0H
SRL 14,1
BCT 15,&TBTIX.L
&TBTIX.R DS 0H
EX 14,&TBTIX.X
B &TBTIX.F
&TBTIX.X OI 0(1),0
AGO .MEXIT
.ACOFF ANOP
&TBTIX.N DS 0H
LTR 15,15
JZ &TBTIX.S
LLILF 14,X'FFFFFF7F'
&TBTIX.M DS 0H
SRL 14,1
BCT 15,&TBTIX.M
&TBTIX.S DS 0H
EX 14,&TBTIX.Y
B &TBTIX.F
&TBTIX.Y NI 0(1),0
AGO .MEXIT
.ERROR1 ANOP
MNOTE 8,'*** ACTION PARAMETER INVALID'
AGO .MEXIT
.MEXIT ANOP
&TBTIX.F EQU *
MEND
Tell me if it works for you.
Best regards,
Philippe Leite
z/OS Systems Programmer