Quantcast
Channel: SCN: Message List - Data Warehousing
Viewing all articles
Browse latest Browse all 3366

Re: Missing Detail Records in PSA When Initializing Cube (PSA not matching RSA3)

$
0
0

I doubt it is the code because it works fine if I pass it a single order. The code basically blows out the order to get more details (confirmation numbers), and assigns a flag for a header record. I wonder if the datapackage is somehow splitting out the detailed records and not allowing me to fully loop through them to assign a header record flag. Is that possible?  If I de-activate the code, I won't get the detail records.

 

I'm certainly no ABAP expert, here is my code:

 

 

REPORT  ZBWIN_2LIS_04_P_ARBPL.

 

TYPE-POOLS: SBIWA.

 

*&---------------------------------------------------------------------*

*& Form EXECUTE_USER_EXIT

*&---------------------------------------------------------------------*

* -->P_I_T_SELECT

* -->P_I_T_FIELDS

* -->P_C_T_DATA

* -->P_C_T_MESSAGES

*----------------------------------------------------------------------*

 

FORM execute_user_exit

 

TABLES I_T_SELECT   TYPE SBIWA_T_SELECT

        I_T_FIELDS   TYPE SBIWA_T_FIELDS

        C_T_DATA     STRUCTURE MC04P_0ARB " Datasource extract structure

        C_T_MESSAGES STRUCTURE BALMI.

 

TYPES:

 

   BEGIN OF struct_AFRU,

*   Name of the person who entered the confirmation

     ERNAM TYPE AFRU-ERNAM,

*   Confirmation counter

     RMZHL TYPE AFRU-RMZHL,

*   Previously confirmed yield in order unit of measure

     GMNGA TYPE AFRU-GMNGA,

*   Confirmation unit of measure

     MEINH TYPE AFRU-MEINH,

*   Partial/Final Confirmation

     AUERU TYPE AFRU-AUERU,

*   Indicator: Milestone confirmation carried out

     MEILR TYPE AFRU-MEILR,

*   Confirmed time for 'Processing start'

     ISBZ  TYPE AFRU-ISBZ,

*   Confirmed time for 'processing finish'

     IEBZ  TYPE AFRU-IEBZ,

*   Confirmed date for 'Processing start'

     ISBD  TYPE AFRU-ISBD,

*   Confirmed date for 'processing finish'

     IEBD  TYPE AFRU-IEBD,

*   order number

     AUFNR TYPE AFRU-AUFNR,

*   Completion confirmation number for the operation

     RUECK TYPE AFRU-RUECK,

*   Posting date

     BUDAT TYPE AFRU-BUDAT,

*   Reason for Variance

     GRUND TYPE AFRU-GRUND,

*   Confirmed date for execution finish

     IEDD TYPE AFRU-IEDD,

*   Confirmed time for 'Execution finish'

     IEDZ TYPE AFRU-IEDZ,

*   Unit of measure for the activity to be confirmed

     ILE01 TYPE AFRU-ILE01,

     ILE02 TYPE AFRU-ILE02,

     ILE03 TYPE AFRU-ILE03,

     ILE04 TYPE AFRU-ILE04,

     ILE05 TYPE AFRU-ILE05,

     ILE06 TYPE AFRU-ILE06,

*   Confirmed date for start of execution

     ISDD TYPE AFRU-ISDD,

*   Confirmed time for 'Execution start'

     ISDZ TYPE AFRU-ISDZ,

*   Activity Currently to be Confirmed

     ISM01 TYPE AFRU-ISM01,

     ISM02 TYPE AFRU-ISM02,

     ISM03 TYPE AFRU-ISM03,

     ISM04 TYPE AFRU-ISM04,

     ISM05 TYPE AFRU-ISM05,

     ISM06 TYPE AFRU-ISM06,

*   Yield to Be Confirmed

     LMNGA TYPE AFRU-LMNGA,

*   Wage group

     LOGRP TYPE AFRU-LOGRP,

*   Personnel number

     PERNR TYPE AFRU-PERNR,

*   Suitability

     QUALF TYPE AFRU-QUALF,

*   Current rework quantity to be confirmed

     RMNGA TYPE AFRU-RMNGA,

*   Activity Number

     VORNR TYPE AFRU-VORNR,

*   Plant

     WERKS TYPE AFRU-WERKS,

