Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

DSLIST using REXX

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX
View previous topic :: :: View next topic  
Author Message
sivakumar somala

New User


Joined: 26 Sep 2007
Posts: 10
Location: Mumbai

PostPosted: Thu Sep 25, 2014 11:20 am    Post subject: DSLIST using REXX
Reply with quote

Hello,

Good day..!

I am trying to get the following information for a given set of members in a PS file as input. To start with, I have used LISTDS command manually to acheive it. But it is not sufficient for my requirement. Could you please help me if there is any other way to achieve this. Thanks in advance.

Input in s PS file:

Code:
MEMBER1                 
MEMBER2                 
MEMBER3                 
MEMBER4                 
MEMBER5                 
MEMBER6                 
MEMBER7                 
MEMBER8 


Output:

Code:
 Name         Created          Changed         ID
MEMBER1      2014/09/18  2014/09/18 14:52:23  User1
MEMBER2      2004/03/05  2014/05/08 09:30:43  User2
MEMBER3      2004/03/05  2014/05/20 16:11:22  User1
MEMBER4      2014/09/18  2014/09/25 07:28:25  User3
MEMBER5      2014/01/22  2014/09/25 07:35:45  User3
MEMBER6      2014/01/22  2014/04/30 16:35:58  User4
MEMBER7      2014/01/22  2014/03/14 08:38:51  User2
MEMBER8      2014/01/22  2014/03/14 12:10:45  User1
Back to top
View user's profile Send private message

expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Thu Sep 25, 2014 1:39 pm    Post subject:
Reply with quote

You can run DSLIST in batch too

There are quite a few examples on the forum
Back to top
View user's profile Send private message
Pedro

Senior Member


Joined: 01 Sep 2006
Posts: 2019
Location: Silicon Valley

PostPosted: Thu Sep 25, 2014 9:48 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

I think you want to use the LMMLIST service.
Back to top
View user's profile Send private message
sivakumar somala

New User


Joined: 26 Sep 2007
Posts: 10
Location: Mumbai

PostPosted: Fri Sep 26, 2014 7:31 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Hi All,

Thanks for your inputs.

I have written a small Rexx snipet to get the details when run.

Code:
/* Rexx  */                                                         
PDSNAME = 'CYM1.FORX.PROM.SRC'                                     
Address ISPEXEC                                                     
"LMINIT DATAID(DDVAR) DATASET('"PDSNAME"') ENQ(SHR)"               
"LMOPEN DATAID("DDVAR")"                                           
Say PDSNAME                                                         
Do Forever                                                         
  "LMMLIST DATAID("DDVAR") OPTION(LIST) MEMBER(MEMNAME) STATS(YES)"
  If RC > 0 then do                                                 
    Leave                                                           
  End                                                               
  Say '   'MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER                   
End                                                                 
"LMFREE DATAID("DDVAR")"                                         



And I am using the following JCL to execute the Rexx program.


Code:
//ISPFBAT  EXEC PGM=IKJEFT01,                             
//          PARM='ISPSTART CMD(MYREXX)'                     
//SYSEXEC  DD DISP=SHR,DSN=MYID.REXX.PROC           
//SYSTSIN  DD DUMMY                                       
//SYSTSPRT DD SYSOUT=*                                   
//ISPMLIB  DD DISP=SHR,DSN=SYS3.ISPMLIB     
//ISPPLIB  DD DISP=SHR,DSN=SYS3..ISPPLIB     
//ISPSLIB  DD DISP=SHR,DSN=SYS3..ISPSLIB     
//ISPTLIB  DD DISP=SHR,DSN=SYS3..ISPTLIB     
//ISPLLIB  DD DISP=SHR,DSN=SYS3..ISPLLIB     
//ISPLOG   DD  SYSOUT=*,DCB=(RECFM=VA,LRECL=125,BLKSIZE=0)
//ISPPROF  DD DSN=MYID.ISPPROF,DISP=SHR             


The job is abending with the folllowing message.

Code:
CSV003I REQUESTED MODULE IRXJXL   NOT FOUND                 
CSV028I ABEND806-04  JOBNAME=CYM1SRBT  STEPNAME=STEP010     
IEA995I SYMPTOM DUMP OUTPUT  136                             
SYSTEM COMPLETION CODE=806  REASON CODE=00000004


