View previous topic :: View next topic
|
Author |
Message |
zh_lad
Active User
Joined: 06 Jun 2009 Posts: 115 Location: UK
|
|
|
|
I need to edit date on header of all the files which have same format and attributes. I have the list of datasets to edit.
How can I do it in batch or using marco? I am using RUMBA if that helps. Thanks. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
Create an edit macro that will do the change and end the edit session
Move your list to the mainframe (if it is not already there)
Rexx:-
read a data set name from your list
Invoke edit with a macro
Read next name
Repeat until done.
Test first with one or two data sets (backed up first).
Examples exist on the forum. |
|
Back to top |
|
|
zh_lad
Active User
Joined: 06 Jun 2009 Posts: 115 Location: UK
|
|
|
|
Thanks for your reply. I have not done any Rexx in past but I am quite keen to learn. Can you please point me to the thread where a similar macro is discussed. Thanks. |
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2454 Location: Hampshire, UK
|
|
|
|
The macro is simple - here is an example:
Code: |
/*--------------------------------------------------------------------*/
/* Edit Macro: forum.SPF */
/* Function: Apply a CHANGE command and then EXIT the data set/member */
/* being edited */
/*--------------------------------------------------------------------*/
"ISREDIT macro"
"ISREDIT change 'abc' 'xyz' all"
"ISREDIT end"
Exit |
The rexx is also simple:
Code: |
/*- Rexx ------------------------------------------------------------*/
/* */
/* Sample program to read a list of data sets from a data set and */
/* then edit each dataset using a macro. */
/* */
/* This is written assuming that the program is to be run in batch */
/* with the input data set allocated in the JCL to ddname THELIST. */
/* */
/* Being run in batch the appropriate ISPF libraries must be */
/* allocated in the JCL. */
/* */
/* No error checking has been incorporated into this sample code. */
/* */
/* Written by: Rexxcellent Software Date: April 2017 */
/* */
/*------------------------------------------------------------ Rexx -*/
Trace N
/* Read the list of data sets into stem dsn_list. */
EXECIO * DISKR thelist(stem dsn_list. finis)
/* dsn_list.0 has the count of lines read */
/* Now process the list one-by-one */
Do i = 1 to dsn_list.0
Address ISPEXEC "edit "dsn_list.i" IMACRO(macroname)"
/*----------
You may need to quote the data set name in the above line...
Addre... "edit '"dsn_list.1"' IMAC...
----------*/
End
Exit
|
Note: these are examples only but the macro has been tested. The more difficult part may be the JCL! There is a recent example of the requirement in the Beginner's Forum. |
|
Back to top |
|
|
|