• 停止锁住指定文件的所有相关作业


    停止锁住指定文件的所有相关作业
    解答 1、生成CL命令DLTJOB

    *******************************
    CMD: DLTJOB
    LANGUAGE: CL COMMAND SOURCE
    *******************************

    CMD PROMPT('DELETE JOBS LOCKING PF')
    PARM KWD(OBJNAME) +
    TYPE(QUAL1) +
    MIN(1) +
    PROMPT('OBJECT NAME:')
    PARM KWD(MEMBER) +
    TYPE(SNAME) +
    LEN(10) +
    MIN(1)
    PROMPT('Object Member:')
    QUAL1: QUAL TYPE(NAME) LEN(10) SPCVAL(ALL)
    QUAL TYPE(NAME) LEN(10) SPCVAL(LIBL CURLIB ' ') +
    PROMPT('Library Name:')

    2、处理主程序
    #include <string.h>
    #include <stdio.h>
    #include <qusec.h>
    #include <qusgen.h>
    #include <quscrtus.h>
    #include <qusptrus.h>
    #include <qusdltus.h>
    #include <qmhsndm.h>
    #include <qmhsndpm.h>
    #include <qwclobjl.h>


    #pragma linkage(CLDLT00,OS)
    void CLDLT00 ( char job_name[10],
    ---------------char usr_name[10],
    ---------------char job_number[6] );

    Qus_Generic_Header_0100_t space;
    char list_section;
    Qwc_OBJL0100_List_T entry_list;

    ***********************************
    PARMS FOR CLDLT
    ***********************************

    char job_nm[10]; / jobname/username/jobnumber /
    char usr[10];
    char job_nmbr[6];

    **********************************
    PARMS FOR QWCLOBJL
    **********************************

    char frmt[8];
    char usr[10];
    char qal_obj_name[20];
    char obj_type[10];
    char mem_name[10];

    **********************************
    PARMS FOR QUSCRTUS
    **********************************

    char spc_name[20];
    char ext_atr[10];
    int initial_size;
    char initial_value[1];
    char auth[10];
    char desc[50];
    char replace[10];

    **********************************
    MISCELLANEOUS VARIABLES
    **********************************

    int count;
    int api_code;
    Qus_EC_t err_code; /错误代码/

    *********************************
    START OF MAINLINE
    *********************************

    main(argc,argv)
    int argc;
    char argv[];
    {

    ***************************************************************
    Read in and assign the command-line arguments to respective
    variables/
    ***************************************************************

    strncpy(qal_obj_name,argv[1],20);
    strncpy(mem_name,argv[2],10);

    ******************************************************
    Assign value to specific variables in the program
    ******************************************************

    strcpy(spc_name,"DLTOLDSPLFQTEMP ");
    memset(ext_atr,' ',10);
    initial_size = 1024;
    strcpy(initial_value," ");
    strcpy(auth,"CHANGE ");
    memset(desc,' ',50);
    strcpy(frmt,"OBJL0100");
    strcpy(replace,"YES ");
    strcpy(obj_type,"FILE ");

    ***********************************************
    Call external program to create a user space
    ***********************************************

    err_code.Bytes_Provided = 0;
    api_code = 1;
    QUSCRTUS(spc_name,ext_atr,initial_size,initial_value,auth,desc,replace,
    &err_code);

    ********************************************************
    Call external program to list job names into user space
    ********************************************************

    api_code = 2;
    QWCLOBJL(spc_name,frmt,qal_obj_name,obj_type,mem_name,&err_code);

    **********************************************************
    Call external program to get a pointer to the user space
    and get addressability to the list data section.
    **********************************************************

    api_code = 3;
    QUSPTRUS(spc_name,&space,&err_code);
    list_section = (char )space;
    list_section = list_section + space->Offset_List_Data;
    entry_list = (Qwc_OBJL0100_List_T ) list_section;
    count = 1;

    *********************************************************
    Loop through the entry list and delete old spooled files
    *********************************************************

    while (count <= space->Number_List_Entries) {

    **********************************************************
    Call external program to retrieve more spool information
    **********************************************************

    api_code = 4;
    strncpy(job_nm,entry_list->Job_Name,10);
    strncpy(job_nmbr,entry_list->Job_Number,6);
    strncpy(usr,entry_list->Job_User_Name,10);

    **************************
    Delete the spooled file.
    **************************
    CLDLT00(job_nm,usr,job_nmbr);

    count++;
    entry_list++;
    } /WHILE/

    ***********************
    Remove the user space
    ***********************
    api_code = 5;
    QUSDLTUS(spc_name, &err_code);

    }


    3、停止作业的CL程序

    *****************
    PROGRAM: CLDLT
    LANGUAGE: CL
    *****************

    PGM (&JOBNAM &USRNAM &JOBNUM)

    *****************
    DECLARE SECTION
    *****************

    DCL &JOBNUM CHAR 6
    DCL &USRNAM CHAR 10
    DCL &JOBNAM CHAR 10
    MONMSG CPF0000

    *******************
    EXECUTABLE CODE
    ******************

    ENDJOB JOB(&JOBNUM/&USRNAM/&JOBNAM) + OPTION(IMMED)
    ENDPGM

  • 相关阅读:
    白话排序算法--快速排序
    白话排序算法--插入排序
    javamail模拟邮箱功能--邮件回复-中级实战篇【邮件回复方法】(javamail API电子邮件实例)
    javamail模拟邮箱功能获取邮件内容-中级实战篇【内容|附件下载方法】(javamail API电子邮件实例)
    JS替换地址栏参数值
    JAVA中使用FTPClient上传下载
    js事件的捕获和冒泡阶段
    js刷新页面方法大全
    js检测上传文件大小
    java正则:不包含某个规则字符串【转】
  • 原文地址:https://www.cnblogs.com/wildfish/p/1031846.html
Copyright © 2020-2023  润新知