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

DSNAME not working as expected


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
niks_jude
Warnings : 1

Active User


Joined: 01 Dec 2006
Posts: 144
Location: Mumbai

PostPosted: Fri Nov 26, 2010 8:54 pm
Reply with quote

I have coded a panel which is working fine except for the DSN1-14 which is taking a maxiumum of 42 byte of dataset name and for 43 and 44 it is showing invalid length. I am entering without quotes. DSN1 starts at col 11 and ends at col 54. The code is not
Code:
)ATTR DEFAULT(%+!)
_ TYPE(INPUT) INTENS(HIGH) JUST(RIGHT) PAD('0') COLOR(GREEN)
~ TYPE(INPUT) INTENS(HIGH) JUST(LEFT) PAD(' ') COLOR(GREEN)
% TYPE(TEXT) INTENS(LOW) JUST(LEFT) PAD(' ') COLOR(BLUE)
¬ TYPE(TEXT) INTENS(HIGH) JUST(LEFT) PAD(' ')
+ TYPE(TEXT) INTENS(LOW) SKIP(ON)
$ TYPE(OUTPUT) INTENS(HIGH) JUST(LEFT) PAD(' ')
@ TYPE(OUTPUT) INTENS(HIGH) JUST(LEFT) PAD(' ')
)BODY
¬PANEL: GOXCOM AMEX XCOM MAINTENANCE PANEL DATE: @ZDATE
+
¬ OPTION ==>~Z+ (1=SSR QUALIFIER 2=SYSUID QUALIFIER)
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
¬ ENTER DATASET NAMES (NO QUOTES) AND WHETHER CREATE (DEFAULT) OR REPLA
%DSN  1: ~DSN1                                        % C / R: ~ACT1+
%DSN  2: ~DSN2                                        % C / R: ~ACT2+
%DSN  3: ~DSN3                                        % C / R: ~ACT3+
%DSN  4: ~DSN4                                        % C / R: ~ACT4+
%DSN  5: ~DSN5                                        % C / R: ~ACT5+
%DSN  6: ~DSN6                                        % C / R: ~ACT6+
%DSN  7: ~DSN7                                        % C / R: ~ACT7+
%DSN  8: ~DSN8                                        % C / R: ~ACT8+
%DSN  9: ~DSN9                                        % C / R: ~ACT9+
%DSN 10: ~DSN10                                       % C / R: ~ACT10+
%DSN 11: ~DSN11                                       % C / R: ~ACT11+
%DSN 12: ~DSN12                                       % C / R: ~ACT12+
%DSN 13: ~DSN13                                       % C / R: ~ACT13+
%DSN 14: ~DSN14                                       % C / R: ~ACT14+

¬VERIFY JOB CARDS: +
~BJC1
~BJC2
~BJC3
~BJC4
)INIT
.ZVARS='(OPT)'
&OPT = &Z
)PROC
VER (&OPT,NB,LIST,1,2)
VER (&DSN1,NB,DSNAME)
IF (&ACT1 = ' ')
&ACT1 = 'C'
IF (&DSN2 ¬= ' ')
VER (&DSN2,DSNAME)
IF (&ACT2 = ' ')
&ACT2 = 'C'
IF (&DSN3 ¬= ' ')
VER (&DSN3,DSNAME)
IF (&ACT3 = ' ')
&ACT3 = 'C'
IF (&DSN4 ¬= ' ')
VER (&DSN4,DSNAME)
IF (&ACT4 = ' ')
&ACT4 = 'C'
IF (&DSN5 ¬= ' ')
VER (&DSN5,DSNAME)
IF (&ACT5 = ' ')
&ACT5 = 'C'
IF (&DSN6 ¬= ' ')
VER (&DSN6,DSNAME)
IF (&ACT6 = ' ')
&ACT6 = 'C'
IF (&DSN7 ¬= ' ')
VER (&DSN7,DSNAME)
IF (&ACT7 = ' ')
&ACT7 = 'C'
IF (&DSN8 ¬= ' ')
VER (&DSN8,DSNAME)
IF (&ACT8 = ' ')
&ACT8 = 'C'
IF (&DSN9 ¬= ' ')
VER (&DSN9,DSNAME)
IF (&ACT9 = ' ')
&ACT9 = 'C'
IF (&DSN10 ¬= ' ')
VER (&DSN10,DSNAME)
IF (&ACT10 = ' ')
&ACT10 = 'C'
IF (&DSN11 ¬= ' ')
VER (&DSN11,DSNAME)
IF (&ACT11 = ' ')
&ACT11 = 'C'
IF (&DSN12 ¬= ' ')
VER (&DSN12,DSNAME)
IF (&ACT12 = ' ')
&ACT12 = 'C'
IF (&DSN13 ¬= ' ')
VER (&DSN13,DSNAME)
IF (&ACT13 = ' ')
&ACT13 = 'C'
IF (&DSN14 ¬= ' ')
VER (&DSN13,DSNAME)
IF (&ACT13 = ' ')
&ACT13 = 'C'
VPUT (DSN1,DSN2,DSN3,DSN4,DSN5,DSN6,DSN7,DSN8,DSN9,DSN10,DSN11,
DSN12,DSN13,DSN14) PROFILE
VPUT (ACT1,ACT2,ACT3,ACT4,ACT5,ACT6,ACT7,ACT8,ACT9,ACT10,ACT11,
ACT12,ACT13,ACT14) PROFILE
VPUT (BJC1,BJC2,BJC3,BJC4) PROFILE
VPUT (OPT) PROFILE
)END
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Nov 26, 2010 9:04 pm
Reply with quote

