H*--+--------------------------------------------------------+--* H*--+ PROGRAM ID : RTRUNC +--* H*--+ PROGRAM NAME : TRUNCATE CHARACTER DATA +--* H*--+--------------------------------------------------------+--* H*--+ VERSION : 1.0 (1999/10/19) +--* H*--+--------------------------------------------------------+--* * I*--+--------------------------------------------------------+--* I*--+ NUMBER OF PARAMATERS +--* I*--+--------------------------------------------------------+--* I SDS I *PARMS #PARMS * I*--+--------------------------------------------------------+--* I*--+ BINARY DECLARATION FOR QLGTRDTA API +--* I*--+--------------------------------------------------------+--* I DS I B 1 40Q#I#BL I B 5 80Q#I#TL I B 9 120Q#O#BL I B 13 160Q#O#RL I B 17 200Q#I#ID * I*--+--------------------------------------------------------+--* I*--+ DATA STRUCTURE +--* I*--+--------------------------------------------------------+--* I DS I 1 15 Q#IO#E I 9 15 E#CD * C*--+--------------------------------------------------------+--* C*--+ ACCEPT PARAMETERS +--* C*--+--------------------------------------------------------+--* C *ENTRY PLIST C* REQUIRED PARAMETER GROUP C PARM I#BUF 256 IN BUFFER C PARM I#BUFL 40 LEN OF IN C PARM I#TRNL 40 TRUNC LEN C PARM O#BUF 256 OUT BUFFER C* OPTIONAL PARAMETER GROUP C PARM O#BUFL 40 LEN OF OUT C PARM O#REM 256 REMAINING C PARM O#REML 40 LEN OF REM C PARM O#ERR 7 ERROR CODE * C*--+--------------------------------------------------------+--* C*--+ START OF PROGRAM +--* C*--+--------------------------------------------------------+--* C EXSR SRINIT C EXSR SRMAIN C EXSR SREND * C*--+--------------------------------------------------------+--* C*--+ INITIALIZE +--* C*--+--------------------------------------------------------+--* C SRINIT BEGSR C* CHECK OF NUMBER OF PARAMETER C #PARMS IFEQ 0 C EXSR SREND C END C #PARMS IFGE 1 C #PARMS ANDLE3 C MOVEL'CPD0172' I#BUF C EXSR SREND C END C* C* FOR API PARAMETER C CLEARQ#O#B C CLEARQ#O#BL C CLEARQ#O#R C CLEARQ#O#RL C* C* FOR THIS PROGRAM PARAMETER C CLEARO#BUF C* C #PARMS IFGE 5 C CLEARO#BUFL C END C #PARMS IFGE 6 C CLEARO#REM C END C #PARMS IFGE 7 C CLEARO#REML C END C #PARMS IFGE 8 C CLEARO#ERR C END C ENDSR * C*--+--------------------------------------------------------+--* C*--+ M A I N +--* C*--+--------------------------------------------------------+--* C SRMAIN BEGSR C* SET API PARAMETER C MOVE I#BUF Q#I#B C Z-ADDI#BUFL Q#I#BL C Z-ADDI#TRNL Q#I#TL C Z-ADD65535 Q#I#ID C* CALL API C CALL 'QLGTRDTA' C PARM Q#O#B 256 OUT BUF C PARM Q#O#BL LEN OF O#B C PARM Q#O#R 256 REMAINING C PARM Q#O#RL LEN OF O#R C PARM Q#I#B 256 IN BUF C PARM Q#I#BL LEN OF I#B C PARM Q#I#TL TRUNC LEN C PARM Q#I#ID CCSID C PARM Q#IO#E 15 ERROR CODE C* C MOVE Q#O#B O#BUF C* C #PARMS IFGE 5 C Z-ADDQ#O#BL O#BUFL C END C #PARMS IFGE 6 C MOVE Q#O#R O#REM C END C #PARMS IFGE 7 C Z-ADDQ#O#RL O#REML C END C #PARMS IFGE 8 C MOVE E#CD O#ERR C END C* C ENDSR * C*--+--------------------------------------------------------+--* C*--+ END OF PROGRAM +--* C*--+--------------------------------------------------------+--* C SREND BEGSR C SETON LR C RETRN C ENDSR