最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.07.09

6.12.数字の編集API

[ Previous ] [ HOME ] [ Upper ] [ Next ]


これって何に使うの?というかたもいるでしょうが、いろいろ使えます。サブファイルで、一行、70バイトくらいのフィールドに、いくつかの編集された数字の文字列をCATして1行作成してみたり、CLPで数字編集した文字列をSNDMSGしたり、便利です。

※繰り返し使う場合は、QECEDTを呼び出す前にEDITEDうクリアしてください。2004-7-9

     H        1   Y/                                    1
     I            DS
     I I            0                     B   1   40MSKLEN
     I I            0                     B   5   80RCVLEN
     I I            0                     B   9  120INTLEN
     I I            0                     B  13  160PNTLEN
     IERROR       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*             M A I N -  R O U T I N E                
     C******************************************************
     C                     CALL 'QECCVTEC'                 :
     C                     PARM           MASK  256        :
     C                     PARM           MSKLEN           :
     C                     PARM           RCVLEN           :
     C                     PARM ' '       ZEROSP  1        ;
     C                     PARM 'J'       EDITCD  1        ;
     C                     PARM ' '       SYMBOL  1        :
     C                     PARM 15        INTLEN           :
     C                     PARM 0         PNTLEN           :
     C                     PARM           ERROR            :
     C*                                                    ;
     C                     Z-ADD-1500000  WRK    150
     C*                                                    ;
     C                     MOVE *ZERO     EDIT             ;
     C                     MOVE WRK       EDIT             ;
     C                     CALL 'QECEDT'                   :
     C                     PARM           EDITED256        ;
     C                     PARM           RCVLEN           ;
     C                     PARM           EDIT   15        ;
     C                     PARM '*ZONED'  EDTCLS 10        ;
     C                     PARM 15        INTLEN           ;
     C                     PARM           MASK             ;
     C                     PARM           MSKLEN           ;
     C                     PARM           ZEROSP           ;
     C                     PARM           ERROR            :
     C*                                                    ;
     C                     MOVE *ON       *INLR            ;
     C                     RETRN                           ;

   デバッグでEDITの値を見ると、文字で 1,500,000- となっています。 
 

RPGIV
H DEBUG DATEDIT(*YMD/)                                                       
D*                                                                           
D ERROR           DS                                                         
D  BYTPRV                       10I 0 INZ(%SIZE(ERROR))                      
D  BYTAVA                       10I 0 INZ(0)                                 
D  ERRID                         7                                           
D  ERR###                        1                                           
D  INSDTA                      100                                           
D*                                                                           
D MSKLEN          S             10I 0 INZ(0)                                 
D RCVLEN          S             10I 0 INZ(0)                                 
D INTLEN          S             10I 0 INZ(0)                                 
D PNTLEN          S             10I 0 INZ(0)                                 
D*                                                                           
D EDIT            S             15                                           
D EDITED          S            256                                           
D EDTCLS          S             10                                           
D MASK            S            256                                           
D WRK             S             15  0                                        
D EDITCD          S              1                                           
D SYMBOL          S              1                                           
D ZEROSP          S              1                                           
C*************************************************************************** 
*             M A I N -  R O U T I N E                                     
C***************************************************************************
C                   CALL      'QECCVTEC'                                   :
C                   PARM                    MASK                           :
C                   PARM                    MSKLEN                         :
C                   PARM                    RCVLEN                         :
C                   PARM                    ZEROSP                         ;
C                   PARM      'J'           EDITCD                         ;
C                   PARM                    SYMBOL                         :
C                   PARM      15            INTLEN                         :
C                   PARM      0             PNTLEN                         :
C                   PARM                    ERROR                          :
C*                                                                          
C                   EVAL      WRK = -1500000                                
C                   MOVE(P)   WRK           EDIT                           ;
C*                                                                          
C                   CALL      'QECEDT'                                     :
C                   PARM                    EDITED                         ;
C                   PARM                    RCVLEN                         ;
C                   PARM                    EDIT                           ;
C                   PARM      '*ZONED'      EDTCLS                         ;
C                   PARM      15            INTLEN                         ;
C                   PARM                    MASK                           ;
C                   PARM                    MSKLEN                         ;
C                   PARM                    ZEROSP                         ;
C                   PARM                    ERROR                          :
C*                                                                          
C                   MOVE      *ON           *INLR                          ;
C                   RETURN                                                 ;
 
  

[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送