ソース入力ユーティリティ(SEU)その2
もどる 目 次


ここではSEUの拡張した使い方や、
SEUを利用してデータのローディングなどについて紹介します。




タイムスタンプの検索

ソースファイルのレコード・データは、以下のように、ソーステキストのほか、順次番号や、タイムスタンプを
もっています。

順次番号 変更日付 <----------ソーステキスト----------->
999999 999999 省略時80桁(最大228バイトまで)


SEUの画面でF14キーを押すことにより、日付の検索の項目を利用して変更日付の検索ができます。
F14を押すと以下の画面が表示されます。

                           検索/変更オプション                                 
                                                                                
  選択項目を入力して,実行キーを押してください。                                
                                                                                
    検索 . . . . . . . . . . . . .                                              
    変更 . . . . . . . . . . . . .                                              
    開始桁番号 . . . . . . . . . .   1            1-80                          
    終了桁番号 . . . . . . . . . .   80           1-80 または ブランク             
    処理する対象 . . . . . . . . .   1            1= 次, 2= すべて             
                                                  3= 前                         
    検索するレコード . . . . . . .   1            1= すべて, 2= 除外分         
                                                  3= 除外分以外                 
    一致の種類 . . . . . . . . . .   1            1= 大文字小文字を区別         
                                                  2= 大文字小文字の区別を無視   
    データのシフトを認めますか . .   N            Y=YES, N=NO                   
                                                                                
    日付の検索 . . . . . . . . . .   00/05/01     YY/MM/DD または YYMMDD        
      比較 . . . . . . . . . . . .                1= より小                     
                                                  2= 等しい                     
                                                  3= より大                     
                                                                                
 F3= 終了      F5= 最新表示      F12= 取消し     F13=セッション 省略値の変更         
 F15= 走査検索/ コピー・サービス      F16= 検索       F17= 変更    F18=DBCS 変換     

ここで、検索したい日付と、比較条件をセットします。
例えば、4月27日に変更(又は追加)の行を探すときは次のようにセットします。

    日付の検索 . . . . . . . . . .   00/04/27     YY/MM/DD または YYMMDD        
      比較 . . . . . . . . . . . .                1= より小                     
                                     2            2= 等しい                     
                                                  3= より大                     

日付は/(スラッシュ)区切りでなく、000427の形式でもかまいません。

入力して実行キーを押すと画面はもとの編集画面に戻ります。
ついでF16キーを押すと該当のタイムスタンプを持った行に位置付けされます。


  桁 . . . . . :    1  71            編集                        WRKLIB/QRPGSRC 
 SEU==>                                                                   RF520 
 FMT C  .....CL0N01N02N03FACTOR1+++OPCDEFACTOR2+++RESULTLENDHHILOEQCOMMENTS++++ 
