WEB印刷仕入先一覧表(RSIRINQ)[WEB印刷作成]

最終更新: 2025-11-24

 
 
SpoolライターVer5.0が導入されている場合は
WEB適用業務でも印刷を出力する業務を作成できます。
ただしWEB印刷では出力はPDFとなります。

                        WEB PYTHON の印刷定義  (CRTWEBPRT)                  
                                                                          
  選択項目を入力して,実行キーを押してください。                          
                                                                          
 PYTHON プログラム  . . . . . . .   RSIRINQ        拡張子 .py             
    ディレクトリー  . . . . . . .     *PYTHON                   
                                       ...                                
  ファイル  . . . . . . . . . . .   SIREMT         名前                   
    ライブラリー  . . . . . . . .     QTRFIL       名前 , *LIBL, *CURLIB  
 PRTF ファイル  . . . . . . . . .   *PYTHON        名前 , *PYTHON         
    ライブラリー  . . . . . . . .     *LIBL        名前 , *LIBL, *CURLIB  
 HTML ディレクトリー  . . . . . .   '/PYTHON.400/PROJECT'
                                                        
  生成オプション  . . . . . . . .   *NONE         *NONE, *ADD, *REPLACE   
                                                                                         

 
 

[解説]

項目数の多いデータ・ベースも「一覧表形式」で印刷することができます。
サンプル・ライブラリー(QTRFIL)の仕入先マスター(SIREMT)を使って
一覧表形式のWEB印刷適用業務を作ることができます。

[パラメータの説明]

PYTHON プログラム. . . . . . . . . . . . . .作成するPythonプログラムの名前とそのソースを
ディレクトリー              保管するディレクトリー名を指定します。
*PYTHON = /PYTHON/PROJECT/(PYTHON名)
としてPYTHON名のディレクトリーも自動生成されます。
十分精通するまではこの指定のままで生成してください。

ファイル. . . . . . . . . . . . . . . . . . このPythonが扱う主たるデタ・ベースの名前と
 ライブラリー ライブラリー名を指定してください。

PRTF ファイル . . . . . . . . . . . . . . . このPythonが使用する印刷装置ファイル(PRTF)の名前と
ライブラリー               ライブラリー名を指定してください。

生成オプション. . . . . . . . . . . . . . . *NONE以外の:ADD(=初期作成)または *REPLACE(=置換え)を
指定してください。*ADDを指定したときは既存の同じ名前の
Pythonが存在しているか検査され存在していれば
エラーとなります。
初めてこのPythonの名前で作成するときは*ADDを
                      指定してください。

[基本情報の定義]

                        基本情報の定義                                     
                                                                           
                                                                           
                                                                           
 ジョブ・タイトル                        仕入先一覧表                  
 画面様式                               3          1= 単票印刷  2= 最大表示
                                                   3= 一覧表    4= 伝票型式
                                                                           
 数値の編集                             Y          Y=YES,  N=NO            
                                                                           
 印刷サイズ                                                     
  桁                                   132        80, 132 198  
  行                                   66         66, 88                        
                                                                           

[解説]

ジョブ・タイトル. . . . . . . . : この適用業務のタイトルを入力してください。
                 このタイトルは適用業務画面の見出しとして使われます。

画面様式. . . . . . . . . . . . : 摘要業務のタイプを指定します。
1=単票形式 : 1レコード1画面1フィールド/行のDFUのような
基本型式の画面入力の適用業務を作成します。

2=最大表示 : 単票形式ですが1画面にフィールドをできるだけ
多く表示する画面型式の適用業務を作成します。

3=一覧表形式: SFLレコードによる一覧表形式の適用業務画面を
作成します。

4=伝票型式: 日本独自の伝票入力型の適用業務を作成します。

数値の編集. . . . . . . . . . . :数値を編集するかどうかを指定します。

