zoukankan      html  css  js  c++  java
  • 如何找出物理文件中损坏的记录

     如何找出物理文件中损坏的记录?
    解答 下面提供的CL源程序可以帮助您找出物理文件中损坏的记录,但是不支持其他文件
    系统中的文件类型,例如:/QNTS,/QOPT等。也不支持OS/400上其他类型的对象。

    如果您的操作系统版本在R420以上,则该程序需要一个逻辑文件来支持:
    /**********************************/
    R RECORD PFILE(QSYS/QADBXREF)
    DBXFIL
    DBXLIB
    DBXATR
    DBXRDL
    K DBXLIB
    K DBXFIL
    /**********************************/

    以下就是CL源程序,将该程序编译成可执行代码,就可以运行了。
    **********************************************************************
    ** 特别提示: ----------------------------------------------------- -**
    ** 请不要在生产机器上运行该程序!!请先在测试机器上充分测试后再运行!! -**
    **********************************************************************

    /* ACCEPT TWO PARAMETERS, THE RANGE OF LIBRARIES TO BE SCANNED ---- -*/
    /* DO NOT FORGET TO CHECK FILES STARTING WITH $,@, # -------------- -*/
    /* IF YOU WANT TO SCAN EVERYTHING, START WITH $ AND --------------- -*/
    /* END WITH Z999999999 -------------------------------------------- -*/

    /* WARNING: - A SMALL SPOOLED FILE WILL BE CREATED FOR EACH ----------*/
    /* FILE TESTED. IF NO ERRORS ARE FOUND, THE SPOOL */ /* FILE IS EMPTY.*/

    PGM PARM(&START &END)

    /* LIBRARY TO START WITH --------------------------------------------*/
    DCL VAR(&START) TYPE(*CHAR) LEN(10)

    /* LIBRARY TO STOP AFTER --------------------------------------------*/
    DCL VAR(&END) TYPE(*CHAR) LEN(10)
    DCL VAR(&NBRRCDS) TYPE(*DEC) LEN(6)
    DCLF FILE(CHECKLF) ALWNULL(*YES)

    CHGJOB LOG(4 30 *SECLVL) LOGCLPGM(*NO)
    OVRPRTF FILE(*PRTF) HOLD(*YES)

    /* POSITION IN THE FILE TO THE PARTIAL KEY LIBRARY NAME------------ */
    OVRDBF FILE(CHECKLF) POSITION(*KEYAE 1 RECORD + &START) OPNSCOPE(*JOB)
    RCF: RCVF
    MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(ENDP))
    CHGVAR VAR(&NBRRCDS) VALUE(32000 / &DBXRDL)
    OVRDBF FILE(&DBXFIL) OPNSCOPE(*JOB) SEQONLY(*YES + &NBRRCDS)
    IF COND(&DBXLIB > &END) THEN(GOTO CMDLBL(ENDP))
    IF COND(&DBXATR = 'PF' │ &DBXATR = 'TB') THEN(DO)
    IF COND(&DBXRDL > 4) THEN(DO)
    CPYF FROMFILE(&DBXLIB/&DBXFIL) TOFILE(*PRINT) +
    FROMMBR(*ALL) FROMRCD(1) INCCHAR(*RCD 1 + *EQ '[-')
    MONMSG MSGID(CPF0000)
    ENDDO
    ENDDO
    DLTOVR FILE(&DBXFIL)
    GOTO CMDLBL(RCF)
    ENDP:
    ENDPGM
  • 相关阅读:
    随笔记:目录已在,但是导入时报ModuleNotFoundError: No module named 'config'
    随笔记:fixture的使用
    python随笔:os.path中的realpathdirnamejoin的学习
    01-移动营销设计-认识H5与广告
    Java web开发 01 入门知识
    Java 12网络编程
    java09 面向对象,封装,继承,多态
    java08 数组与集合
    java07 数组 与 开发工具IntelliJ IDEA 安装 汉化
    java06 顺序结构 选择判断结构 与循环语句
  • 原文地址:https://www.cnblogs.com/wildfish/p/1032032.html
Copyright © 2011-2022 走看看