SAP_ABAP_Internal table data may be lost_INTO CORRESPONDING FIELDS OF TABLE / INTO @DATA(LT1)

SAP ABAP consultant (development engineer) competency model_Terry talks about enterprise digitalization blog-CSDN blog article has been viewed 538 times. Goal: Based on the review of the SAP abap consultant competency model, provide super fuel for abaper with about one year of experience to quickly grow into three years of experience! https://blog.csdn.net/java_zhong1990/article/details/132469977


There is a possibility of losing data when using "INTO CORRESPONDING FIELDS OF TABLE / INTO @DATA(LT1)".

In other words: when there are multiple pieces of the same data in LT1, they will be overwritten by the last piece of data.

Problem case:

SELECT

        mseg~matnr,
        mseg~werks,
        mseg~ablad,
        mseg~mat_pspnr,
        mseg~menge,
        mseg~aufnr,
        mseg~dmbtr

      INTO CORRESPONDING FIELDS OF TABLE @lt1 FROM mseg FOR ALL ENTRIES IN @gt_alv
      WHERE mseg~ablad = @gt_alv-pspnr_char25
      AND mseg~aufnr <> ''
      and mseg~ablad <> ''

Solution: Add the primary key of the entry data

    SELECT
*{   INSERT         PS4K900292                                        9
*
      mseg~MBLNR,
      mseg~ZEILE,
*}   INSERT
        mseg~matnr,
        mseg~werks,
        mseg~ablad,
        mseg~mat_pspnr,
        mseg~menge,
        mseg~aufnr,
        mseg~dmbtr

      INTO CORRESPONDING FIELDS OF TABLE @lt1 FROM mseg FOR ALL ENTRIES IN @gt_alv
      WHERE mseg~ablad = @gt_alv-pspnr_char25
      AND mseg~aufnr <> ''
      and mseg~ablad <> ''
      .

Guess you like

Origin blog.csdn.net/java_zhong1990/article/details/134803720