reading the manuals will tell you why it is better to trust software judgement
rather than complaining ... DSNAME not working as expected

might not work as You expect, it certainly works as documented icon_cool.gif

here a link to the ispf docs
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/ISPZPM70
Back to top
View user's profile Send private message
superk

Global Moderator


Joined: 26 Apr 2004
Posts: 4652
Location: Raleigh, NC, USA

PostPosted: Fri Nov 26, 2010 9:06 pm
Reply with quote

This is from the manual:

Quote:

DSNAME
The variable must contain a valid TSO data set name. A data set name qualifier must begin with an alphabetic character (A-Z, $, @, or #). The remaining characters must be either uppercase alphanumeric or a hyphen (-). A period is used to connect each qualifier in the data set name.
ISPF first determines if the TSO/E NOPREFIX PROFILE option is in use. If it is, ISPF does use a prefix in the calculation of the data set length. A maximum of 44 characters can be entered for a data set name, if that data set name is enclosed in quotes. If the TSO/E NOPREFIX PROFILE option is in use, a maximum of 44 characters can be entered for a data set name when it is not enclosed within quotes. If the TSO/E NOPREFIX PROFILE option is not in use, a maximum of 42 characters can be entered for a data set name, not enclosed in quotes. ISPF uses the minimum data set prefix of two characters (one character and a period separator) during its calculation of the data set name length.
Back to top
View user's profile Send private message
niks_jude
Warnings : 1

Active User


Joined: 01 Dec 2006
Posts: 144
Location: Mumbai

PostPosted: Fri Nov 26, 2010 9:18 pm
Reply with quote

Ok I will check the profile and change it to PROFILE NOPREFIX.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Nov 26, 2010 9:29 pm
Reply with quote

no! the approach is just wrong...
reread an try to understand the manual

You should have a at least 46 chars fields to account for 44 dsname plus the two apostrophes for the <absolute> dsname

what the message tells You is that ...
the minimum length of the profile is ONE CHAR which added to the seperating dot
leaves only 42 bytes for the rest of the dataset name,
regardless of the length of the panel field used

but if You have a long enough field ( 46 chars )
and enter the dataset name enclosed within apostrophes ISPF will be happy to accept a 44 bytes dsname

that' s the common approach,

to help You understand it run this test

profile prefix something
enter a 44 char dataset name enclosed in apostrophes
enter the same without

profile noprefix
the result will be the same regardless of the way You enter the dsname

anyway do not expect the user to run with a predefined profile setting
and expect / process as ISPF does
dataset name enclosed in apostrophes ==> absolute dsname
without apostophes ==> relativs dsname ( to the profile setting )
Back to top
View user's profile Send private message
niks_jude
Warnings : 1

Active User


Joined: 01 Dec 2006
Posts: 144
Location: Mumbai

PostPosted: Fri Nov 26, 2010 10:08 pm
Reply with quote

Ok Got it now, thanks. I am off the mainframes now, will try and share if I am not able to get through.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Nov 26, 2010 11:13 pm
Reply with quote

no reason to try anything...
all DSNAMES fields should be 46 chars long, thats all !
but if You expect them to contain also a member name the field should be 56 chars
apostrophes * 2
dsname 44
member 8
open paren 1
close paren 1
total 56

that' s all... nothing to test, only the rules have to be followed!

check also the DSNAMEQ AND DSNAMEPQ options
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts PD not working for unsigned packed JO... DFSORT/ICETOOL 5
No new posts Def PD not working for unsigned packe... JCL & VSAM 3
No new posts ICETOOL with JOINKEY for Big record l... DFSORT/ICETOOL 12
No new posts Search file for records that don't fo... SYNCSORT 8
No new posts Expected data is not coming up on Fir... CICS 2
Search our Forums:

Back to Top