10298

How to use period in PARM parameters (JCL)?

Question:

The situation is the following. I have PARM parameters:

CSQ1 - Queue manager name CARD.PAYMENTS - Request queue name CCD3050.REPLY - Reply queue name CCD3050 - Contestant user ID 400.05 - Payment amount "MY PAYMENT" - Payment description

In my JCL I wrote this so:

//PAYMENT EXEC PGM=PAYMENT,REGION=1024K, // PARM='CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050, // 400.05,"MY PAYMENT"'

I had a trouble. I wrote:

// PARM=('CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050', // '400.05,MY PAYMENT')

And had a trouble too. Then I wrote:

PARM=(CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT) <ul><li>and!!! had this: <strong>2 IEFC624I INCORRECT USE OF PERIOD IN THE PARM FIELD</strong> What does it mean? AND HOW IS CORRECT TO USE PERIODS IN JCL? I haven't found this info anywhere... Help please!</li> </ul>

Answer1:

If you have ., =, , ' ( ) (there may be more, I'm not trying to be exhastive) as part of the <em>value</em> of the PARM, then you need to ensure they don't get interpreted by the converter/interpreter.

You do this by bounding things with single quotes, or parenthesis, or you can have combinations of those, but if your PARM <em>values</em> contain such things you have to protect them (as you would escape something in other OSs, languages).

Here is a link a JCL Language Reference. You can follow the links inside the page to completely explore the manual, or download a PDF of it. <a href="http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/iea2b690/16.8.1?SHELF=&DT=20090526233806&CASE=" rel="nofollow">http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/iea2b690/16.8.1?SHELF=&DT=20090526233806&CASE=</a>

On another question of yours I have already shown you a PARM that can contain all those values.

// PARM=('CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT')

or

// PARM='CSQ1,CARD.PAYMENTS,CCD3050.REPLY,CCD3050,400.05,MY PAYMENT'

Will work, as far as the JCL is concerned.

You can protect the .s in many different ways.

Those PARMs both fit on one line. They will be difficult to maintain. Put them in parenthesis, one element per line:

// PARM=(CSQ1, // 'CARD.PAYMENTS', // 'CCD3050.REPLY', // CCD3050, // '400.05', // 'MY PAYMENT')

Recommend

  • Find top 5 field values in each record. Return value and column heading. MS Access
  • java getRuntime().exec() not working?
  • How can I solve “WER046A SORT CAPACITY EXCEEDED” in SYNCSORT JCL
  • The GitHub.app for Mac crashes every time, if a local repository is loaded
  • No enclosing instance of the type MainActivity is accessible in scope
  • how sabre sd boots directly from uboot without SPL
  • Adding a billing method with google cloud results in “unexpected error”
  • multiple iron-collapse not working, expands only first
  • Fermi architecture possible solution to my comparative study?
  • Botframework - resize bot chat in width [duplicate]
  • Save and retrieve an image file in LibGDX
  • windows batch file combine csv in a folder by column
  • How can I get the maximum number of OpenMP threads that may be created during the whole execution of
  • Two columns in subquery in where clause
  • numpy 64bit support in PTVS and numpy System.Int64 casting
  • Cannot style mat-tab without ::ng-deep and !important
  • ng-repeat not working with table but works with list
  • How to merge two Request in Laravel
  • Pyglet uses too much cpu
  • Encrypting credit card details using AngularJS in Braintree
  • UML diagram generator in Visual Studio 2010
  • Graceful pod termination
  • Cordova Apache wrong module path
  • It is possible use the same sql azure instance from two different cloud service of two different sub
  • Accessing the variables from a PHP Anonymous Function
  • ASPNetCore MVC Routing Let Server Handle Specific Route
  • Replace last two characters in column
  • Correct implementation of List Iterator methods
  • Simple linked list-C
  • Web.config system.webserver errors
  • Retrieving value from sql ExecuteScalar()
  • Large data - storage and query
  • Function pointer “assignment from incompatible pointer type” only when using vararg ellipsis
  • 0x202A in filename: Why?
  • KeystoneJS: Relationships in Admin UI not updating
  • Hits per day in Google Big Query
  • FormattedException instead of throw new Exception(string.Format(…)) in .NET
  • File not found error Google Drive API
  • Checking variable from a different class in C#
  • Conditional In-Line CSS for IE and Others?