Can you please help me on how to resolve this error. Or is there any other alternate way to execute my Rexx through JCL.

Thanks,
Siva
Back to top
View user's profile Send private message
Mickeydusaor

Active User


Joined: 24 May 2006
Posts: 258
Location: Salem, Oregon

PostPosted: Fri Sep 26, 2014 8:11 pm    Post subject:
Reply with quote

where is STEP010 ??????? you have not shown this step
Back to top
View user's profile Send private message
David Robinson

Active User


Joined: 21 Dec 2011
Posts: 175
Location: UK

PostPosted: Fri Sep 26, 2014 9:04 pm    Post subject:
Reply with quote

The module name should be IRXJCL not IRXJXL
Back to top
View user's profile Send private message
sivakumar somala

New User


Joined: 26 Sep 2007
Posts: 10
Location: Mumbai

PostPosted: Tue Sep 30, 2014 3:00 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Hi All,

Thanks for your inputs.

I have changed my JCL as shown below. But the job fails with RC=12 this time. Here are the details:

JCL

Code:
//ISPFBAT  EXEC PGM=IKJEFT01,                             
//          PARM='ISPSTART CMD(RPRTREXX)'                 
//STEPLIB  DD  DISP=SHR,DSN=MYID.PROC.IRXJCL.LOAD
//SYSEXEC  DD DISP=SHR,DSN=MYID.REXX.PROGLIB           
//SYSTSIN  DD DUMMY                                       
//SYSTSPRT DD SYSOUT=*                                   
//ISPMLIB  DD DISP=SHR,DSN=SYS3.ISPMLIB     
//ISPPLIB  DD DISP=SHR,DSN=SYS3.ISPPLIB     
//ISPSLIB  DD DISP=SHR,DSN=SYS3.ISPSLIB     
//ISPTLIB  DD DISP=SHR,DSN=SYS3.ISPTLIB     
//ISPLLIB  DD DISP=SHR,DSN=SYS3.ISPLLIB     
//ISPLOG   DD  SYSOUT=*,DCB=(RECFM=VA,LRECL=125,BLKSIZE=0)
//ISPPROF  DD DSN=MYID.ISPPROF,DISP=SHR             



Error messages:

Code:
IGD103I SMS ALLOCATED TO DDNAME ISPPROF                                       
IEA995I SYMPTOM DUMP OUTPUT                                                   
  USER COMPLETION CODE=0999                                                   
 TIME=11.15.08  SEQ=13252  CPU=0000  ASID=0104                               
 PSW AT TIME OF ERROR  078D1000   89A5BD96  ILC 2  INTC 0D                   
   ACTIVE LOAD MODULE           ADDRESS=09A59000  OFFSET=00002D96             
   NAME=ISPTASK                                                               
   DATA AT PSW  09A5BD90 - 00181610  0A0D58F0  D12C47F0                       
   GR 0: 80000000   1: 800003E7                                               
      2: 00012918   3: 00000004                                               
      4: 09A5C2B0   5: 897C40A0                                               
      6: 097C498A   7: 00011000                                               
      8: 00015460   9: 00020090                                               
      A: 09A5C2C4   B: 09A5BEA8                                               
      C: 89A5AEA8   D: 000243F0                                               
      E: 89A5BD86   F: 00000000                                               
 END OF SYMPTOM DUMP                                                         
IEF142I MYIDSRBT ISPFBAT - STEP WAS EXECUTED - COND CODE 0012                 
IGD104I MYID.PROC.IRXJCL.LOAD                     RETAINED,  DDNAME=STEPLIB



and

Code:
ISPI021 Unrecoverable error in initialization of
command tables                                 
ISPI022 ISPF cannot continue. ISPF abending.   
ISPSTART ENDED DUE TO ERROR+                   
USER ABEND CODE 0999  REASON CODE 00000000


Please help me on how to resolve this error.

Thanks,
Siva
Back to top
View user's profile Send private message
daveporcelan

Active Member


Joined: 01 Dec 2006
Posts: 645
Location: Pennsylvania

PostPosted: Tue Sep 30, 2014 6:02 pm    Post subject:
Reply with quote

Give this a shot, this is how I start ISPF and run an exec.

