Aside from the CMS CSL DMSCALLR, these two options do also seem to work, yes.
For verification purposes, made a simplified xedit override and manually
changed macro call individually for each command being tested:
"
Address 'XEDIT'
/* Grab any arguments. */
PARSE ARG Parms
PARSE VAR Parms fn ft fm '(' opts ')' exec tokenexec tokenopts
'EXTRACT /FTYPE/'
QUEUE "EMSG "FType.1 fn ft fm exec tokenexec tokenopts
'MACRO PROFFLST' Parms
EXIT
"
Results:
FType.1=FILELIST
Fn= myuserid
Ft=FILELIST
Fm=A0
Exec=FILELIST
Tokenexec=FILELIST (
Tokenopts=PROFILE PROFTMP1 NOFILELI
FType.1=DIRLIST
Fn= myuserid
Ft=DIRLIST
Fm=A0
Exec=
Tokenexec=
Tokenopts=
FType.1=CSLLIST
Fn=myuserid
Ft=CSLLIST
Fm=A0
Exec=CSLLIST
Tokenexec=VMLIB (
Tokenopts=
I couldn't get EMSG to show up when using CSLMAP command from CMS, however,
which was very strange. Was unable to quick verify for that one.
--Shawn S.
-----Original Message-----
From: CMSTSO Pipelines Discussion List [mailto:[email protected]] On
Behalf Of Glenn Knickerbocker
Sent: Friday, July 08, 2016 4:35 PM
To: [email protected]
Subject: Re: [CMS-PIPELINES] Converged custom profiles for 'CMS Productivity
Aids'
On 7/8/2016 10:50 AM, Stanislawski, Shawn (National VM Capability) wrote:
> PEEK EXEC sets BOTH variable PEEK and NOTE , so I can't have both PEEK
> / PROFPEEK and NOTE / PROFNOTE in the same converged file using this
> single method.
You don't need to dig around in the caller at all. Each one uses its own name
as the filetype. (The names are hardcoded, so you don't have to worry about
RENAMEd or EXECLOADed copies, which I assume is why you weren't just looking at
the name of the caller in the first place.) Most (but not DIRLIST) also put it
in the argument after the options, and the oldest ones (NOTE, PEEK, FILELIST,
RDRLIST) repeat it as the first word of the tokenized command. You can get it
from your argument:
Parse Arg fn ft fm '(' opts ')' exec tokenexec tokenopts
and you could double- or triple-check FT against EXEC and TOKENEXEC as
appropriate if you were super-picky. Or, if you want to accommodate being
called without arguments by another profile, you could just get it from EXTRACT
/FILETYPE/ .
¬R