Gil,

So that's what "rm -rf *" really means!!  :-)

I agree that it feels the same, but fortunately it doesn't work quite
the same.  Here are a couple samples I tried on a 1.10 sandbox.  There
is 1 dataset that matches the filter.  Fortunately (although sometimes I
wish it would work...) IDCAMS isn't quite so free as to just do what you
tell it without questioning - unlike the afore-mentioned "read manual"
command...

Dataset that I really don't care about....

T05.AGC.ZAG088C.AGCYLST.SORT   


Test 1:

DEL T05.AGC*                                               
IDC3203I ITEM 'T05.AGC*' DOES NOT ADHERE TO RESTRICTIONS    

Test 2:

DEL T05.AGC.*                       
IDC3012I ENTRY T05.AGC. NOT FOUND    

Test 3:

DEL T05.AGC.**                                                   
IDC3203I ITEM 'T05.AGC.**' DOES NOT ADHERE TO RESTRICTIONS        

Test 4:

DEL T05.AGC.*.*.*                                             
IDC3203I ITEM 'T05.AGC.*.*.*' DOES NOT ADHERE TO RESTRICTIONS  

Test 5:

DEL T05.AGC.ZAG088C.AGCYLST.*                          
IDC0550I ENTRY (A) T05.AGC.ZAG088C.AGCYLST.SORT DELETED


Running an "rm -rf" against the IDCAMS manual brings up the following
description of using wildcards:

entryname is the name of the entry to be deleted. A generic name can be
coded to delete multiple entries with one entryname. (For example,
GENERIC.*.BAKER is a generic name where * is any 1-to-8 character simple
name.) Here is an example of how generic level DELETE works given the
following data sets: 1) AAA.BBB.CCC.DDD 2) AAA.BBB.CCC.DDD 3)
AAA.BBB.CCC.DDD.EEE 4) AAA.BBB.CCC DELETE AAA.* results in the deletion
of no data sets. DELETE AAA.BBB.* results in the deletion of data set #4
DELETE AAA.BBB.*.DDD results in the selection of data sets #1 and #2
DELETE AAA.BBB.*.DDD.EEE results in the deletion of data set #3. When a
generic level name is specified, only one qualifier can replace the
asterisk (*). If you are deleting a member of a non-VSAM partitioned
data set, the entryname must be specified in the format:
pdsname(membername). If you are deleting a non-VSAM data set that was
defined by coding DEVICETYPES(0000) and VOLUMES(******), then DELETE
only uncatalogs the data set. It does not scratch the data set from the
SYSRES volume. Exception: If data set contains indirect or symbolic
VOLSER, the scratch parameter will be ignored, if specified.

So one cannot delete all members of a PDS via a wildcard IDCAMS run, nor
will it replace multiple qualifiers with a single asterisk, nor part of
a qualifier with an asterisk.

Rex



-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Paul Gilmartin
Sent: Wednesday, January 20, 2010 11:02 AM
To: [email protected]
Subject: Re: REXX to delete all members of a PDS... serverpac CPPEDELM

On Wed, 20 Jan 2010 10:42:11 -0500, Mark Pace wrote:

>I believe you need to remove the parens ().
>
>DELETE MY.PDS*
>
Why does this feel similar to instructing a UNIX novice to use the
"Read Manual - Really Fast!" command, "rm -rf *"?

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to