on 2016 Apr 25 7:51 PM
Request clarification before answering.
Robert,
As Vadim suggested, insert the logic script so we can look at the syntax.
Furthermore, when you say it ran a week ago ... do you mean in the original system or in the already upgraded system it ran already once?
Akos
BTW ... glad to hear the logic scripts showed up in the restore!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, some logic behavior may be changed, just read all script logic related notes SP3-SP13
And it's better to show the logic script you are running... The error itself means nothing...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Robert,
It looks like 10HFM is a calculated member when the script logic is runs it literally just passes the entity in ...
this line might need to be changed:
*FUNCTION MyEntity = %ENTITY_SET% to *FUNCTION MyEntity = BAS(%ENTITY_SET%)
This would fix the error however before you change it you might want to think through what the script is supposed to do or if the selection should be a base level member.
Akos
Hi Robert,
Have you provided the full script - CALC_UA.LGF?
In general I prefer not to use functions and subs for the script like this - the readability is not actually improved.
Simplified script (faster!):
*XDIM_MEMBERSET AUDITTRAIL = SystemCalc
*XDIM_MEMBERSET ACCOUNT = BAS(CC_EXP)
*XDIM_MEMBERSET FLOW = E70
*XDIM_MEMBERSET FUNCT_AREA = FA_COGS,FA_ABS,FA_OTHCOGS,FA_RD,FA_GA,FA_SALES,NO_FA
*WHEN FUNCT_AREA
*FOR %FA%=FA_COGS,FA_ABS,FA_OTHCOGS,FA_RD,FA_GA,FA_SALES,NO_FA AND %ACC%=UA1740_INPUT,UA1780_INPUT,UA1890_INPUT,UA2760_INPUT,UA2780_INPUT,UA2770_INPUT,UA1740_NOFA_INPUT
*IS %FA%
*REC(FACTOR = 1, ACCOUNT = %ACC%)
*NEXT
*ENDWHEN
*XDIM_MEMBERSET ACCOUNT = UA1740_NOFA_INPUT,UA1780_INPUT,UA1740_INPUT,UA1890_INPUT
*WHEN ACCOUNT
*IS *
*REC(FACTOR = 1,FLOW = J70)
*ENDWHEN
You do not need to scope TIME, CATEGORY,... etc - will be already scoped.
And you will have only 2 WHEN/ENDWHEN loops
Vadim
P.S. Don't use useless COMMIT
Hello Vadim,
So you are saying that whole script can be simplified into the one you just provided?
Your script does not have a COMMIT, is that because it does not need one or just that this is a sample of how to simplify this script?
There is no need for any of the *FUNCTION or *SUB routines? How would prompts me selected from a data manager package without the FUNCTIONS %"TIME_SET"%?
Thanks,
Robert
Robert,
it is in his answer:
Q1
So you are saying that whole script can be simplified into the one you just provided?
Yes
Vadim:
And you will have only 2 WHEN/ENDWHEN loops
Q2
Your script does not have a COMMIT, is that because it does not need one or just that this is a sample of how to simplify this script?Vadim
P.S. Don't use useless COMMIT
Q3
There is no need for any of the *FUNCTION or *SUB routines?
Some developers like to "organize" the script but all it does it makes the script harder to follow and look like it's really complex - not needed
Q4
How would prompts me selected from a data manager package without the FUNCTIONS %"TIME_SET"%?
Your prompts will either passed through the advance script selection or used in when statements
Vadim:
You do not need to scope TIME, CATEGORY,... etc - will be already scoped.Hope this helps
Akos
Robert,
the "commit" is a leftover from the MS version of the product. No need to use it with a When\Endwhen rec statement unless you want to reset the XDIM statements for another record statement. In your example, if you want to run a record statement for another flow other than E70 but you can just as easily do it with a when statement.
Akos
PS - using commit is Vadim's largest pet peeve
| User | Count |
|---|---|
| 10 | |
| 9 | |
| 6 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.