on 2017 Nov 03 12:00 PM
Hi all,
we are on BPC 10.0 NW which we use for consolidation. We use journals for adjustments but find the performance very poor. Posting individual journals can take two or more minutes and if we try to post several at once, the process fails after 20 journals.
Are there any parameters we can adjust in BPC or BW to make the posting quicker and avoid the failure when posting more than 20 journals?
Thanks,
Arnold
Request clarification before answering.
Do you have:
default.lgf
journal.lgf
write back badi
validation badi
?
P.S. Can you test journal posting on the fresh copy of ENVIRONMENTSHELL?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
========= JOURNAL.LGF
*INCLUDE CALCACCOUNT.LGF
*RUN_PROGRAM CURR_CONVERSION
CATEGORY=%CATEGORY_SET%
CURRENCY=EUR
TID_RA=%TIME_SET%
RATEENTITY=Global
*ENDRUN_PROGRAM
*INCLUDE ICMATCH.LGF
========= CALCACCOUNT.LGF
*FOR %CAT1%=%CATEGORY_SET%
*RUN_PROGRAM CALC_ACCOUNT
CATEGORY=%CAT1%
CURRENCY=LC
TID_RA=%TIME_SET%
OTHER=[ENTITY=%ENTITY_SET%]
CALC=STUFE1
*ENDRUN_PROGRAM
*RUN_PROGRAM CALC_ACCOUNT
CATEGORY=%CAT1%
CURRENCY=LC
TID_RA=%TIME_SET%
OTHER=[ENTITY=%ENTITY_SET%]
CALC=STUFE2
*ENDRUN_PROGRAM
*RUN_PROGRAM CALC_ACCOUNT
CATEGORY=%CAT1%
CURRENCY=LC
TID_RA=%TIME_SET%
OTHER=[ENTITY=%ENTITY_SET%]
CALC=STUFE3
*ENDRUN_PROGRAM
*RUN_PROGRAM CALC_ACCOUNT
CATEGORY=%CAT1%
CURRENCY=EUR
TID_RA=%TIME_SET%
OTHER=[ENTITY=%ENTITY_SET%]
CALC=STUFE3
*ENDRUN_PROGRAM
*NEXT
========= ICMATCH.LGF
*SELECT(%ACCOUNT_SRC%,[ID],"ACCOUNTL","[PMATCH_ACCOUNT]<>'NONE'")
*SELECT(%INTCO_SRC%,[ID],"INTCO","[ICMATCH] = 'Y'")
*SELECT(%ENTITY_SRC%,[ID],"ENTITY","[ICMATCH] = 'Y'")
*XDIM_MEMBERSET ACCOUNTL = %ACCOUNT_SRC%
*XDIM_MEMBERSET INTCO = %INTCO_SRC%
*XDIM_MEMBERSET ENTITY = %ENTITY_SRC%
*XDIM_MEMBERSET ACCTDETAIL = F_CLO
*XDIM_MEMBERSET CURRENCY = EUR
*XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
*XDIM_MEMBERSET TIME = %TIME_SET%
*XDIM_MEMBERSET SCOPE = G_NONE
*WHEN ACCTDETAIL
*IS F_CLO
*REC(FACTOR = 0,ACCTDETAIL = F_CLO_INTCO,ACCOUNTL = ACCOUNTL.PMATCH_ACCOUNT,ENTITY = INTCO.ENTITY,INTCO = ENTITY.INTCO)
*REC(FACTOR = 0,ACCOUNTL = ACCOUNTL.PMATCH_ACCOUNT2)
*ENDWHEN
*WHEN ACCTDETAIL
*IS F_CLO
*REC(EXPRESSION = %VALUE%,ACCTDETAIL = F_CLO_INTCO,ACCOUNTL = ACCOUNTL.PMATCH_ACCOUNT,ENTITY = INTCO.ENTITY,INTCO = ENTITY.INTCO)
*REC(EXPRESSION = %VALUE%,ACCOUNTL = ACCOUNTL.PMATCH_ACCOUNT2)
*ENDWHEN
STUFE1 copies data on P&L accounts from flow elements used for segments onto the closing element.
STUFE2 copies the result from the P&L to equity.
STUFE3 copies the total of the flows on balance sheet accounts onto the closing element.
I agree that STUFE3 in EUR can be deleted from the logic.
The ICMATCH script copies data reported with partner information from the reporting entity to the partner entity so the local user can run a reconciliation report on intercompany data (we only have the consolidation cube, not a seperate ic cube).
For example:
posting single line for single account, flow, intco, ..., time, category
*RUN_PROGRAM CURR_CONVERSION
CATEGORY=%CATEGORY_SET%
CURRENCY=EUR
TID_RA=%TIME_SET%
RATEENTITY=Global
*ENDRUN_PROGRAM
will perform conversion for all: account, flow, intco,...
Only time and category will be restricted
It's not only currency conversion but all CALC_ACCOUNT etc...
Please read my blog about default.lgf: https://blogs.sap.com/2014/06/09/how-to-write-defaultlgf/
In some cases you can use OTHER filter in *RUN_PROGRAM xxx
In some cases it's better to replace *RUN_PROGRAM with WHEN/ENDWHEN loop without scope.
The idea is to perform calculation only for changed data!
| User | Count |
|---|---|
| 8 | |
| 8 | |
| 6 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 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.