出力セッション用フォームを作成するには

出力セッションを作成する場合は、そのセッションのフォームも作成する必要があります。

フォームは、範囲指定と処理オプションの指定に使用します。

  • 範囲指定では上限と下限を指定します。範囲は通常、キーフィールドや代替キーフィールドに使用されます。フォームに挿入するフィールドは、データベースから行を選択するメイン SQL ステートメントで使用されるプログラムスクリプトの変数に対応する必要があります。変数の範囲を追加するには、SQL ステートメントを拡張します。
  • 処理オプションは、行の選択やソート順序の追加条件を指定するために使用します。レポートグループ番号を変更して、ユーザのために別のレポートが自動的に選択されるようにする処理オプションもあります。

Dynamic Form Editor の詳細については、Dynamic Form Editor のオンラインヘルプを参照してください。

フォームを作成する前に、プログラムスクリプトを確認すると役に立ちます。出力セッションを作成したときにプログラムスクリプトを作成している場合は、特に有用です。プログラムスクリプトにはデフォルトの範囲指定が含まれています。

生成されたプログラムスクリプトを拡張して、親テーブルへの参照を問い合わせる必要があるかもしれません。

次のプログラムスクリプト例を参照してください。

|**********************************************************
|* cxoes0421  0  VRC B61U a  dv00
|* 
|* Development User              
|* 2005-02-07
|**********************************************************
|* Main table cxoes021 Suppliers, Form Type 4
|**********************************************************
                                                                                
|****************************** declaration section *******
declaration:

  table   tcxoes021 | Suppliers
  table   tcxoes031 | Countries

   extern  domain  cxsuno           suno.f    fixed
   extern  domain  cxsuno           suno.t    fixed

|****************************** program section ************

|****************************** group section **************
group.1:
init.group:
   get.screen.defaults()

|****************************** choice section *************
choice.cont.process:
on.choice:
   execute(print.data)

choice.print.data:
on.choice:
   if rprt_open() then
       read.main.table()
       rprt_close()
   else
       choice.again()
   endif

|****************************** field section ***************
field.suno.f:
when.field.changes:
   suno.t = suno.f

|****************************** function section ************
functions:

function read.main.table()
{
    select cxoes021.*, cxoes031.*
    from cxoes021, cxoes031
    where   cxoes021._index1 inrange {:suno.f}
                                    and {:suno.t}
    and     cxoes021.ccty refers to cxoes031
    order by cxoes021._index1
   selectdo
       rprt_send()
   endselect
}

出力セッション用フォームを作成します。フォームはさまざまな方法で作成できますが、ここでは標準的なフォームを出力セッション用に設定する手順を示します。

ステップ 1. グループを挿入する

フォームにグループを挿入するには

  1. セッション (ttadv2500m000) セッションで、フォームの作成が必要なセッションを選択します。
  2. フォームの編集...をクリックします。Dynamic Form Editorが開始されます。
  3. 範囲指定のグループを挿入します。
グループの挿入

グループの挿入

ステップ 2. ラベルを挿入する

ラベルが 「開始」 に対応するラベル専用フィールドを挿入します。位置指標は 「上」 です。

この表は、フィールドプロパティの例を示しています。

フィールド入力値
フィールド名label.only
フィールドをラベル専用で使用Yes
ラベルコードttgen.from
位置

 

ラベルのコードが 「終了」 に対応する 2 番目のラベル専用フィールドを挿入します。「終了」 ラベルフィールドは、「開始」 ラベルフィールドの子フィールドです。

この表は、フィールドプロパティの例を示しています。

フィールド入力値
フィールド名label.only
フィールドをラベル専用で使用Yes
ラベルコードttgen.to
位置

 

ラベルフィールドの挿入

ラベルフィールドの挿入

ステップ 3. 選択フィールドを挿入する

フォームに挿入する選択フィールドは、プログラムスクリプトのメイン SQL ステートメントで使用されている変数に対応する必要があります。

最初の選択フィールドに対応する 「開始」 フィールドを挿入します。このフィールドは末尾に .f が付いたテーブルフィールド名で表されます。

この表は、フィールドプロパティの例を示しています。

フィールド入力値
フィールド名suno.f
フィールドをラベル専用で使用
ドメインcx suno
フォームフィールドYes, fmin($#)
ラベルコードoes021.suno
位置
ズームセッション
ズーム先cxoes0121m000
返値フィールドcxoes021.suno

 

最初の選択フィールドに対応する 「終了」 フィールドを挿入します。このフィールドは末尾に .t が付いたテーブルフィールド名で表されます。

この表は、フィールドプロパティの例を示しています。

フィールド入力値
フィールド名suno.t
フィールドをラベル専用で使用
ドメインcx suno
フォームフィールドYes, fmax($#)
ラベルコード
位置
ズームセッション
ズーム先cxoes0121m000
返値フィールドcxoes021.suno

 

範囲指定フィールドの挿入

範囲指定フィールドの挿入

ステップ 4. 標準コマンドを編集する

ツールメニューの標準コマンドをクリックします。標準コマンド (ttadv3110s000) セッションが開始されます。以下のコマンドを使用できるように、フォームの標準コマンドを編集します。

コマンド有効
レコードの更新はい
レポートの出力はい
取消はい
ジョブ作成はい (省略可)
デフォルト保存はい (省略可)
デフォルト取得はい (省略可)

 

ステップ 5. フォームを保存する

フォームを保存します。

フォームエディタ内から変更結果を確認できます。ファイルメニューの詳細セッションの表示をクリックします。セッションが開始されます。

フォームの結果

フォームの結果

フォームを保存して終了します。