新規投稿 記事一覧 ホーム
●ご利用方法,ご利用に際しての規約はこちらをお読みください。
こちらからの投稿は、先頭に表示されているコメントへの返信になります。
RE:CL呼び出しで複数桁のブランクをパラメータで渡す方法 菅沼 さん [ 9月12日(水) 16時58分 ]

    回答ありがとうございました。
    ブランクが一つの場合はこの方法で切り抜けられますね。
    ブランクが複数の場合や'ABC     'とかの場合面倒になりますね。
    (CPYFをブランクの回数繰り返すとか)
    対話式にCPYFを行う場合このようなことは問題にならないので何か方法は
    ありそうな気はしますが・・・

    RE:CL呼び出しで複数桁のブランクをパラメータで渡す方法 IKD さん [ 9月12日(水) 18時45分 ]

      根本的な解決をしようとすると、少し面度にはなりますが
      下記のように

      3つの文字列 : CPYF FROMFILE .... '  + &STRG + ') FMTOPT ...' を
      このようにして結合したものを API: QCMDEXC で実行させることです。
      この方法であれば &STRG にどのような値が入っていても正しく希望通りに
      動作します。


      0001.00              PGM        PARM(&STRG)                                  
      0002.00              DCL        VAR(&STRG) TYPE(*CHAR) LEN(22)               
      0003.00              DCL        VAR(&CMD) TYPE(*CHAR) LEN(512)               
      0004.00              DCL        VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(512) 
      0005.00                                                                      
      0006.00              CHGVAR     VAR(&CMD) VALUE('CPYF +                      
      0007.00                           FROMFILE(FILEA) +                          
      0008.00                           TOFILE(FILEB) MBROPT(*ADD) +               
      0009.00                           CRTFILE(*YES) INCCHAR(*RCD 10 *EQ ''' +    
      0010.00                           *CAT &STRG *CAT ''') FMTOPT(*NOCHK)')      
      0011.00              CALL       PGM(QCMDEXC) PARM(&CMD &CMDLEN)              
      0012.00              ENDPGM        

お名前
パスワード
e-mailアドレス
タイトル
ホームページ
アドレス