4.4.9 レポート作成に関するQ&A

LANSAによるレポート作成を試みた方からよく訊ねられる事項と、その回答を挙げておきます。

フィールドの中身が空や0になっている場合があるのですがどうしてですか?

最も多いのは、行の定義コマンドで参照されているフィールドが、実際にはまだデータベースから検索されていない場合です。SELECT、FETCHなど、データベースからデータを取り込むコマンドについて、想定通り検索されているかどうか確認してください。

想定外のところにブレーク行が入ってしまうのですがなぜですか?

多くの場合、印刷コマンドに渡されるデータが、想定通りの順序になっていないのが原因です。LANSA側で自動的に整列することはないことに注意してください。ファイルからデータを読み込んでRDMLプログラムに渡す際は、所定の順序で渡るよう制御しなければなりません。ファイルのキーが所定の順序に並んでいるか、「トリガー」パラメータが処理順序と一致しているかも確認してください。

最後のデータや合計欄が印字されないのですがどうしてでしょうか?

多くの場合、ENDPRINTコマンドの欠落が原因です。最後のブレーク行(あるいは「総合計」行)は、ENDPRINTコマンドを実行しなければ、レポートに印字されません。ENDPRINTコマンドがなくても、ファンクションの終了時には自動的に実行されますが、想定通りの結果が得られるとは限りません。