Code:
//ISPFBAT  EXEC PGM=IKJEFT01
//STEPLIB  DD  DISP=SHR,DSN=MYID.PROC.IRXJCL.LOAD
//SYSEXEC  DD DISP=SHR,DSN=MYID.REXX.PROGLIB           
//SYSTSIN  DD *
PROFILE NOPREFIX
ISPSTART CMD(%RPRTREXX)   
/*                                     
//SYSTSPRT DD SYSOUT=*                                   
//ISPMLIB  DD DISP=SHR,DSN=SYS3.ISPMLIB     
//ISPPLIB  DD DISP=SHR,DSN=SYS3.ISPPLIB     
//ISPSLIB  DD DISP=SHR,DSN=SYS3.ISPSLIB     
//ISPTLIB  DD DISP=SHR,DSN=SYS3.ISPTLIB     
//ISPLLIB  DD DISP=SHR,DSN=SYS3.ISPLLIB     
//ISPLOG   DD  SYSOUT=*,DCB=(RECFM=VA,LRECL=125,BLKSIZE=0)
//ISPPROF  DD DSN=MYID.ISPPROF,DISP=SHR     
Back to top
View user's profile Send private message
Pedro

Senior Member


Joined: 01 Sep 2006
Posts: 2019
Location: Silicon Valley

PostPosted: Tue Sep 30, 2014 9:11 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Code:
ISPI021 Unrecoverable error in initialization of
command tables

There is something wrong with the ISPTLIB allocation. Is that the same data set you use while logged on? Does the ISPTLIB data set have ISR and ISP prefixed members in it? Did your batch job run on the same system where you are logged on?
Back to top
View user's profile Send private message
farhad_evan

New User


Joined: 30 Aug 2014
Posts: 9
Location: UK

PostPosted: Wed Oct 01, 2014 9:59 am    Post subject:
Reply with quote

maybe you should change your Ispprof and use another user profile .
i changed it and it's worked for me
Back to top
View user's profile Send private message
sivakumar somala

New User


Joined: 26 Sep 2007
Posts: 10
Location: Mumbai

PostPosted: Mon Oct 13, 2014 10:48 am    Post subject: Reply to: DSLIST using REXX
Reply with quote

Hi All,

Good day!

Still stuck with executing my Rexx snippet and capture the output in to a dataset. Any help is greatly appreciated. Thanks in advance.



JCL:

Code:
//ISPFBAT  EXEC PGM=IKJEFT01                                 
//STEPLIB  DD  DISP=SHR,DSN=SYS1.LPALIB                       
//SYSPROC  DD DISP=SHR,DSN=MYID.REXX.PROC               
//SYSTSIN  DD *                                               
PROFILE NOPREFIX                                             
ISPSTART CMD(%RPRTREXX) 'MYID.PROM.SRC'                 
/*                                                           
//SYSTSPRT DD SYSOUT=*                                       
//SYSPRINT DD SYSOUT=*                                       
//ISPMLIB  DD DISP=SHR,DSN=SYS3.ISPMLIB         
//ISPPLIB  DD DISP=SHR,DSN=SYS3.ISPPLIB         
//ISPSLIB  DD DISP=SHR,DSN=SYS3.ISPSLIB         
//ISPTLIB  DD DDNAME=ISPTABL                                 
//         DD DISP=SHR,DSN=SYS3.ISPTLIB         
//ISPTABL  DD DISP=SHR,DSN=SYS3.ISPTLIB         
//ISPLLIB  DD DISP=SHR,DSN=SYS3.ISPLLIB         
//ISPLOG   DD SYSOUT=*,DCB=(RECFM=VA,LRECL=125,BLKSIZE=0)     
//ISPPROF  DD DSN=&&PROFILE,DISP=(,DELETE,DELETE),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),             
//            SPACE=(TRK,(1,1,1),RLSE)                                 
//FILEOUT  DD  DSN=MYID.STATUS.REPORT,                   
//             DISP=(NEW,CATLG,DELETE),                                 
//             UNIT=SYSDA,SPACE=(CYL,(10,15)),                         
//             DCB=(LRECL=183,BLKSIZE=1830)   



REXX:

Code:
/* Rexx  */                                                     
/************ GET THE MEMBER STATISTICS ********/               
ARG PDS                                                         
PDSNAME = PDS                                                   
ADDRESS TSO                                                     
/*DRESS ISPEXEC */                                               
"ISPEXEC LMINIT DATAID(DDVAR) DATASET('"PDSNAME"') ENQ(SHR)"     
"ISPEXEC LMOPEN DATAID("DDVAR")"                                 
I=0                                                             
DO FOREVER                                                       
"ISPEXEC LMMLIST DATAID("DDVAR") OPTION(LIST) MEMBER(MEMNAME),   
 STATS(YES)"                                                     
     QUEUE SUBSTR(MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER)       
  IF RC > 0 THEN DO                                             
    LEAVE                                                       
  END                                                           
  SAY '   'MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER               
