IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Rexx to Grab ISMF Information.


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   This topic is locked: you cannot edit posts or make replies.
View previous topic :: View next topic  
Author Message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Sun Nov 26, 2017 12:35 am
Reply with quote

Hi All,

Can we get DATACLASS Information using Rexx?

For example :

If I provide a DATACLASS Name as Input and expected output is Dynamic volume count(DVC) of that particular DATACLASS.



Thanks.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Mon Nov 27, 2017 9:58 am
Reply with quote

Using IDCAMS DCOLLECT we can get Storage group information but not getting DATACLASS Information.



Thanks!
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 733
Location: Denmark

PostPosted: Mon Nov 27, 2017 1:29 pm
Reply with quote

Yes, it can be done.
The manual 'DFSMSdfp Storage Administration' has a chapter 'Using NaviQuest'. In there look for command ACBQBAIC. It creates an ISPF table with the dataclass definitions. The table can be read using ISPF TBOPEN and TBSKIP commands.
Not particular simple, but doable. I did it a while ago.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Mon Nov 27, 2017 2:41 pm
Reply with quote

Using DCOLLECT can sometimes be a lengthy process having to access each and every volume for the VTOC information.

Using IGGCSIRX** (usually found in SYS1.SAMPLIB) can be much quicker and offers flexible filtering, and reads the catalogs rather than volumes.

** WARNING - A good understanding of REXX and processing TSO in batch is required for this solution.
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 733
Location: Denmark

PostPosted: Mon Nov 27, 2017 6:50 pm
Reply with quote

This NaviQuest sample will list data for all the dataclass defs in the named SCDS:
Code:
//G1      EXEC PGM=IEBUPDTE,PARM=NEW                             
//SYSPRINT DD SYSOUT=*                                           
//SYSIN    DD *                                                 
./ ADD NAME=DCREPORT                                             
 /* Read the tables generated by ACBQBAIC and report */         
 address ispexec                                                 
 tbl='dcnames'                                                   
 "tbopen"  tbl "nowrite"                                         
 "tbquery" tbl "names(tnames)"                                   
 say 'Table:' tbl /*'tblvars ('words(tnames)'):' tnames */       
 "tbtop"   tbl                                                   
 do forever                                                     
   "tbskip" tbl "savename(xnames)"                               
   if rc<>0 then leave                                           
   say ''                                                       
   vlist=space(translate(tnames xnames,' ','()'))               
   do vi=1 to words(vlist)                                       
     vn=word(vlist,vi)                                           
     if right(vn,3)='FLG' then iterate                           
     vv=space(translate(value(vn),' ','-'),0)                   
     if vv<>'' & vv>'20'x then say '  'left(vn,8)':' vv         
   end                                                           
 end                                                             
 "tbend" tbl                                                     
 exit 0                                                         
//SYSUT2   DD UNIT=3390,DISP=(,PASS),DSN=&&PDS,                 
//            SPACE=(TRK,(8,8,8)),DCB=(ISP.SISPTENU)             
//*                                                             
//SAVECFG  EXEC PGM=IKJEFT1B,DYNAMNBR=50                         
//SYSEXEC  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2       
//SYSPROC  DD DSN=SYS1.DGTCLIB,DISP=SHR                         
//         DD DSN=ISP.SISPCLIB,DISP=SHR                         
//STEPLIB  DD DSN=SYS1.DGTLLIB,DISP=SHR                         
//ISPPLIB  DD DSN=SYS1.DGTPLIB,DISP=SHR                         
//         DD DSN=ISP.SISPPENU,DISP=SHR                         
//ISPMLIB  DD DSN=SYS1.DGTMLIB,DISP=SHR                         
//         DD DSN=ISP.SISPMENU,DISP=SHR                         
//ISPSLIB  DD DSN=ISP.SISPSENU,DISP=SHR                         
//         DD DSN=SYS1.DGTSLIB,DISP=SHR                         
//ISPTABL  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2       
//ISPTLIB  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2       
//         DD DSN=ISP.SISPTENU,DISP=SHR                         
//         DD DSN=SYS1.DGTTLIB,DISP=SHR                         
//ISPPROF  DD DCB=(ISP.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=3390   
//ISPLOG   DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)     
//SYSPRINT DD SYSOUT=*                                           
//SYSTSPRT DD SYSOUT=*,OUTLIM=20000                             
//SYSTSIN  DD *                                                 
 IspStart cmd(%ACBQBAIC SAVE DCNAMES +                           
            SCDS('SYS1.XPLEX.SCDS1') DATACLAS(*))  +             
            NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  +             
            BREDIMAX(3) BDISPMAX(99999999)                       
 IspStart cmd(%DCReport)                                         
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Mon Nov 27, 2017 7:15 pm
Reply with quote

Hi Willy Jensen,

Thanks alot for your response. I will try the above code.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Mon Nov 27, 2017 8:54 pm
Reply with quote

Hi ,

I have executed the above Job with my SCDS Dataset TTSN.S1SMS.SCDS.NEW . But my Job failed with the below errors.


From SYSPRINT : -

Code:
SYSIN                            NEW MASTER
   ./ ADD NAME=DCREPORT
    /* READ THE TABLES GENERATED BY ACBQBAIC AND REPORT */
    ADDRESS ISPEXEC
    TBL='DCNAMES'
    "TBOPEN"  TBL "NOWRITE"
    "TBQUERY" TBL "NAMES(TNAMES)"
    SAY 'TABLE:' TBL /*'TBLVARS ('WORDS(TNAMES)'):' TNAMES */
    "TBTOP"   TBL
    DO FOREVER
      "TBSKIP" TBL "SAVENAME(XNAMES)"
      IF RC<>0 THEN LEAVE
      SAY ''
      VLIST=SPACE(TRANSLATE(TNAMES XNAMES,' ','()'))
      DO VI=1 TO WORDS(VLIST)
        VN=WORD(VLIST,VI)
            VN=WORD(VLIST,VI)
            IF RIGHT(VN,3)='FLG' THEN ITERATE
            VV=SPACE(TRANSLATE(VALUE(VN),' ','-'),0)
            IF VV<>'' & VV>'20'X THEN SAY '  'LEFT(VN,8)':' VV
          END
        END
        "TBEND" TBL
        EXIT 0
IEB817I MEMBER NAME (DCREPORT) NOT FOUND IN NM DIRECTORY.  STOWED WITH TTR.
IEB818I HIGHEST CONDITION CODE WAS 00000000
IEB819I END OF JOB IEBUPDTE.

SYSTSPRT :-

READY
ISPSTART CMD(%ACBQBAIC SAVE DCNAMES SCDS('TTSN.S1SMS.SCDS.NEW') DATACLAS(*)) DATACLAS(*)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27) BREDIMAX(3) BDI
SPMAX(99999999)

Table name to be created is DCNAMES
Name of the SCDS selected : 'TTSN.S1SMS.SCDS.NEW'
DATACLAS = *
BEGINNING BATCH EXECUTION OF ISMF 11/27/17 15:12:19
ENDING BATCH EXECUTION OF ISMF 11/27/17 15:12:19
READY
ISPSTART CMD(%DCREPORT)
ISPT034 Table is not open -/-TBQUERY issued for table DCNAMES that is not open.

