Carl,

At your target release (V3R7), the maximum size of a single addressable
"field" (storage allocation) is 16MB. This is an AS/400 limit. The largest
string (character variable) in ILE C is 16MB.

You don't really need to switch to C to have a 4MB "variable".  ILE RPG can
allocate the 4MB using the ALLOC opcode. You would then need to use pointers
to access the data.

If you don't know how or want to use pointers, then C won't be right
solution for you either as it's a fundamental language concept.

Eric's user space recommendation is a good one (also limited to 16MB) as it
keeps access down to to 4 APIs (create, delete, retrieve and change).

That said, another option is to use a array or multi-occurrence data
structure.  To get 4MB you could define an array as 1024 elements of 4096
bytes each.  The array would then be passed to MQ.   The downside is that
you don't have a single large field to work with in RPG which means you need
to do some array element manipulation.  Depending on how your MQ message is
built or parsed (ie fixed or variable size fields or records), the code can
get ugly.

If you're just passing data between MQ and an EDI translator, the array
approach would be the easiest to implement. Otherwise you'll need to look at
how the program processes the data to determine which method:  user space
(using retrieve/change APIs), pointers or array is the right way to go.


Keith


----- Original Message ----- 
From: "Carl Galgano" <cgalgano2@xxxxxxxxxxxxxxxxx>
To: "'Midrange Systems Technical Discussion'" <midrange-l@xxxxxxxxxxxx>
Sent: Saturday, March 20, 2004 7:41 AM
Subject: RE: Record size limitation in RPG - MQ Series


> Eric:
> I don't know anything about user space objects.  With MQ, there are
program
> API that you call and pass parameters.  To place data on an MQ queue, you
> call the program, tell it you are doing a PUT (MQPUT), pass it a bunch of
> parms including the buffer length and the buffer data.  MQ supports
message
> up to 4MB, the limitation is in RPG.
>
> Does anyone out there know C?  Is there a limitation on the size of a
> variable in C?
>
> cjg
>
> Carl J. Galgano
> EDI Consulting Services, Inc.
> 600 Kennesaw Avenue, Suite 400
> Marietta, GA  30060
> (770) 422-2995 - voice
> (419) 730-8212 - fax
> mailto:cgalgano@xxxxxxxxxxxxxxxxx
> http://www.ediconsulting.com
> AS400 EDI, Networking, E-Commerce and Communications Consulting and
> Implementation
> http://www.icecreamovernight.com
> Premium Ice Cream Brands shipped Overnight
>
> Visit our website to subscribe to our FREE AS/400 Timesharing Service
>
> -----Original Message-----
> From: DeLong, Eric [mailto:EDeLong@xxxxxxxxxxxxxxx]
> Sent: Friday, March 19, 2004 5:41 PM
> To: Midrange Systems Technical Discussion
> Subject: RE: Record size limitation in RPG - MQ Series
>
>
> Can you construct the message in a userspace, then pass the address to MQ?
> I'm afraid I've never worked with MQ, so I don't know how it works.....
>
> Eric DeLong
> Sally Beauty Company
> MIS-Project Manager (BSG)
> 940-898-7863 or ext. 1863
>
>
>
> -----Original Message-----
> From: Carl Galgano [mailto:cgalgano2@xxxxxxxxxxxxxxxxx]
> Sent: Friday, March 19, 2004 4:36 PM
> To: Midrange List
> Subject: Record size limitation in RPG - MQ Series
>
>
> I have a V3R7 system running MQ.  I need to be able to send EDI files and
> have no control over the potential size of the file.   My partner wants
the
> entire EDI transaction in a single MQ message.  The total size of an MQ
> message is 4MB, but as far as I can tell, I am limited to 32K in RPG.
Anyone
> have any other ideas or options?  Can this be done in another
> programming language?   COBOL, C?  Moving off of V3R7 is not an option for
> this app.
> cjg
>
> Carl J. Galgano
> EDI Consulting Services, Inc.
> 600 Kennesaw Avenue, Suite 400
> Marietta, GA  30060
> (770) 422-2995 - voice
> (419) 730-8212 - fax
> mailto:cgalgano@xxxxxxxxxxxxxxxxx
> http://www.ediconsulting.com
> AS400 EDI, Networking, E-Commerce and Communications Consulting and
> Implementation
> http://www.icecreamovernight.com
> Premium Ice Cream Brands shipped Overnight
>
> Visit our website to subscribe to our FREE AS/400 Timesharing Service
>
> _______________________________________________
> 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 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.
>


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2022 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].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.