"ISPEXEC LMFREE DATAID("DDVAR")"                                 
END                                                 
  ADDRESS TSO                                       
  "EXECIO" QUEUED() "DISKW FILEOUT ( FINIS"         
  "FREE F(FILEOUT)"                                 
  ADDRESS TSO "DELSTACK"                           
EXIT   



Error in the Job log:

Code:
IEA995I SYMPTOM DUMP OUTPUT                                                     
SYSTEM COMPLETION CODE=047                                                     
 TIME=06.43.02  SEQ=51371  CPU=0000  ASID=0160                                 
 PSW AT TIME OF ERROR  078D1000   A3A00144  ILC 2  INTC 6B                     
   ACTIVE LOAD MODULE           ADDRESS=23A00000  OFFSET=00000144               
   NAME=IKJEFT01                                                               
   DATA AT PSW  23A0013E - 5810C360  0A6BD503  C0A8BD51                         
   GR 0: FD000008   1: 0000000C                                                 
      2: 00EB5100   3: 80006006                                                 
      4: 009D3D48   5: 00000000                                                 
      6: 00000000   7: 00000001                                                 
      8: 009FA6D8   9: 009D18F0                                                 
      A: A3A00050   B: 23A0104F                                                 
      C: 00007000   D: 00007000                                                 
      E: 80FD8D80   F: A3A00086                                                 
 END OF SYMPTOM DUMP                                                           
IEF472I CYM1SRBT ISPFBAT - COMPLETION CODE - SYSTEM=047 USER=0000 REASON=0000000
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1219
Location: Israel

PostPosted: Mon Oct 13, 2014 11:09 am    Post subject:
Reply with quote

1. No trace information ?
2. You need write access to ISPTABL file.
Back to top
View user's profile Send private message
nevilh

Active User


Joined: 01 Sep 2006
Posts: 258

PostPosted: Mon Oct 13, 2014 1:25 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Have you tried removing the STEPLIB, normally having SYS1.LPALIB as a STEPLIB is not to be recommended
Back to top
View user's profile Send private message
Pedro

Senior Member


Joined: 01 Sep 2006
Posts: 2019
Location: Silicon Valley

PostPosted: Mon Oct 13, 2014 9:29 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Quote:
Have you tried removing the STEPLIB, normally having SYS1.LPALIB as a STEPLIB is not to be recommended

I agree.

Did you look up the 047 abend? It is about APF authorization, so I would try to remove the steplib.

Also, the syntax of this looks suspicious:
Code:
ISPSTART CMD(%RPRTREXX) 'MYID.PROM.SRC' 

I think the right parenthesis is misplaced. The entire command should be within the parenthesis. That includes the command name and any parameters.

Also, I think your rexx program should exit if it does NOT find a value in ARG.

Also, rather than this:
Code:
ADDRESS TSO                                                     
/*DRESS ISPEXEC */                                               
"ISPEXEC LMINIT DATAID(DDVAR) DATASET('"PDSNAME"') ENQ(SHR)"

I think you should use this:
Code:
ADDRESS ISPEXEC
"LMINIT DATAID(DDVAR) DATASET('"PDSNAME"') ENQ(SHR)"

(It is just clearer to me). I realize the original will work.

I do not understand the purpose of using substr here:
Code:
 QUEUE SUBSTR(MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER)

Please elaborate. Substr requires two parameters separated by a comma. It is not clear that the syntax is correct.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1219
Location: Israel

PostPosted: Tue Oct 14, 2014 6:34 pm    Post subject:
Reply with quote

Marso wrote:
You need write access to ISPTABL file.
I still think you don't have write access to SYS3.ISPTLIB

Also I'm not sure about the BLKSIZE=0 in ISPPROF DD.
Can somebody check if it's correct (I'm not at work today)?

