レポートでの論理式変数の使用例 例 

論理式バリアブルは、バリアブルに対する値を決定するユーザ定義の論理式を表します。値変数の場合とは異なり、論理式変数のデフォルト値は決まっていません。論理式変数を使用したレポートを実行すると、 ( システム日付やその他の変数にもとづいて ) 論理式変数に対する値が自動的に計算されます。

たとえば、レポートには現会計年度および前会計年度のデータが表示されます。現会計年度および前会計年度の独立変数を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 期間まで割り当てすることができます。

使用するシステムで期間 16 のデータを転記した場合は、データが入っていない別の期間 ( 期間 17 など ) を使用してください。

レポート列を定義するには、まず期間特性の値変数 &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