レポートでの論理式変数の使用例 例
論理式バリアブルは、バリアブルに対する値を決定するユーザ定義の論理式を表します。値変数の場合とは異なり、論理式変数のデフォルト値は決まっていません。論理式変数を使用したレポートを実行すると、
( システム日付やその他の変数にもとづいて ) 論理式変数に対する値が自動的に計算されます。たとえば、レポートには現会計年度および前会計年度のデータが表示されます。現会計年度および前会計年度の独立変数を2つ登録する場合は、レポートの出力時に選択画面上で両方の会計年度を入力しなければなりません。前会計年度の変数を論理式変数として定義する場合は、現会計年度の変数によってその値が生成されるため、選択画面上では現会計年度を入力するだけで十分です。
論理式変数の登録についての詳細は、
論理式変数の登録を参照してください。論理式変数を使用すると、新規タイプのレポートを複数登録することができます。次の例は、レポートで論理式変数を使用する方法を示しています。
例1
: ローリング期間特別目的元帳
(FI-SL) アプリケーションコンポーネントとともに供給されたレポート例 0R-FOVAR ( ライブラリ 0R1) を参照してください。このレポートでは、論理式変数を使用して
12 の期間を持つレポート列を登録します。レポートの実行中にレポート期間とレポート年度を入力すると、レポート期間と前の 11 期間のデータが出力されます。ローリング期間にもとづいてレポート例を定義するには、
12 期間に対する 12 の論理式変数、および対応する会計年度に対する 12 の論理式変数を登録します。この変数は、下のテーブルに示す順序で登録します。レポートライタレポートの登録の場合は、変数の対ごとに、事前定義列を
1 つ登録します。 ( まず、論理式変数を入れる基本セットと多次元セットを登録しなければなりません。 ) これに代わる方法として、レポートペインタレポートを登録する場合には、レポート定義に変数を直接入力することもできます。ローリング期間レポートの例で使われる論理式変数
期間変数 |
論理式 |
年度変数 |
論理式 | |
列 12 |
&0R-RP00 |
’ #S002 ’ |
&0R-RY00 |
’ #S001 ’ |
列 11 |
&0R-RP01 |
IF ’ 0R-RP00 ’ > 1 THEN ’ 0R-RP00 ’ - 1 ELSE 12 |
&0R-RY01 |
IF ’ 0R-RP01 ’ < ’ 0R-RP00 ’ THEN ’ 0R-RY00 ’ ELSE ’ 0R-RY00 ’ - 1 |
列 10 |
&0R-RP02 |
IF ’ 0R-RP01 ’ > 1 THEN ’ 0R-RP01 ’ - 1 ELSE 12 |
&0R-RY02 |
IF ’ 0R-RP02 ’ < ’ 0R-RP01 ’ THEN ’ 0R-RY01 ’ ELSE ’ 0R-RY01 ’ - 1 |
列 9 |
&0R-RP03 |
IF ’ 0R-RP02 ’ > 1 THEN ’ 0R-RP02 ’ - 1 ELSE 12 |
&0R-RY03 |
IF ’ 0R-RP03 ’ < ’ 0R-RP02 ’ THEN ’ 0R-RY02 ’ ELSE ’ 0R-RY02 ’ - 1 |
列 8 |
&0R-RP04 |
IF ’ 0R-RP03 ’ > 1 THEN ’ 0R-RP03 ’ - 1 ELSE 12 |
&0R-RY04 |
IF ’ 0R-RP04 ’ < ’ 0R-RP03 ’ THEN ’ 0R-RY03 ’ ELSE ’ 0R-RY03 ’ - 1 |
列 7 |
&0R-RP05 |
IF ’ 0R-RP04 ’ > 1 THEN ’ 0R-RP04 ’ - 1 ELSE 12 |
&0R-RY05 |
IF ’ 0R-RP05 ’ < ’ 0R-RP04 ’ THEN ’ 0R-RY04 ’ ELSE ’ 0R-RY04 ’ - 1 |
列 6 |
&0R-RP06 |
IF ’ 0R-RP05 ’ > 1 THEN ’ 0R-RP05 ’ - 1 ELSE 12 |
&0R-RY06 |
IF ’ 0R-RP06 ’ < ’ 0R-RP05 ’ THEN ’ 0R-RY05 ’ ELSE ’ 0R-RY05 ’ - 1 |
列 5 |
&0R-RP07 |
IF ’ 0R-RP06 ’ > 1 THEN ’ 0R-RP06 ’ - 1 ELSE 12 |
&0R-RY07 |
IF ’ 0R-RP07 ’ < ’ 0R-RP06 ’ THEN ’ 0R-RY06 ’ ELSE ’ 0R-RY06 ’ - 1 |
列 4 |
&0R-RP08 |
IF ’ 0R-RP07 ’ > 1 THEN ’ 0R-RP07 ’ - 1 ELSE 12 |
&0R-RY08 |
IF ’ 0R-RP08 ’ < ’ 0R-RP07 ’ THEN ’ 0R-RY07 ’ ELSE ’ 0R-RY07 ’ - 1 |
列 3 |
&0R-RP09 |
IF ’ 0R-RP08 ’ > 1 THEN ’ 0R-RP08 ’ - 1 ELSE 12 |
&0R-RY09 |
IF ’ 0R-RP09 ’ < ’ 0R-RP08 ’ THEN ’ 0R-RY08 ’ ELSE ’ 0R-RY08 ’ - 1 |
列 2 |
&0R-RP10 |
IF ’ 0R-RP09 ’ > 1 THEN ’ 0R-RP09 ’ - 1 ELSE 12 |
&0R-RY10 |
IF ’ 0R-RP10 ’ < ’ 0R-RP09 ’ THEN ’ 0R-RY09 ’ ELSE ’ 0R-RY09 ’ - 1 |
列 1 |
&0R-RP11 |
IF ’ 0R-RP10 ’ > 1 THEN ’ 0R-RP10 ’ - 1 ELSE 12 |
&0R-RY11 |
IF ’ 0R-RP11 ’ < ’ 0R-RP10 ’ THEN ’ 0R-RY10 ’ ELSE ’ 0R-RY10 ’ - 1 |
論理式変数
&0R-RP00 ( 最終列の期間 ) および &0R-RY00 ( 最終列の会計年度 ) はレポート列では唯一の独立変数です。それぞれの対の変数によって、前期間の期間と会計年度が計算されます。期間1にもとづいて前期間が計算されると、年度が変更されます。例2
: 四半期 q の期間を表示このレポート例では、四半期
q に3つの列を表示します。レポート列を定義するには、まず期間特性の値変数
&QUARTER を登録します。四半期は変数テキストとして入力します。この変数は独立変数です。したがって、四半期における3つの期間に対して3つの論理式変数 ( 下のテーブルに示すとおり ) を登録する必要があります。四半期
q における期間の計算に使われる論理式変数
期間変数 |
論理式 | |
列 1 |
&QPER1 |
’ QUARTER ’ * 3 - 2 |
列 2 |
&QPER2 |
’ QUARTER ’ * 3 - 1 |
列 3 |
&QPER3 |
’ QUARTER ’ * 3 |
上記の例では、第一四半期が期間1、2、3から構成されていること前提です。レポートライタレポートを登録する場合は、事前定義列に論理式変数
&QPER1 、 &QPER2 、 &QPER3 を入力します。これに代わる方法として、レポートペインタレポートを登録する場合には、列定義に変数を直接入力することもできます。独立変数
&QUARTER をレポートで直接使用することはできませんが、論理式変数によって間接的に使用することはできます。レポートのジョブを実行すると、レポートライタにより、独立変数 &PERIOD の入力項目 期間が登録されます。これにより、四半期1、2、3、4 のいずれかを入力すると、それぞれの四半期に対するレポートを出力することができます。例3
: 期間 p にもとづく四半期 q の表示このレポート例では、四半期
q に3つの列を表示します。レポート例2とは異なり、レポート選択画面では四半期そのものではなく四半期に含まれる期間を 1 つだけ入力して、3つの期間列を決定します。レポート列を定義するには、まず期間特性の値変数
&PERIOD を登録します。期間は変数テキストとして入力します。この変数は独立変数です。したがって、 ( 下のテーブルに示す ) 論理式変数を3つ登録すると、四半期の3つの期間が決定されます。期間
p にもとづいて四半期 q の期間を計算するときに使われる論理式変数
期間変数 |
論理式 | |
列 1 |
&QPER1 |
(( ’ PERIOD ’ - 1) DIV 3 + 1) * 3 - 2 |
列 2 |
&QPER2 |
(( ’ PERIOD ’ - 1) DIV 3 + 1) * 3 - 1 |
列 3 |
&QPER3 |
(( ’ PERIOD ’ - 1) DIV 3 + 1) * 3 |
上記の例では、第一四半期が期間1、2、3から構成されていること前提です。独立変数
&PERIOD はレポートでは直接使用できませんが、論理式変数によって間接的に使用することはできます。レポートのレポートグループを実行すると、レポートライタにより、独立変数 &QUARTER の入力項目 四半期が登録されます。次に、期間1、2、3のいずれかを入力すると、第一四半期の該当期間に関するレポートを出力することができます。例4
: 期間 p1 〜 p12 の可変数の列の表示このレポート例を使用すると、期間1から
12 までの可変数の列を含むレポートを登録することができます。レポート定義において可変数の列を直接定義することはできませんが、 12 の列から構成される列ブロック ( それぞれを論理式変数で表す ) を登録すれば定義することができます。論理式変数は不要な期間を最大 16 期間まで割り当てすることができます。使用するシステムで期間
レポート列を定義するには、まず期間特性の値変数
&PER_FROM および &PER_TO を登録します。これらの変数は独立変数です。次に、すべてが独立期間変数を参照する論理式変数 ( 下のテーブルに示す ) を登録します。論理式変数を登録すると、レポートライタレポートを登録する場合には、この変数を基本セット ( 期間特性に登録された ) に入力しなければなりません。これに代わる方法として、レポートペインタレポートを登録する場合には、列定義に変数を直接入力することもできます。可変数のレポート列の表示に使われる論理式変数
期間変数 |
論理式 | |
列 1 |
&PER01 |
IF 1 >= ’ PER_FROM ’ AND 1 <= ’ PER_TO ’ THEN 1 ELSE 16 |
列 2 |
&PER02 |
IF 2 >= ’ PER_FROM ’ AND 2 <= ’ PER_TO ’ THEN 2 ELSE 16 |
列 3 |
&PER03 |
IF 3 >= ’ PER_FROM ’ AND 3 <= ’ PER_TO ’ THEN 3 ELSE 16 |
列 4 |
&PER04 |
IF 4 >= ’ PER_FROM ’ AND 4 <= ’ PER_TO ’ THEN 4 ELSE 16 |
列 5 |
&PER05 |
IF 5 >= ’ PER_FROM ’ AND 5 <= ’ PER_TO ’ THEN 5 ELSE 16 |
列 6 |
&PER06 |
IF 6 >= ’ PER_FROM ’ AND 6 <= ’ PER_TO ’ THEN 6 ELSE 16 |
列 7 |
&PER07 |
IF 7 >= ’ PER_FROM ’ AND 7 <= ’ PER_TO ’ THEN 7 ELSE 16 |
列 8 |
&PER08 |
IF 8 >= ’ PER_FROM ’ AND 8 <= ’ PER_TO ’ THEN 8 ELSE 16 |
列 9 |
&PER09 |
IF 9 >= ’ PER_FROM ’ AND 9 <= ’ PER_TO ’ THEN 9 ELSE 16 |
列 10 |
&PER10 |
IF 10 >= ’ PER_FROM ’ AND 10 <= ’ PER_TO ’ THEN 10 ELSE 16 |
列 11 |
&PER11 |
IF 11 >= ’ PER_FROM ’ AND 11 <= ’ PER_TO ’ THEN 11 ELSE 16 |
列 12 |
&PER12 |
IF 12 >= ’ PER_FROM ’ AND 12 <= ’ PER_TO ’ THEN 12 ELSE 16 |
値が入っていない列はレポート出力の際表示されないように、レポートに割り当てられた標準レイアウトにはゼロ非表示フラグを立てておく必要があります。
レポートのジョブを実行すると、レポートライタにより、独立変数
&PER_FROM および &PER_TO の入力項目が作成され、期間範囲が決まります。例5
: 暦外会計年度へのデフォルトの計算論理式変数は、システム日付から取得された現会計期間および現会計年度にデフォルト設定されるように登録することができます。暦外会計年度を使用する場合、現在のシステム日付と会計期間を使用して、正しい会計期間と会計年度を計算する論理式変数を登録することができます。
暦外会計年度のデフォルト値を計算する論理式変数の例
説明 |
論理式 |
システム日付のカレンダ年 |
’ #S001 ’ |
システム日付のカレンダ月 |
’ #S002 ’ |
システム日付から計算された暦外会計年度 ( 暦外会計年度の開始は7月 ) |
IF ’ #S002 ’ > 6 THEN ’ #S001 ’ + 1 ELSE ’ #S001 ’ |
システム日付から計算された会計期間 ( 暦外会計年度の開始は7月 ) |
IF ’ #S002 ’ >6 THEN ’ #S002 ’ - 6 ELSE ’ #002 ’ + 6 |