*   Confirmation counter of cancelled confirmation

     STZHL TYPE AFRU-STZHL,

   END OF struct_AFRU,

 

 

   BEGIN OF struct_AUFK,

*   order number

     AUFNR TYPE   AUFK-AUFNR,

*   Time created

     ERFZEIT TYPE AUFK-ERFZEIT,

   END OF struct_AUFK,

 

   BEGIN OF struct_QALS,

*   order number

     AUFNR    TYPE   QALS-AUFNR,

*   Inspection Lot Number

     PRUEFLOS TYPE   QALS-PRUEFLOS,

   END OF struct_QALS,

 

   BEGIN OF struct_VIQMEL,

*   production order number

     FERTAUFNR TYPE   VIQMEL-FERTAUFNR,

*   Notification Number

     QMNUM TYPE   VIQMEL-QMNUM,

   END OF struct_VIQMEL,

 

   BEGIN OF struct_VIQMFE,

*    Notification Number

     QMNUM TYPE VIQMFE-QMNUM,

*   Problem

     FECOD TYPE VIQMFE-FECOD,

*   Catalog Type - Problems/Defects

     FEKAT TYPE VIQMFE-FEKAT,

*   Code Group - Problem

     FEGRP TYPE VIQMFE-FEGRP,

   END OF struct_VIQMFE.

 

DATA:

 

*      used for only assigning header flag once per order number. this flag is for marking records

*      to be used for reporting like the t-code COOIS for order headers

        header_assigned TYPE N,

 

*      this is to ensure that the header flag is copied only once

*      when blowing out records joined from AFRU

        header_assigned_2 TYPE N,

 

*      store number of defects found for a QMNUM

        num_defects  TYPE N,

 

*      counter to only add a set of KF's once populated

*      from extractor (see loop where used below)

        defect_counter TYPE N,

 

*      used to record the last order number in the loop at c_t_data

        last_AUFNR             TYPE AFRU-AUFNR,

 

*      work areas

        wa_2LIS_04_P_ARBPL   TYPE MC04P_0ARB,

        wa_AFRU              TYPE struct_AFRU,

        wa_AUFK              TYPE struct_AUFK,

        wa_QALS              TYPE struct_QALS,

        wa_VIQMEL            TYPE struct_VIQMEL,

        wa_VIQMFE            TYPE struct_VIQMFE,

 

*      internal tables

        itab_AFRU     TYPE STANDARD TABLE OF struct_AFRU,

        itab_AUFK     TYPE STANDARD TABLE OF struct_AUFK,

        itab_QALS     TYPE STANDARD TABLE OF struct_QALS,

        itab_VIQMEL   TYPE STANDARD TABLE OF struct_VIQMEL,

        itab_VIQMFE   TYPE STANDARD TABLE OF struct_VIQMFE,

        itab_C_T_DATA TYPE STANDARD TABLE OF MC04P_0ARB.

 

FIELD-SYMBOLS: <fs_AFRU>          TYPE struct_AFRU,

                <fs_AUFK>          TYPE struct_AUFK,

                <fs_QALS>          TYPE struct_QALS,

                <fs_VIQMEL>        TYPE struct_VIQMEL,

                <fs_VIQMFE>        TYPE struct_VIQMFE,

                <fs_itab_C_T_DATA> TYPE MC04P_0ARB.

 

CLEAR: wa_2LIS_04_P_ARBPL,

        wa_AFRU,

        wa_AUFK,

        wa_QALS,

        wa_VIQMEL,

        wa_VIQMFE.

 

REFRESH: itab_AFRU,

          itab_AUFK,

          itab_QALS,

          itab_VIQMEL,

          itab_VIQMFE,

          itab_C_T_DATA.

 

* get the required fields from AFRU into itab_AFRU

* on order (AUFNR).

* this data is mainly for order confirmations/counts from t-code COOIS

  SELECT

     ERNAM

     RMZHL

     GMNGA

     MEINH

     AUERU

     MEILR

     ISBZ

     IEBZ

     ISBD

     IEBD

     AUFNR

     RUECK

     BUDAT

     GRUND

     IEDD

     IEDZ

     ILE01

     ILE02

     ILE03

     ILE04

     ILE05

     ILE06

     ISDD

     ISDZ

     ISM01

     ISM02

     ISM03

     ISM04

     ISM05

     ISM06

     LMNGA

     LOGRP

     PERNR

     QUALF

     RMNGA

     VORNR

     WERKS

     STZHL

  INTO TABLE itab_AFRU

  FROM AFRU

  FOR ALL ENTRIES IN C_T_DATA

  WHERE AUFNR = C_T_DATA-AUFNR.

 

