PL1 Coding in Column 1 significance

HLASM for MVS. PL/I for MVS & Enterprise PL/I for z/OS.
Post Reply
premsankie
New Member
Posts: 1
Joined: Sat Mar 22, 2014 12:37 pm

PL1 Coding in Column 1 significance

Post by premsankie »

Hello Experts,

Can you please tell me the usage of Column 1 in PL1 Coding workspace. I came across few answers like it will be used for printer control, giving control to operating system etc. but still not sure about the exact usage. What the values '0' , '1' and '-' represent in column 1 . Please advice. Thank you :)
User avatar
Anuj Dhawan
Founder
Posts: 2802
Joined: Sun Apr 21, 2013 7:40 pm
Location: Mumbai, India
Contact:
India

Re: PL1 Coding in Column 1 significance

Post by Anuj Dhawan »

Hi Prem and welcome here,

I don't have much experience with PL/I, however, in PL/I - the coding workspace comprises columns 2-71 and it's completely free-form. Column 1 is reserved for printer control.

For more details, suggest you look at page 36 here: http://pic.dhe.ibm.com/infocenter/pdthe ... m3pg50.pdf
Thanks,
Anuj

Disclaimer: My comments on this website are my own and do not represent the opinions or suggestions of any other person or business entity, in any way.
User avatar
prino
Registered Member
Posts: 68
Joined: Sun Jun 01, 2014 4:15 am
Location: Vilnius, Lithuania
Contact:

Re: PL1 Coding in Column 1 significance

Post by prino »

Code: Select all

MARGINS

The MARGINS option specifies which part of each compiler input record contains PL/I statements, and the position of the ANS control character that formats the listing, if the SOURCE and/or INSOURCE options apply. The compiler does not process data that is outside these limits, but it does include it in the source listings. The PL/I source is extracted from the source input records so that the first data byte of a record immediately follows the last data byte of the previous record. For variable records, you must ensure that when you need a blank you explicitly insert it between margins of the records.

                    +- 2 -+     +- 72 -+
                    |     |     |      |
     +- MARGINS --(-+- m -+- , -+-  n -+-+-------+-- ) -+
     |                                   |       |      |
     |                                   +- , c -+      |
>> --+- NOMARGINS --------------------------------------+------><

ABBREVIATION: MAR

m The column number of the leftmost character (first data byte) that is processed by the compiler. It must not exceed 100.

n The column number of the rightmost character (last data byte) that is processed by the compiler. It should be greater than m, but must not exceed 200, except under MVS batch where it must not exceed 100. 

Variable-length records are effectively padded with blanks to give them the maximum record length.

c The column number of the ANS printer control character. It must not exceed 200, except under MVS batch where it must not exceed 100, and it should be outside the values specified for m and n. A value of 0 for c indicates that no ANS control character is present. Only the following control characters can be used:

(blank) Skip one line before printing
      0 Skip two lines before printing
      – Skip three lines before printing
      + No skip before printing
      1 Start new page

Any other character is an error and is replaced by a blank.
It's all in the PL/I Programming Guide...
Robert AH Prins
robertahprins @ the.17+Gb.Google thingy
Some z/OS code here
Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Return to “Assembler & PL/I.”