Skip to Content
0
Former Member
Jun 09, 2009 at 06:51 AM

Insert datas to ZTable

33 Views

Hi,

In the below code datas are not inserting to Ztable.

Suggest some ideas.

 SELECT * FROM WB2_V_MKPF_MSEG2 INTO CORRESPONDING FIELDS OF TABLE ITAB
                           WHERE WERKS_I IN S_WERKS
                           AND   MJAHR_I EQ S_MJAHR
                           AND   MATNR_I IN S_MATNR
                           AND   BUDAT IN MONTH.

  LOOP AT ITAB .

    IF ITAB-SHKZG_I = 'H'.
      ITAB-MENGE_I = ITAB-MENGE_I * -1.
      ITAB-DMBTR_I = ITAB-DMBTR_I * -1.
    ELSE.
      ITAB-MENGE_I = ITAB-MENGE_I.
      ITAB-DMBTR_I = ITAB-DMBTR_I.
    ENDIF.

    QUAN1 = QUAN1 + ITAB-MENGE_I.
    MOVE ITAB-MEINS_I TO IT_FINAL1-MEINS.

    MOVE : ITAB-MATNR_I TO IT_FINAL1-MATNR,
       ITAB-WERKS_I TO IT_FINAL1-WERKS,
       ITAB-LGORT_I TO IT_FINAL1-LGORT,
       ITAB-MJAHR_I TO IT_FINAL1-MJAHR,
       ITAB-BUDAT+4(2) TO IT_FINAL1-ZMONTH.

    MOVE QUAN1 TO IT_FINAL1-MENGE.
    COLLECT IT_FINAL1.
    CLEAR: QUAN1,IT_FINAL.
  ENDLOOP.

  LOOP AT IT_FINAL1.
    MOVE : IT_FINAL1-MATNR TO IT_FINAL_NEW-MATNR,
           IT_FINAL1-WERKS TO IT_FINAL_NEW-WERKS,
           IT_FINAL1-ZMONTH TO IT_FINAL_NEW-ZMONTH,
           IT_FINAL1-MJAHR TO IT_FINAL_NEW-MJAHR,
           IT_FINAL1-LGORT TO IT_FINAL_NEW-LGORT,
           IT_FINAL1-MENGE TO IT_FINAL_NEW-MENGE.
    COLLECT IT_FINAL_NEW.
  ENDLOOP.

  SELECT * FROM MACKW INTO CORRESPONDING FIELDS OF TABLE IT_MACKW
    FOR ALL ENTRIES IN IT_FINAL_NEW WHERE MATNR = IT_FINAL_NEW-MATNR
     AND WERKS = IT_FINAL_NEW-WERKS.

  LOOP AT IT_FINAL_NEW.
    READ TABLE IT_MACKW WITH KEY MATNR = IT_FINAL_NEW-MATNR
                          WERKS = IT_FINAL_NEW-WERKS.

    IF SY-SUBRC = 0.
      IF NOT IT_FINAL_NEW-MENGE IS INITIAL.
        MOVE IT_MACKW-MEINS TO IT_FINAL_NEW-MEINS.
      ENDIF.
    ENDIF.
    MODIFY IT_FINAL_NEW.
  ENDLOOP.

  LOOP AT IT_FINAL_NEW.
    MOVE-CORRESPONDING IT_FINAL_NEW TO ZTPLSL.
    INSERT ZTPLSL.
  ENDLOOP.