* get time created for order headers

  SELECT

    AUFNR

    ERFZEIT

  INTO TABLE itab_AUFK

  FROM AUFK

  FOR ALL ENTRIES IN C_T_DATA

  WHERE AUFNR = C_T_DATA-AUFNR.

 

* get inspection lots by orders

SELECT

    AUFNR

    PRUEFLOS

  INTO TABLE itab_QALS

  FROM QALS

  FOR ALL ENTRIES IN C_T_DATA

  WHERE AUFNR = C_T_DATA-AUFNR.

 

* get Quality Notifications by orders

SELECT

    FERTAUFNR

    QMNUM

  INTO TABLE itab_VIQMEL

  FROM VIQMEL

  FOR ALL ENTRIES IN C_T_DATA

  WHERE FERTAUFNR = C_T_DATA-AUFNR.

 

* get defect info by QN

SELECT

    QMNUM

    FECOD

    FEKAT

    FEGRP

  INTO TABLE itab_VIQMFE

  FROM VIQMFE

  FOR ALL ENTRIES IN itab_VIQMEL

  WHERE QMNUM = itab_VIQMEL-QMNUM.

 

* sort by order number, confirmation, counter

  SORT itab_AFRU   BY AUFNR RUECK RMZHL DESCENDING.

  SORT itab_AUFK   BY AUFNR DESCENDING.

  SORT itab_QALS   BY AUFNR DESCENDING.

  SORT itab_VIQMEL BY FERTAUFNR DESCENDING.

 

  SORT itab_VIQMFE BY QMNUM DESCENDING.

 

* sort by order number and confirmations - this is for assigning header flags

  SORT C_T_DATA    BY AUFNR XMNGA DESCENDING.

 

* initialize assigned header flag

  header_assigned = 0.

 

LOOP AT C_T_DATA INTO wa_2LIS_04_P_ARBPL.

 

* populate ZZERFZEIT (Time created)

   READ TABLE itab_AUFK WITH KEY

     AUFNR = wa_2LIS_04_P_ARBPL-AUFNR

   ASSIGNING <fs_AUFK>.

 

     IF sy-subrc = 0.

      wa_2LIS_04_P_ARBPL-ZZERFZEIT <fs_AUFK>-ERFZEIT.

     ENDIF.

 

* populate ZZINSPLOT (Inspection lot)

   READ TABLE itab_QALS WITH KEY

     AUFNR = wa_2LIS_04_P_ARBPL-AUFNR

   ASSIGNING <fs_QALS>.

 

     IF sy-subrc = 0.

      wa_2LIS_04_P_ARBPL-ZZINSPLOT <fs_QALS>-PRUEFLOS.

     ENDIF.

 

* populate ZZQN (Notification Number)

   READ TABLE itab_VIQMEL WITH KEY

     FERTAUFNR = wa_2LIS_04_P_ARBPL-AUFNR

   ASSIGNING <fs_VIQMEL>.

 

     IF sy-subrc = 0.

      wa_2LIS_04_P_ARBPL-ZZQN <fs_VIQMEL>-QMNUM.

     ENDIF.

 

 

* if there is a scrap value (XMNGA > 0), mark that to be used as the order header record

* at this point it appears that there is only one record per order number containing a value for scrap

* including confirmations

 

* only reset  (meaning header_assigned = 0) the header_assigned flag if a header has already been assigned (=1)

* and its for a new order number in the loop

 

* reset header assigned flag when looking at a new order number

* and a header has not been assigned

 

*IF wa_2LIS_04_P_ARBPL-AUFNR =  '000001119283'.

*  break-point.

*ENDIF.

 

 

    IF last_AUFNR <> wa_2LIS_04_P_ARBPL-AUFNR AND header_assigned = 1.

      header_assigned = 0.

    ENDIF.

 

    IF ( wa_2LIS_04_P_ARBPL-XMNGA > 0 AND header_assigned = 0 ) OR

       ( last_AUFNR <> wa_2LIS_04_P_ARBPL-AUFNR AND header_assigned = 0 ).

       wa_2LIS_04_P_ARBPL-ZZHEADERFLAG = 'X'.

       header_assigned = 1.

    ENDIF.

 