印刷サイズ. . . . . . . . . . . :作成する印刷装置ファイル(PRTF)のサイズを指定します。

                         レコード様式の処理                               
                                                                          
ファイル      SIREMT                           ライブラリー        QTRFIL 
                                                                          
オプションを入力して、実行キーを押してください                            
  1= 指定                                                                 
                                                                          
                                                                          
OPT   様式        定義   記述                                           
1   DSPHEAD        N      初期画面レコード 
1   LISTDEF        N      リスト項目定義                                         
                                                                          

解説

画面芳樹を生成するための画面レコード様式の候補がすべて
表示されますのでそれぞれの画面様式に対するフィールドの定義を
行う必要があります。
選択欄(OPT)には初期値として1が既に表示されていますので
このままで実行キーを押すと最初のレコード:DSPHEADが選択されます。
このままで実行キーを押してください。

                          フィールドの選択および順序付け              
                                                                      
 ファイル      SIREMT                    ライブラリー         QTRFIL  
 レコード様式  SIREMTR        テキスト   初期画面レコード             
                                                                      
 フィールドとその順序を選択するか,すべてを選択する F21 キーを押して  
 実行キーを押してください。                                           
                                                                      
 順序    フィールド    属性      長さ      タイプ      記述           
    10   SRCODE        キー       10       文字        仕入先コード     
                                                                      

[解説]

選択したDSPHEADレコードに表示するフィールドの選択が要求されます。
この初期画面DSPHEADでは指定したデータ・ベース:QTRFIL/SIREMTの
アクセス・パスすなわちキー・フィールドが表示されて
順序選択の欄には初期値として10が既に表示されています。
このままで実行キーを押してください。

                          レコード様式の処理                              
                                                                          
 ファイル      SIREMT                           ライブラリー        QTRFIL
                                                                          
 オプションを入力して、実行キーを押してください                           
   1= 指定                                                                
                                                                          
                                                                          
OPT   様式        定義   記述                                          
    DSPHEAD        Y      初期画面レコード 
 1   LISTDEF        N      リスト項目定義                              
                                                                          

[解説]

表示は元のレコード選択の画面に戻りますが
今、処理したDSPHEADレコードの選択OPT=1は消えて
次の明細画面: DSPDTA に OPT=1 が残っていますので
続けてこのままで実行キーを押すと 明細画面: DSPDTAが
選択されます。

                         フィールドの選択および順序付け             
                                                                    
ファイル      SIREMT                    ライブラリー         QTRFIL 
レコード様式  SIREMTR        テキスト   明細画面レコード            
                                                                    
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して 
実行キーを押してください。                                          
                                                                    
順序    フィールド    属性      長さ      タイプ      記述          
    0   SRCODE        キー       4        文字        コード                
    0   SRNMK                    32       文字        カナ名                
    0   SRNMJ                    32       漢字 OPEN   仕入先名 1            
    0   SRNMJ2                   32       漢字 OPEN   仕入先名 2            
    0   SRNM                     12       漢字 OPEN   略名                  
    0   SRSHOT                   5        文字        略号                  
    0   SRTEL                    15       文字        TEL                
    0   SRFAX                    15       文字        FAX                
    0   SFAX                     2        文字        FAX短縮            
    0   SRFORD                   1        文字        FAX注文            
                                                                     続く ..
                                              
F3= 終了   F15= 他のデータ・ベースの結合      F12= 取消し                    
F21= すべての選択                                                                                                                                

[解説]

