WEB印刷受注伝票(RJUCHU)[WEB印刷作成]
SpoolライターVer5.0が導入されている場合は
WEB適用業務でも印刷を出力する業務を作成できます。
ただしWEB印刷では出力はPDFとなります。
WEB PYTHON の印刷定義 (CRTWEBPRT)
選択項目を入力して,実行キーを押してください。
PYTHON プログラム . . . . . . . PJUCHU 拡張子 .py
ディレクトリー . . . . . . . *PYTHON
...
ファイル . . . . . . . . . . . JUCHU 名前
ライブラリー . . . . . . . . QTRFIL 名前 , *LIBL, *CURLIB
PRTF ファイル . . . . . . . . . *PYTHON 名前 , *PYTHON
ライブラリー . . . . . . . . *LIBL 名前 , *LIBL, *CURLIB
HTML ディレクトリー . . . . . . '/PYTHON.400/PROJECT'
生成オプション . . . . . . . . *NONE *NONE, *ADD, *REPLACE
[解説]
日本独自の伝票型式の印刷の適用業務を作成します。
最初はサンプル・ライブラリー(QTRFIL)の受注ファイル(JUCHU)を印刷するための
PYTHON プログラムを生成します。
ここではまずWizardの使い方に慣れることから始めます。
説明の指示に従って操作を開始してください。
[パラメータの説明]
PYTHON プログラム. . . . . . . . . . . . . .作成するPythonプログラムの名前とそのソースを
ディレクトリー 保管するディレクトリー名を指定します。
*PYTHON = /PYTHON/PROJECT/(PYTHON名)
としてPYTHON名のディレクトリーも自動生成されます。
十分精通するまではこの指定のままで生成してください。
ファイル. . . . . . . . . . . . . . . . . . このPythonが扱う主たるデタ・ベースの名前と
ライブラリー ライブラリー名を指定してください。
PRTF ファイル . . . . . . . . . . . . . . . このPythonが使用する印刷装置ファイル(PRTF)の名前と
ライブラリー ライブラリー名を指定してください。
生成オプション. . . . . . . . . . . . . . . *NONE以外の:ADD(=初期作成)または *REPLACE(=置換え)を
指定してください。*SADDを指定したときは既存の同じ名前の
Pythonが存在しているか検査され存在していれば
エラーとなります。
初めてこのPythonの名前で作成するときは*ADDを
指定してください。
[基本情報の定義]
基本情報の定義
ジョブ・タイトル 受注伝票
画面様式 4 1= 単票印刷 2= 最大表示
3= 一覧表 4= 伝票型式
数値の編集 Y Y=YES, N=NO
印刷サイズ
桁 132 80, 132 198
行 66 66, 88
[解説]
ジョブ・タイトル. . . . . . . . : この適用業務のタイトルを入力してください。
このタイトルは適用業務画面の見出しとして使われます。
画面様式. . . . . . . . . . . . : 摘要業務のタイプを指定します。
4=伝票型式: 日本独自の伝票入力型の適用業務を作成します。
数値の編集. . . . . . . . . . . :数値を編集するかどうかを指定します。
印刷サイズ. . . . . . . . . . . :作成する印刷装置ファイル(PRTF)のサイズを指定します。
レコード様式の処理
ファイル JUCHU ライブラリー QTRFIL
オプションを入力して、実行キーを押してください
1= 指定
OPT 様式 定義 記述
1 DSPHEAD N 初期画面レコード
1 DSPTOP N 上部見出し画面レコード
1 LISTDEF N リスト項目定義レコード
1 DSPBOT N 下部ボトム・レコード
解説
画面芳樹を生成するための画面レコード様式の候補がすべて
表示されますのでそれぞれの画面様式に対するフィールドの定義を
行う必要があります。
選択欄(OPT)には初期値として1が既に表示されていますので
このままで実行キーを押すと最初のレコード:DSPHEADが選択されます。
このままで実行キーを押してください。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト 初期画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
10 JUCNO キー 5,0 ゾーン 受注№
0 JUGYO キー 2,0 ゾーン №
[解説]
選択したDSPHEADレコードに表示するフィールドの選択が要求されます。
この初期画面DSPHEADでは指定したデータ・ベース:QTRFIL/SHOHINの
アクセス・パスすなわちキー・フィールドが表示されて
順序選択の欄には初期値として10が既に表示されています。
初期画面は受注№だけを選択しますので
№の順序は 0に変更してから実行キーを押してください。
レコード様式の処理
ファイル JUCHU ライブラリー QTRFIL
オプションを入力して、実行キーを押してください
1= 指定
OPT 様式 定義 記述
DSPHEAD Y 初期画面レコード
1 DSPTOP N 上部見出し画面レコード
1 LISTDEF N リスト項目定義レコード
1 DSPBOT N 下部ボトム・レコード
[解説]
表示は元のレコード選択の画面に戻りますが
今、処理したDSPHEADレコードの選択OPT=1は消えて
次の上部見出し画面: DSPTOP に OPT=1 が残っていますので
続けてこのままで実行キーを押すと 上部見出し: DSPTOPが
選択されます。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト 明細画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUCNO キー 5,0 ゾーン 受注№
0 JUGYO キー 2,0 ゾーン №
0 JUKBN 2 文字 受注区分
0 JUSHOR 2 文字 処理区分
0 JUTANT 4 文字 担当者コード
0 JUTKCD 4 文字 得意先コード
0 JUDATE 8,0 ゾーン 受注日
0 JUNOKI 8,0 ゾーン 納期
0 JHCODE 10 文字 商品コード
0 JUSUR 3,0 ゾーン 受注数
F3= 終了 F15= 他のデータ・ベースの結合 F12= 取消し
F21= すべての選択
[解説]
明細画面DSPDTAの選択候補としてデータ・ベース: QTRFIL/SHOHINのすべての
フィールドが表示されます。
「F21= すべての選択」キーを押してすべてのフィールドを詮索してください。
フィールドの選択および順序付け
ファイル SHOHIN ライブラリー QTRFIL
レコード様式 SHOHINR テキスト 明細画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
10 JUCNO キー 5,0 ゾーン 受注№
0 JUGYO キー 2,0 ゾーン №
20 JUKBN 2 文字 受注区分
30 JUSHOR 2 文字 処理区分
40 JUTANT 4 文字 担当者コード
50 JUTKCD 4 文字 得意先コード
60 JUDATE 8,0 ゾーン 受注日
70 JUNOKI 8,0 ゾーン 納期
0 JHCODE 10 文字 商品コード
0 JUSUR 3,0 ゾーン 受注数
F3= 終了 F15= 他のデータ・ベースの結合 F12= 取消し
F21= すべての選択
[解説]
明細画面の上部見出しの項目として10~70番を上のわうに入力して実行キーを押してください。
次に担当者マスターと結合して担当名を表示するために
「F15= 他のデータ・ベースの結合」を押してください。
他のデータ・ベースの結合
選択項目を入力して、実行キーを押してください
ファイル TANTO 名前、リストは F4 キー
ライブラリー *LIBL 名前、 *CURLIB
[解説]
このように結合ファイルに担当者マスター(TANTO)を指定します。
ライブラリー・リスト上に担当者マスター(TANTO)が存在していれば
ライブラリーは *LIBLのままで検索されます。
ファイル結合方法の指定
ファイル TANTO ライブラリー *LIBL
テキスト
ファイルの選択項目の比較方法を入力して、実行キーを押してください
テスト : EQ
フィールド テスト フィールド テキスト
TACODE EQ JUTANT 担当者コード
終わり
フィールド テキスト 長さ タイプ 小数
JUCNO 受注№ 5,0 ゾーン
JUKBN 受注区分 2 文字
JUSHOR 処理区分 2 文字
JUTANT 担当者コード 4 文字
JUTKCD 得意先コード 4 文字
JUDATE 受注日 8,0 ゾーン
[解説]
左端のフィールドには担当者マスター(TANTO)のキー・フィールドが
表示されますのでそれに対応するキー・フィールドを下部に表示されている
フィールドの中から選択して入力してください。
ここでは受注ファイルのJUTANTを選択して入力します。
他のデータ・ベースの結合
選択項目を入力して、実行キーを押してください
ファイル TANTO 名前、リストは F4
ライブラリー *LIBL 名前、 *CURLIB
テキスト 明細画面レコード
オプションを入力して、実行キーを押してください
1= このフィールドを取り込みとして選択する
OPT フィールド 属性 長さ タイプ 記述
TACODE 4 文字 担当者コード
1 TTNAM 8 漢字 OPEN 担当者略名
TTNAMJ 22 漢字 OPEN 担当者名
[解説]
下部には結合した担当者マスター(TANTO)のフィールドがすべて表示されます。
表示項目として追加したいフィールドを OPT=1で選択します。
ここでは担当者略名: TTNAM にOPT=1を入力して実行キーを押してください。
フィールドの選択および順序付け
ファイル SHOHIN ライブラリー QTRFIL
レコード様式 SHOHINR テキスト 明細画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUTANK 7,0 ゾーン 単価
0 JUKING 7,0 PACK 受注金額
0 TTLKNG 7,0 PACK 合計受注金額
45 TTNAM TANTO 8 漢字 OPEN 担当者略名
[解説]
追加した担当者略名(TTNAM)はフィールド一覧の一番最後に追加されますので
挿入したい位置の順序番号を指定します。
ここでは担当者コードの次に表示したいので40の次の45を指定して実行キーを
押します。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト 上部見出し画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
10 JUCNO キー 5,0 ゾーン 受注№
20 JUKBN 2 文字 受注区分
30 JUSHOR 2 文字 処理区分
40 JUTANT 4 文字 担当者コード
45 TTNAM TANTO 8 漢字 OPEN 担当者略名
50 JUTKCD 4 文字 得意先コード
60 JUDATE 8,0 ゾーン 受注日
70 JUNOKI 8,0 ゾーン 納期
0 JUGYO キー 2,0 ゾーン №
0 JHCODE 10 文字 商品コード
[解説]
次に得意先マスター(TOKMAS)と結合して得意先名を挿入したいと思います。
先のように「F15= 他のデータ・ベースの結合」を押して
次のように得意先マスターを結合してください。
ファイル結合方法の指定
ファイル TOKMAS ライブラリー *LIBL
テキスト
ファイルの選択項目の比較方法を入力して、実行キーを押してください
テスト : EQ
フィールド テスト フィールド テキスト
TKCODE EQ JUTKCD 得意先コード
終わり
フィールド テキスト 長さ タイプ 小数
JUCNO 受注№ 5,0 ゾーン
JUKBN 受注区分 2 文字
JUSHOR 処理区分 2 文字
JUTANT 担当者コード 4 文字
TTNAM 担当者略名 8 漢字 OPEN
JUTKCD 得意先コード 4 文字
[解説]
得意先マスターの得意先略名(TKNM)を選択します。
他のデータ・ベースの結合
選択項目を入力して、実行キーを押してください
ファイル TOKMAS 名前、リストは F4
ライブラリー *LIBL 名前、 *CURLIB
テキスト 上部見出し画面レコード
オプションを入力して、実行キーを押してください
1= このフィールドを取り込みとして選択する
OPT フィールド 属性 長さ タイプ 記述
TKCODE 4 文字 得意先コード
TKNMJ 32 漢字 OPEN 得意先名
1 TKNM 12 漢字 OPEN 略名
TKKBN 1 文字 得意先区分
TKTEL 15 文字 電話番号
[解説]
得意先コードの次の位置に得意先名を順序番号55と指定します。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト 上部見出し画面レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUSUR 3,0 ゾーン 受注数
0 JUTANK 7,0 ゾーン 単価
0 JUKING 7,0 PACK 受注金額
0 TTLKNG 7,0 PACK 合計受注金額
55 TKNM TOKMAS 12 漢字 OPEN 略名
[解説]
次に明細行のリスト項目定義レコード(LITSDEF)を選択します。
LISTDEF はSFLレコードです。
レコード様式の処理
ファイル JUCHU ライブラリー QTRFIL
オプションを入力して、実行キーを押してください
1= 指定
OPT 様式 定義 記述
DSPHEAD Y 初期画面レコード
DSPTOP Y 上部見出し画面レコード
1 LISTDEF N リスト項目定義レコード
1 DSPBOT N 下部ボトム・レコード
[解説]
明細行の項目をつぎのように選択してください。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト リスト項目定義レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUCNO キー 5,0 ゾーン 受注№
10 JUGYO キー 2,0 ゾーン №
0 JUKBN 2 文字 受注区分
0 JUSHOR 2 文字 処理区分
0 JUTANT 4 文字 担当者コード
0 JUTKCD 4 文字 得意先コード
0 JUDATE 8,0 ゾーン 受注日
0 JUNOKI 8,0 ゾーン 納期
20 JHCODE 10 文字 商品コード
30 JUSUR 3,0 ゾーン 受注数
40 JUTANK 7,0 ゾーン 単価
50 JUKING 7,0 PACK 受注金額
0 TTLKNG 7,0 PACK 合計受注金額
[解説]
商品コードに対して商品名を表示するためには
商品マスターとの結合が必要です。
そこで「F15= 他のデータ・ベースの結合」を押してください。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト リスト項目定義レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
10 JUGYO キー 2,0 ゾーン №
20 JHCODE 10 文字 商品コード
30 JUSUR 3,0 ゾーン 受注数
40 JUTANK 7,0 ゾーン 単価
50 JUKING 7,0 PACK 受注金額
0 JUCNO キー 5,0 ゾーン 受注№
0 JUKBN 2 文字 受注区分
0 JUSHOR 2 文字 処理区分
0 JUTANT 4 文字 担当者コード
0 JUTKCD 4 文字 得意先コード
続く ..
F3= 終了 F15= 他のデータ・ベースの結合 F12= 取消し
F21= すべての選択
[解説]
商品マスター(SHOHIN)との結合を指示します。
他のデータ・ベースの結合
選択項目を入力して、実行キーを押してください
ファイル SHOHIN 名前、リストは F4 キー
ライブラリー *LIBL 名前、 *CURLIB
[解説]
受注ファイルの商品コード(JHCODE)を指定して
商品マスターとの結合を指示します。
ファイル結合方法の指定
ファイル SHOHIN ライブラリー *LIBL
テキスト
ファイルの選択項目の比較方法を入力して、実行キーを押してください
テスト : EQ
フィールド テスト フィールド テキスト
SHCODE EQ JHCODE 商品コード
[解説]
商品マスターの商品名(SHNAME)を選択します。
他のデータ・ベースの結合
選択項目を入力して、実行キーを押してください
ファイル SHOHIN 名前、リストは F4
ライブラリー *LIBL 名前、 *CURLIB
テキスト リスト項目定義レコード
オプションを入力して、実行キーを押してください
1= このフィールドを取り込みとして選択する
OPT フィールド 属性 長さ タイプ 記述
SHCODE 10 文字 商品コード
1 SHNAME 24 漢字 OPEN 商品名
SHTANK 7,0 ゾーン 単価
SHSCOD 4 文字 品種コード
[解説]
商品コードの次に配置するために順序番号を25に指定します。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト リスト項目定義レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUDATE 8,0 ゾーン 受注日
0 JUNOKI 8,0 ゾーン 納期
0 TTLKNG 7,0 PACK 合計受注金額
25 SHNAME SHOHIN 24 漢字 OPEN 商品名
[解説]
次に最下部の表示レコードを定義します。
レコード様式の処理
ファイル JUCHU ライブラリー QTRFIL
オプションを入力して、実行キーを押してください
1= 指定
OPT 様式 定義 記述
DSPHEAD Y 初期画面レコード
DSPTOP Y 上部見出し画面レコード
LISTDEF Y リスト項目定義レコード
1 DSPBOT N 下部ボトム・レコード
[解説]
最下部には合計受注金額だけを選択します。
フィールドの選択および順序付け
ファイル JUCHU ライブラリー QTRFIL
レコード様式 JUCHUR テキスト 下部ボトム・レコード
フィールドとその順序を選択するか,すべてを選択する F21 キーを押して
実行キーを押してください。
順序 フィールド 属性 長さ タイプ 記述
0 JUTANK 7,0 ゾーン 単価
0 JUKING 7,0 PACK 受注金額
10 TTLKNG 7,0 PACK 合計受注金額
[解説]
最後に終了画面を定義します。
レコード様式の処理
ファイル SHOHIN ライブラリー QTRFIL
オプションを入力して、実行キーを押してください
1= 指定
OPT 様式 定義 記述
DSPHEAD Y 初期画面レコード
DSPTOP Y 上部見出し画面レコード
LISTDEF Y リスト項目定義レコード
DSPBOT Y 下部ボトム・レコード
[解説]
このままで実行キーを押してください。
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 プログラム RJUCHU.PY 名前 *.PY
ディレクトリー /PYTHON.400/PROJECT/PJUCHU/PJUCHU.PY
権限 *LIBCRTAUT
テキスト 受注伝票
DDS ソースの保管 Y=YES の場合 名前, *LIBCRTAUT
ソース・ファイル QPRTSRC 名前
ライブラリー QTRSRC 名前, *CURLIB
ソース・メンバー RJUCHU 名前
[解説]
最後にソースを生成する画面が表示されます。
プログラムの保管. . . . . . . . . . . .: Y=Pythonプログラムの保管を指示します。
プログラムの実行. . . . . . . . . . . .: 保管直後に実行するかどうかを指示します。
まだ慣れないうちは N としてください。
DDS ソースの保管 . . . . . . . . . . . : 表示装置ファイル(DSPF)のDDSソースの保管を指示します。
Yを指示してください。
PYTHON ソースの保管. . . . . . . . . . : PYTHONプログラム・ソースの保管を Yで応答してください。
PYTHON プログラム. . . . . . . . . . : 保管するPYTHONプログラムの名前を指示します。
拡張子.PYが必要です。
ディレクトリー. . . . . . . . . . . .: PYTHONを保管するIFSディリクトリーの名前を指示します。
/PYTHON.400/PROJECT/(PYTHON名)/(PYTHON名.PY)
の形式名にしてください。
PYTHONのプロジェクト(/PYTHON.400/PROJECT)の配下に
PYTHON名と同じ名前のプロジェトクが作成されて
その配下にPYTHONプログラム(PYTHON名.PY)が
保管されます。
プロジェクトの配下にはHTMテンプレートも保管される
場合があります。
ソース・ファイル. . . . . . . . . . . .: 印刷装置ファイル(PRTF)のDDSソース・ファイル名です。
QPRTSRCという名前のDDSソース・ファイルに保管されます。
ない場合はあらかじめ作成しておいてください。
ライブラリー . . . . . . . . . . . . . : ソース・ファイルのライブラリー名です。
QPRTSRCがライブラリー・リストで検索されて見つかった
ライブラリーが表示されます。
ソース・メンバー. . . . . . . . . . . .: PYTHONと同じ名前のソース・メンバーが作成されます。
実行キーを押すと印刷装置ファイル(PRTF)のDDSソースの作成に続いて
印刷装置ファイル(PRTF)も作成され(CRTPRTF)PYTHONプログラムも指定した場所に
保管されます。
PYTHONはコンパイルは必要ありません。
「PJUCHU.PY を保管しました 」
のような完了メッセージが表示されればWizard生成は成功です。
実行は「13. PYTHON データの印刷(PRTPTN)」
によって実行することができます。
[印刷指定コマンドの追加]
印刷適用業務の作成では実行時の印刷範囲の
指定するコマンドとCLプログラムも自動生成されます。
これによって印刷の範囲を実行時に動的に
指定することができるようになります。
[生成されたPYTHONソースは?]
どのようなPYTHONソースが生成されたのか気になるところですが
ライブラリー: PYTHON.400 がライブラリー・リストに存在していれば
コマンド入力画面で
EDTPTN (PYTHON名)
だけでPYTHONソースの内容を見ることができます。
PYTHONを実行する印刷装置ファイル(PRTPF)のDDSソースは
STRSEU QTRSRC/QPRTSRC.(PYTHON名)
でオープンすることができます。
PRTPTN RJUCHU
で実行してみると
のようにプロンプト画面が表示されるので
受注№: 1から1を入力して実行すると次のように
受注伝票が印刷出力されます。
[解説]
担当者名や得意先名、商品名も正しく表示されています。
次に EDISRC PJUCHU で Pythonソースを次のように表示することが
できます。
[解説]
最初に
import sys from as400 import *
によって
Python.400フレーム・ワークが提供する「AS400エンジン」を
インクルードします。
これによってILE-RPG言語が使っているレコード・レベルの入出力命令を
PYTHONでも使うことができるようになります。
レコード・レベルの入出力命令は一般的なSQL命令に比べて
圧倒的にパフォーノンスにおいて優れています。
ファイルのオープンは
Open("QTROBJ/PJUCHU", "PRTF") # 印刷装置ファイルをオープン
Open("QTRFIL/JUCHU", "FILE") # 受注ファイル
Open("QTRFIL/TANTO", "FILE") # 担当者マスター
Open("QTRFIL/TOKMAS", "FILE") # 得意先マスターファイル
Open("QTRFIL/SHOHIN", "FILE") # 商品マスターファイル
で宣言されており DSPFまたは FILEのタイプを示すだけの
簡単な宣言で済みます。
これが最初に使うAS400エンジンのメソッドです。
while rc != EOF: で以下の処理の繰り返しを定義していますが
PRTHEAD.Write() で印刷見出し:期画面: PRTRCD の印刷出力を行っています。
その他のこのPYTHONプログラムの詳細はこちらを参照してください。