Performance tuning using GROUPBY



**************************************************************
*     Performance tuning using GROUPBY
*
* Extracts from program ZFAL2002
**************************************************************
**************************************************************
* START-OF-SELECTION
  SELECT KALNR KALKA BWVAR MEEHT SUM( MENGE )
  INTO TABLE I_CKIS FROM CKIS
  WHERE KADKY <= SY-DATUM
    AND TVERS = '01'
    AND KALKA IN ('01','Z1','Z2')
    AND BWVAR IN ('Z01','Z02','Z03','Z04','Z07')
*   and kkzst = ' '
    AND KKZMA = ' '
    AND TYPPS = 'E'
    AND ( KSTAR <> 800040 OR KSTAR <> 800050 )
    AND ( MEEHT = 'MIN' OR MEEHT = 'H' )
  GROUP BY KALNR KALKA BWVAR MEEHT.
* Perform actual processing
  Perform get_associated_labour_hours.
*----------------------------------------------------------------------*
FORM GET_ASSOCIATED_LABOUR_HOURS.
* Determine start position and then process single record for given key
* i_ckis is sorted on kalnr kalka bwvar meeht with menge summated.
  READ TABLE I_CKIS WITH KEY KALNR = W_KEKO-KALNR
                             KALKA = W_KEKO-KALKA
                             BWVAR = W_KEKO-BWVAR
                             MEEHT = 'H'          BINARY SEARCH.
  IF SY-SUBRC = 0.
    D_LAB_HRS =  I_CKIS-MENGE * 60.
  ENDIF.
  READ TABLE I_CKIS WITH KEY KALNR = W_KEKO-KALNR
                             KALKA = W_KEKO-KALKA
                             BWVAR = W_KEKO-BWVAR
                             MEEHT = 'MINS'       BINARY SEARCH.
  IF SY-SUBRC = 0.
    D_LAB_HRS =  D_LAB_HRS + I_CKIS-MENGE.
  ENDIF.
  D_LAB_HRS = D_LAB_HRS / W_KEKO-LOSGR.
  D_LAB_HRS = D_LAB_HRS / 60.          "Convert from mins into hours
ENDFORM.                               " GET_LABOUR_HOURS_ASSOCIATED

Related Articles

ABAP Parallel cursor to improve Performance of your SAP reports
ABAP Performance Improvements - Example code and information on various performance enhancements
Improving the performance of your ABAP internal table processing
ABAP Parallel cursor to improve Performance of your SAP reports
Switch on RTA Dynamically within ABAP Code
Using the Runtime Analysis tool, both manually and from with a program
SAP SQL Trace
Improve ABAP performance with the runtime analysis tcode SAT (SE30)'
Compare performance of various ABAP code using runtime analysis tcode SAT '