|
The only problem I see here is that a char has a limit of 65,535 so I'm a
little lost on how you can pass 2 gb of data in an xml doc....
You can format the entire pile of data as xml and pass it as an input
parameter field that is described as a CHAR that is as big as you need,
or
as a BLOB or CLOB as needed (you will need to use SQL to define these
data-types)).
Define the xml's structure with repeating structures to represent the
multiple rows.
<xml>
<row>
<field1 />
<field2 />
<field3>some data</field3>
</row>
<row>
<field1 />
<field2 />
<field3>some more data</field3>
</row>
</xml>
Then describe in your RPG program a DS that describes each row as an
occurrence for as many as is reasonable (if this varies or can be
greater
than the DS can handle, you can use %handler to parse portions of the
XML
at a time).
DPlist PR Extpgm('program')
D Parm_XML 31000
*
DPlist PI
D Parm_XML 31000
D XML_in ds Qualified
D row likeDS(rowDS) dim(2500)
.
.
.
D rowDs ds qualified based(only_a_template)
D field1 10
D field2 3 0
D field3 17
.
.
Then use the XML-INTO verb to parse the data from the XML input
parameter
into the DS you defined.
XML-INTO(E) xml_in %xml(Parm_xml:'allowmissing=yes allowextra=yes
case=any');
Then just process the row ds as you normally would any other qualified
ds.
Performance is surprisingly good in our interactive web
environment...your
results may vary, blah, blah, blah...:-)
Good luck!
BTW - this info is all in IBM's RPG manuals too.
Steve Needles
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of RPGLIST
Sent: Thursday, August 22, 2013 9:20 AM
To: rpg400-l@xxxxxxxxxxxx
Subject: using a DS with a stored procedure
I'm looking at using a stored procedure (which references an existing
RPGLE program) for connecting to an external process. I would need to be
able to send multiple rows.
We have a windows app that would call a stored procedure and pass it
approximately 59 fields of data, but it can contain up to 99 rows of
data.
Is this even possible? I was thinking of just defining the full length
of
the data structure and using that as a clob field or something along
that
lines but it doesn't sound very efficient.
Websphere and a web service is not an option, the owner flat out shot
down
spending the money for that. So I'm back to square one.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list To post a message email:
RPG400-L@xxxxxxxxxxxx<mailto:RPG400-L@xxxxxxxxxxxx> To subscribe,
unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email:
RPG400-L-request@xxxxxxxxxxxx<mailto:RPG400-L-request@xxxxxxxxxxxx>
Before posting, please take a moment to review the archives at
http://archive.midrange.com/rpg400-l.
________________________________
This communication, including attachments, is confidential, may be
subject
to legal privileges, and is intended for the sole use of the addressee.
Any use, duplication, disclosure or dissemination of this communication,
other than by the addressee, is prohibited. If you have received this
communication in error, please notify the sender immediately and delete
or
destroy this communication and all copies.
TRVDiscDefault::1201
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.