ジョブ情報の表示(CALL QUSRJOBI)

最終更新: 2025-12-01
    from as400 import *             
                                    
    #  データ構造の定義             
    JOBI0100 = DS("JOBI0100", [     
        ("Bytes_Return", INT(4)),   
        ("Bytes_Avail", INT(4)),    
        ("Job_Name", CHAR(10)),     
        ("User_Name", CHAR(10)),    
        ("Job_Number", CHAR(6)),    
        ("Int_Job_ID", HEX(16)),    
        ("Job_Status", CHAR(10)),   
        ("Job_Type", CHAR(1)),      
        ("Job_Subtype", CHAR(1)),   
        ("Reserved", HEX(2)),       
        ("Run_Priority", INT(4)),   
        ("Time_Slice", INT(4)),     
        ("Default_Wait", INT(4)),   
        ("Default_Wait", INT(4)),                                                
        ("Purge", CHAR(10)),                                                     
    ])                                                                           
                                                                                 
    # QUSRJOBI を呼び出す関数を作成                                              
    QUSRJOBI = PGM("QUSRJOBI", [JOBI0100, INT(4), CHAR(8), CHAR(26), CHAR(16)])  
                                                                                 
    # QUSRJOBI を呼び出す。                                                      
    #  先頭のパラメータの呼び出し後の内容が jobi0100 に返る。                    
    jobi0100, *_ = QUSRJOBI({}, SIZE(JOBI0100), "JOBI0100", "*", "")             
                                                                                 
    #  結果を表示。                                                              
    print('Job_Number=', jobi0100['Job_Number'])                                 
    print('User_Name=', jobi0100['User_Name'])                                   
    print('Job_Name=', jobi0100['Job_Name'])                                     
    print('Job_Status=', jobi0100['Job_Status'])                                 
    print('Job_Type=', jobi0100['Job_Type'])                                     
                                                                              

[解説]

このPython: QUSRJOBIはパラメータつきでAPI: QUSRJOBIを呼び出して実行するサンプルです。

次はデータ構造: JOBI0100 を定義しています。

    #  データ構造の定義             
    JOBI0100 = DS("JOBI0100", [     
        ("Bytes_Return", INT(4)),   
        ("Bytes_Avail", INT(4)),    
        ("Job_Name", CHAR(10)),     
        ("User_Name", CHAR(10)),    
        ("Job_Number", CHAR(6)),    
        ("Int_Job_ID", HEX(16)),    
        ("Job_Status", CHAR(10)),   
        ("Job_Type", CHAR(1)),      
        ("Job_Subtype", CHAR(1)),   
        ("Reserved", HEX(2)),       
        ("Run_Priority", INT(4)),   
        ("Time_Slice", INT(4)),     
        ("Default_Wait", INT(4)),   
        ("Default_Wait", INT(4)),                                                
        ("Purge", CHAR(10)),                                                     
    ])             

次にぱパラメータつきの関数の型を定義します。

    # QUSRJOBI を呼び出す関数を作成                                              
    QUSRJOBI = PGM("QUSRJOBI", [JOBI0100, INT(4), CHAR(8), CHAR(26), CHAR(16)])

実際に関数: QUSRJOBIを呼び出します。

    # QUSRJOBI を呼び出す。                                                      
    #  先頭のパラメータの呼び出し後の内容が jobi0100 に返る。                    
    jobi0100, *_ = QUSRJOBI({}, SIZE(JOBI0100), "JOBI0100", "*", "")             

最後に結構を表示します。

    #  結果を表示。                                                              
    print('Job_Number=', jobi0100['Job_Number'])                                 
    print('User_Name=', jobi0100['User_Name'])                                   
    print('Job_Name=', jobi0100['Job_Name'])                                     
    print('Job_Status=', jobi0100['Job_Status'])                                 
    print('Job_Type=', jobi0100['Job_Type'])