0171.00      C                     Z-ADD0000      RRN     40                    
0172.00      C                     Z-ADD001       RCDNBR            SFLRCDNBR   
0173.00      C                     Z-ADD0000      S4GYNO                        
0174.00      C*                                                                 
0175.00      C           KEY99     SETLLF520R                                   
0176.00      C           KEY99     READEF520R                    99             
0177.00 +----C           *IN99     DOWEQ*OFF                                    
0178.00 |    C                     ADD  001       RRN                           
0179.00 |    C                     Z-ADDRRN       W@KEN             件数        
0180.00 |    C           RRN       CHAINSFL01                30                 
0181.00 |    C* (ファイル( --> (サブファイル(                                            
0182.00 |    C                     Z-ADDRRN       S4GYNO            行        
0183.00 |    C                     MOVELJDHNNO    S4HNNO            品目      
0184.00 |    C                     Z-ADDJDJUSU    S4JUSU            受注数      
0185.00 |    C                     Z-ADDJDJUTK    S4JUTK            受注@      
0186.00 |    C           JDJUSU    MULT JDJUTK    S4JUGK            受注額      
0187.00 |    C                     Z-ADDJDSEDT    S4SEDT            請求日      
                                                                                
 F3= 終了  F4=プロンプト  F5= 最新表示  F9=コマンド の複写  F10=カーソル  F11= 切替え     
 F16= 検索の反復    F17= 変更の反復    F24= キーの続き                          
 検索日付 00/04/27 が見つかった。                                               

F11キーを押してビューをかえてみると4月27日であることがわかります。

 FMT C  DEFACTOR2+++RESULTLENDHHILOEQCOMMENTS+++++++......              
0171.00 DD0000      RRN     40                                 000411   
0172.00 DD001       RCDNBR            SFLRCDNBR                000427   
0173.00 DD0000      S4GYNO                                     000411   
0174.00                                                        000411   
0175.00 LLF520R                                                000411   
0176.00 DEF520R                    99                          000411   



全画面モード

SEUの操作になれてくると、キーガイドの表示を省略して、全画面モードで処理できます。
全画面モードにするには、F13を押し、セッション省略時の値の全画面モードをNからYに変更します。

                             セッション省略時の値の変更                        
                                                                               
  選択項目を入力して,実行キーを押してください。                               
                                                                               
    ページ送りする行数  . . . . . . . .   C            H= 半 ページ, F= 全 ページ
                                                       C= カーソル, D= データ 
                                                       1-999                   
    大文字入力専用  . . . . . . . . . .   Y            Y=YES, N=NO             
    タブ設定  . . . . . . . . . . . . .   N            Y=YES, N=NO             
    挿入レコードの増分値  . . . . . . .   0.01         0.01-999.99             
    全画面モード  . . . . . . . . . . .   N            Y=YES, N=NO             
                                                                               
    原始仕様タイプ  . . . . . . . . . .   RPG                                  
    構文検査 :                                                                 
      追加/変更時  . . . . . . . . . .   Y            Y=YES, N=NO             
      開始順序番号  . . . . . . . . . .                0000.00-9999.99         
      終了順序番号  . . . . . . . . . .                0000.00-9999.99         
                                                                               
                                                                               
    レコードへの日付のセット  . . . . .     /  /       YY/MM/DD または YYMMDD  
                                                                       続く ...
 F3= 終了    F5= 最新表示     F12= 取消し                                      
 F14= 検索/変更オプション    F15= 走査検索/コピー・オプション                

全画面モードのほか、ページ送りの行数、挿入レコードの増分値、構文検査をする/しない
などが設定できます。

ページ送りする行数
H  半ページ移動します。
F  全ページ移動します。
C  カーソル位置を上の行または、一番下段の行になるように移動します。
D  上または下に1行だけ残すように移動します。
1〜999 指定の行数だけ移動します。
よこスクロールも同様です。


別のメンバーからのソース取り込み

別のメンバーによく似たソースがあるような場合、そのソースをコピーした方が便利です。
このためには、走査検索/コピー・オプションのキー(F15)を押します。
画面は「走査検索/コピー・オプション」の画面に変わります。

                        走査検索/コピー・オプション                           
                                                                               
  選択項目を入力して,実行キーを押してください。                               
                                                                               
    選択項目 . . . . . . . . . . .   1               1= メンバー               
                                                     2= スプール・ファイル     
                                                     3= 出力待ち行列           
    すべてのレコードのコピー . . .   N               Y=YES, N=NO               
    メンバーの走査検索/コピー . .   RM420S          名前,リストは F4キー       
      ファイル . . . . . . . . . .     QRPGSRC       名前,リストは F4キー       
        ライブラリー . . . . . . .       WRKLIB      名前, *CURLIB, *LIBL     
                                                                               
    スプール・ファイル の走査検索 /コピー  .   RF520           名前,リストは F4キー       
      ジョブ . . . . . . . . . . .     RF520         名前                      
        ユーザー . . . . . . . . .       OHDE        名前,リストは F4キー       
        ジョブ番号 . . . . . . . .       *LAST       番号, *LAST              
      スプール番号 . . . . . . . .     *LAST         番号, *LAST, *ONLY       
                                                                               
    出力待ち行列の表示 . . . . . .   QPRINT          名前, *ALL               
      ライブラリー . . . . . . . .     *LIBL         名前, *CURLIB, *LIBL     
                                                                               
 F3= 終了    F4=プロンプト         F5= 最新表示    F12= 取消し                    
 F13= セッション省略値の変更    F14= 検索/変更オプション                      

他のメンバーからコピーする場合は、選択項目を1のメンバーとします。
メンバーの走査検索/コピーに目的のメンバーを入力します。
ファイル/ライブラリーはメンバーの入っているファイル/ライブラリーを指定します。
画面は2分割され、下半分に目的のメンバーのソースが表示されます。

  桁 . . . . . :    1  71            編集                        WRKLIB/QRPGSRC 
 SEU==>                                                                   RF520 
 FMT *  ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
0232.00      C* 得意先チェック                                                  
0238.00      C* OKなら第3画面へ                                              
0239.00 +----C           *IN30     IFEQ *OFF                                    
0240.00 |    C                     Z-ADD03        W@FMT                         
0241.00 +----C                     ENDIF                                        
0242.00      C*                                                                 
0243.00      C                     ENDSR                                        
                                                                                
  桁 . . . . . :    1  71          走査検索                      WRKLIB/QRPGSRC 
 SEU==>                                                                   RM420 
        *****************  データの始め  ************************************** 
0001.00      **---------------------------------------------------------------  
0002.00      ** ID   : RM420                                                    
0003.00      **                                                                 
0004.00      ** NAME : 得意先マスター更新                                       
0005.00      **                                                                 
0006.00      ** FUNC : 標記第一画面を表示し、画面から更新する得意先bェ         
                                                                                
 F3= 終了  F4=プロンプト  F5= 最新表示  F9=コマンド の複写  F11= 切替え  F12= 取消し  
 F16= 検索の反復    F17= 変更の反復    F24= キーの続き                          

カーソルが上半分にあるときは、上のソースが、下半分にあるときは、下のソースをコントロールできます。
コマンドやスクロール・キーを使用して、希望の画面を表示します。

2画面分割はF12キーで解消します。

  桁 . . . . . :    1  71            編集                        WRKLIB/QRPGSRC
 SEU==>                                                                   RF520
 FMT *  ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 
0232.00      C* 得意先チェック                                                 
0232.01      C           S1TKNO    CHAINM420R                99                
0232.02 +----C           *IN99     IFEQ *OFF                                   
0232.03 |+---C           W@MOD     IFEQ 01                          ADD        
0232.04 ||   C                     MOVELMSG,1     S9MSG             重複       
0232.05 ||   C                     SETON                     3031              
0232.06 |+---C                     ENDIF                                       
0238.00      C* OKなら第3画面へ                                             
0239.00 +----C           *IN30     IFEQ *OFF                                   
0240.00 |    C                     Z-ADD03        W@FMT                        
0241.00 +----C                     ENDIF                                       
0242.00      C*                                                                
0243.00      C                     ENDSR                                       
0244.00      C*--------------------------------------------------------------- 
0245.00      C*          SB3000    第3画面処理                                
0246.00      C*--------------------------------------------------------------- 
0247.00      C           SB3000    BEGSR                                       
                                                                               
 F3= 終了  F4=プロンプト  F5= 最新表示  F9=コマンド の複写  F10=カーソル  F11= 切替え    
 F16= 検索の反復    F17= 変更の反復    F24= キーの続き                         

ソースを整形して、目的のコーディングとします。
  桁 . . . . . :    1  71            編集                        WRKLIB/QRPGSRC 
 SEU==>                                                                   RF520 
 FMT *  ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
0232.00      C* 得意先チェック                                                  
0233.00      C           S2TKNO    CHAINM420R                98                 
0234.00 +----C           *IN98     IFEQ *ON                                     
0235.00 |    C                     MOVELMSG,2     S9MSG             該当なし    
0236.00 |    C                     SETON                     3032               
0237.00 +----C                     ENDIF                                        
0238.00      C* OKなら第3画面へ                                              
0239.00 +----C           *IN30     IFEQ *OFF                                    
0240.00 |    C                     Z-ADD03        W@FMT                         
0241.00 +----C                     ENDIF                                        
0242.00      C*                                                                 
0243.00      C                     ENDSR                                        
0244.00      C*---------------------------------------------------------------  
0245.00      C*          SB3000    第3画面処理                                 
0246.00      C*---------------------------------------------------------------  
0247.00      C           SB3000    BEGSR                                        

F15キーをおして「走査検索/コピー・オプション」の画面のとき、スプールファイルを選ぶこともできます。
スプール・ファイルというのは、印刷待ちとしてスプールに書き出されているファイルです。
デバッグのときや、最悪ソースを誤って削除したとき、コンパイルリストから復旧するようなときに利用できます。





SEUによるデータのローデング

ソースファイルは最大228バイトのテキスト長まで編集できます。これを利用するとほとんどのデータを
SEUで作成できます。手順は次の通りです。

1.まずデータをローディングしたいファイルを作成します。

CRTPF  WRKLIB/M420  WRKLIB/QDDSSRC

条件はデータタイプがすべて文字列かゾーン10進数であることです。
パックの場合は、少し別の処理が必要です。


2.DFUを使用してデータを1件だけ入力します。これはあとで、カラムスケール代わりに使用します。

UPDDTA  WRKLIB/M420

  ファイル中のデータ処理                         モード  . . :    入力         
  様式  . . . . :   M420R                        ファイル  . :   M420          
                                                                               
  得意先 :     11111                                                         
  状態 :         2                                                             
  得意先名 :     111111111122222222223333333333444444444455                    
  得意先カナ名 : 11111111112222222222                                          
  TEL :       111111111122                                                  
  担当営業 :   3333                                                          
  フラグ :       4                                                             
  売上実績 :     55555555555                                                   
                                                                               
                                                                               

3.データ作成用のソースファイルにファイルと同じ名前でメンバーを作成します。
  桁 . . . . . :    1  71            編集                        WRKLIB/QDATSRC 
 SEU==>                                                                    M420 
 FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  

        *****************  データの始め  ************************************** 
        *****************  データの終り  ************************************** 
                                                                                

4.F15キーで 走査検索/コピー・オプション の画面をひらきます。
                        走査検索/コピー・オプション                           
                                                                               
  選択項目を入力して,実行キーを押してください。                               
                                                                               
    選択項目 . . . . . . . . . . .   1               1= メンバー               
                                                     2= スプール・ファイル     
                                                     3= 出力待ち行列           
    すべてのレコードのコピー . . .   N               Y=YES, N=NO               
    メンバーの走査検索/コピー . .   M420            名前,リストは F4キー       
      ファイル . . . . . . . . . .     QDATSRC       名前,リストは F4キー       
        ライブラリー . . . . . . .       WRKLIB      名前, *CURLIB, *LIBL     
                                                                               
    スプール・ファイル の走査検索 /コピー  .   M420            名前,リストは F4キー       
      ジョブ . . . . . . . . . . .     M420          名前                      
        ユーザー . . . . . . . . .       OHDE        名前,リストは F4キー       
        ジョブ番号 . . . . . . . .       *LAST       番号, *LAST              
      スプール番号 . . . . . . . .     *LAST         番号, *LAST, *ONLY       
                                                                               
    出力待ち行列の表示 . . . . . .   QPRINT          名前, *ALL               
      ライブラリー . . . . . . . .     *LIBL         名前, *CURLIB, *LIBL     
                                                                               
 F3= 終了    F4=プロンプト         F5= 最新表示    F12= 取消し                    
 F13= セッション省略値の変更    F14= 検索/変更オプション                      

5.コピー元のセット
ここで、ファイルをソースファイルでなく、先ほど1件データを追加したファイル名とします。
つまり、ファイル名、メンバー名ともにM420とします。
上半分に元のソース、下半分にデータファイルの内容が表示されます。
  桁 . . . . . :    1  71            編集             保留 . . . . . . :   A    
 SEU==>                                                                         
 FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
A       *****************  データの始め  ************************************** 
        *****************  データの終り  ************************************** 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
  桁 . . . . . :    1  71          走査検索                          QTEMP/M420 
 SEU==>                                                                    M420 
        *****************  データの始め  ************************************** 
0000.01 21111111111111112222222222333333333344444444445511111111112222222222111 
        *****************  データの終り  ************************************** 
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 F3= 終了  F4=プロンプト  F5= 最新表示  F9=コマンド の複写  F11= 切替え  F12= 取消し  
 F16= 検索の反復    F17= 変更の反復    F24= キーの続き                          
 原始物理ファイル以外からのコピーによって問題が起こることがある。               

6.物理ファイルから1行コピー

問題が起こることがあると警告されていますが、無視し、この1件をコピーします。
(この警告は16進表示しかできないようなデータがあるかもしれないことの警告です。)
  桁 . . . . . :    1  71            編集                        WRKLIB/QDATSRC 
 SEU==>                                                                    M420 
 FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
        *****************  データの始め  ************************************** 
0001.00 21111111111111112222222222333333333344444444445511111111112222222222111 
        *****************  データの終り  ************************************** 
              

7.データ入力
これをカラムスケール代わりにしてデータを入力して行きます。
  桁 . . . . . :    1  71            編集                        WRKLIB/QDATSRC
 SEU==>                                                                    M420
 FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 
        *****************  データの始め  **************************************
0001.00 21111111111111112222222222333333333344444444445511111111112222222222111
0002.00  11110 得意先110・・・・・・・・・・・・・; トクイサキ110-----------;03-
0003.00  11111 得意先111・・・・・・・・・・・・・; トクイサキ111-----------;03-
        *****************  データの終り  **************************************
                                                                               

8.データのセーブ
最後に、最初のカラムスケール代わりの行を削除してSAVEして終了します。

  桁 . . . . . :    1  71            編集                        WRKLIB/QDATSRC 
 SEU==>                                                                    M420 
 FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7  
        *****************  データの始め  ************************************** 
0001.00 21111111111111112222222222333333333344444444445511111111112222222222111 
0002.00  11110 得意先110・・・・・・・・・・・・・; トクイサキ110-----------;03- 
0003.00  11111 得意先111・・・・・・・・・・・・・; トクイサキ111-----------;03- 
0004.00  11112 得意先112・・・・・・・・・・・・・; トクイサキ112-----------;03- 
0005.00  11113 得意先113・・・・・・・・・・・・・; トクイサキ113-----------;03- 
0006.00  11114 得意先114・・・・・・・・・・・・・; トクイサキ114-----------;03- 
0007.00  11115 得意先115・・・・・・・・・・・・・; トクイサキ115-----------;03- 
0008.00  11116 得意先116・・・・・・・・・・・・・; トクイサキ116-----------;03- 
0009.00  11117 得意先117・・・・・・・・・・・・・; トクイサキ117-----------;03- 
0010.00  11118 得意先118・・・・・・・・・・・・・; トクイサキ118-----------;03- 
0011.00  11119 得意先119・・・・・・・・・・・・・; トクイサキ119-----------;03- 
0012.00  11210 得意先210・・・・・・・・・・・・・; トクイサキ210-----------;03- 
0013.00  11211 得意先211・・・・・・・・・・・・・; トクイサキ211-----------;03- 
0014.00  11212 得意先212・・・・・・・・・・・・・; トクイサキ212-----------;03- 
0015.00  11213 得意先213・・・・・・・・・・・・・; トクイサキ213-----------;03- 
0016.00  11214 得意先214・・・・・・・・・・・・・; トクイサキ214-----------;03- 
                                                                                
 F3= 終了  F4=プロンプト  F5= 最新表示  F9=コマンド の複写  F10=カーソル  F11= 切替え     
 F16= 検索の反復    F17= 変更の反復    F24= キーの続き                          

9.物理ファイルへのコピー
ソーステキストをCPYFコマンドで物理ファイルM420にコピーします。
このとき、FROMファイルはQDATSRC,FROMメンバーはM420、コピー先にはさきほどの
1件レコードがはいっているので、レコードの置換えまたは追加は*REPLACE,追加のパラメータで
ソースファイルからの変換*CVTSRCを指定します。


                             ファイル・コピー  (CPYF)                          
                                                                               
  選択項目を入力して,実行キーを押してください。                               
                                                                               
  FROM ファイル   . . . . . . . . > QDATSRC        名前                        
    ライブラリー  . . . . . . . . >   WRKLIB       名前 , *LIBL, *CURLIB       
  TO ファイル   . . . . . . . . . > M420           名前 , *PRINT               
    ライブラリー  . . . . . . . . >   WRKLIB       名前 , *LIBL, *CURLIB       
  FROM メンバー   . . . . . . . . > M420           名前,総称* , *FIRST, *ALL 
  TO メンバー または ラベル  . . . . .   *FIRST         名前 , *FIRST, *FROMMBR     
  レコードの置換えまたは追加  . . > *REPLACE      *NONE, *ADD, *REPLACE...     
  ファイル作成  . . . . . . . . .   *NO           *NO, *YES                    
  印刷形式  . . . . . . . . . . .   *CHAR         *CHAR, *HEX                  
                                                                               
                   追加のパラメーター                                          
                                                                               
  レコード 様式 フィールド の マップ . . . > *CVTSRC       *NONE, *NOCHK, *CVTSRC...    
                                                                               
                                                                               
                                                                               
                                                                         終り  
 F3= 終了    F4=プロンプト   F5= 最新表示    F10= 追加のパラメーター              
 F12= 取消し              F13= この画面の使用法    F24= キーの続き             

この方法だと、同じレコードのコピーが簡単にでき、データを少しずつかえながらのレコード作成が
能率よくできます。


パック10進数のフィールドのあるファイルへのデータ・ローディング

ファイルがパック10進数のフィールドをもっているような場合、上記の方法ではうまくデータが作成できません。
このような場合は、次の手順でデータのローディングができます。

1.パック10進数のフィールドをゾーン10進数に変えた、(フィールド名は同じ)仮のファイルを作成します。
2.この仮ファイルへ上記の方法でデータローディングします。
3.ついで、*MAP,*DROPのパラメータを付したCPYFコマンドで、仮ファイルから、目的ファイルへコピーします。




SEU使用中の割りこみ処理

SEUを使用中にF21キーを押すと、割りこみ処理でコマンドの入力ができます。
画面の下側または上側にコマンド入力の行が表示されます。

  桁 . . . . . :    1  71          走査検索                      WRKLIB/QRPGSRC 
 SEU==>                                                                  LM420A 
 FMT O  .....ONAME++++DFBASBSAN01N02N03EXCNAM.................................. 
0049.00      O        E 1              HDR01                                    
0050.00      O                                   10 ' 得意先 '                
0051.00      O                                   20 ' 得意先名 '                
0052.00      O                                   63 ' 読みカナ '                
0053.00      O                                   85 ' TEL '                  
0054.00      O                                   99 ' 担当営業 '                
0055.00      O                                  111 ' 売上実績 '                
0056.00      O* 印刷前に2回改行します。                                        
0057.00      O        E 2              DTL01                                    
0058.00      O*                          ↓  フィールドはDBと共通です。       
0059.00      O                         TKTKNO     6                             
0060.00      O                         TKNMKJ    50                             
0061.00      O                         TKNMKN    72                             
0062.00      O                         TKTEL     87                             
 .............................................................................. 
 :                            システム・コマンド                               : 
 :                                                                            : 
 :  ===>                                       : 
 :  F4=プロンプト   F9= コマンドの複写   F12= 取消し                              : 
 :  (C) COPYRIGHT IBM CORP. 1981, 1998.                                       : 
 :............................................................................: 

このコマンド入力ラインにコマンドを入力して、各種の作業が割りこみで処理できます。





もどる 目 次



(C)COPYRIGHT ISHIOKA KATSUHIDE 2000