明細画面DSPDTAの選択候補としてデータ・ベース: QTRFIL/SIREMTのすべての
フィールドが表示されます。
「F21= すべての選択」キーを押してすべてのフィールドを詮索してください。

                          フィールドの選択および順序付け               
                                                                       
 ファイル      SIREMT                    ライブラリー         QTRFIL   
 レコード様式  SIREMTR        テキスト   明細画面レコード              
                                                                       
 フィールドとその順序を選択するか,すべてを選択する F21 キーを押して   
 実行キーを押してください。                                            
                                                                       
 順序    フィールド    属性      長さ      タイプ      記述            
   10   SRCODE        キー       4        文字        コード                
   20   SRNMK                    32       文字        カナ名                
   30   SRNMJ                    32       漢字 OPEN   仕入先名 1            
   40   SRNMJ2                   32       漢字 OPEN   仕入先名 2            
   50   SRNM                     12       漢字 OPEN   略名                  
   60   SRSHOT                   5        文字        略号                  
   70   SRTEL                    15       文字        TEL                
   80   SRFAX                    15       文字        FAX                
   90   SFAX                     2        文字        FAX短縮            
  100   SRFORD                   1        文字        FAX注文            
                                                                     続く ..
                                                                      
F3= 終了   F15= 他のデータ・ベースの結合      F12= 取消し                    
F21= すべての選択                                                            

[解説]

仕入先マスターには結合ファイルは必要ありませんので
このままで実行キーを押します。

                         終了画面                                
                                                                 
選択項目を入力して、実行キーを押してください                     
                                                                 
終了画面を作成しますか ?               Y            Y=YES,  N=NO 
                                                                 

[解説]

終了画面は必要なのでこのままで実行キーを押します。

                        PYTHON プログラム定義の終了                          
                                                                             
選択項目を入力して、実行キーを押してください                                 
                                                                             
  プログラムの保管                 Y                Y=YES,  N=NO             
  プログラムの実行                 N                Y=YES,  N=NO             
    選択項目 Y=YES の場合                                                    
      実行のタイプ                 1               1= 変更 ,  2= 表示        
 DDS ソースの保管                  Y                Y=YES,  N=NO             
 PYTHON ソースの保管               Y                Y=YES,  N=NO             
  プログラムの保管 Y=YES の場合                                              
   PYTHON プログラム               PSIRINQ.PY       名前 *.PY               
      ディレクトリー                 /PYTHON.400/PROJECT/PSIRINQ/PSIRINQ.PY
                                                                             
    権限                           *LIBCRTAUT                                
  テキスト                          仕入先一覧表                         
                                                                             
  DDS ソースの保管 Y=YES の場合                      名前, *LIBCRTAUT       
    ソース・ファイル               QPRTSRC         名前                      
    ライブラリー                     QTRSRC        名前, *CURLIB            
    ソース・メンバー               PSIREMT         名前                      

[解説]

最後にソースを生成する画面が表示されます。

プログラムの保管. . . . . . . . . . . .: Y=Pythonプログラムの保管を指示します。

プログラムの実行. . . . . . . . . . . .: 保管直後に実行するかどうかを指示します。
                     まだ慣れないうちは N としてください。

DDS ソースの保管 . . . . . . . . . . . : 印刷装置ファイル(PRTF)のDDSソースの保管を指示します。
Yを指示してください。

PYTHON ソースの保管. . . . . . . . . . : PYTHONプログラム・ソースの保管を Yで応答してください。

 PYTHON プログラム. . . . . . . . . . : 保管するPYTHONプログラムの名前を指示します。
拡張子.PYが必要です。

ディレクトリー. . . . . . . . . . . .: PYTHONを保管するIFSディリクトリーの名前を指示します。
/PYTHON.400/PROJECT/(PYTHOPN名)/(PYTHON名.PY)
の形式名にしてください。
PYTHONのプロジェクト(/PYTHON.400/PROJECT)の配下に
PYTHON名と同じ名前のプロジェトクが作成されて
その配下にPYTHONプログラム(PYTHON名.PY)が
                     保管されます。
                     プロジェクトの配下にはHTMテンプレートも保管される
場合があります。

