| 出力セッション用フォームを作成するには |  |
| 出力セッションを作成する場合は、そのセッションのフォームも作成する必要があります。 フォームは、範囲指定と処理オプションの入力に使用します。 範囲指定では上限と下限を指定します。範囲は通常、キーフィールドや代替キーフィールドに使用されます。フォームに挿入するフィールドは、データベースから行を選択するメイン SQL ステートメントで使用されるプログラムスクリプトの変数に対応する必要があります。変数の範囲を追加するには、SQL ステートメントを拡張します。 処理オプションは、行の選択やソート順序の追加条件を指定するために使用します。レポートグループ番号を変更して、ユーザのために別のレポートが自動的に選択されるようにする処理オプションもあります。 重要 ダイナミックフォームエディタの詳細については、ダイナミックフォームエディタのオンラインヘルプを参照してください。 プログラムスクリプトを確認する フォームを作成する前に、プログラムスクリプトを確認すると役に立ちます。出力セッションを作成したときにプログラムスクリプトを作成している場合は、特に有用です。プログラムスクリプトにはデフォルトの範囲指定が含まれています。 生成されたプログラムスクリプトを拡張して、親テーブルへの参照を問い合わせる必要があるかもしれません。 以下のプログラムスクリプト例を参照してください。
    |**********************************************************
    |* 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. グループを挿入する フォームにグループを挿入するには セッション (ttadv2500m000) セッションで、フォームの作成が必要なセッションを選択します。 フォームの編集... をクリックします。ダイナミックフォームエディタが開始されます。 範囲指定のグループを挿入します。 グループの挿入 手順 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. フォームを保存する フォームを保存します。 フォームエディタ内から変更結果を確認できます。ファイルメニューの詳細セッションの表示をクリックします。セッションが開始されます。 フォームの結果 フォームを保存して終了します。 関連トピック フォーム フォームを作成するには フォームを編集するには レポートを作成するには |