障害と解決の実例集
<<2008年7月の目次>>
●POSDBFコマンドについて
●QCPFMSGFの損傷による累積PTF適用の障害
●NONSYSデータのバックアップを自動で行う方法


POSDBFコマンドについて

CLP内でRCVFコマンドにて一度EOFになったファイルは先頭より再度読み込みできません。これはV5までの仕様でありPOSDBF以外のコマンドを使用しても不可能です。

二度読み等の目的であればCLPを複数作成しパラメータ渡しでコーディングする必要があります。

下記に親CLPと子CLPの例を示します。

尚、V6R1ではCLOSEというコマンドが追加されて二度読みも可能となるという情報が有ります。

<親CLP>
-------------------------------------------------------
  PGM  
  DCL VAR(&CNT) TYPE(*DEC) LEN(6 0)
  DCL VAR(&P1) TYPE(*CHAR) LEN(6)
     
  CHGVAR VAR(&CNT) VALUE(0)
LOOP:    
  CHGVAR VAR(&CNT) VALUE(&CNT + 1)
  CHGVAR VAR(&P1) VALUE(&CNT)
  CALL PGM(子CLP) PARM(&P1)
  IF COND(&CNT *GE 3) THEN(GOTO CMDLBL(END))
  GOTO CMDLBL(LOOP)
     
END:    
  RETURN  
  ENDPGM  
-------------------------------------------------------

<子CLP>
-------------------------------------------------------
  PGM PARM(&P1)
  DCL VAR(&P1) TYPE(*CHAR) LEN(6)
  DCL VAR(&RCVMSG) TYPE(*CHAR) LEN(80)
  DCL VAR(&XSOCMD) TYPE(*CHAR) LEN(10)
  DCLF FILE(XSYSOP)
\READ1:    
  RCVF RCDFMT(XSYSOR)
  MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(\END))
     
  CHGVAR VAR(&RCVMSG) VALUE(' 命令 ' *CAT &XSOCMD +
       *CAT &P1 *CAT ' 巡目。 ')
     
  SNDPGMMSG MSG(&RCVMSG)
     
  GOTO CMDLBL(\READ1)
     
\END:    
  RETURN  
  ENDPGM  
-------------------------------------------------------


↑このページのトップへ

TOPPAGE

BELLDATA, Inc. Copyright reserved.