on ‎2016 Sep 01 10:26 AM
Hello!
We'r facing a problem with Default scipt logic, to be more specific - with one of included sript logic, that doesn't want to work.
So our Default.lgf is looking like this:
*INCLUDE VAR_PL.LGF
*INCLUDE PL_CALC.LGF
*INCLUDE ALLOCATE_SEGM.LGF
VAR_PL.LGF is looking like this:
*SELECT(%FLW_IDS_EXCL_STORNO%, ID, FLW, ID <> FLW_PL_STORNO)
*SELECT(%COL_IDS_EXCL_STORNO%, ID, COL, ID <> COL_PL_STORNO)
And PL_CALC.LGF is like this:
*XDIM_MEMBERSET FLW = %FLW_IDS_EXCL_STORNO%
*XDIM_MEMBERSET COL = %COL_IDS_EXCL_STORNO%
*WHEN CAT
*IS <>V01
*WHEN BPKFG
*IS W5
*WHEN COL
*IS 100_U1
*REC(BPKFG = T100_00010)
*IS 100_U2
*REC(BPKFG = T100_00011)
*ENDWHEN //COL
*IS I806, I807, I809, I816, I817, I818, I819, I821, I822, I823, I824, I825, I826, I827, I828, I829, I844, I831, I832, I833, I834, I836, I804, I808, I810, I811, I812, I813, I814
*WHEN FLW
*IS <>140_DIS
*REC(FACTOR = -1, FLW = FLW_PL_STORNO)
*ENDWHEN //FLW
*ENDWHEN //BPKFG
*ENDWHEN //CAT
So when we send some data on the scoped region via input schedule, the logic PL_CALC doesn't work. But at the same time if we run it in UJKT - everything works fine. The third Include (Allocate_segm) is work fine when we send some data via input schedule.
Request clarification before answering.
First of all - please read my document: https://blogs.sap.com/2014/06/09/how-to-write-defaultlgf/
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Second - the calculation logic is not 100% clear, but in general it's better not to scope some fixed range of members with XDIM_MEMBERSET in default.lgf, better use scope coming from sent members.
Script like:
*SELECT(%FLW_IDS_EXCL_STORNO%, ID, FLW, ID <> FLW_PL_STORNO)
*SELECT(%COL_IDS_EXCL_STORNO%, ID, COL, ID <> COL_PL_STORNO)
*SELECT(%FLW_IDS_EXCL_STORNO140_DIS%, ID, FLW, ID <> FLW_PL_STORNO,140_DIS)
*WHEN CAT
*IS <>V01
*WHEN BPKFG
*IS W5
*WHEN FLW
*IS %FLW_IDS_EXCL_STORNO%
*WHEN COL
*IS 100_U1
*REC(BPKFG = T100_00010)
*IS 100_U2
*REC(BPKFG = T100_00011)
*ENDWHEN //COL
*ENDWHEN //FLW
*IS I806,I807,I809,I816,I817,I818,I819,I821,I822,I823,I824,I825,I826,I827,I828,I829,I844,I831,I832,I833,I834,I836,I804,I808,I810,I811,I812,I813,I814
*WHEN FLW
*IS %FLW_IDS_EXCL_STORNO140_DIS%
*WHEN COL
*IS %COL_IDS_EXCL_STORNO%
*REC(FACTOR = -1, FLW = FLW_PL_STORNO)
*ENDWHEN //COL
*ENDWHEN //FLW
*ENDWHEN //BPKFG
*ENDWHEN //CAT
This scope will generate record - look on my script:
*WHEN CAT
*IS <>V01 - Yes "F"
*WHEN BPKFG
*IS W5 - No!
*IS I806,I807,I809,I816,I817,I818,I819,I821,I822,I823,I824,I825,I826,I827,I828,I829,I844,I831,I832,I833,I834,I836,I804,I808,I810,I811,I812,I813,I814
- Yes
*WHEN FLW
*IS %FLW_IDS_EXCL_STORNO140_DIS% - Yes! "140_BEG"
*WHEN COL
*IS %COL_IDS_EXCL_STORNO% - Yes! "COL_NONE"
*REC(FACTOR = -1, FLW = FLW_PL_STORNO) has to be executed!
The value with negative sign has to be written to FLW_PL_STORNO with all other dimensions not changed.
Please check with single cell and show log of default.lgf
| User | Count |
|---|---|
| 17 | |
| 8 | |
| 7 | |
| 6 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.