For lidt over halvandet år siden skrev jeg et tip om, hvordan du kan bygge din egen SDSF. Jeg er i mellemtiden blevet gjort opmærksom på, at der findes en fantastisk kommando i SDSF kaldet COLSHELP, som hjælper dig med at finde ud af, hvad de stem-variable hedder, som indholdet af de forskellige kolonner placeres i. Når du eksekverer COLSHELP ser resultatet nogenlunde sådan her ud:
Columns on SDSF Panels Row 1330 from 1434 Command ===> Sort with F5 (panel), F6 (column), F10 (title). Use Filter to filter rows. All panels Descriptions Panel Column Title Delayed? Overtype? ST EXECNODE ExecNode JES2 ST DEVID Device ST RETCODE Max-RC ST SRVCLS SrvClass X ST WLMPOS WPos ST SCHENV Scheduling-Env JES2 ST DELAY Dly ST SSMODE Mode ST PHASENAME PhaseName ST PHASE Phase ST ROOMN RNum X ST PNAME Programmer-Name X ST ACCTN Acct X ST NOTIFY Notify X
Dette output ser sådan ud, fordi COLSHELP blev eksekveret i ST oversigten (Panel ST). Listen over kolonner/stem-variable er altså afhængig af, hvor du eksekverer COLSHELP. Hvis du i din SDSF REXX gerne vil have fat i Max-RC kolonnen, skal du altså bruge stem-variablen RETCODE. Så er der næsten ingen undskyldning for ikke at lave sin egen SDSF ;o)
Læg mærke til kolonnen Delayed?. Hvis der er et X i denne kolonne ud for den kolonne, du gerne vil bruge, så skal du i din ISFEXEC kommando tage en ekstra parameter med:
ADDRESS SDSF "ISFEXEC ST (DELAYED)"
Du skal tilføje (DELAYED) efter navnet på det panel, du ønsker at hente data fra. Du skal dog vide, at denne parameter gør kaldet til SDSF endnu tungere, fordi du tvinger SDSF til at gennemføre en I/O mere pr. række, som SDSF-kommandoen skal returnere. (DELAYED) er altså med til at gøre din egen SDSF endnu mere ressource-krævende.