*  record last order number

    last_AUFNR = wa_2LIS_04_P_ARBPL-AUFNR.

 

*  search on order number (AUFNR) and confirmation number (RUECK)

    READ TABLE itab_AFRU WITH KEY

     AUFNR = wa_2LIS_04_P_ARBPL-AUFNR

     RUECK = wa_2LIS_04_P_ARBPL-RUECK

    ASSIGNING <fs_AFRU>.

 

* get a hit on AFRU - Order Confirmations

   IF sy-subrc = 0.

 

*   initialize the second header assigned flag to ensure the header is only assigned on one record

     header_assigned_2 = 0.

 

*   blow out records for counters

     LOOP AT itab_AFRU INTO wa_AFRU WHERE

      AUFNR = wa_2LIS_04_P_ARBPL-AUFNR AND

      RUECK = wa_2LIS_04_P_ARBPL-RUECK.

 

*    only assign header once. if a header was assigned on one record(=1)

*    blank the header flag for other records

      IF header_assigned_2 = 1.

        wa_2LIS_04_P_ARBPL-ZZHEADERFLAG = ''.

 

*    if there was a header assigned, populate defects on header record

      ELSEIF wa_2LIS_04_P_ARBPL-ZZHEADERFLAG = 'X' AND header_assigned_2 = 0.

 

*      header assigned for records from AFRU

        header_assigned_2 = 1.

 

*      get number of defects

        DESCRIBE TABLE itab_VIQMFE LINES num_defects.

 

*        if there is a header assigned, check for defects via looping

*        must have a QN to have defects and I am placing defects on the header record only

          LOOP AT itab_VIQMFE INTO wa_VIQMFE

            WHERE QMNUM = wa_2LIS_04_P_ARBPL-ZZQN.

 

            wa_2LIS_04_P_ARBPL-ZZFECOD = wa_VIQMFE-FECOD.

            wa_2LIS_04_P_ARBPL-ZZFEKAT = wa_VIQMFE-FEKAT.

            wa_2LIS_04_P_ARBPL-ZZFEGRP = wa_VIQMFE-FEGRP.

 

*           defect_counter = defect_counter + 1.

 

*          only add more records if there is more than 1 defect

*          (if just one defect will be appended on bottom on the current line)

            IF num_defects > 1.

 

*            when adding records for defects where fields ARE populated from AFRU, zero out key figure values to avoid doubling data on header records,

*            fields below are popualted from AFRU further down and only populated on one record

               wa_2LIS_04_P_ARBPL-GMNGA = 0.

               wa_2LIS_04_P_ARBPL-LMNGA = 0.

               wa_2LIS_04_P_ARBPL-ISM01 = 0.

               wa_2LIS_04_P_ARBPL-ISM02 = 0.

               wa_2LIS_04_P_ARBPL-ISM03 = 0.

               wa_2LIS_04_P_ARBPL-ISM04 = 0.

               wa_2LIS_04_P_ARBPL-ISM05 = 0.

               wa_2LIS_04_P_ARBPL-ISM06 = 0.

 

*             for these fields below we only want to zero them AFTER one header record has been loaded,

*             since they are NOT re-populated from AFRU. zero the rest to avoid doubling.

               IF defect_counter > 0.

                 wa_2LIS_04_P_ARBPL-I_DLZ = 0.

                 wa_2LIS_04_P_ARBPL-MGVRG = 0.

                 wa_2LIS_04_P_ARBPL-ZGR01 = 0.

                 wa_2LIS_04_P_ARBPL-ZGR02 = 0.

                 wa_2LIS_04_P_ARBPL-ZGR03 = 0.

                 wa_2LIS_04_P_ARBPL-ZGR04 = 0.

                 wa_2LIS_04_P_ARBPL-ZGR05 = 0.

                 wa_2LIS_04_P_ARBPL-ZGR06 = 0.

               ENDIF.

 

               defect_counter = defect_counter + 1.

 

*             if more than 1 defect, append all but the last one as it will get appended with the AFRU fields below

               IF defect_counter < num_defects.

                 APPEND wa_2LIS_04_P_ARBPL TO itab_C_T_DATA.

               ENDIF.

 

            ENDIF.

 

          ENDLOOP.

 

          defect_counter = 0.

 

       ENDIF.

 

***   from wa_AFRU ***

 

