LOOKUP

別のソース値を参照する関数

*REC( ) ステートメント内で新規値を計算するため、LOOKUP 関数を使用して FACTOR 命令または EXPRESSION 命令に対して範囲データ外のソース値を割り当てることができます。

構文

*LOOKUP {Model}

*DIM [{LookupID}:]{DimensionName}="Value" | {CallingDimensionName}[.{Property}]

*DIM MEASURES="MeasureName"

*ENDLOOKUP

以下の例では、RATE 情報を読み込み、それを計算で使用します。FOR/NEXT を使用して複数の値を調べることもできます。

Environment: EnvironmentShell_V (EnvironmentShell サンプル環境のコピー)

モデル: 計画

*XDIM_MEMBERSET TIME = 2006.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*LOOKUP RATE

*DIM TIME="2006.AUG"

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM RATEEUR:INPUTCURRENCY="EUR"

*DIM MEASURES="PERIODIC"

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*REC(EXPRESSION=%VALUE%/LOOKUP(RATEEUR), RPTCURRENCY="EUR")

*ENDWHEN

以下の例では、最初に *SELECT 命令ですべてのレポート通貨を読み込み、その値を変数 %CUR% に割り当てます。FOR/NEXT を使用して、RATE モデルからそれらのレートを読み込みます。次に、読み込んだレートを使用して計算を行います。

スクリプト実行前のモデルの値:

PLANNING モデルデータ:

TIME

P_ACCT

ENTITY

P_ACTIVITY

CATEGORY

通貨

P_DATASRC

SignData

2006.AUG

CE0004010

C9000

NONE

ACTUAL

LC

UPLOAD

157,915.81

レートモデルデータ:

カテゴリ

InputCurrency

R_ACCT

R_ENTITY

TIME

SignData

ACTUAL

EUR

AVG

GLOBAL

2006.AUG

1.5022

ACTUAL

USD

AVG

GLOBAL

2006.SEP

1.0000

*XDIM_MEMBERSET TIME=2006.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*SELECT(%CUR%, "[ID]", RPTCURRENCY, "[REPORTING]=Y")

*LOOKUP RATE

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM TIME="2006.AUG"

*DIM MEASURES="PERIODIC"

*FOR %LOOP_CUR%=%CUR%

*DIM C_%LOOP_CUR%:INPUTCURRENCY="%LOOP_CUR%"

*NEXT

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*FOR %LOOP_CUR%=%CUR%

*REC(EXPRESSION=%VALUE%/LOOKUP(C_%LOOP_CUR%), RPTCURRENCY=%LOOP_CUR%)

*NEXT

*ENDWHEN

スクリプト実行後のモデルの値:

2006.AUG

CE0004010

C9000

NONE

ACTUAL

EUR

UPLOAD

105,123.03

2006.SEP

CE0004010

C9000

NONE

ACTUAL

USD

UPLOAD

157,915.81

プロパティ値を範囲メンバーに渡してデータを調べることもできます。

この例では、対応するエンティティの通貨はマスタデータから読み込まれ、レート値を調べるために使用されます。

*XDIM_MEMBERSET TIME = 2007.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*XDIM_MEMBERSET ENTITY=C9000

*LOOKUP RATE *DIM TIME="2006.AUG"

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM RATE:INPUTCURRENCY=ENTITY.CURRENCY

*DIM MEASURES="PERIODIC"

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*REC(EXPRESSION=%VALUE%/LOOKUP(RATE), RPTCURRENCY=ENTITY.CURRENCY)

*ENDWHEN

制限事項

  • 異なるルックアップ ID の割当による単一 LOOKUP 内での複数メジャーの読込はサポートされていません。

この文書に含まれるソフトウェアコーディングおよびコード行/文字列 (以下 "コード" という) は例として示されるものであり、本稼動システム環境で使用することを意図するものではありません。コードは、特定のコーディングの構文とフレージングルールを分かりやすく説明し、視覚化することを目的としています。SAP は、ここで提供されるコードの正確性や完全性を保証せず、コードの使用によって生じたエラーまたは損害に対して責任を負いません。ただし、当該損害が SAP の故意または重大な過失によって生じた場合は除くものとします。