Quantcast
Viewing all articles
Browse latest Browse all 6437

From DSO to Info cube loading performence

Hi Experts,

 

I am loading the data DSO to Info cube, but it took long time, in DSO level 65 lacs records, i wrote some ABAP logic, how to improve the Performance

change the ABAP code.

 

here we are getting the data 2 DSO's using ABAP code.

please respond asap.

 

TYPES : BEGIN OF ty_ds400,


           GENDER    TYPE /BI0/OIGENDER,
            DATEBIRTH TYPE /BI0/OIDATEBIRTH,
            HE_STCAMP TYPE /BI0/OIHE_STCAMP,
            IS_MARITST TYPE /BI0/OIIS_MARITST,
            /BIC/ZBLDGRP   TYPE /BIC/OIZBLDGRP,
            HE_DEGLVL TYPE /BI0/OIHE_DEGLVL,
            HE_STORGA TYPE /BI0/OIHE_STORGA,
            HE_STORGP TYPE /BI0/OIHE_STORGP,
            /BIC/ZROLL_NO TYPE /BIC/OIZROLL_NO,
            /BIC/ZQUAL_NAM TYPE /BIC/OIZQUAL_NAM,
            /BIC/ZSTWOEXP TYPE /BIC/OIZSTWOEXP,

            END OF ty_ds400.

     DATA : lt_ds400 type TABLE OF ty_ds400 .
     DATA : LS_DS400 TYPE TY_DS400.


     types : Begin of ty_ds200,
       HE_REGBEG type /BI0/OIHE_REGBEG,
       HE_PRGRM type /BI0/OIHE_PRGRM,
       HE_STAGE type /BI0/OIHE_STAGE,
       HE_YRSES type /BI0/OIHE_YRSES,
       HE_REGEND type /BI0/OIHE_REGEND,
       HE_STUDNT type /BI0/OIHE_STUDNT,
       /BIC/ZREG type /BIC/OIZREG,
       end of ty_ds200.

     data : lt_ds200 type table of ty_ds200,
            ls_ds200 type ty_ds200.

 

 

 

 

 

 

 

 

if RESULT_PACKAGE is not initial.

       select
              GENDER
              DATEBIRTH
              HE_STCAMP
              IS_MARITST
              /BIC/ZBLDGRP
              HE_DEGLVL
              HE_STORGA
              HE_STORGP
              /BIC/ZROLL_NO
              /BIC/ZQUAL_NAM
              /BIC/ZSTWOEXP

       From /BI0/AHE_DS0400 INTO TABLE
       lt_ds400
       FOR ALL ENTRIES IN RESULT_PACKAGE
       WHERE /BIC/ZROLL_NO = RESULT_PACKAGE-/BIC/ZROLL_NO
           and DATETO = '99991231'.