*     if there order & confirmation combinations with multiple defects

*     populate the other characteristics on the new records containing

*     the defects

       IF num_defects > 1.

 

         LOOP AT itab_C_T_DATA ASSIGNING <fs_itab_C_T_DATA> WHERE

           AUFNR = wa_AFRU-AUFNR AND

           RUECK = wa_AFRU-RUECK.

 

*         characteristics

           <fs_itab_C_T_DATA>-ZZERNAM = wa_AFRU-ERNAM.

           <fs_itab_C_T_DATA>-ZZRMZHL = wa_AFRU-RMZHL.

           <fs_itab_C_T_DATA>-ZZAUERU = wa_AFRU-AUERU.

           <fs_itab_C_T_DATA>-ZZMEILR = wa_AFRU-MEILR.

           <fs_itab_C_T_DATA>-ZZISBZ  = wa_AFRU-ISBZ.

           <fs_itab_C_T_DATA>-ZZIEBZ  = wa_AFRU-IEBZ.

           <fs_itab_C_T_DATA>-ZZISBD  = wa_AFRU-ISBD.

           <fs_itab_C_T_DATA>-ZZIEBD  = wa_AFRU-IEBD.

           <fs_itab_C_T_DATA>-BUDAT   = wa_AFRU-BUDAT.

           <fs_itab_C_T_DATA>-GRUND   = wa_AFRU-GRUND.

           <fs_itab_C_T_DATA>-IEDD = wa_AFRU-IEDD.

           <fs_itab_C_T_DATA>-IEDZ = wa_AFRU-IEDZ.

           <fs_itab_C_T_DATA>-ISDD = wa_AFRU-ISDD.

           <fs_itab_C_T_DATA>-ISDZ = wa_AFRU-ISDZ.

           <fs_itab_C_T_DATA>-LOGRP = wa_AFRU-LOGRP.

           <fs_itab_C_T_DATA>-PERNR = wa_AFRU-PERNR.

           <fs_itab_C_T_DATA>-QUALF = wa_AFRU-QUALF.

           <fs_itab_C_T_DATA>-VORNR = wa_AFRU-VORNR.

           <fs_itab_C_T_DATA>-WERKS = wa_AFRU-WERKS.

 

         ENDLOOP.

         num_defects = 0.

 

       ENDIF.

 

*     if there is only one record for an order/confirmation combo

*     it will get the kfs assigned below. also, if there were multiple records

*     due to defects, the last record will get the kfs assigned below on

*     one record

 

*     check STZHL / Confirmation counter of cancelled confirmation = 1 (true)

*     if canceled reverse yield and confirmation activity

       IF wa_AFRU-STZHL = 1.

         wa_2LIS_04_P_ARBPL-ZZGMNGA = wa_AFRU-GMNGA * -1.

         wa_2LIS_04_P_ARBPL-ISM01 = wa_AFRU-ISM01 * -1.

         wa_2LIS_04_P_ARBPL-ISM02 = wa_AFRU-ISM02 * -1.

         wa_2LIS_04_P_ARBPL-ISM03 = wa_AFRU-ISM03 * -1.

         wa_2LIS_04_P_ARBPL-ISM04 = wa_AFRU-ISM04 * -1.

         wa_2LIS_04_P_ARBPL-ISM05 = wa_AFRU-ISM05 * -1.

         wa_2LIS_04_P_ARBPL-ISM06 = wa_AFRU-ISM06 * -1.

       ELSE.

         wa_2LIS_04_P_ARBPL-ZZGMNGA = wa_AFRU-GMNGA.

         wa_2LIS_04_P_ARBPL-ISM01 = wa_AFRU-ISM01.

         wa_2LIS_04_P_ARBPL-ISM02 = wa_AFRU-ISM02.

         wa_2LIS_04_P_ARBPL-ISM03 = wa_AFRU-ISM03.

         wa_2LIS_04_P_ARBPL-ISM04 = wa_AFRU-ISM04.

         wa_2LIS_04_P_ARBPL-ISM05 = wa_AFRU-ISM05.

         wa_2LIS_04_P_ARBPL-ISM06 = wa_AFRU-ISM06.

       ENDIF.

 

