- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: DCL With more than 8 Parameters
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2009 06:03 AM
тАО06-10-2009 06:03 AM
DCL With more than 8 Parameters
I have a third party product that automatically generates a DCL command file and tries to execute it. The problem is that it tries to pass 10 parameters to the DCL command procedure so it never executes and fails with DCL-W-DEFOVF. Since it is a third party product (Oracle 10gR2 actually), I can not change the way it generates or tries to execute the command procedure.
Does anyone know of a way to make DCL just ignore parameters after 8 and execute the procedure anyway? Or is there some way to redefine the @ symbol so that it does something other than execute a DCL command procedure? Or any other ideas?
Thanks,
Rob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2009 06:14 AM
тАО06-10-2009 06:14 AM
Re: DCL With more than 8 Parameters
You get eight.
There's no solution here that doesn't involve either packaging the parameters passed into DCL into a comma-separated quoted list or such (and using the available eight parameters more densely), or writing the data into a file and passing that to the procedure, or replacing the DCL procedure invocation call in the application with an image invocation.
If you have some control over the parameters and want to truncate the list, pass in a ! character.
As for resolving this through Oracle or OpenVMS enhancements or modifications, you're left to contact the vendors. That's going to take a while, though I might toss this at Oracle and ask them how to work around the limit.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2009 06:43 AM
тАО06-10-2009 06:43 AM
Re: DCL With more than 8 Parameters
I more or less concur with Hoff.
If it is an unmodified packaged product, it is the vendor's (e.g., Oracle's) problem. Other than the length of the command line, this has not changed since the beginning (of VMS in any form). In essence, since this is the functionality of the system from the beginning (not a change in releases or patches), the code in question COULD NEVER HAVE WORKED OR BEEN TESTED successfully.
If one has access to sources of the components involved, it may be possible to work out a circumvention, but as noted, the responsibility clearly lies with the vendor.
- Bob Gezelter, http://www.rlgsc.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2009 07:41 AM
тАО06-10-2009 07:41 AM
Re: DCL With more than 8 Parameters
I pretty much thought that too. Oracle has confirmed it to be a bug in their current release for OpenVMS and they are working to resolve it. I was just hoping there might be some alternative...
Rob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 03:29 AM
тАО06-11-2009 03:29 AM
Re: DCL With more than 8 Parameters
My gast is well and truly flabbered (and that is not something that happens everyday!)
Craig
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 04:00 AM
тАО06-11-2009 04:00 AM
Re: DCL With more than 8 Parameters
This is based upon DCL adding the missing closing ".
fwiw
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 04:15 AM
тАО06-11-2009 04:15 AM
Re: DCL With more than 8 Parameters
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 06:57 AM
тАО06-11-2009 06:57 AM
Re: DCL With more than 8 Parameters
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 07:36 AM
тАО06-11-2009 07:36 AM
Re: DCL With more than 8 Parameters
I placed a DCL command file called LOG_TEST1.COM in the [racg.usrco] directory and here is the script generated by oracle to execute it:
$! Script automatically generated
$ SET NOON
$ DELETE := DELETE
$ DEBUG := FALSE
$ ECHO := WRITE SYS$OUTPUT
$ SYSOUT = F$TRNLNM("SYS$OUTPUT")
$ IF F$TRNLNM("ORA_SCLS_LOGGING") .EQS. "TRUE"
$ THEN
$ DEBUG := TRUE
$ DEFINE /NOLOG /PROCESS SYS$OUTPUT LOG_DISK:[ORACLE.SCLS_SCR]naa_274a14.log
$ ECHO "PROCESS NAME: ""''F$GETJPI("","PRCNAM")'"" PROCESS ID: ''F$GETJPI("","PID")'"
$ ECHO "IMAGE_NAME: ""user_disk:[oracle.oracle10gr2.cluster.racg.usrco]log_test1.com;2"""
$ ECHO "PARAM_STRING: ""SERVICE VERSION=1.0 service=GRADE.AMERICAS.MITTALCO.COM database=SPRTD instance= host=spbas1 status=up reason=boot timestamp=03-Jun-2009 01:20:26 """
$ SET VERIFY
$ ELSE
$ DEFINE/NOLOG SYS$OUTPUT NL:
$ ENDIF
$ DEFINE /NOLOG /PROCESS ORA_CRS_HOME "user_disk:[oracle.oracle10gr2.cluster]"
$ DEFINE /NOLOG /PROCESS ORACLE_HOME "user_disk:[oracle.oracle10gr2.database]"
$ IF .NOT. DEBUG
$ THEN
$ SET ON
$ ON ERROR THEN GOTO ERROR_HANDLER
$ DEFINE /NOLOG /PROCESS SYS$ERROR LOG_DISK:[ORACLE.SCLS_SCR]naa_274a14.err
$ ENDIF
$ verify$$ = f$verify(0)
$ @ORA_CRS_HOME:ORAUSER.COM
$ ignore$$ = f$verify(verify$$)
$ sclsimg :== @user_disk:[oracle.oracle10gr2.cluster.racg.usrco]log_test1.com;2
$ IF DEBUG THEN SET NOVERIFY
$ IF "''SYSOUT'" .NES. "" THEN DEFINE/NOLOG SYS$OUTPUT 'SYSOUT'
$ sclsimg SERVICE VERSION=1.0 service=GRADE.AMERICAS.MITTALCO.COM database=SPRTD instance= host=spbas1 status=up reason=boot timestamp=03-Jun-2009 01:20:26
$ STS = '$STATUS'
$ IF .NOT. DEBUG
$ THEN
$ DELETE LOG_DISK:[ORACLE.SCLS_SCR]naa_274a14.;0
$ IF F$SEARCH("LOG_DISK:[ORACLE.SCLS_SCR]naa_274a14.err") .NES. "" THEN DELETE LOG_DISK:[ORACLE.SCLS_SCR]naa_274a14.err;*
$ ENDIF
$ EXIT STS
$!
$ERROR_HANDLER:
$ STS = '$STATUS'
$ SET NOON
$ EXIT STS
You can see that the LOG_TEST1.COM script will be called with 10 parameters. This causes DCL to report "%DCL-W-DEFOVF, too many command procedure parameters - limit to eight" and not execute the procedure.
And flabbered or ghasted or not, they obviously never tested this feature on their VMS product - I guess they spend too much time with UNIX...
Rob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2009 07:57 AM
тАО06-11-2009 07:57 AM
Re: DCL With more than 8 Parameters
I do not have an installation that I can test on, but have you checked that this is actually meant to be used with command files? (As opposed to actual images.)
Parameter processing from C/C++ would, I suspect, work correctly.
Also, as has been noted, putting the entire parameter in quotes would also address the problem (although, to be fair, it would require a code change).
- Bob Gezelter, http://www.rlgsc.com