06-09-2011 3:34 PM
Hi all,
The following code is from system program sapdbsdf which runs when calling FBLxN.
Since the "GJAHR IN SD_GJAHR" is commented, the select results in bad performance (sequential read).
When turning system debugging on and setting BSIS_WHERE = 'GJAHR = '2010' the
performance is becoming much better. Does anyone have dealt with this or
found a method to access BSIS_WHERE variable programmatically? (No exit/badi/enhancement
seem to exist)
Best regards,
Ozcan.
*----------------------------------------------------------------------*
* 3 Variante: Variante 1 + 2 sind gleichzeitig gewuenscht *
*----------------------------------------------------------------------*
if SD_OPOPT eq 'X' and SD_APOPT eq 'X'.
select (BSIS_FIELDS) from BSIS into corresponding fields of BSIS
where BUKRS eq SAVE_BUKRS
and HKONT eq SAVE_SAKNR
* AND GJAHR IN SD_GJAHR
and BUDAT in SD_BUDAT
and BUDAT le SD_STIDA
and ZUONR in SD_ZUONR
and GSBER in SD_GSBER
* and blart in sd_blart "<<<< au40
and VBUND in SD_VBUND
and BSCHL in SD_BSCHL
and KOSTL in SD_KOSTL
and WERKS in SD_WERKS
and SHKZG in SD_SHKZG
and (BSIS_WHERE).
06-09-2011 5:28 PM
The SAPDBSDF refers to the LDB "SDF". In LDB, the dynamic where condition get populated from the dynamic field selection. I checked the GJAHR field for BSIS dynamic condition and it does exist. You can populate the GJAHR using the dynamic selection in the selection screen.
06-13-2011 1:08 PM
Hi,
Did you check what is where condition is apply ? Trace the program using ST05 on which where contition is slow down.
06-20-2011 2:32 PM