No space..??



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

No space..??

Postby lgokul17 » Thu Jul 26, 2012 3:37 pm

after creating 7 PS files it shows that there is no space in the directory..why it shows like that and how many PS can be created and saved in a Single PDS?
lgokul17
 
Posts: 2
Joined: Wed Jul 25, 2012 8:12 pm
Has thanked: 0 time
Been thanked: 0 time

Re: No space..??

Postby Akatsukami » Thu Jul 26, 2012 4:06 pm

lgokul17 wrote:after creating 7 PS files it shows that there is no space in the directory..why it shows like that

Very possibly because there is no space in the directory. How many blocks is it?
how many PS can be created and saved in a Single PDS?

How long is a piece of string? The number of members that can be placed in a PDS is a function of
  1. The size of the PDS
  2. The size of the members
  3. The number of directory blocks
  4. The format of directory entries
As you miscall the members "PS files" it's not unreasonable to guess that this is not a load library, but beyond that nothing meaningful can be said.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: No space..??

Postby lgokul17 » Thu Jul 26, 2012 4:24 pm

ok bro thanks since am new to mainframe am trying to learn more..please suggest me to learn in easier way!!
lgokul17
 
Posts: 2
Joined: Wed Jul 25, 2012 8:12 pm
Has thanked: 0 time
Been thanked: 0 time

Re: No space..??

Postby Akatsukami » Thu Jul 26, 2012 4:50 pm

lgokul17 wrote:ok bro

You may address me as "Akatsukami-sama" :ugeek:
thanks since am new to mainframe am trying to learn more..please suggest me to learn in easier way!!

Well, you are undertaking a task that can be compared only to Thor's attempting to drink the ocean in a single draft. I suggest though, that you bookmark the following:
Note on this and our sister site we will answer questions (although the answers may be "RTFM!" and "STFW!" where appropriate) and offer suggestions and even code fragments, we will generally not write your program for you (unless paid our usual billing rates). An exception to this are the *Sort fora, where the developers of the products themselves, and several other senior and skilled people, will often provide you with complete control decks. Even if you take advantage of this, however, I recommend that you study them and try to understand them; if you just blindly use them to fulfill your requirement-of-the-moment, you may find that when things go pear-shaped, you are left with a "solution" that you do not understand and cannot modify, and for which the original developer is no longer available.
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: No space..??

Postby steve-myers » Thu Jul 26, 2012 6:42 pm

  1. Since you claim to be creating a PDS you are creating members in the PDS. A member of a PDS is similar to a "PS file," but it is not identical.
  2. A PDS has a directory with the number of directory blocks you specified when the PDS was created. Each member of a PDS has a directory entry that varies in size from 12 bytes to 74 bytes. A directory block has 254 bytes that can be used for member entries; the last directory block requires 12 bytes for an end of directory "member."
  3. Members created by ISPF often have "ISPF statistics" in the member entry in the directory. These member entries use 42 bytes: 12 bytes for the member name and PDS control information and 30 bytes for "ISPF statistics." You can get 5 of these members + the 12 byte end of directory "member" in one directory block. ISPF will complain the directory is full when you attempt to add the sixth member.
  4. There is no standard way to add more directory blocks to a PDS dataset. You usually create a new PDS dataset with more directory blocks and copy the original PDS to the new PDS when you need a larger directory. You can use the IEBCOPY program to copy a PDS in batch. ISPF also provides an ISPF utility that can copy a PDS; this utility uses IEBCOPY under the covers.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: No space..??

Postby dick scherrer » Thu Jul 26, 2012 8:16 pm

Hello and welcome to the forum,

As you are new to the forum as well as the mainframe, suggest you pick up "bits at a time" rather than absorb everything right away.

If you post the info requested earlier, we should be able to help.

Note that a pds may be "full" when it really is not. It may need to be compressed. From the little posted so far, i suggest you copy the existing pds to a new pds of a larger size, with more directory blocks and then post the info from that new dataset as well as the original.
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: No space..??

Postby steve-myers » Fri Jul 27, 2012 7:10 am

Akatsukami listed 4 things that affect PDS capacity -
  1. The size of the PDS, in other words the total space allocated to the PDS.
  2. The size of the members. A PDS used as a PROCLIB generally has relatively small individual members, so you can get a lot of members in a relatively small amount of space. The members in a PDS used to store source programs, on the other hand, tend to be much larger, so you will get fewer, though much larger members, in the same amount of space as the PROCLIB dataset.
  3. The number of directory blocks. This has already been discussed.
  4. The format of the directory entries. This, too, has already been discussed.
