cancel
Showing results for 
Search instead for 
Did you mean: 

RUN script when category is not ACT

Former Member
0 Kudos

Hi,

This is part of my necessary's script:

*SELECT (%FirstPlanMonth%, [FirstPeriod], "CATEGORY", "[ID] = '%CATEGORY_SET%'")

*SELECT (%PlanCategory%, [ID], "Category", "[ID] = '%CATEGORY_SET%'")

*XDim_Memberset Category= %CATEGORY_SET%,Act

*When Category

*IS ACT

*When PlanItem

*Is RP420004

*FOR %PeriodLoop2%=0,1,2,3,4,5

*REC(EXPRESSION=GET(time=PRIOR(%PeriodLoop2%),category="ACT"),category=%PlanCategory%,PlanItem= #RP420004accl)

*NEXT

*EndWhen //PlanItem

*Endwhen //category

-


what I wish to achieve here is when user select %CATEGORY_SET% = ACT, i dunt want it to perform this script..other than ACT I need to run this script.

The reason I use

*When Category

*IS ACT

because i need it as a trigger point for me to take last 6 months actual record for calculation current month budget value.

if i use :

*When Category

*IS not ACT

I will not able to do any calculation because I dunt have any other record other than ACT...

How can I do this??

thanks................

Edited by: Guik Meng Chiam on May 26, 2010 9:06 AM

Edited by: Guik Meng Chiam on May 26, 2010 9:08 AM

Edited by: Guik Meng Chiam on May 26, 2010 9:11 AM

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Thanks.......Problem solved.

Former Member
0 Kudos

Hi,

another problem.

example your script :

FCST_Logic.lgf:

*Select(%Category_List%, "ID", "Category", "Logic = 'FCST_Logic'")

*RunLogic

*Dimension Category=%Category_List%

*Logic=NewForecast

*ENDRUNLOGIC

I wish to use %CATEGORY_SET% inside the script to select first plan month :

*SELECT (%FirstPlanMonth%, [FirstPeriod], "CATEGORY", "[ID] = '%CATEGORY_SET%'")

inside FCST_Logic.lgf I able to get %CATEGORY_SET% = 'BGT' but I cannot get %FirstPlanMonth% value.

if i try

*SELECT (%FirstPlanMonth%, [FirstPeriod], "CATEGORY", "[ID] = 'BGT'")

then i able to get %FirstPlanMonth% = 2010.Jan

The reason i need this because I have a few forecast category with different first plan month but they all are sharing same script (FCST_Logic.lgf).

I dunt want each category having different script. beacause all forecast is having same calculation..

Please. how to do this...

thanks...

Former Member
0 Kudos

I am sorry you didnt understand my question....is not the method of double quote.

Edited by: Guik Meng Chiam on May 26, 2010 12:28 PM

Former Member
0 Kudos

I would be interested in what others have to say but I think the following concept would enable you to do what you want to do.

Go into the logic debugger or logic help and Look up the script logic command *BY LOGIC and Logic_Mode. Logic_Mode=2 allows you to have more than one default logic file. *Logic BY = Category allows you to have separate default logic files that execute based on which Category is being sent to the database. You also need to use a Property in your Category dimension called Logic. Your default.lgf file would look like something like this:

Contents of default.lgf:

*LOGIC_MODE = 2

*QUERY_SIZE = 2

*LOGIC_BY = CATEGORY

You might want to have one set of logic that executes when data is sent for Category = Actual and another set of logic that executes when data is sent for Category = Forecast, you'd do the following:

Name the Actual logic Act_Logic.lgf and the Forecast logic file FCST_Logic.lgf. Go into your Category dimension and in the Logic property, enter Act_Logic in the Logic property for Actual and enter FCST_Logic in the Logic property for the Forecast member.

Then you reference this name in your separate logic files. For example here is a simplified logic file Act_Logic.lgf. Let's say I run the logic file called Accounts each time that Actual data is sent, but I do not want to run this when Forecast data is sent. When Forecast data is sent I want to instead run a logic file called NewForecast

Contents of Act_Logic.lgf:

*Select(%Category_List%, "[ID]", "Category", "[Logic] = 'Act_Logic'")

*RunLogic

*Dimension Category=%Category_List%

*Logic=Accounts

*ENDRUNLOGIC

FCST_Logic.lgf:

*Select(%Category_List%, "[ID]", "Category", "[Logic] = 'FCST_Logic'")

*RunLogic

*Dimension Category=%Category_List%

*Logic=NewForecast

*ENDRUNLOGIC

0 Kudos

You could try to use the "<>" operator like in the following example taken from the

SAP_BPC_70_SP00_M_AdminGde.pdf

One or more values that meet the criteria. They can be enclosed in double quotes

if they need to be treated as strings. If they represent numeric values, the quotes

should be omitted.

Examples:

*IS "AVG","END"

*IS 10,20,30

If no operator is specified, the *IS clause assumes the presence of an equal sign

(*IS = "AVG", "END"). Other types of comparisons are also supported. The

following examples represent valid conditions:

*IS > 2

*IS <= 7

*IS <>"ABC"

can also be a dimension property specified with the simple

format:

*IS dimension.property

Regards,

Simmaco