× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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

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-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.