*     characteristics

       wa_2LIS_04_P_ARBPL-ZZERNAM = wa_AFRU-ERNAM.

       wa_2LIS_04_P_ARBPL-ZZRMZHL = wa_AFRU-RMZHL.

       wa_2LIS_04_P_ARBPL-ZZAUERU = wa_AFRU-AUERU.

       wa_2LIS_04_P_ARBPL-ZZMEILR = wa_AFRU-MEILR.

       wa_2LIS_04_P_ARBPL-ZZISBZ  = wa_AFRU-ISBZ.

       wa_2LIS_04_P_ARBPL-ZZIEBZ  = wa_AFRU-IEBZ.

       wa_2LIS_04_P_ARBPL-ZZISBD  = wa_AFRU-ISBD.

       wa_2LIS_04_P_ARBPL-ZZIEBD  = wa_AFRU-IEBD.

       wa_2LIS_04_P_ARBPL-BUDAT   = wa_AFRU-BUDAT.

       wa_2LIS_04_P_ARBPL-GRUND   = wa_AFRU-GRUND.

       wa_2LIS_04_P_ARBPL-IEDD = wa_AFRU-IEDD.

       wa_2LIS_04_P_ARBPL-IEDZ = wa_AFRU-IEDZ.

       wa_2LIS_04_P_ARBPL-ISDD = wa_AFRU-ISDD.

       wa_2LIS_04_P_ARBPL-ISDZ = wa_AFRU-ISDZ.

       wa_2LIS_04_P_ARBPL-LOGRP = wa_AFRU-LOGRP.

       wa_2LIS_04_P_ARBPL-PERNR = wa_AFRU-PERNR.

       wa_2LIS_04_P_ARBPL-QUALF = wa_AFRU-QUALF.

       wa_2LIS_04_P_ARBPL-VORNR = wa_AFRU-VORNR.

       wa_2LIS_04_P_ARBPL-WERKS = wa_AFRU-WERKS.

 

*     kfs

       wa_2LIS_04_P_ARBPL-ZZMEINH = wa_AFRU-MEINH.

       wa_2LIS_04_P_ARBPL-ILE01 = wa_AFRU-ILE01.

       wa_2LIS_04_P_ARBPL-ILE02 = wa_AFRU-ILE02.

       wa_2LIS_04_P_ARBPL-ILE03 = wa_AFRU-ILE03.

       wa_2LIS_04_P_ARBPL-ILE04 = wa_AFRU-ILE04.

       wa_2LIS_04_P_ARBPL-ILE05 = wa_AFRU-ILE05.

       wa_2LIS_04_P_ARBPL-ILE06 = wa_AFRU-ILE06.

       wa_2LIS_04_P_ARBPL-LMNGA = wa_AFRU-LMNGA.

       wa_2LIS_04_P_ARBPL-MEINH = wa_AFRU-MEINH.

       wa_2LIS_04_P_ARBPL-RMNGA = wa_AFRU-RMNGA.

 

       APPEND wa_2LIS_04_P_ARBPL TO itab_C_T_DATA.

 

     ENDLOOP.

 

* no hit on AFRU - Order Confirmations

* if there is a header assigned, check for defects via looping

* must have a QN to have defects and I am placing defects on the header record only

   ELSEIF wa_2LIS_04_P_ARBPL-ZZHEADERFLAG = 'X'.

 

*   populate defects by QMNUM (QN)

    LOOP AT itab_VIQMFE INTO wa_VIQMFE

     WHERE QMNUM = wa_2LIS_04_P_ARBPL-ZZQN.

 

      wa_2LIS_04_P_ARBPL-ZZFECOD = wa_VIQMFE-FECOD.

      wa_2LIS_04_P_ARBPL-ZZFEKAT = wa_VIQMFE-FEKAT.

      wa_2LIS_04_P_ARBPL-ZZFEGRP = wa_VIQMFE-FEGRP.

 

      APPEND wa_2LIS_04_P_ARBPL TO itab_C_T_DATA.

 

    ENDLOOP.

 

* ELSE, did not blow out records from AFRU and not a header

   ELSE.

     APPEND wa_2LIS_04_P_ARBPL TO itab_C_T_DATA.

   ENDIF.

 

ENDLOOP.

 

* overwrite C_T_DATA with new records

C_T_DATA[] = itab_C_T_DATA[].

 

  FREE: itab_C_T_DATA,

        itab_AFRU,

        itab_QALS,

        itab_VIQMEL,

        itab_AUFK.

 

ENDFORM.


Viewing all articles
Browse latest Browse all 3366

Trending Articles



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