In COBOL, there is an implicit REDEFINES between all records format...
(what the OP says there is only 1 buffer)
that's why I always recommend to
use a separate indicator area (INDARA in DDS)
define a dummy-record in FILE-SECTION FD
define all the records (COPY-DDS) in WORKING-STORAGE
use statements like
WRITE DUMMY-RECORD
FROM DDS-RECORD
FORMAT IS "DDSRCNAM"
INDICATORS ARE INDIC-AREA
END-WRITE

then the behaviour is like RPG and it is easy to use multiples record
formats using all the DDS-AFPDS features (BARCODE, PAGSEG, LINE, ... )

Paul




From: Charles Wilt <charles.wilt@xxxxxxxxx>
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Date: 19/11/2015 00:33
Subject: Re: AFP printing bar codes, page segments, and constants
Sent by: "MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx>



I wouldn't expect the buffers to be handled that differently...

AFAIK, the buffer is only an interface between the program and the OS
spooler subsystem.

But I've not used COBOL on the i, just RPG. I've used COBOL before, just
not on the i.

What does your DDS and your actual COBOL look like?

(you might want to cross post to the COLBOL group)

Charles



On Wed, Nov 18, 2015 at 3:54 PM, Stone, Joel <Joel.Stone@xxxxxxxxxx>
wrote:

Thanks Charles.

Maybe COBOL handles the print buffer differently than RPG.

In COBOL, there is only one print buffer (for a given printer file).

If I load one print line containing the cust # into the buffer, and then
I
load a bar code VALUE into the buffer with a DIFFERENT record name, they
are sharing the same space.

So the bar code value writes over the top of the cust#.

When I go to print the two records onto one page, I get the bar code
value
printed twice (and the cust# is gone).

Does this make sense??

Thanks




-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Charles Wilt
Sent: Wednesday, November 18, 2015 1:48 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: AFP printing bar codes, page segments, and constants

Joel,

I'm not understanding...

The print file buffer is just used to transfer data, one record at a
time
to the spooler subsystem which builds the spool file.

There should be no issue with writing a record with the PAGSEG on one
page
and using the same record to write a different PAGSEG on the another
page.

Charles

On Wed, Nov 18, 2015 at 2:40 PM, Stone, Joel <Joel.Stone@xxxxxxxxxx>
wrote:

Thanks Mike.

The pagsegs are variable - the pgm prints a signature but there are
hundreds of signers based on the contract so that is a variable.

Overlays are kind of "junk" I think. I have used them but they don't
seem
to be of much use from what I can tell. They are totally static, and
nothing we do seems to be static.

Yes I use variables for pagseg position and that works well.

It's the printer file buffer that is the issue - I wanted to build the
print file and then print it, but if I have to use multiple records
then
I
cant use the print buffer to build multiple pieces of variable data as
they
overlay each other :(

Each record of the print file shares the same memory location of
course.



-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
Michael Ryan
Sent: Wednesday, November 18, 2015 1:24 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: AFP printing bar codes, page segments, and constants

AFAIK it's mandatory:

From



http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzakd/rzakdmstptpagse.htm

You use this record-level keyword to print a page segment.

You can specify a variable for the page segment name, and variables
for
position...would that help?

Would an overlay be what you want to use? I think a page segment is
more
of
a fixed thing like a signature or something.

On Wed, Nov 18, 2015 at 2:13 PM, Stone, Joel <Joel.Stone@xxxxxxxxxx>
wrote:

But I don't want to give PAGSEG their own record!

Is that mandatory?

I want to build the page in the print file buffer. If I have
multiple
records with variable data, then I cant do that because they all
share
the
print file buffer and data from recA will overlay data from recB.

Yes I could load the print buffer and then immediately print it, but
in
this particular application I may print pages in different
sequences.

Any ideas?

I was hoping to be able to mix constants, variables, and pagseg in
one
record. Not possible???

Thanks



-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf
Of
Michael Ryan
Sent: Wednesday, November 18, 2015 12:49 PM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: AFP printing bar codes, page segments, and constants

Page segments have to specified at a record format level.

A R STRSEGR PAGSEG(&STRSEG 10.0 1.0)

I mix OVERLAY and PAGSEG in the same printer file all the time. Just
give
them their own record.

On Wed, Nov 18, 2015 at 1:42 PM, Stone, Joel <Joel.Stone@xxxxxxxxxx>
wrote:

Can I mix these on one external printer file record definition?

I am seeing all sorts of compiler errors when creating the printer
file.

Is there a certain sequence that keywords must appear?

And some keywords don't play well with others?



For example:

158 A P1_PHONE 15A O +28
11/18/15
159 A P1_NAME 30A O +0
11/18/15
160 A 8
11/18/15
161 A 'Date:
____________________________- 11/18/15
162 A __'
11/18/15
163 A SPACEB(002)
11/18/15
164 A 46
11/18/15
165 A 'Date:
____________________________- 11/18/15
166 A __'
11/18/15
167 A 20
11/18/15
168 A 'Copyright '
11/18/15
169 A SPACEB(004)
11/18/15








*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+....0....
301 A PAGSEG(CMP160A2
.17
0) 11/18/15
* CPD7486-*
400 A** PAGSEG(&PF_SIGN
8.4
4.4) 11/18/15
500 A** PF_SIGN 8 P
11/18/15
600
11/18/15
* * * * * E N D O F S O U R C E *
* *
* *

* CPD7486 20 1 Message . . . . : Keyword
specified
at
incorrect level.


Thanks!




______________________________________________________________________
This outbound email has been scanned for all viruses by the
MessageLabs
Skyscan service.
For more information please visit http://www.symanteccloud.com

______________________________________________________________________
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



________________________________________________________________________
This inbound email has been scanned for all viruses by the
MessageLabs
SkyScan
service.

________________________________________________________________________


______________________________________________________________________
This outbound email has been scanned for all viruses by the
MessageLabs
Skyscan service.
For more information please visit http://www.symanteccloud.com

______________________________________________________________________
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



________________________________________________________________________
This inbound email has been scanned for all viruses by the MessageLabs
SkyScan
service.

________________________________________________________________________

______________________________________________________________________
This outbound email has been scanned for all viruses by the
MessageLabs
Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


________________________________________________________________________
This inbound email has been scanned for all viruses by the MessageLabs
SkyScan
service.
________________________________________________________________________

______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs
Skyscan service.
For more information please visit http://www.symanteccloud.com
______________________________________________________________________
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2019 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].