RPG からジョブログへの書き込み (Qp0zLprintf() の利用)

Qp0zLprintf という UNIX アプリケーションからのポーティングむけのAPI を使用すると、ジョブログにテキストを書き出すことができます。

RPG プログラムの中で sleep()」で C の関数の使用方法を見た後、「RPG の中での動的な文字列の生成 (spintf() 関数を使用して)」でさらに別の C の関数を利用してメッセージ用の文字列を生成しました。
その中で、これまでメッセージをプログラムの実行者に見てもらうために dsply 命令を使用してきたのですが、冒頭に述べたようにジョブログに書き出す別のやり方も利用できるわけです。

これもそんなに説明は要りませんね。

     H BNDDIR('QC2LE')  DFTACTGRP(*NO)                                                              
      *                                                                                             
     D sleep           PR            10u 0 extProc('sleep')                                         
     D  seconds                      10u 0 VALUE                                                    
      *                                                                                             
     D timeb           S              8a                                                            
     D timea           S              8a                                                            
      *                                                                                             
     D sprintf         PR            10u 0 extProc('sprintf')                                       
     D  string                         *   VALUE                                                    
     D  format                         *   VALUE OPTIONS(*STRING)                                   
     D  parm1                        10i 0 VALUE OPTIONS(*NOPASS)                                   
     D  parm2                        10i 0 VALUE OPTIONS(*NOPASS)                                   
      *                                                                                             
     D str             C                   CONST('PGM was slept from %s +                           
     D                                            to %s ')                                          
     D msg             S             50a                                                            
      *                                                                                             
     D prtjoblog       PR            10i 0 extProc('Qp0zLprintf')                                   
     D  prtstr                         *   VALUE OPTIONS(*STRING)                                   
     D  ps1                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps2                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps3                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps4                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps5                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps6                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
     D  ps7                            *   VALUE OPTIONS(*STRING:*NOPASS)                           
      /Free                                                                                         
                                                                                                    
              timeb = %CHAR(%time());                                                               
              sleep(5);                                                                             
              timea = %CHAR(%time());                                                               
              prtjoblog(str+x'25':timeb:timea);                                                     
                                                                                                    
              *inLR = *on ;                                                                         
              return;                                                                               
                                                                                                    
      /End-Free

実行結果の確認です。

[Top Pageに戻る]

Ads by TOK2