Groupmax Form Version 6 ユーザーズガイド
図7-3に示した業務の処理定義の例を,次に示します。
- 項目処理
[得意先コード:項目処理]
@レコード入力△TOKUI,?コード=得意先コード
@判定開始△#コード=¥NIL
@成立
@電文表示△'参照するデータがありません。'
@再入力△2
@判定終了
@代入△得意先名=#名前
[コード:項目処理]
@レコード入力△SHOHIN,?コード=コード
@判定開始△#コード=¥NIL
@成立
@電文表示△'参照するデータがありません。'
@再入力△2
@判定終了
@代入△商品名=#商品名
@代入△単価=#単価
[金額:項目処理]
@代入△金額=単価*数量
[合計:項目処理]
@代入△合計=SUM(金額)
- 後処理
@レコード登録△UDATA,A
- 「得意先コード」の項目処理(データ確定後処理)
レコードの読み込み
伝票発行画面の「得意先コード」にデータを入力・確定したとき,@レコード入力でデータベースTOKUIのレコードを読み込みます。TOKUIの項目「コード」の内容が,「得意先コード」の内容と同じであるレコードを読み込むように,条件を指定してあります。
@判定開始〜@判定終了では,該当するレコードが実際にあったかどうかを判定します。該当するレコードがないと,レコード項目の内容は空値「¥NIL」になります。この場合は,@電文表示で「参照するデータがありません」というメッセージを表示します。また,@再入力で「得意先コード」を再び入力待ちにします。
判定の終了後,@代入で,読み込んだレコードの「名前」のデータを,画面の「得意先名」に表示します。
項目名の指定方法
@レコード入力のオペランドでは,データベースのレコードの項目名「コード」に「?」を付けて指定しています。また,@判定開始のオペランドでは,「#」を付けています。これは,画面の項目名とデータベースの項目名を区別するための指定方法で,それぞれ「?項目名」,「#項目名」といいます。「?項目名」は,レコードをこれから読み込もうとするときに指定し,「#項目名」は,読み込んだ後で指定します。
- 「コード」の項目処理(データ確定後処理)
データベースSHOHINの項目「コード」の内容が,画面の項目「コード」の入力データと同じであるレコードを読み込みます。読み込んだレコードの「商品名」,「単価」の内容を,画面の項目に表示します。
- 「金額」の項目処理(データ確定後処理)
「単価」のデータと「数量」のデータとを掛けた計算結果を表示します。「単価」のデータは,データベースから読み込んだデータです。「数量」のデータは,ユーザが画面に入力したデータです。
「金額」は表示項目なので,直前の「数量」の処理が終わって「金額」に制御が移ったときに,定義した処理が実行されます。
- 「合計」の項目処理(データ確定後処理)
処理済みの「金額」の合計を表示します。「コード」〜「金額」は明細項目なので,処理が繰り返し実行されます。「金額」の処理が実行されるたびに,「金額」の合計を計算して表示します。
- 後処理
データ入力が終わって,その伝票発行画面を終了したとき,@レコード登録で画面のデータをデータベースUDATAに格納します。
UDATAは,作成順のデータベースです。画面の項目のうち,UDATAの項目と項目名・属性が一致している項目のデータが格納されます。
All Rights Reserved, Copyright (C) 2001, Hitachi, Ltd.