And all of Pedro's remarks are pertinent.
Back to top
View user's profile Send private message
prino

Active Member


Joined: 07 Feb 2009
Posts: 984
Location: Oostende, Belgium

PostPosted: Tue Oct 14, 2014 6:59 pm    Post subject:
Reply with quote

Marso wrote:
Also I'm not sure about the BLKSIZE=0 in ISPPROF DD.
Can somebody check if it's correct (I'm not at work today)?

That's OK, will use SDB.
Back to top
View user's profile Send private message
sivakumar somala

New User


Joined: 26 Sep 2007
Posts: 10
Location: Mumbai

PostPosted: Tue Oct 21, 2014 1:08 pm    Post subject: Reply to: DSLIST using REXX
Reply with quote

Hi All,

Thanks for all your inputs.

I have made the required changes as per your suggestions.

But now, I am facing a new error. Here are the details.

JCL:

Code:
//ISPFBAT  EXEC PGM=IKJEFT01                                 
//*STEPLIB  DD  DISP=SHR,DSN=SYS1.LPALIB                     
//SYSPROC  DD DISP=SHR,DSN=MYID.REXX.PROC               
//SYSTSIN  DD *                                             
PROFILE NOPREFIX                                             
ISPSTART CMD(%RPRTREXX 'MYID.PROM.SRC')                 
/*                                                           
//SYSTSPRT DD SYSOUT=*                                       
//SYSPRINT DD SYSOUT=*                                       
//ISPMLIB  DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPMLIB         
//ISPPLIB  DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPPLIB         
//ISPSLIB  DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPSLIB         
//ISPTLIB  DD DDNAME=ISPTABL                                 
//         DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPTLIB         
//ISPTABL  DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPTLIB         
//ISPLLIB  DD DISP=SHR,DSN=SYS3.FARDX.V4R2M0.ISPLLIB         
//ISPLOG   DD SYSOUT=*,DCB=(RECFM=VA,LRECL=125,BLKSIZE=0)   
//ISPPROF  DD DSN=&&PROFILE,DISP=(,DELETE,DELETE),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),                       
//            SPACE=(TRK,(1,1,1),RLSE)                                 
//FILEOUT  DD  DSN=MYID.STATUS.REPORT,
//             DISP=(NEW,CATLG,DELETE),                                 
//             UNIT=SYSDA,SPACE=(CYL,(10,15)),                         
//             DCB=(LRECL=183,BLKSIZE=1830)                             
//**********************************************************************

REXX Program:

Code:
/* Rexx  */                                                   
/************ GET THE MEMBER STATISTICS ********/             
ARG PDS                                                       
PDSNAME = PDS                                                 
/*ADDRESS TSO */                                               
ADDRESS ISPEXEC                                               
"LMINIT DATAID(DDVAR) DATASET('"PDSNAME"') ENQ(SHR)"           
"LMOPEN DATAID("DDVAR")"                                       
DO FOREVER                                                     
"LMMLIST DATAID("DDVAR") OPTION(LIST) MEMBER(MEMNAME),         
 STATS(YES)"                                                   
     QUEUE (MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER)           
  IF RC > 0 THEN DO                                           
    LEAVE                                                     
  END                                                         
/*  SAY '   'MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER           */
"LMFREE DATAID("DDVAR")"                                       
END                                                           
  ADDRESS TSO                                                     
  "EXECIO" QUEUED() "DISKW FILEOUT ( FINIS"                       
  "FREE F(FILEOUT)"                                               
  ADDRESS TSO "DELSTACK"                                         
EXIT                                                             
/***************************************************************/

Error Message:

JESMSGLG

Code:
IEF403I MYIDSRBT - STARTED - TIME=09.16.30                                     
-                                         --TIMINGS (MINS.)--            ----PAG
-JOBNAME  STEPNAME PROCSTEP    RC   EXCP    CPU    SRB  CLOCK   SERV  PG   PAGE
-MYIDSRBT          ISPFBAT    998     54    .00    .00    .00    680   0      0
IEF404I MYIDSRBT - ENDED - TIME=09.16.31   



SYSTSPRT

Code:
READY                                                                         
PROFILE NOPREFIX                                                             
READY                                                                         
ISPSTART CMD(%RPRTREXX 'MYID.PROM.SRC')                                 
CMG999   Message ISPV010 - ISPV010  message not found in 'ISPMLIB' library.   
READY                                                                         
END



