midrange.com code scratchpad
Name:
UDFRTVMBRD
Scriptlanguage:
Plain Text
Tabwidth:
4
Date:
05/24/2016 05:38:01 pm
IP:
Logged
Description:
RPGLE Module and Service program to be used as a UDF in SQL to return member descriptions.
Code:
  1.      H debug(*yes) option(*srcstmt:*nodebugio:*showcpy:*expdds)
  2.      H Nomain
  3.  
  4.       // CRTRPGMOD MODULE(KEVIN/UDFRTVMBRD)
  5.       // CRTSRVPGM SRVPGM(KEVIN/UDFRTVMBRD) EXPORT(*ALL)
  6.       // Create or Replace Function KEVIN/UDFRTVMBRD
  7.       // ParFile Char(10),
  8.       // ParLib  Char(10),
  9.       // ParMember Char(10))
  10.       // Returns Char(50)
  11.       // Language RPGLE
  12.       // No SQL
  13.       // Not Fenced
  14.       // External Name 'KEVIN/UDFRTVMBRD(RTVMBRDESC)'
  15.       // Parameter Style General
  16.  
  17.       //* The structure returned by the QUSRMBRD API.
  18.      D szMbrd0200      DS                  INZ
  19.      D  nBytesRtn                    10I 0
  20.      D  nBytesAval                   10I 0
  21.      D  szFileName                   10A
  22.      D  szLibName                    10A
  23.      D  szMbrName                    10A
  24.      D  szFileAttr                   10A
  25.      D  szSrcType                    10A
  26.      D  dtCrtDate                    13A
  27.      D  dtLstChg                     13A
  28.      D  szMbrText                    50A
  29.      D  bIsSource                     1A
  30.      D  bRmtFile                      1A
  31.      D  bLogPhy                       1A
  32.      D  bODPShare                     1A
  33.      D  szReserve1                    2A
  34.      D  nRecords                     10I 0
  35.      D nBufLen         S             10I 0 Inz(%size(szMbrd0200))
  36.      D szFmt           s              8a   inz('MBRD0200')
  37.      D szQualName      s             20a
  38.      D bOvr            s              1a   inz('0')
  39.  
  40.      dQRtvMbrD         PR                  ExtPgm('QUSRMBRD')
  41.      d  szRecvBuffer              32766A   Options(*VARSIZE)
  42.      d  nLenRecvBuf                  10I 0 Const
  43.      d  Format                        8A   Const
  44.      d  FileName                     20A   Const
  45.      d  MbrName                      10A   Const
  46.      d  bOvrProc                      1A   Const
  47.      d
  48.  
  49.  
  50.       /Free
  51.  
  52.  
  53.        DCL-PR RTVMBRDESC CHAR(50);
  54.          Library CHAR(10);
  55.          FileName CHAR(10);
  56.          Member CHAR(10);
  57.        END-PR ;
  58.  
  59.        DCL-PROC RTVMBRDESC EXPORT;
  60.          DCL-PI *N CHAR(50);
  61.            Library CHAR(10);
  62.            FileName CHAR(10);
  63.            Member CHAR(10);
  64.          END-PI ;
  65.  
  66.  
  67.  
  68.          szQualName = Filename + Library;
  69.          szMbrName = Member;
  70.          QRtvMbrD(szMbrD0200:nBufLen:szFmt:szQualname:szMbrName:bOvr);
  71.          *inlr = *on;
  72.          return szMbrText;
  73.  
  74.        END-PROC ;
  75.  
© 2004-2019 by midrange.com generated in 0.006s valid xhtml & css