midrange.com code scratchpad
Name:
Example of RPG Stored Procedure With DS DIM()
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
04/17/2012 08:51:51 pm
IP:
Logged
Description:
For Michael Ryan's question posted here:
http://archive.midrange.com/rpg400-l/201204/msg00185.html
Code:
  1.      H OPTION(*SRCSTMT)
  2.       *
  3.       * To compile:
  4.       *  CRTSQLRPGI OBJ(TESTPGM) DBGVIEW(*SOURCE)
  5.       *
  6.       * To install into database:
  7.       *  CREATE PROCEDURE TESTPROC()
  8.       *      LANGUAGE RPGLE
  9.       *      NOT DETERMINISTIC
  10.       *      CONTAINS SQL
  11.       *      EXTERNAL NAME TESTPGM
  12.       *      PROGRAM TYPE MAIN
  13.       *      PARAMETER STYLE GENERAL
  14.       *
  15.       * To run (as an SQL statement):
  16.       *    CALL TESTPROC
  17.  
  18.      D myReturnData...
  19.      D                 DS                  qualified
  20.      D                                     Dim(100)
  21.      D     WOTran                    16  0
  22.      D     WOINVTH                    2  0
  23.      D     WOMA                       1
  24.  
  25.      D x               s             10i 0
  26.      D myCount         s             10i 0
  27.  
  28.       /free
  29.         // just for a test, put something in
  30.         // the returned data.
  31.  
  32.         for x = 1 to %elem(myReturnData);
  33.            myReturnData(x).WOTran = x * 10;
  34.            myReturnData(x).WOINVTH = x - 5;
  35.            myReturnData(x).WOMA = 'X';
  36.         endfor;
  37.  
  38.         myCount = %elem(myReturnData);
  39.  
  40.         exec SQL set result sets array :myReturnData
  41.                  for :myCount rows;
  42.         *inlr = *on;
  43.       /end-free
  44.  
© 2004-2019 by midrange.com generated in 0.005s valid xhtml & css