ソース・ファイル. . . . . . . . . . . .: 印刷装置ファイル(PRTF)のDDSソース・ファイル名です。
QPRTSRCという名前のDDSソース・ファイルに保管されます。
ない場合はあらかじめ作成しておいてください。
ライブラリー . . . . . . . . . . . . . : ソース・ファイルのライブラリー名です。
QPRTSRCがライブラリー・リストで検索されて見つかった
ライブラリーが表示されます。

ソース・メンバー. . . . . . . . . . . .: PYTHONと同じ名前のソース・メンバーが作成されます。

実行キーを押すと印刷装置ファイル(PRTF)のDDSソースの作成に続いて
PYTHONプログラムも指定した場所に
保管されます。
PYTHONはコンパイルは必要ありません。

「PSIREMT.PY を保管しました 」

のような完了メッセージが表示されればWizard生成は成功です。
実行は「13. PYTHON データの印刷(PRTPTN)」
によって実行することができます。

[印刷指定コマンドの追加]

印刷適用業務の作成では実行時の印刷範囲の
指定するコマンドとCLプログラムも自動生成されます。
これによって印刷の範囲を実行時に動的に
指定することができるようになります。

[生成されたPYTHONソースは?]

どのようなPYTHONソースが生成されたのか気になるところですが
ライブラリー: PYTHON.400 がライブラリー・リストに存在していれば
コマンド入力画面で

EDTPTN (PYTHON名)

だけでPYTHONソースの内容を見ることができます。

PYTHONを実行する印刷装置ファイル(PRTF)のDDSソースは

STRSEU QTRSRC/QPRTSRC.(PYTHON名)

でオープンすることができます。

PRTPTN PSIRINQ

で実行してみると

のようにプロンプト画面 が表示されるので
このままで実行すると次のように
印刷スプールが出力されます。

[解説]

次に EDIPTN PSIRINQ で Pythonソースを次のように表示することが
できます。

import sys          
from as400 import * 
                                                                             
CallType(sys.argv[1])                                                        
Open("QTROBJ/RSIREMT", "PRINTER")               #  印刷装置ファイルをオープン
Open("QTRFIL/SIREMT", "FILE")                     #  仕入先マスターファイル  
                                                                             
#*********************************************************                   
#            # メイン・ルーチンの定義                                        
#*********************************************************                   
PRTRCD.SYSNAM = "S0667E36"                                                   
                                                                             
while SIREMTR.Read() != EOF:                                                 
    PRTRCD.SRCODE = SIREMTR.SRCODE                                           
    PRTRCD.SRNMK = SIREMTR.SRNMK                                             
    PRTRCD.SRNMJ = SIREMTR.SRNMJ                                             
    PRTRCD.SRNMJ2 = SIREMTR.SRNMJ2                                           
    PRTRCD.SRNM = SIREMTR.SRNM                                               
    PRTRCD.SRSHOT = SIREMTR.SRSHOT                                           
     :
        PRTRCD.STORCD = SIREMTR.STORCD 
    PRTRCD.STOROK = SIREMTR.STOROK 
    PRTRCD.Write()                 

によって
Python.400フレーム・ワークが提供する「AS400エンジン」を
インクルードします。
これによってILE-RPG言語が使っているレコード・レベルの入出力命令を
PYTHONでも使うことができるようになります。
レコード・レベルの入出力命令は一般的なSQL命令に比べて
圧倒的にパフォーマンスにおいて優れています。

ファイルのオープンは

Open("QTROBJ/RSIREMT", "PRTF")              #  印刷装置ファイルをオープン
Open("QTRFIL/SIREMT", "FILE")                     #  仕入先マスターファイル

で宣言されており PRTFまたは FILEのタイプを示すだけの
簡単な宣言で済みます。
これが最初に使うAS400エンジンのメソッドです。

while SIREMTR.Read() != EOF で以下の処理の繰り返しを定義していますが

PRTRCD.Write() で印刷レコード: PRTRCD の印刷出力を行っています。

その他のこのPYTHONプログラムの詳細はこちらを参照してください。