Thanks!
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Mon Nov 27, 2017 9:14 pm
Reply with quote

You got the sample ...
up to You to do Your homework and start the debugging .

anyway the info You provided is not enough to start the problem determination
You should have posted also the jcl used to run the snippet
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 733
Location: Denmark

PostPosted: Mon Nov 27, 2017 9:37 pm
Reply with quote

1. the SYSPRINT output is not an error, it is expected.
2. looks like the table is not build in the expected output dataset. make the temporary dataset from step G1 a permanent one and check the members , there should be a DCNAMES member after step SAVECFG has completed.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Mon Nov 27, 2017 11:56 pm
Reply with quote

Hi ,

I have created a new dataset TTSN.TEST.SMS and after running my Job member DCREPORT created in TTSN.TEST.SMS Dataset.
DCNAMES is not created.


From : SYSPRINT G1

Code:
IEB817I MEMBER NAME (DCREPORT) NOT FOUND IN NM DIRECTORY.  STOWED WITH TTR.
IEB818I HIGHEST CONDITION CODE WAS 00000000
IEB819I END OF JOB IEBUPDTE.
PDSMAN       r7.70                                    UTILITY INTERFACE
** PDSM01 **   SAOS                                   TTSN.TEST.SMS

Member         Update Date/Time   Vers.  Job Name S  Referenced   Base Date
DCREPORT       11/27/2017  18:07  01.00  TTSNSRS     -- None  --  11/27/2017


From SYSTSPRT SAVECFG
Code:

