I got an unexpected response from IMS sysgen macro IMSCTRL. Below is test case to prove the situation:
MACRO
T1 &SYS=
&L SETA N'&SYS
&K SETA N'&SYS(2)
MNOTE *,'N''SYS=&L, N''SYS(2)=&K'
MEND
SPACE 3
&AA SETC '1'
T1 SYS=&AA
SPACE 3
T1 SYS=(P1,&AA,P2)
SPACE 3
T1 SYS=(P1,(&AA,2),P2)
SPACE 3
&AA SETC '(1,2)'
T1 SYS=&AA
SPACE 3
T1 SYS=(P1,&AA,P2)
END
The output:
Stmt Source Statement
1 MACRO
2 T1 &SYS=
3 &L SETA N'&SYS
4 &K SETA N'&SYS(2)
5 MNOTE *,'N''SYS=&L, N''SYS(2)=&K'
6 MEND
8 &AA SETC '1'
9 T1 SYS=&AA
10+*,N'SYS=1, N'SYS(2)=0
12 T1 SYS=(P1,&AA,P2)
13+*,N'SYS=3, N'SYS(2)=1
15 T1 SYS=(P1,(&AA,2),P2)
16+*,N'SYS=3, N'SYS(2)=2
18 &AA SETC '(1,2)'
19 T1 SYS=&AA
20+*,N'SYS=2, N'SYS(2)=1
22 T1 SYS=(P1,&AA,P2)
23+*,N'SYS=3, N'SYS(2)=1
24 END
Of particular interest are lines 20 and 23; in both cases, with &AA set to
'(2,1)'. In line 20, N'&SYS is 2, as expected. However, in line 23, N'&SYS(2)
is only ONE.
Any ideas?