Mr. Scherrer mentioned that a PDS may be "full" when it really is not. This is more complicated. When you delete or replace a member, the space occupied by the member is not automatically reused for other members. After a while the PDS may have a large amount of unused space. This space can be recovered in two ways.
  • You can copy the entire PDS to another PDS. The unused space is not copied.
  • You can "compress" the PDS using, generally, IEBCOPY in a batch job, The DSLIST function in ISPF also has this capability, though it uses IEBCOPY under the covers, as it were. "Compressing" a large PDS may require quite a lot of time. The compress utility must read through the entire dataset to find unused space, and then physically copy members to reuse the space. While this is being done the dataset cannot be used by other users. Another problem is if anything interrupts the compress the PDS will not be usable. Fortunately, this is a rare problem any more.
This discussion does not apply to the PDS directory. The space occupied by a member entry is reused when the member is deleted.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: No space..??

Postby Quasar » Sat Aug 25, 2012 4:36 pm

Hi Gokul -

A Partitioned Dataset is a special form of a Sequential Data-set. Every PDS has a directory(just like Yellow-Pages), to keep track of how its allocated disk space, or data space, has been divided into parts. Each part(slice) is called a member.

Say for example, you have a PDS with 5 Members, on the disk -

Assuming 8 Blocks/Track,

TRK,BLK 1     2    3    4    5    6    7    8         
...... .... .... .... .... .... .... .... ....
  0      A    A    A    A    B    B    B    B
  1      B    B    C    C    C    D    D    D
  2      D    D    D    E    E    E    E    E
  3      E    E    E    E    E    E    E    E


The PDS directory will contain a list of all the PDS Member-names, and a disk-pointer. The minimum directory block room, you need for each member is 12 Bytes. It has the 8-Byte member-name and a 4-byte binary value called the TTRC(Relative Track Number). The TTRC indicates the relative Track Number and the block where the member starts.

The PDS Directory containing the member-names and pointers

 8-byte 4-Byte
 Member  TTRC
<----+----+->
A        0,1     
B        0,5
C        1,3
D        1,6
E        2,4


zOS also allows applications like TSO to store "user-data" in PDS Directory entries for each member via Assembler Macros. If you retain the ISPF statistics about each member, as TSO/ISPF normally does, each member takes 42 bytes of directory block space. The last 12 bytes of a directory is specially meant for End-Of-Directory Member.

When you allocate a partitioned data set, you reserve/set-aside space for it on the disk. You generally do this with the TSO/ISPF Function 3.2. At that time, you decide how big its directory will be. 1 Directory block is 256 bytes large. This implies, if you reserve 1 block for the PDS Directory(256 Bytes), with each member occupying 42 bytes of directory block space, the directory would be able to store information about (256 - Last 12 bytes)/42 = 5 Members.

Therefore, a rule of thumb in creating a PDS is to estimate how many members you will want to house in the PDS, and divide it by five to calculate the number of directory blocks.

Its quite possible for a partitioned-data set to have member storage space available, but no ability to house more members, as its directory is filled up. You'll get a system completion code SB14-0C.

Image

Thanks,
Quasar
Quasar Chunawala,
Software Engineer, Lives at Borivali, Mumbai
User avatar
Quasar
 
Posts: 102
Joined: Wed Nov 10, 2010 7:11 pm
Location: Borivali, Mumbai
Has thanked: 13 times
Been thanked: 2 times

Re: No space..??

Postby Quasar » Sat Aug 25, 2012 4:56 pm

You can use the IEHLIST Utiltity, to actually explore, how a PDS Directory looks like. Run the following Job-Stream :

Image

The contents of SYSADM.MY.PDS Directory
1                              SYSTEMS SUPPORT UTILITIES---IEHLIST         
-DATE: 2012.238  TIME: 10.20.58                                           
  DIRECTORY INFO FOR SPECIFIED PDS ON VOL OS39M1                           
 SYSADM.MY.PDS                                                             

 MEMBERS     TTRC     VARIABLE USER DATA ---(USER DATA AND TTRC ARE IN HEX)     
MEMBER01  0000030F  0100005201 12238F0112 238F100700 0100010000 C9C2D4E4E2 C5D94
MEMBER02  0000050F  0100001201 12238F0112 238F100800 0100010000 C9C2D4E4E2 C5D94
MEMBER03  0000070F  0100002601 12238F0112 238F100800 0100010000 C9C2D4E4E2 C5D94
MEMBER04  0000090F  0100004601 12238F0112 238F100800 0100010000 C9C2D4E4E2 C5D94
MEMBER05  00000B0F  0100000201 12238F0112 238F100900 0100010000 C9C2D4E4E2 C5D94


Thanks,
Quasar
Quasar Chunawala,
Software Engineer, Lives at Borivali, Mumbai
User avatar
Quasar
 
Posts: 102
Joined: Wed Nov 10, 2010 7:11 pm
Location: Borivali, Mumbai
Has thanked: 13 times
Been thanked: 2 times


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post