Hi Pedro,

Please elaborate. Substr requires two parameters separated by a comma. It is not clear that the syntax is correct.

<Siva>: I am trying to write the
Code:
MEMNAME ZLCDATE ZLMDATE ZLMTIME ZLUSER
details in to
Code:
FILEOUT
.

Searched in the Forum as well as in the internet. Couldn't find any working solutions. Request your help in resolving the error.

Many thanks in advance.

Best regards,
Siva
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8593
Location: Back in jolly old England

PostPosted: Tue Oct 21, 2014 1:49 pm    Post subject:
Reply with quote

The error is plainly displayed in the error message shown icon_rolleyes.gif

As for not finding a solution to write things to the required file

Click HERE to find out how to read and write to external files.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1219
Location: Israel

PostPosted: Tue Oct 21, 2014 4:07 pm    Post subject:
Reply with quote

  • About SUBSTR:
    You will find explanation and format here.

  • About:
    Code:
    ARG PDS
    PDSNAME = PDS
    First, to prevent having whitespaces after the file name, use:
    Code:
    ARG PDS .
    PDSNAME = PDS
    or
    Code:
    ARG PDS
    PDSNAME = Strip(PDS)
    but this is even better:
    Code:
    ARG PDSNAME .


  • About the main loop:
    You check the return code after queueing the data. At the end, you will have one extra line.
    It is always healthier to check the RC immediately after the command.
    The parenthesis in the QUEUE are ok but not necessary.
    And "IF RC > 0 THEN LEAVE" is enough.

  • About LMFREE:
    Documentation says: "If the data set is still open, LMFREE closes it."
    But (my personal preference) I still would do a LMCLOSE before.

  • About the DELSTACK:
    Documentation says: "deletes the most recently created data stack that was created by the NEWSTACK command".
    If you have no NEWSTACK then you don't need DELSTACK.
    Also, ADDRESS TSO is not necessary, as you have changed the environment 3 lines before.

  • Now, about the JCL...
    You are running in batch without skeletons or panels, so you can put whatever works for ISPSLIB and ISPPLIB.
    You don't run programs, so same thing for ISPLLIB.
    Messages are another thing, you don't use them but ISPF still does, so using "SYS3.ISPMLIB" is still mandatory.
    You don't work with ISPF tables, so you don't need ISPTABL.
    As for ISPTLIB, why concatenate the same PDS twice ? Message ISPV010 says ISPF uses tables so I would use "SYS3.ISPTLIB":
    Quote:
    ISPV010 Profile not loaded - Profile table 'aaaaaaaa' not read. Table service RC=bbbbbbbb.

Back to top
View user's profile Send private message
Pedro

Senior Member


Joined: 01 Sep 2006
Posts: 2019
Location: Silicon Valley

PostPosted: Wed Oct 22, 2014 1:54 am    Post subject: Reply to: DSLIST using REXX
Reply with quote

Code:
DO FOREVER                                                     
   "LMMLIST DATAID("DDVAR") OPTION(LIST) MEMBER(MEMNAME),         
    /* blah blah */
   "LMFREE DATAID("DDVAR")"                                       
END


The LMMLIST uses the DATAID. It will work the first time in the loop, but you free it at the end of the loop. I do not think the second LMMLIST will work well. Perhaps move the LMFREE to be outside of the loop. And as Marso suggests, add the LMCLOSE (to also be outside of the loop).
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CLIST & REXX All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Is the 'prompt' data for the DSLIST p... Willy Jensen TSO/ISPF 2 Tue Dec 06, 2016 4:38 am
No new posts What is the command to check MODE of ... rohanthengal CLIST & REXX 6 Fri Nov 18, 2016 1:48 pm
This topic is locked: you cannot edit posts or make replies. Rexx to create GDG by scanning JJ result krish.deepu CLIST & REXX 5 Tue Oct 25, 2016 5:32 pm
No new posts Replace repeated JCL with looping REXX prino CLIST & REXX 3 Thu Oct 13, 2016 5:30 am
This topic is locked: you cannot edit posts or make replies. Need to code a Rexx PGM sundaram.naveen CLIST & REXX 18 Thu Oct 06, 2016 6:45 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us