Reply generation of a SQL chained stored procedure

Generating a reply message for chained stored procedures is similar to a single stored procedure. The difference is each stored procedure returns its own results, so there are multiple sets of results returned from chained stored procedures.

The returned results set objects are saved into message content; other results are saved into DRIVERCTL as a keyed list where the key is the name of the stored procedure.

For example:

msgDriverControl: {sp_dbp_insert {{_CLUPDATECOUNT_ 1} {_CLRSCOUNT_ 0}}}
       : {sp_dbp_select {{_CLUPDATECOUNT_ -1} {_CLRSCOUNT_ 1}}}
message: {sp_dbp_ select {
     : {{RSMETACOLUMNNAME {
     : {ID} {strFLD} {intFLD} {dateFLD} {flag} 
     : }} 
     : {RSDATA {
     : { {keyNull} {test11} {} {} {100} } 
     : { {key01} {test1} {1} {2012-10-01 00:00:00.0} {1} } 
     : { {key02} {test2} {2} {2012-10-02 00:00:00.0} {1} } 
     : { {key03} {test3} {3} {2012-10-03 00:00:00.0} {1} } 
     : { {key04} {test4} {4} {2012-10-04 00:00:00.0} {1} } 
     : { {key05} {test5} {5} {2012-10-05 00:00:00.0} {1} } 
     : }}} 
     : }}

{sp_dbp_insert {{_CLUPDATECOUNT_ 1} {_CLRSCOUNT_ 0}}} indicates one row is updated in the outbound stored procedure sp_dbp_insert. No result set is returned from stored procedure sp_dbp_insert.

{sp_dbp_select {{_CLUPDATECOUNT_ -1} {_CLRSCOUNT_ 1}}} indicates no updated count is returned from the outbound stored procedure sp_dbp_select. One result set is returned from stored procedure sp_dbp_select. The result set content is saved in the reply message’s content.