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:
- H debug(*yes) option(*srcstmt:*nodebugio:*showcpy:*expdds)
- H Nomain
-
- // CRTRPGMOD MODULE(KEVIN/UDFRTVMBRD)
- // CRTSRVPGM SRVPGM(KEVIN/UDFRTVMBRD) EXPORT(*ALL)
- // Create or Replace Function KEVIN/UDFRTVMBRD
- // ParFile Char(10),
- // ParLib Char(10),
- // ParMember Char(10))
- // Returns Char(50)
- // Language RPGLE
- // No SQL
- // Not Fenced
- // External Name 'KEVIN/UDFRTVMBRD(RTVMBRDESC)'
- // Parameter Style General
-
- //* The structure returned by the QUSRMBRD API.
- D szMbrd0200 DS INZ
- D nBytesRtn 10I 0
- D nBytesAval 10I 0
- D szFileName 10A
- D szLibName 10A
- D szMbrName 10A
- D szFileAttr 10A
- D szSrcType 10A
- D dtCrtDate 13A
- D dtLstChg 13A
- D szMbrText 50A
- D bIsSource 1A
- D bRmtFile 1A
- D bLogPhy 1A
- D bODPShare 1A
- D szReserve1 2A
- D nRecords 10I 0
- D nBufLen S 10I 0 Inz(%size(szMbrd0200))
- D szFmt s 8a inz('MBRD0200')
- D szQualName s 20a
- D bOvr s 1a inz('0')
-
- dQRtvMbrD PR ExtPgm('QUSRMBRD')
- d szRecvBuffer 32766A Options(*VARSIZE)
- d nLenRecvBuf 10I 0 Const
- d Format 8A Const
- d FileName 20A Const
- d MbrName 10A Const
- d bOvrProc 1A Const
- d
-
-
- /Free
-
-
- DCL-PR RTVMBRDESC CHAR(50);
- Library CHAR(10);
- FileName CHAR(10);
- Member CHAR(10);
- END-PR ;
-
- DCL-PROC RTVMBRDESC EXPORT;
- DCL-PI *N CHAR(50);
- Library CHAR(10);
- FileName CHAR(10);
- Member CHAR(10);
- END-PI ;
-
-
-
- szQualName = Filename + Library;
- szMbrName = Member;
- QRtvMbrD(szMbrD0200:nBufLen:szFmt:szQualname:szMbrName:bOvr);
- *inlr = *on;
- return szMbrText;
-
- END-PROC ;
-
|
|
|