I******************************************************
I* D E F I N E D A T A - S T R U C T U R E *
I******************************************************
I DS
I I 0 B 1 40PIMKLN
I I 0 B 5 80PBRVLN
I I 0 B 9 120POITLN
I I 0 B 13 160POPTLN
I I 0 B 17 200POMKLN
IPBERR DS
I I 116 B 1 40BYTPRV
I I 0 B 5 80BYTAVA
I 9 15 ERRID
I 16 16 ERR###
I 17 116 INSDTA
C******************************************************
C* DEFINITION MODULE ( PLIST FIELD KLIST ) *
C******************************************************
C* :
C* DEFINE ENTRY :
C* :
C *ENTRY PLIST :
C PARM PIEDCD 1 :編集コード
C PARM PIFIGR 30 :数字
C PARM PIINTL 2 :整数+小数長さ
C PARM PIDECL 2 :小数部長さ
C PARM POEDTD256 :編集済み数字
C******************************************************
C* M A I N - R O U T I N E
C******************************************************
C* :
C MOVE PIINTL POITLN :
C MOVE PIDECL POPTLN :
C MOVE PIEDCD POEDCD :
C*編集マスクの受取 :
C CALL 'QECCVTEC' 31 :
C PARM *BLANK PIMASK256 :編集マスク
C PARM PIMKLN :編集マスク長さ
C PARM PBRVLN :レシーバ長さ
C PARM PIZRSP 1 :ゼロ平衡充填
C PARM POEDCD 1 :編集コード
C PARM *BLANK POSYBL 1 :浮動通貨表示
C PARM POITLN :整数+小数長さ
C PARM POPTLN :小数以下桁数
C PARM PBERR :エラーコード
C* :
B001 C BYTAVA IFEQ 0 ;
001 C* :
001 C*数字の編集 :
001 C* :
001 C MOVE PIMASK POMASK256 :
001 C MOVE PIMKLN POMKLN :
001 C MOVE PIZRSP POZRSP 1 :
001 C* :
001 C MOVE *BLANK PIEDTD256 :
001 C MOVEL'*ZONED ' PONTYP 10 P :
001 C** SELECT *** MOVEL'*BINARY' PONTYP 10 P :
001 C** SELECT *** MOVEL'*PACKED' PONTYP 10 P :
001 C* :
001 C CALL 'QECEDT' 90 :
001 C POEDTD PARM PIEDTD256 :受取変数
001 C PARM PBRVLN :受取変数長
001 C PARM PIFIGR POFIGR 30 :ソース変数
001 C PARM PONTYP :変数クラス
001 C PARM POITLN :整数+小数長さ
001 C PARM POMASK :編集マスク
001 C PARM POMKLN :編集マスク長
001 C PARM POZRSP :ゼロ平衡充填
001 C PARM PBERR :エラー
001 C* :
E001 C END :
C* :
B001 C BYTAVA IFNE 0 ;
001 C MOVE *ALL'?' POEDTD :編集済み数字
E001 C END :
C* :
C MOVE *ON *INLR :
C RETRN : |