READY
 ISPSTART CMD(%ACBQBAIC SAVE DCNAMES SCDS('TTSN.S1SMS.SCDS.NEW') DATACLAS(*)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  BREDIMAX(3) BDI
SPMAX(99999999)

Table name to be created is DCNAMES
 Name of the SCDS selected : 'TTSN.S1SMS.SCDS.NEW'
DATACLAS = *
BEGINNING BATCH EXECUTION OF ISMF 11/27/17 18:07:54
ENDING BATCH EXECUTION OF ISMF 11/27/17 18:07:54
READY
 ISPSTART CMD(%DCREPORT,'TTSN.TEST.SMS')
  ISPT034 Table is not open       -/-TBQUERY issued for table DCNAMES that is not open.


Is there any environmental setting caused this problem?

Please use the code tags
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 733
Location: Denmark

PostPosted: Tue Nov 28, 2017 1:21 pm
Reply with quote

Are you SURE that TTSN.S1SMS.SCDS.NEW is a valid SCDS?
I would recommend console cmd D SMS and use in the SCDS shown in the response.
Show us the entire job output (in code tags please).
Show us a member list of the output dataset.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Tue Nov 28, 2017 6:52 pm
Reply with quote

Hi,

Here am coping my Job outputs.
Output of /D SMS Command

Code:

RESPONSE=SAOS
 IGD002I 12:28:46 DISPLAY SMS 750
 SCDS = PGSN.S1SMS.SCDS
 ACDS = PGSN.S1SMS.ACDS
 COMMDS = PGSN.S1SMS.COMMDS
 ACDS LEVEL = z/OS V2.2
 DINTERVAL = 150
 REVERIFY = NO
 ACSDEFAULTS = NO
     SYSTEM     CONFIGURATION LEVEL    INTERVAL SECONDS
     PLEXS1     2017/11/28 12:28:32           15



Job Output :-
Code:

1                    J E S 2  J O B  L O G  --  S Y S T E M  S A O S  --  N O D E  R B J E S S 1
0
 07.58.09 JOB13548 ---- TUESDAY,   28 NOV 2017 ----
 07.58.09 JOB13548  IRR010I  USERID SRSQ     IS ASSIGNED TO THIS JOB.
 07.58.09 JOB13548  ICH70001I SRSQ     LAST ACCESS AT 07:52:05 ON TUESDAY, NOVEMBER 28, 2017
 07.58.09 JOB13548  $HASP373 TTSNSRSA STARTED - INIT 21   - CLASS P        - SYS SAOS
 07.58.09 JOB13548  IEF403I TTSNSRSA - STARTED - TIME=07.58.09
 07.58.11 JOB13548  IEF404I TTSNSRSA - ENDED - TIME=07.58.11
 07.58.11 JOB13548
 07.58.11 JOB13548  *************************************************************************************************************
 07.58.11 JOB13548  *      JOB         STEP      PROCSTEP      PROG      RETURN    ELAPSED      CPU/TCB     CPU/SRB     SERVICE *
 07.58.11 JOB13548  *      NAME        NAME        NAME        NAME       CODE      TIME         TIME        TIME        UNITS  *
 07.58.11 JOB13548  *    TTSNSRSA    G1                      IEBUPDTE     0000     00.00.00    00.00.00    00.00.00         539 *
 07.58.11 JOB13548  *    TTSNSRSA    SAVECFG                 IKJEFT1B     0990     00.00.02    00.00.00    00.00.00        6909 *
 07.58.11 JOB13548  *                                                              ========    ========    ========    ======== *
 07.58.11 JOB13548  *    TTSNSRSA                                                  00.00.02    00.00.00    00.00.00        7448 *
 07.58.11 JOB13548  *************************************************************************************************************
 07.58.11 JOB13548  $HASP395 TTSNSRSA ENDED - RC=0990
0------ JES2 JOB STATISTICS ------
-  28 NOV 2017 JOB EXECUTION DATE
-           57 CARDS READ
-          187 SYSOUT PRINT RECORDS
-            0 SYSOUT PUNCH RECORDS
-           18 SYSOUT SPOOL KBYTES
-         0.02 MINUTES EXECUTION TIME
         1 //TTSNSRSA JOB CLASS=P,MSGCLASS=H,NOTIFY=&SYSUID                        JOB13548
           //*                                                                     00020000
           IEFC653I SUBSTITUTION JCL - CLASS=P,MSGCLASS=H,NOTIFY=SRSQ
         2 //G1      EXEC PGM=IEBUPDTE,PARM=NEW                                    00030001
         3 //SYSPRINT DD SYSOUT=*                                                  00040001
         4 //SYSIN    DD *                                                         00050001
         5 //SYSUT2   DD UNIT=3390,DISP=SHR,DSN=TTSN.TEST.SMS                      00280003
           //*YSUT2   DD UNIT=3390,DISP=(,PASS),DSN=&&PDS,                         00281003
           //*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SISPTENU)                   00290003
           //*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SISPTENU)                   00291003
           //*                                                                     00300001
         6 //SAVECFG  EXEC PGM=IKJEFT1B,DYNAMNBR=50                                00310001
         7 //SYSEXEC  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00320001
         8 //SYSPROC  DD DSN=SYS1.DGTCLIB,DISP=SHR                                 00330001
         9 //         DD DSN=SYS1.SISPCLIB,DISP=SHR                                00340003
        10 //STEPLIB  DD DSN=SYS1.DGTLLIB,DISP=SHR                                 00350001
        11 //ISPPLIB  DD DSN=SYS1.DGTPLIB,DISP=SHR                                 00360001
        12 //         DD DSN=SYS1.SISPPENU,DISP=SHR                                00370003
        13 //ISPMLIB  DD DSN=SYS1.DGTMLIB,DISP=SHR                                 00380001
        14 //         DD DSN=SYS1.SISPMENU,DISP=SHR                                00390003
        15 //ISPSLIB  DD DSN=SYS1.SISPSENU,DISP=SHR                                00400003
        16 //         DD DSN=SYS1.DGTSLIB,DISP=SHR                                 00410001
        17 //ISPTABL  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00420001
        18 //ISPTLIB  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00430001
        19 //         DD DSN=SYS1.SISPTENU,DISP=SHR                                00440003
        20 //         DD DSN=SYS1.DGTTLIB,DISP=SHR                                 00450001
        21 //ISPPROF  DD DCB=(SYS1.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=3390         00460003
        22 //ISPLOG   DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)             00470001
        23 //SYSPRINT DD SYSOUT=*                                                  00480001
        24 //SYSTSPRT DD SYSOUT=*,OUTLIM=20000                                     00490001
        25 //SYSTSIN  DD *                                                         00500001
 ICH70001I SRSQ     LAST ACCESS AT 07:52:05 ON TUESDAY, NOVEMBER 28, 2017
 IEF236I ALLOC. FOR TTSNSRSA G1
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSIN
 IGD103I SMS ALLOCATED TO DDNAME SYSUT2
 IEF142I TTSNSRSA G1 - STEP WAS EXECUTED - COND CODE 0000
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000103.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000101.?            SYSIN
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSUT2
 IEF373I STEP/G1      /START 2017332.0758
 IEF032I STEP/G1      /STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.01 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   164K  SYS:   388K  EXT:      180K  SYS:     9980K
         ATB- REAL:                  3096K  SLOTS:                     0K
              VIRT- ALLOC:      12M SHRD:       0M
 IEF236I ALLOC. FOR TTSNSRSA SAVECFG
 IGD103I SMS ALLOCATED TO DDNAME SYSEXEC
 IEF237I 205C ALLOCATED TO SYSPROC
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO STEPLIB
 IEF237I 205C ALLOCATED TO ISPPLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPMLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPSLIB
 IEF237I 205C ALLOCATED TO
 IGD103I SMS ALLOCATED TO DDNAME ISPTABL
 IGD103I SMS ALLOCATED TO DDNAME ISPTLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO
 IGD101I SMS ALLOCATED TO DDNAME (ISPPROF )
         DSN (SYS17332.T075809.RA000.TTSNSRSA.R0116797    )
         STORCLAS (STANDARD) MGMTCLAS (        ) DATACLAS (PDSNCOMP)
         VOL SER NOS= W0S106
 IEF237I JES2 ALLOCATED TO ISPLOG
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSTSPRT
 IEF237I JES2 ALLOCATED TO SYSTSIN
 IEF237I 2052 ALLOCATED TO SYS00001
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00001
 IEF237I 2052 ALLOCATED TO SYS00002
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00002
 IEF142I TTSNSRSA SAVECFG - STEP WAS EXECUTED - COND CODE 0990
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSEXEC
 IEF285I   SYS1.DGTCLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPCLIB                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTLLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTPLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPPENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTMLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPMENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPSENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTSLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTABL
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTLIB
 IEF285I   SYS1.SISPTENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTTLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD105I SYS17332.T075809.RA000.TTSNSRSA.R0116797     DELETED,   DDNAME=ISPPROF
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000104.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000105.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000106.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000102.?            SYSIN
 IEF373I STEP/SAVECFG /START 2017332.0758
 IEF032I STEP/SAVECFG /STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.06 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   368K  SYS:   532K  EXT:    19944K  SYS:    10612K
         ATB- REAL:                  3120K  SLOTS:                     0K
              VIRT- ALLOC:      17M SHRD:       0M
 IEF375I  JOB/TTSNSRSA/START 2017332.0758
 IEF033I  JOB/TTSNSRSA/STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.07 SEC    SRB:     0 HR  00 MIN  00.00 SEC
1       SYSIN                            NEW MASTER                                        IEBUPDTE LOG PAGE 0001
-       ./ ADD NAME=DCREPORT                                                    00060001
         /* READ THE TABLES GENERATED BY ACBQBAIC AND REPORT */                 00070001
         ADDRESS ISPEXEC                                                        00080001
         TBL='DCNAMES'                                                          00090001
         "TBOPEN"  TBL "NOWRITE"                                                00100001
         "TBQUERY" TBL "NAMES(TNAMES)"                                          00110001
         SAY 'TABLE:' TBL /*'TBLVARS ('WORDS(TNAMES)'):' TNAMES */              00120001
         "TBTOP"   TBL                                                          00130001
         DO FOREVER                                                             00140001
           "TBSKIP" TBL "SAVENAME(XNAMES)"                                      00150001
           IF RC<>0 THEN LEAVE                                                  00160001
           SAY ''                                                               00170001
           VLIST=SPACE(TRANSLATE(TNAMES XNAMES,' ','()'))                       00180001
           DO VI=1 TO WORDS(VLIST)                                              00190001
             VN=WORD(VLIST,VI)                                                  00200001
             IF RIGHT(VN,3)='FLG' THEN ITERATE                                  00210001
             VV=SPACE(TRANSLATE(VALUE(VN),' ','-'),0)                           00220001
             IF VV<>'' & VV>'20'X THEN SAY '  'LEFT(VN,8)':' VV                 00230001
           END                                                                  00240001
         END                                                                    00250001
         "TBEND" TBL                                                            00260001
         EXIT 0                                                                 00270001
 IEB817I MEMBER NAME (DCREPORT) NOT FOUND IN NM DIRECTORY.  STOWED WITH TTR.
 IEB818I HIGHEST CONDITION CODE WAS 00000000
 IEB819I END OF JOB IEBUPDTE.
1PDSMAN       r7.70                                    UTILITY INTERFACE       28 November  2017.332 07:58:09  PAGE     1
 ** PDSM01 **   SAOS                                   TTSN.TEST.SMS                               T0S104

0Member         Update Date/Time   Vers.  Job Name S  Referenced   Base Date    Action    Space Reuse     Update Message
0DCREPORT       11/28/2017  07:58  01.00  TTSNSRS     -- None  --  11/28/2017   Added
1READY
  ISPSTART CMD(%ACBQBAIC SAVE DCNAMES SCDS('PGSN.S1SMS.SCDS') DATACLAS(*)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  BREDIMAX(3) BDI
 X(99999999)

 Table name to be created is DCNAMES
  Name of the SCDS selected : 'PGSN.S1SMS.SCDS'
 DATACLAS = *
 BEGINNING BATCH EXECUTION OF ISMF 11/28/17 07:58:10
 ENDING BATCH EXECUTION OF ISMF 11/28/17 07:58:11
 READY
  ISPSTART CMD(%DCREPORT,'TTSN.TEST.SMS')
   ISPT034 Table is not open       -/-TBQUERY issued for table DCNAMES that is not open.
1                    J E S 2  J O B  L O G  --  S Y S T E M  S A O S  --  N O D E  R B J E S S 1
0
 07.58.09 JOB13548 ---- TUESDAY,   28 NOV 2017 ----
 07.58.09 JOB13548  IRR010I  USERID SRSQ     IS ASSIGNED TO THIS JOB.
 07.58.09 JOB13548  ICH70001I SRSQ     LAST ACCESS AT 07:52:05 ON TUESDAY, NOVEMBER 28, 2017
 07.58.09 JOB13548  $HASP373 TTSNSRSA STARTED - INIT 21   - CLASS P        - SYS SAOS
 07.58.09 JOB13548  IEF403I TTSNSRSA - STARTED - TIME=07.58.09
 07.58.11 JOB13548  IEF404I TTSNSRSA - ENDED - TIME=07.58.11
 07.58.11 JOB13548
 07.58.11 JOB13548  *************************************************************************************************************
 07.58.11 JOB13548  *      JOB         STEP      PROCSTEP      PROG      RETURN    ELAPSED      CPU/TCB     CPU/SRB     SERVICE *
 07.58.11 JOB13548  *      NAME        NAME        NAME        NAME       CODE      TIME         TIME        TIME        UNITS  *
 07.58.11 JOB13548  *    TTSNSRSA    G1                      IEBUPDTE     0000     00.00.00    00.00.00    00.00.00         539 *
 07.58.11 JOB13548  *    TTSNSRSA    SAVECFG                 IKJEFT1B     0990     00.00.02    00.00.00    00.00.00        6909 *
 07.58.11 JOB13548  *                                                              ========    ========    ========    ======== *
 07.58.11 JOB13548  *    TTSNSRSA                                                  00.00.02    00.00.00    00.00.00        7448 *
 07.58.11 JOB13548  *************************************************************************************************************
 07.58.11 JOB13548  $HASP395 TTSNSRSA ENDED - RC=0990
0------ JES2 JOB STATISTICS ------
-  28 NOV 2017 JOB EXECUTION DATE
-           57 CARDS READ
-          187 SYSOUT PRINT RECORDS
-            0 SYSOUT PUNCH RECORDS
-           18 SYSOUT SPOOL KBYTES
-         0.02 MINUTES EXECUTION TIME
         1 //TTSNSRSA JOB CLASS=P,MSGCLASS=H,NOTIFY=&SYSUID                        JOB13548
           //*                                                                     00020000
           IEFC653I SUBSTITUTION JCL - CLASS=P,MSGCLASS=H,NOTIFY=SRSQ
         2 //G1      EXEC PGM=IEBUPDTE,PARM=NEW                                    00030001
         3 //SYSPRINT DD SYSOUT=*                                                  00040001
         4 //SYSIN    DD *                                                         00050001
         5 //SYSUT2   DD UNIT=3390,DISP=SHR,DSN=TTSN.TEST.SMS                      00280003
           //*YSUT2   DD UNIT=3390,DISP=(,PASS),DSN=&&PDS,                         00281003
           //*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SISPTENU)                   00290003
           //*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SISPTENU)                   00291003
           //*                                                                     00300001
         6 //SAVECFG  EXEC PGM=IKJEFT1B,DYNAMNBR=50                                00310001
         7 //SYSEXEC  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00320001
         8 //SYSPROC  DD DSN=SYS1.DGTCLIB,DISP=SHR                                 00330001
         9 //         DD DSN=SYS1.SISPCLIB,DISP=SHR                                00340003
        10 //STEPLIB  DD DSN=SYS1.DGTLLIB,DISP=SHR                                 00350001
        11 //ISPPLIB  DD DSN=SYS1.DGTPLIB,DISP=SHR                                 00360001
        12 //         DD DSN=SYS1.SISPPENU,DISP=SHR                                00370003
        13 //ISPMLIB  DD DSN=SYS1.DGTMLIB,DISP=SHR                                 00380001
        14 //         DD DSN=SYS1.SISPMENU,DISP=SHR                                00390003
        15 //ISPSLIB  DD DSN=SYS1.SISPSENU,DISP=SHR                                00400003
        16 //         DD DSN=SYS1.DGTSLIB,DISP=SHR                                 00410001
        17 //ISPTABL  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00420001
        18 //ISPTLIB  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2              00430001
        19 //         DD DSN=SYS1.SISPTENU,DISP=SHR                                00440003
        20 //         DD DSN=SYS1.DGTTLIB,DISP=SHR                                 00450001
        21 //ISPPROF  DD DCB=(SYS1.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=3390         00460003
        22 //ISPLOG   DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)             00470001
        23 //SYSPRINT DD SYSOUT=*                                                  00480001
        24 //SYSTSPRT DD SYSOUT=*,OUTLIM=20000                                     00490001
        25 //SYSTSIN  DD *                                                         00500001
 ICH70001I SRSQ     LAST ACCESS AT 07:52:05 ON TUESDAY, NOVEMBER 28, 2017
 IEF236I ALLOC. FOR TTSNSRSA G1
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSIN
 IGD103I SMS ALLOCATED TO DDNAME SYSUT2
 IEF142I TTSNSRSA G1 - STEP WAS EXECUTED - COND CODE 0000
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000103.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000101.?            SYSIN
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSUT2
 IEF373I STEP/G1      /START 2017332.0758
 IEF032I STEP/G1      /STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.01 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   164K  SYS:   388K  EXT:      180K  SYS:     9980K
         ATB- REAL:                  3096K  SLOTS:                     0K
              VIRT- ALLOC:      12M SHRD:       0M
 IEF236I ALLOC. FOR TTSNSRSA SAVECFG
 IGD103I SMS ALLOCATED TO DDNAME SYSEXEC
 IEF237I 205C ALLOCATED TO SYSPROC
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO STEPLIB
 IEF237I 205C ALLOCATED TO ISPPLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPMLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPSLIB
 IEF237I 205C ALLOCATED TO
 IGD103I SMS ALLOCATED TO DDNAME ISPTABL
 IGD103I SMS ALLOCATED TO DDNAME ISPTLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO
 IGD101I SMS ALLOCATED TO DDNAME (ISPPROF )
         DSN (SYS17332.T075809.RA000.TTSNSRSA.R0116797    )
         STORCLAS (STANDARD) MGMTCLAS (        ) DATACLAS (PDSNCOMP)
         VOL SER NOS= W0S106
 IEF237I JES2 ALLOCATED TO ISPLOG
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSTSPRT
 IEF237I JES2 ALLOCATED TO SYSTSIN
 IEF237I 2052 ALLOCATED TO SYS00001
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00001
 IEF237I 2052 ALLOCATED TO SYS00002
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00002
 IEF142I TTSNSRSA SAVECFG - STEP WAS EXECUTED - COND CODE 0990
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSEXEC
 IEF285I   SYS1.DGTCLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPCLIB                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTLLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTPLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPPENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTMLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPMENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPSENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTSLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTABL
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTLIB
 IEF285I   SYS1.SISPTENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTTLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD105I SYS17332.T075809.RA000.TTSNSRSA.R0116797     DELETED,   DDNAME=ISPPROF
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000104.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000105.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000106.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13548.D0000102.?            SYSIN
 IEF373I STEP/SAVECFG /START 2017332.0758
 IEF032I STEP/SAVECFG /STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.06 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   368K  SYS:   532K  EXT:    19944K  SYS:    10612K
         ATB- REAL:                  3120K  SLOTS:                     0K
              VIRT- ALLOC:      17M SHRD:       0M
 IEF375I  JOB/TTSNSRSA/START 2017332.0758
 IEF033I  JOB/TTSNSRSA/STOP  2017332.0758
         CPU:     0 HR  00 MIN  00.07 SEC    SRB:     0 HR  00 MIN  00.00 SEC
1       SYSIN                            NEW MASTER                                        IEBUPDTE LOG PAGE 0001
-       ./ ADD NAME=DCREPORT                                                    00060001
         /* READ THE TABLES GENERATED BY ACBQBAIC AND REPORT */                 00070001
         ADDRESS ISPEXEC                                                        00080001
         TBL='DCNAMES'                                                          00090001
         "TBOPEN"  TBL "NOWRITE"                                                00100001
         "TBQUERY" TBL "NAMES(TNAMES)"                                          00110001
         SAY 'TABLE:' TBL /*'TBLVARS ('WORDS(TNAMES)'):' TNAMES */              00120001
         "TBTOP"   TBL                                                          00130001
         DO FOREVER                                                             00140001
           "TBSKIP" TBL "SAVENAME(XNAMES)"                                      00150001
           IF RC<>0 THEN LEAVE                                                  00160001
           SAY ''                                                               00170001
           VLIST=SPACE(TRANSLATE(TNAMES XNAMES,' ','()'))                       00180001
           DO VI=1 TO WORDS(VLIST)                                              00190001
             VN=WORD(VLIST,VI)                                                  00200001
             IF RIGHT(VN,3)='FLG' THEN ITERATE                                  00210001
             VV=SPACE(TRANSLATE(VALUE(VN),' ','-'),0)                           00220001
             IF VV<>'' & VV>'20'X THEN SAY '  'LEFT(VN,8)':' VV                 00230001
           END                                                                  00240001
         END                                                                    00250001
         "TBEND" TBL                                                            00260001
         EXIT 0                                                                 00270001
 IEB817I MEMBER NAME (DCREPORT) NOT FOUND IN NM DIRECTORY.  STOWED WITH TTR.
 IEB818I HIGHEST CONDITION CODE WAS 00000000
 IEB819I END OF JOB IEBUPDTE.
1PDSMAN       r7.70                                    UTILITY INTERFACE       28 November  2017.332 07:58:09  PAGE     1
 ** PDSM01 **   SAOS                                   TTSN.TEST.SMS                               T0S104

0Member         Update Date/Time   Vers.  Job Name S  Referenced   Base Date    Action    Space Reuse     Update Message
0DCREPORT       11/28/2017  07:58  01.00  TTSNSRS     -- None  --  11/28/2017   Added
1READY
  ISPSTART CMD(%ACBQBAIC SAVE DCNAMES SCDS('PGSN.S1SMS.SCDS') DATACLAS(*)) NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  BREDIMAX(3) BDI
 X(99999999)

 Table name to be created is DCNAMES
  Name of the SCDS selected : 'PGSN.S1SMS.SCDS'
 DATACLAS = *
 BEGINNING BATCH EXECUTION OF ISMF 11/28/17 07:58:10
 ENDING BATCH EXECUTION OF ISMF 11/28/17 07:58:11
 READY
  ISPSTART CMD(%DCREPORT,'TTSN.TEST.SMS')
   ISPT034 Table is not open       -/-TBQUERY issued for table DCNAMES that is not open.


TTSN.TEST.SMS Dataset
Code:

  Menu  Functions  Confirm  Utilities  Help
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
SAOS#2  VIEW      TTSN.TEST.SMS                         Row 0000001 of 0000001
Command ===>                                                  Scroll ===> PAGE
           Name     Prompt       Size   Created          Changed          ID
_________ DCREPORT                  0  2017/11/28  2017/11/28 07:58:00  TTSNSRS
          **End**




In My Previous Job I have copied SCDS
From : PGSN.S1SMS.SCDS
To : TTSN.S1SMS.SCDS.NEW
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Tue Nov 28, 2017 8:40 pm
Reply with quote

IGGCSIRX version that worked when I last tried it
You will need this in your JCL too - you can use the standard * and % filters for selecting the dataset names you want to find
Code:

//CATIN    DD *
**
/*

And now the fun part, the REXX code
Code:

/* REXX ** INVOKE CSI VIA BATCH REXX PROCESS                         */
/*      ** THIS VERSION WILL RETURN VOLSER(S) AND SMS DETAILS        */

 BLNKS = '            '
 /********************************************************************/
 /*                                                                  */
 /*       NAME: IGGCSIRX                                             */
 /*DESCRIPTION: THIS REXX EXEC IS USED TO CALL THE CATALOG           */
 /*             SEARCH INTERFACE.                                    */
 /*      INPUT: FILTER KEY                                           */
 /*     OUTPUT: DATA SETS NAMES AND DF/SMS CLASS ATTRIBUTES          */
 /*                                                                  */
 /********************************************************************/
 "EXECIO * DISKR CATIN ( STEM CAT. FINIS"  /* READ KEY SELECTIONS    */
 DO KCNT = 1 TO CAT.0                      /* PROCESS SELECTIONS     */
 KEY = SUBSTR(CAT.KCNT,1,44)               /* GET KEY                */
 /********************************************************************/
 /*                                                                  */
 /*  INITIALIZE THE PARM LIST                                        */
 /*                                                                  */
 /********************************************************************/
MODRSNRC = SUBSTR(' ',1,4)          /*   CLEAR MODULE/RETURN/REASON  */
CSIFILTK = SUBSTR(KEY,1,44)         /*   MOVE FILTER KEY INTO LIST   */
CSICATNM = SUBSTR(' ',1,44)         /*   CLEAR CATALOG NAME          */
CSIRESNM = SUBSTR(' ',1,44)         /*   CLEAR RESUME NAME           */
CSIDTYPS = SUBSTR(' ',1,16)         /*   CLEAR ENTRY TYPES           */
CSICLDI  = SUBSTR('Y',1,1)          /*   INDICATE DATA AND INDEX     */
CSIRESUM = SUBSTR(' ',1,1)          /*   CLEAR RESUME FLAG           */
CSIS1CAT = SUBSTR(' ',1,1)          /*   INDICATE SEARCH > 1 CATALOGS*/
CSIRESRV = SUBSTR(' ',1,1)          /*   CLEAR RESERVE CHARACTER     */
CSINUMEN = '0003'X                  /*   INIT NUMBER OF FIELDS       */
CSIFLD1  = 'DATACLAS'               /*   FIELD 1 - DATACLAS          */
CSIFLD2  = 'STORCLAS'               /*   FIELD 2 - STORCLAS          */
CSIFLD3  = 'MGMTCLAS'               /*   FIELD 3 - MGMTCLAS          */
 /********************************************************************/
 /*                                                                  */
 /*  BUILD THE SELECTION CRITERIA FIELDS PART OF PARAMETER LIST      */
 /*                                                                  */
 /********************************************************************/
CSIOPTS  = CSICLDI || CSIRESUM || CSIS1CAT || CSIRESRV
CSIFIELD = CSIFILTK || CSICATNM || CSIRESNM || CSIDTYPS || CSIOPTS
CSIFIELD = CSIFIELD || CSINUMEN || CSIFLD1 || CSIFLD2 || CSIFLD3

 /********************************************************************/
 /*                                                                  */
 /*  INITIALIZE AND BUILD WORK ARE OUTPUT PART OF PARAMETER LIST     */
 /*                                                                  */
 /********************************************************************/
   WORKLEN = 65536
   DWORK = '00010000'X || COPIES('00'X,WORKLEN-4)

 /********************************************************************/
 /*                                                                  */
 /*  INITIALIZE WORK VARIABLES                                       */
 /*                                                                  */
 /********************************************************************/
RESUME = 'Y'
CATNAMET = SUBSTR(' ',1,44)
DNAMET = SUBSTR(' ',1,44)

 /********************************************************************/
 /*                                                                  */
 /*  SET UP LOOP FOR RESUME (IF A RESUME IS NCESSARY)                */
 /*                                                                  */
 /********************************************************************/
DO WHILE RESUME = 'Y'
 /********************************************************************/
 /*                                                                  */
 /*  ISSUE LINK TO CATALOG GENERIC FILTER INTERFACE                  */
 /*                                                                  */
 /********************************************************************/
 ADDRESS LINKPGM 'IGGCSI00  MODRSNRC  CSIFIELD  DWORK'

 RESUME = SUBSTR(CSIFIELD,150,1)    /* GET RESUME FLAG FOR NEXT LOOP */
 USEDLEN = C2D(SUBSTR(DWORK,9,4))   /* GET AMOUNT OF WORK AREA USED  */
 POS1=15                            /* STARTING POSITION             */

 /********************************************************************/
 /*                                                                  */
 /*  PROCESS DATA RETURNED IN WORK AREA                              */
 /*                                                                  */
 /********************************************************************/
 DO WHILE POS1 < USEDLEN            /* DO UNTIL ALL DATA IS PROCESSED*/
   IF SUBSTR(DWORK,POS1+1,1) = '0'  /* IF CATALOG, PRINT CATALOG HEAD*/
    THEN DO
         CATNAME=SUBSTR(DWORK,POS1+2,44)
         IF CATNAME ^= CATNAMET THEN /* IF RESUME NAME MAY ALREADY BE*/
          DO                         /*    PRINTED                   */
           SAY 'CATALOG ' CATNAME    /* IF NOT, PRINT IT             */
           SAY ' '
           CATNAMET = CATNAME
          END
         POS1 = POS1 + 50
         END

   DNAME = SUBSTR(DWORK,POS1+2,44)  /* GET ENTRY NAME                */

 /********************************************************************/
 /*                                                                  */
 /*  ASSIGN ENTRY TYPE NAME                                          */
 /*                                                                  */
 /********************************************************************/
   IF SUBSTR(DWORK,POS1+1,1) = 'C' THEN DTYPE = 'CLUSTER '
    ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'D' THEN DTYPE = 'DATA    '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'I' THEN DTYPE = 'INDEX   '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'A' THEN DTYPE = 'NONVSAM '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'H' THEN DTYPE = 'GDS     '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'B' THEN DTYPE = 'GDG     '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'R' THEN DTYPE = 'PATH    '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'G' THEN DTYPE = 'AIX     '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'X' THEN DTYPE = 'ALIAS   '
     ELSE
      IF SUBSTR(DWORK,POS1+1,1) = 'U' THEN DTYPE = 'UCAT    '
     ELSE
      DTYPE = '        '
 /********************************************************************/
 /*                                                                  */
 /*  HAVE NAME AND TYPE, GET SMS CLASS INFO                          */
 /*                                                                  */
 /********************************************************************/
    POS1 = POS1 + 46
    TEST01 = C2D(SUBSTR(DWORK,POS1,2))
    TEST02 = C2D(SUBSTR(DWORK,POS1+4,2))
    TEST03 = C2D(SUBSTR(DWORK,POS1+6,2))
    TEST04 = C2D(SUBSTR(DWORK,POS1+8,2))

    POS2 = POS1 + 12
    DCLAS = SUBSTR(DWORK,POS2,TEST02-2)
    DCLAS = LEFT(DCLAS,9)
    POS2 = POS2 + TEST02
    SCLAS = SUBSTR(DWORK,POS2,TEST03-2)
    SCLAS = LEFT(SCLAS,9)
    POS2 = POS2 + TEST03
    MCLAS = SUBSTR(DWORK,POS2,TEST04-2)
    MCLAS = LEFT(MCLAS,9)

    IF DNAMET ^= DNAME THEN         /* IF RESUME, NAME MAY ALREADY   */
                                    /*    PRINTED                    */
    DO                              /* IF NOT, PRINT IT              */
     SAY COPIES(' ',8) DTYPE DNAME DCLAS SCLAS MCLAS
     DNAMET=DNAME
    END
 /********************************************************************/
 /*                                                                  */
 /*   GET POSITION OF NEXT ENTRY                                     */
 /*                                                                  */
 /********************************************************************/
    POS1 = POS1 + C2D(SUBSTR(DWORK,POS1,2))
  END
END
END
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 733
Location: Denmark

PostPosted: Tue Nov 28, 2017 8:51 pm
Reply with quote

Only difference I can see is that you have numbers on. And I wonder why the TBOPEN command is not the one complaining.
Try:
- remove sequence numbers (edit command UNNUM), check that they are gone.
- add TRACE R before the ADDRESS ISPEXEC

Lets see the job and the output if it still doesnt work.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 124
Location: India

PostPosted: Tue Nov 28, 2017 11:41 pm
Reply with quote

Hi,

I have unnumbered and executed the Job with TRACE R command.

Job :-
Code:

//TTSNSRSA JOB CLASS=P,MSGCLASS=H,NOTIFY=&SYSUID
//*
//G1      EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
/ ADD NAME=DCREPORT
 /* READ THE TABLES GENERATED BY ACBQBAIC AND REPORT */
 TRACE 'R'
 ADDRESS ISPEXEC
 TBL='DCNAMES'
 "TBOPEN"  TBL "NOWRITE"
 "TBQUERY" TBL "NAMES(TNAMES)"
 SAY 'TABLE:' TBL /*'TBLVARS ('WORDS(TNAMES)'):' TNAMES */
 "TBTOP"   TBL
 DO FOREVER
   "TBSKIP" TBL "SAVENAME(XNAMES)"
   IF RC<>0 THEN LEAVE
   SAY ''
   VLIST=SPACE(TRANSLATE(TNAMES XNAMES,' ','()'))
   DO VI=1 TO WORDS(VLIST)
     VN=WORD(VLIST,VI)
     IF RIGHT(VN,3)='FLG' THEN ITERATE
     VV=SPACE(TRANSLATE(VALUE(VN),' ','-'),0)
     IF VV<>'' & VV>'20'X THEN SAY '  'LEFT(VN,8)':' VV
   END
 END
 "TBEND" TBL
 EXIT 0
//SYSUT2   DD UNIT=3390,DISP=SHR,DSN=TTSN.TEST.SMS
//*YSUT2   DD UNIT=3390,DISP=(,PASS),DSN=&&PDS,
//*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SSYS1TENU)
//*
//SAVECFG  EXEC PGM=IKJEFT1B,DYNAMNBR=50
//SYSEXEC  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
//SYSPROC  DD DSN=SYS1.DGTCLIB,DISP=SHR
//         DD DSN=SYS1.SISPCLIB,DISP=SHR
//STEPLIB  DD DSN=SYS1.DGTLLIB,DISP=SHR
//ISPPLIB  DD DSN=SYS1.DGTPLIB,DISP=SHR
//         DD DSN=SYS1.SISPPENU,DISP=SHR
//ISPMLIB  DD DSN=SYS1.DGTMLIB,DISP=SHR
//         DD DSN=SYS1.SISPMENU,DISP=SHR
//ISPSLIB  DD DSN=SYS1.SISPSENU,DISP=SHR
//         DD DSN=SYS1.DGTSLIB,DISP=SHR
//ISPTABL  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
//ISPTLIB  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
//         DD DSN=SYS1.SISPTENU,DISP=SHR
//         DD DSN=SYS1.DGTTLIB,DISP=SHR
//ISPPROF  DD DCB=(SYS1.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=3390
//ISPLOG   DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*,OUTLIM=20000
//SYSTSIN  DD *
 ISPSTART CMD(%ACBQBAIC SAVE DCNAMES +
            SCDS('PGSN.S1SMS.SCDS') DATACLAS(*))  +
            NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  +
            BREDIMAX(3) BDISPMAX(99999999)
 ISPSTART CMD(%DCREPORT,'TTSN.TEST.SMS')


Job output :-
Code:

1                    J E S 2  J O B  L O G  --  S Y S T E M  S A O S  --  N O D E  R B J E S S 1
0
 18.00.39 JOB13632 ---- TUESDAY,   28 NOV 2017 ----
 18.00.39 JOB13632  IRR010I  USERID SRSQ     IS ASSIGNED TO THIS JOB.
 18.00.39 JOB13632  ICH70001I SRSQ     LAST ACCESS AT 17:56:16 ON TUESDAY, NOVEMBER 28, 2017
 18.00.39 JOB13632  $HASP373 TTSNSRSA STARTED - INIT 21   - CLASS P        - SYS SAOS
 18.00.39 JOB13632  IEF403I TTSNSRSA - STARTED - TIME=18.00.39
 18.00.43 JOB13632  IEF404I TTSNSRSA - ENDED - TIME=18.00.43
 18.00.43 JOB13632
 18.00.43 JOB13632  *************************************************************************************************************
 18.00.43 JOB13632  *      JOB         STEP      PROCSTEP      PROG      RETURN    ELAPSED      CPU/TCB     CPU/SRB     SERVICE *
 18.00.43 JOB13632  *      NAME        NAME        NAME        NAME       CODE      TIME         TIME        TIME        UNITS  *
 18.00.43 JOB13632  *    TTSNSRSA    G1                      IEBUPDTE     0000     00.00.00    00.00.00    00.00.00         653 *
 18.00.43 JOB13632  *    TTSNSRSA    SAVECFG                 IKJEFT1B     0990     00.00.03    00.00.00    00.00.00        9881 *
 18.00.43 JOB13632  *                                                              ========    ========    ========    ======== *
 18.00.43 JOB13632  *    TTSNSRSA                                                  00.00.03    00.00.00    00.00.00       10534 *
 18.00.43 JOB13632  *************************************************************************************************************
 18.00.43 JOB13632  $HASP395 TTSNSRSA ENDED - RC=0990
0------ JES2 JOB STATISTICS ------
-  28 NOV 2017 JOB EXECUTION DATE
-           57 CARDS READ
-          195 SYSOUT PRINT RECORDS
-            0 SYSOUT PUNCH RECORDS
-           16 SYSOUT SPOOL KBYTES
-         0.05 MINUTES EXECUTION TIME
         1 //TTSNSRSA JOB CLASS=P,MSGCLASS=H,NOTIFY=&SYSUID                        JOB13632
           //*
           IEFC653I SUBSTITUTION JCL - CLASS=P,MSGCLASS=H,NOTIFY=SRSQ
         2 //G1      EXEC PGM=IEBUPDTE,PARM=NEW
         3 //SYSPRINT DD SYSOUT=*
         4 //SYSIN    DD *
         5 //SYSUT2   DD UNIT=3390,DISP=SHR,DSN=TTSN.TEST.SMS
           //*YSUT2   DD UNIT=3390,DISP=(,PASS),DSN=&&PDS,
           //*           SPACE=(TRK,(8,8,8)),DCB=(SYS1.SSYS1TENU)
           //*
         6 //SAVECFG  EXEC PGM=IKJEFT1B,DYNAMNBR=50
         7 //SYSEXEC  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
         8 //SYSPROC  DD DSN=SYS1.DGTCLIB,DISP=SHR
         9 //         DD DSN=SYS1.SISPCLIB,DISP=SHR
        10 //STEPLIB  DD DSN=SYS1.DGTLLIB,DISP=SHR
        11 //ISPPLIB  DD DSN=SYS1.DGTPLIB,DISP=SHR
        12 //         DD DSN=SYS1.SISPPENU,DISP=SHR
        13 //ISPMLIB  DD DSN=SYS1.DGTMLIB,DISP=SHR
        14 //         DD DSN=SYS1.SISPMENU,DISP=SHR
        15 //ISPSLIB  DD DSN=SYS1.SISPSENU,DISP=SHR
        16 //         DD DSN=SYS1.DGTSLIB,DISP=SHR
        17 //ISPTABL  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
        18 //ISPTLIB  DD DISP=OLD,DSN=*.G1.SYSUT2,VOL=REF=*.G1.SYSUT2
        19 //         DD DSN=SYS1.SISPTENU,DISP=SHR
        20 //         DD DSN=SYS1.DGTTLIB,DISP=SHR
        21 //ISPPROF  DD DCB=(SYS1.SISPTENU),SPACE=(TRK,(1,1,1)),UNIT=3390
        22 //ISPLOG   DD SYSOUT=*,DCB=(LRECL=125,BLKSIZE=129,RECFM=VA)
        23 //SYSPRINT DD SYSOUT=*
        24 //SYSTSPRT DD SYSOUT=*,OUTLIM=20000
        25 //SYSTSIN  DD *
 ICH70001I SRSQ     LAST ACCESS AT 17:56:16 ON TUESDAY, NOVEMBER 28, 2017
 IEF236I ALLOC. FOR TTSNSRSA G1
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSIN
 IGD103I SMS ALLOCATED TO DDNAME SYSUT2
 IEF142I TTSNSRSA G1 - STEP WAS EXECUTED - COND CODE 0000
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000103.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000101.?            SYSIN
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSUT2
 IEF373I STEP/G1      /START 2017332.1800
 IEF032I STEP/G1      /STOP  2017332.1800
         CPU:     0 HR  00 MIN  00.01 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   164K  SYS:   388K  EXT:      180K  SYS:     9980K
         ATB- REAL:                  3096K  SLOTS:                     0K
              VIRT- ALLOC:      12M SHRD:       0M
 IEF236I ALLOC. FOR TTSNSRSA SAVECFG
 IGD103I SMS ALLOCATED TO DDNAME SYSEXEC
 IEF237I 205C ALLOCATED TO SYSPROC
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO STEPLIB
 IEF237I 205C ALLOCATED TO ISPPLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPMLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO ISPSLIB
 IEF237I 205C ALLOCATED TO
 IGD103I SMS ALLOCATED TO DDNAME ISPTABL
 IGD103I SMS ALLOCATED TO DDNAME ISPTLIB
 IEF237I 205C ALLOCATED TO
 IEF237I 205C ALLOCATED TO
 IGD101I SMS ALLOCATED TO DDNAME (ISPPROF )
         DSN (SYS17332.T180039.RA000.TTSNSRSA.R0117700    )
         STORCLAS (STANDARD) MGMTCLAS (        ) DATACLAS (PDSNCOMP)
         VOL SER NOS= W0S103
 IEF237I JES2 ALLOCATED TO ISPLOG
 IEF237I JES2 ALLOCATED TO SYSPRINT
 IEF237I JES2 ALLOCATED TO SYSTSPRT
 IEF237I JES2 ALLOCATED TO SYSTSIN
 IEF237I 2052 ALLOCATED TO SYS00001
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00001
 IEF237I 2052 ALLOCATED TO SYS00002
 IGD104I PGSN.S1SMS.SCDS                              RETAINED,  DDNAME=SYS00002
 IEF142I TTSNSRSA SAVECFG - STEP WAS EXECUTED - COND CODE 0990
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=SYSEXEC
 IEF285I   SYS1.DGTCLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPCLIB                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTLLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTPLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPPENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTMLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPMENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.SISPSENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTSLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTABL
 IGD104I TTSN.TEST.SMS                                RETAINED,  DDNAME=ISPTLIB
 IEF285I   SYS1.SISPTENU                                KEPT
 IEF285I   VOL SER NOS= IPS131.
 IEF285I   SYS1.DGTTLIB                                 KEPT
 IEF285I   VOL SER NOS= IPS131.
 IGD105I SYS17332.T180039.RA000.TTSNSRSA.R0117700     DELETED,   DDNAME=ISPPROF
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000104.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000105.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000106.?            SYSOUT
 IEF285I   SRSQ.TTSNSRSA.JOB13632.D0000102.?            SYSIN
 IEF373I STEP/SAVECFG /START 2017332.1800
 IEF032I STEP/SAVECFG /STOP  2017332.1800
         CPU:     0 HR  00 MIN  00.07 SEC    SRB:     0 HR  00 MIN  00.00 SEC
         VIRT:   368K  SYS:   532K  EXT:    19944K  SYS:    10612K
         ATB- REAL:                  3120K  SLOTS:                     0K
              VIRT- ALLOC:      17M SHRD:       0M
 IEF375I  JOB/TTSNSRSA/START 2017332.1800
 IEF033I  JOB/TTSNSRSA/STOP  2017332.1800
         CPU:     0 HR  00 MIN  00.08 SEC    SRB:     0 HR  00 MIN  00.00 SEC
1       SYSIN                            NEW MASTER                                        IEBUPDTE LOG PAGE 0001
-       ./ ADD NAME=DCREPORT
         /* READ THE TABLES GENERATED BY ACBQBAIC AND REPORT */
         TRACE 'R'
         ADDRESS ISPEXEC
         TBL='DCNAMES'
         "TBOPEN"  TBL "NOWRITE"
         "TBQUERY" TBL "NAMES(TNAMES)"
         SAY 'TABLE:' TBL /*'TBLVARS ('WORDS(TNAMES)'):' TNAMES */
         "TBTOP"   TBL
         DO FOREVER
           "TBSKIP" TBL "SAVENAME(XNAMES)"
           IF RC<>0 THEN LEAVE
           SAY ''
           VLIST=SPACE(TRANSLATE(TNAMES XNAMES,' ','()'))
           DO VI=1 TO WORDS(VLIST)
             VN=WORD(VLIST,VI)
             IF RIGHT(VN,3)='FLG' THEN ITERATE
             VV=SPACE(TRANSLATE(VALUE(VN),' ','-'),0)
             IF VV<>'' & VV>'20'X THEN SAY '  'LEFT(VN,8)':' VV
           END
         END
         "TBEND" TBL
         EXIT 0
 IEB817I MEMBER NAME (DCREPORT) NOT FOUND IN NM DIRECTORY.  STOWED WITH TTR.
 IEB818I HIGHEST CONDITION CODE WAS 00000000
 IEB819I END OF JOB IEBUPDTE.
1PDSMAN       r7.70                                    UTILITY INTERFACE       28 November  2017.332 18:00:39  PAGE     1
 ** PDSM01 **   SAOS                                   TTSN.TEST.SMS                               T0S104

0Member         Update Date/Time   Vers.  Job Name S  Referenced   Base Date    Action    Space Reuse     Update Message
0DCREPORT       11/28/2017  18:00  01.00  TTSNSRS     -- None  --  11/28/2017   Added
1READY
  ISPSTART CMD(%ACBQBAIC SAVE DCNAMES SCDS('PGSN.S1SMS.SCDS') DATACLAS(*))  NEWAPPL(DGT) BATSCRW(132) BATSCRD(27)  BREDIMAX(3) BD
 AX(99999999)

 Table name to be created is DCNAMES
  Name of the SCDS selected : 'PGSN.S1SMS.SCDS'
 DATACLAS = *
 BEGINNING BATCH EXECUTION OF ISMF 11/28/17 18:00:40
 ENDING BATCH EXECUTION OF ISMF 11/28/17 18:00:42
 READY
  ISPSTART CMD(%DCREPORT,'TTSN.TEST.SMS')
      3 *-* ADDRESS ISPEXEC
      4 *-* TBL='DCNAMES'
        >>>   "DCNAMES"
      5 *-* "TBOPEN"  TBL "NOWRITE"
        >>>   "TBOPEN DCNAMES NOWRITE"
        +++ RC(8) +++
      6 *-* "TBQUERY" TBL "NAMES(TNAMES)"
        >>>   "TBQUERY DCNAMES NAMES(TNAMES)"
   ISPT034 Table is not open       -/-TBQUERY issued for table DCNAMES that is not open.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Wed Nov 29, 2017 12:45 pm
Reply with quote

You are getting RC(8) on your TBOPEN - so the table is not being opened properly.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Wed Nov 29, 2017 1:53 pm
Reply with quote

I think that this topic should be closed as it can easily be resolved from an extremely similar topic started by the same OP

ibmmainframes.com/viewtopic.php?t=66308
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   This topic is locked: you cannot edit posts or make replies. View Bookmarks
All times are GMT + 6 Hours
Forum Index -> All Other Mainframe Topics

 


Similar Topics
Topic Forum Replies
No new posts Run rexx in batch job CLIST & REXX 6
No new posts Does anyone know rexx for VSE CLIST & REXX 3
No new posts TSO ALLOC In REXX Needs Improvement JCL & VSAM 3
No new posts REXX/CMS How to place command console... CLIST & REXX 4
No new posts Help needed in automation cics transa... CLIST & REXX 1
Search our Forums:

Back to Top