SELECT
   HE_REGBEG "begin date
   HE_PRGRM
   HE_STAGE
   HE_YRSES
   HE_REGEND  " end date
   HE_STUDNT
   /BIC/ZREG  " reg type

   FROM /BI0/AHE_DS0200 INTO table lt_ds200 FOR ALL ENTRIES IN
   RESULT_PACKAGE
   where HE_STUDNT = RESULT_PACKAGE-HE_STUDNT AND HE_REGSTE = 'A'.

   sort lt_ds200 by HE_STUDNT HE_REGBEG descending .

       loop at RESULT_PACKAGE ASSIGNING <RESULT_FIELDS>.

         READ TABLE LT_DS400 INTO LS_DS400 WITH KEY /BIC/ZROLL_NO =
         <RESULT_FIELDS>-/BIC/ZROLL_NO.

         IF SY-SUBRC = 0.


           <RESULT_FIELDS>-HE_STORGP = LS_DS400-HE_STORGP .
           <RESULT_FIELDS>-HE_STORGA = LS_DS400-HE_STORGA.
           <RESULT_FIELDS>-HE_STCAMP = LS_DS400-HE_STCAMP.
           <RESULT_FIELDS>-DATEBIRTH = LS_DS400-DATEBIRTH.
           <RESULT_FIELDS>-GENDER = LS_DS400-GENDER .
           <RESULT_FIELDS>-IS_MARITST = LS_DS400-IS_MARITST .
           <RESULT_FIELDS>-HE_DEGLVL = LS_DS400-HE_DEGLVL.
           <RESULT_FIELDS>-/BIC/ZBLDGRP = LS_DS400-/BIC/ZBLDGRP.
           <RESULT_FIELDS>-/BIC/ZQUAL_NAM = LS_DS400-/BIC/ZQUAL_NAM.
           <RESULT_FIELDS>-/BIC/ZSTWOEXP = LS_DS400-/BIC/ZSTWOEXP.
         ENDIF.





         loop at lt_ds200 into ls_ds200 where HE_STUDNT =
         <RESULT_FIELDS>-HE_STUDNT
                                          and HE_REGBEG le
                                          <RESULT_FIELDS>-/BIC/ACRETEDON
                                          and HE_REGEND ge
                                          <RESULT_FIELDS>-/BIC/ACRETEDON
                                          .
         endloop .

         if sy-subrc eq 0 .    " is not initial .
             <RESULT_FIELDS>-HE_YRSES = LS_DS200-HE_YRSES .
             <RESULT_FIELDS>-/BIC/ZSTATU = 'A' .
             <RESULT_FIELDS>-HE_STAGE = LS_DS200-HE_STAGE .
             <RESULT_FIELDS>-HE_PRGRM = LS_DS200-HE_PRGRM .
             <RESULT_FIELDS>-/BIC/ZREG = LS_DS200-/BIC/ZREG.
             <RESULT_FIELDS>-HE_AYEAR = LS_DS200-HE_YRSES+0(4) .
             <RESULT_FIELDS>-HE_PERID = LS_DS200-HE_YRSES+4(3) .
         else.

         loop at lt_ds200 into ls_ds200 where HE_STUDNT =
         <RESULT_FIELDS>-HE_STUDNT
                                          and HE_REGBEG le
                                          <RESULT_FIELDS>-/BIC/ACRETEDON.
             <RESULT_FIELDS>-HE_YRSES = LS_DS200-HE_YRSES .
             <RESULT_FIELDS>-/BIC/ZSTATU = 'N' .
             <RESULT_FIELDS>-HE_STAGE = LS_DS200-HE_STAGE .
             <RESULT_FIELDS>-HE_PRGRM = LS_DS200-HE_PRGRM .
             <RESULT_FIELDS>-HE_AYEAR = LS_DS200-HE_YRSES+0(4) .
             <RESULT_FIELDS>-HE_PERID = LS_DS200-HE_YRSES+4(3) .

             exit.

           endloop.

*         read table lt_ds200 into LS_DS200 with key
*                          HE_STUDNT = <RESULT_FIELDS>-HE_STUDNT
*                         .
*         if sy-subrc = 0 .
*           <RESULT_FIELDS>-HE_YRSES = LS_DS200-HE_YRSES .
*           <RESULT_FIELDS>-/BIC/ZSTATU = 'N' .
*            <RESULT_FIELDS>-HE_STAGE = LS_DS200-HE_STAGE .
*            <RESULT_FIELDS>-HE_PRGRM = LS_DS200-HE_PRGRM .
*            <RESULT_FIELDS>-HE_AYEAR = LS_DS200-HE_YRSES+0(4) .
*            <RESULT_FIELDS>-HE_PERID = LS_DS200-HE_YRSES+4(3) .
*         endif .

         endif .


         clear : ls_ds200 .




* Spliting the value form 0CALWEEK to ZWEEKNO (LAST 2 CHAR).

       <RESULT_FIELDS>-/BIC/ZWEEKNO = <RESULT_FIELDS>-CALWEEK+4(2).


       ENDLOOP.

     ENDIF.


Viewing all articles
Browse latest Browse all 6437

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>