<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic table update from internal table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514136#M1260693</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DATA : BEGIN OF ITAB OCCURS 0.
        INCLUDE STRUCTURE WB2_V_MKPF_MSEG2.
           DATA : END OF ITAB.

         DATA : BEGIN OF IT_ZTPLSTOCK OCCURS 0.
        INCLUDE STRUCTURE ZTPLSTOCK.
       DATA : END OF IT_ZTPLSTOCK.

        DATA : BEGIN OF ITAB_NEW OCCURS 0.
        INCLUDE STRUCTURE WB2_V_MKPF_MSEG2.
        DATA : END OF ITAB_NEW.

DATA : BEGIN OF IT_FINAL OCCURS 0,
           MATNR LIKE ZTPLSTOCK-MATNR,
           WERKS LIKE ZTPLSTOCK-WERKS,
           ZMONTH LIKE ZTPLSTOCK-ZMONTH,
           MJAHR LIKE ZTPLSTOCK-MJAHR,
           MENGE1 LIKE ZTPLSTOCK-MENGE1,
           MEINS1 LIKE ZTPLSTOCK-MEINS1,
           DMBTR1 LIKE ZTPLSTOCK-DMBTR1,
           MENGE2 LIKE ZTPLSTOCK-MENGE2,
           MEINS2 LIKE ZTPLSTOCK-MEINS2,
           DMBTR2 LIKE ZTPLSTOCK-DMBTR2,
         END OF IT_FINAL.

DATA : IT_FINAL1 LIKE IT_FINAL OCCURS 0 WITH HEADER LINE.
DATA DATE LIKE SY-DATUM.
DATA DATE1 LIKE SY-DATUM.
DATA DATE2 LIKE SY-DATUM.
DATA DATE3 LIKE SY-DATUM.
DATA BUDAT LIKE SY-DATUM.
DATA BEDAT LIKE SY-DATUM.

   DATA : D1(4),
       D2(2),
       D3(2).

DATA: BEGIN OF MONTH OCCURS 4,
       SIGN(1),
       OPTION(2),
       LOW(8),
       HIGH(8),
      END OF MONTH   .

SELECT-OPTIONS: S_WERKS FOR WB2_V_MKPF_MSEG2-WERKS_I.
PARAMETERS:     S_MJAHR LIKE WB2_V_MKPF_MSEG2-MJAHR OBLIGATORY.
SELECT-OPTIONS: S_MATNR FOR WB2_V_MKPF_MSEG2-MATNR_I OBLIGATORY.
SELECT-OPTIONS: S_MONTH FOR T549M-PCMTH.


CONCATENATE S_MJAHR S_MONTH-LOW '01' INTO DATE.
CONCATENATE S_MJAHR S_MONTH-HIGH '01' INTO DATE3.

IF S_MONTH-HIGH IS INITIAL.

  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE
    IMPORTING
      E_DATE = DATE1.

  MONTH-SIGN = 'I'.
  MONTH-OPTION = 'BT'.
  MONTH-LOW = DATE.
  MONTH-HIGH = DATE1.

  APPEND MONTH.


ELSE.

  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE
    IMPORTING
      E_DATE = DATE1.


  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE3
    IMPORTING
      E_DATE = DATE2.

  MONTH-SIGN = 'I'.
  MONTH-OPTION = 'BT'.
  MONTH-LOW = DATE.
  MONTH-HIGH = DATE2.

  APPEND MONTH.

ENDIF.

DATA: QUAN1 LIKE MSEG-MENGE.
DATA: QUAN2 LIKE MSEG-MENGE.
DATA: QUAN3 LIKE MSEG-MENGE.
DATA: QUAN4 LIKE MSEG-MENGE.
DATA: QUAN5 LIKE MSEG-MENGE.
DATA: QUAN6 LIKE MSEG-MENGE.
DATA: AMT1 LIKE MSEG-DMBTR.
DATA: AMT2 LIKE MSEG-DMBTR.
DATA: AMT3 LIKE MSEG-DMBTR.
DATA: AMT4 LIKE MSEG-DMBTR.
DATA: AMT5 LIKE MSEG-DMBTR.
DATA: AMT6 LIKE MSEG-DMBTR.

START-OF-SELECTION.

 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.
    MOVE : ITAB-MATNR_I TO IT_FINAL-MATNR,
           ITAB-WERKS_I TO IT_FINAL-WERKS,
           ITAB-MJAHR_I TO IT_FINAL-MJAHR,
           ITAB-MENGE_I TO IT_FINAL-MENGE,
           ITAB-DMBTR_I TO IT_FINAL-DMBTR.
    APPEND IT_FINAL.
    CLEAR IT_FINAL.
  ENDLOOP.

  SELECT * FROM WB2_V_MKPF_MSEG2 INTO CORRESPONDING FIELDS OF TABLE
    ITAB_NEW FOR ALL ENTRIES IN IT_FINAL WHERE WERKS_I = IT_FINAL-WERKS
                             AND   MJAHR_I = IT_FINAL-MJAHR
                             AND   MATNR_I = IT_FINAL-MATNR
                             AND   BUDAT IN MONTH.


  LOOP AT IT_FINAL.
    MOVE-CORRESPONDING IT_FINAL TO IT_FINAL1.
    LOOP AT ITAB_NEW WHERE WERKS_I = IT_FINAL-WERKS
                        AND   MJAHR_I = IT_FINAL-MJAHR
                        AND   MATNR_I = IT_FINAL-MATNR
                        AND   BUDAT IN MONTH.

      IF ITAB_NEW-SHKZG_I = 'H'.
        ITAB_NEW-MENGE_I = ITAB_NEW-MENGE_I * -1.
        ITAB_NEW-DMBTR_I = ITAB_NEW-DMBTR_I * -1.
      ELSE.
        ITAB_NEW-MENGE_I = ITAB_NEW-MENGE_I.
        ITAB_NEW-DMBTR_I = ITAB_NEW-DMBTR_I.
      ENDIF.

      IF ITAB_NEW-BWART_I = '101' OR ITAB_NEW-BWART_I = '102'
         OR ITAB_NEW-BWART_I = '122' OR ITAB_NEW-BWART_I = '123'.

        QUAN1 = QUAN1 + ITAB_NEW-MENGE_I.
        AMT1 = AMT1 + ITAB_NEW-DMBTR_I.
        MOVE ITAB_NEW-MEINS_I TO IT_FINAL1-MEINS1.

      ENDIF.
      IF ITAB_NEW-BWART_I = '201' OR ITAB_NEW-BWART_I = '202'
         OR ITAB_NEW-BWART_I = '261' OR ITAB_NEW-BWART_I = '262'.

        QUAN2 = QUAN2 + ITAB_NEW-MENGE_I.
        AMT2 = AMT2 + ITAB_NEW-DMBTR_I.
        MOVE ITAB_NEW-MEINS_I TO IT_FINAL1-MEINS2.

      ENDIF.
    ENDLOOP.
      MOVE QUAN1 TO IT_FINAL1-MENGE1.
      MOVE QUAN2 TO IT_FINAL1-MENGE2.
      MOVE AMT1 TO IT_FINAL1-DMBTR1.
      MOVE AMT2 TO IT_FINAL1-DMBTR2.
      APPEND IT_FINAL1.
      CLEAR: QUAN1,QUAN2,
      AMT1,AMT2,IT_FINAL.
     ENDLOOP.
 
 LOOP AT IT_FINAL1.
    MOVE-CORRESPONDING IT_FINAL1 TO ZTPLSTOCK.
    INSERT ZTPLSTOCK.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the above program i need to insert month fields in zmonth field in the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the selection-screen s_month high and low values are there how to insert those values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;suggest some ideas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Bathri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 22 Apr 2009 10:29:23 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-04-22T10:29:23Z</dc:date>
    <item>
      <title>table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514136#M1260693</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;   &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;DATA : BEGIN OF ITAB OCCURS 0.
        INCLUDE STRUCTURE WB2_V_MKPF_MSEG2.
           DATA : END OF ITAB.

         DATA : BEGIN OF IT_ZTPLSTOCK OCCURS 0.
        INCLUDE STRUCTURE ZTPLSTOCK.
       DATA : END OF IT_ZTPLSTOCK.

        DATA : BEGIN OF ITAB_NEW OCCURS 0.
        INCLUDE STRUCTURE WB2_V_MKPF_MSEG2.
        DATA : END OF ITAB_NEW.

DATA : BEGIN OF IT_FINAL OCCURS 0,
           MATNR LIKE ZTPLSTOCK-MATNR,
           WERKS LIKE ZTPLSTOCK-WERKS,
           ZMONTH LIKE ZTPLSTOCK-ZMONTH,
           MJAHR LIKE ZTPLSTOCK-MJAHR,
           MENGE1 LIKE ZTPLSTOCK-MENGE1,
           MEINS1 LIKE ZTPLSTOCK-MEINS1,
           DMBTR1 LIKE ZTPLSTOCK-DMBTR1,
           MENGE2 LIKE ZTPLSTOCK-MENGE2,
           MEINS2 LIKE ZTPLSTOCK-MEINS2,
           DMBTR2 LIKE ZTPLSTOCK-DMBTR2,
         END OF IT_FINAL.

DATA : IT_FINAL1 LIKE IT_FINAL OCCURS 0 WITH HEADER LINE.
DATA DATE LIKE SY-DATUM.
DATA DATE1 LIKE SY-DATUM.
DATA DATE2 LIKE SY-DATUM.
DATA DATE3 LIKE SY-DATUM.
DATA BUDAT LIKE SY-DATUM.
DATA BEDAT LIKE SY-DATUM.

   DATA : D1(4),
       D2(2),
       D3(2).

DATA: BEGIN OF MONTH OCCURS 4,
       SIGN(1),
       OPTION(2),
       LOW(8),
       HIGH(8),
      END OF MONTH   .

SELECT-OPTIONS: S_WERKS FOR WB2_V_MKPF_MSEG2-WERKS_I.
PARAMETERS:     S_MJAHR LIKE WB2_V_MKPF_MSEG2-MJAHR OBLIGATORY.
SELECT-OPTIONS: S_MATNR FOR WB2_V_MKPF_MSEG2-MATNR_I OBLIGATORY.
SELECT-OPTIONS: S_MONTH FOR T549M-PCMTH.


CONCATENATE S_MJAHR S_MONTH-LOW '01' INTO DATE.
CONCATENATE S_MJAHR S_MONTH-HIGH '01' INTO DATE3.

IF S_MONTH-HIGH IS INITIAL.

  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE
    IMPORTING
      E_DATE = DATE1.

  MONTH-SIGN = 'I'.
  MONTH-OPTION = 'BT'.
  MONTH-LOW = DATE.
  MONTH-HIGH = DATE1.

  APPEND MONTH.


ELSE.

  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE
    IMPORTING
      E_DATE = DATE1.


  CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
    EXPORTING
      I_DATE = DATE3
    IMPORTING
      E_DATE = DATE2.

  MONTH-SIGN = 'I'.
  MONTH-OPTION = 'BT'.
  MONTH-LOW = DATE.
  MONTH-HIGH = DATE2.

  APPEND MONTH.

ENDIF.

DATA: QUAN1 LIKE MSEG-MENGE.
DATA: QUAN2 LIKE MSEG-MENGE.
DATA: QUAN3 LIKE MSEG-MENGE.
DATA: QUAN4 LIKE MSEG-MENGE.
DATA: QUAN5 LIKE MSEG-MENGE.
DATA: QUAN6 LIKE MSEG-MENGE.
DATA: AMT1 LIKE MSEG-DMBTR.
DATA: AMT2 LIKE MSEG-DMBTR.
DATA: AMT3 LIKE MSEG-DMBTR.
DATA: AMT4 LIKE MSEG-DMBTR.
DATA: AMT5 LIKE MSEG-DMBTR.
DATA: AMT6 LIKE MSEG-DMBTR.

START-OF-SELECTION.

 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.
    MOVE : ITAB-MATNR_I TO IT_FINAL-MATNR,
           ITAB-WERKS_I TO IT_FINAL-WERKS,
           ITAB-MJAHR_I TO IT_FINAL-MJAHR,
           ITAB-MENGE_I TO IT_FINAL-MENGE,
           ITAB-DMBTR_I TO IT_FINAL-DMBTR.
    APPEND IT_FINAL.
    CLEAR IT_FINAL.
  ENDLOOP.

  SELECT * FROM WB2_V_MKPF_MSEG2 INTO CORRESPONDING FIELDS OF TABLE
    ITAB_NEW FOR ALL ENTRIES IN IT_FINAL WHERE WERKS_I = IT_FINAL-WERKS
                             AND   MJAHR_I = IT_FINAL-MJAHR
                             AND   MATNR_I = IT_FINAL-MATNR
                             AND   BUDAT IN MONTH.


  LOOP AT IT_FINAL.
    MOVE-CORRESPONDING IT_FINAL TO IT_FINAL1.
    LOOP AT ITAB_NEW WHERE WERKS_I = IT_FINAL-WERKS
                        AND   MJAHR_I = IT_FINAL-MJAHR
                        AND   MATNR_I = IT_FINAL-MATNR
                        AND   BUDAT IN MONTH.

      IF ITAB_NEW-SHKZG_I = 'H'.
        ITAB_NEW-MENGE_I = ITAB_NEW-MENGE_I * -1.
        ITAB_NEW-DMBTR_I = ITAB_NEW-DMBTR_I * -1.
      ELSE.
        ITAB_NEW-MENGE_I = ITAB_NEW-MENGE_I.
        ITAB_NEW-DMBTR_I = ITAB_NEW-DMBTR_I.
      ENDIF.

      IF ITAB_NEW-BWART_I = '101' OR ITAB_NEW-BWART_I = '102'
         OR ITAB_NEW-BWART_I = '122' OR ITAB_NEW-BWART_I = '123'.

        QUAN1 = QUAN1 + ITAB_NEW-MENGE_I.
        AMT1 = AMT1 + ITAB_NEW-DMBTR_I.
        MOVE ITAB_NEW-MEINS_I TO IT_FINAL1-MEINS1.

      ENDIF.
      IF ITAB_NEW-BWART_I = '201' OR ITAB_NEW-BWART_I = '202'
         OR ITAB_NEW-BWART_I = '261' OR ITAB_NEW-BWART_I = '262'.

        QUAN2 = QUAN2 + ITAB_NEW-MENGE_I.
        AMT2 = AMT2 + ITAB_NEW-DMBTR_I.
        MOVE ITAB_NEW-MEINS_I TO IT_FINAL1-MEINS2.

      ENDIF.
    ENDLOOP.
      MOVE QUAN1 TO IT_FINAL1-MENGE1.
      MOVE QUAN2 TO IT_FINAL1-MENGE2.
      MOVE AMT1 TO IT_FINAL1-DMBTR1.
      MOVE AMT2 TO IT_FINAL1-DMBTR2.
      APPEND IT_FINAL1.
      CLEAR: QUAN1,QUAN2,
      AMT1,AMT2,IT_FINAL.
     ENDLOOP.
 
 LOOP AT IT_FINAL1.
    MOVE-CORRESPONDING IT_FINAL1 TO ZTPLSTOCK.
    INSERT ZTPLSTOCK.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the above program i need to insert month fields in zmonth field in the table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in the selection-screen s_month high and low values are there how to insert those values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;suggest some ideas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Bathri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Apr 2009 10:29:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514136#M1260693</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-22T10:29:23Z</dc:date>
    </item>
    <item>
      <title>Re: table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514137#M1260694</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is not the way to post a thread...&lt;/P&gt;&lt;P&gt;it should be in a proper way to understand&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Apr 2009 10:33:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514137#M1260694</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-22T10:33:49Z</dc:date>
    </item>
    <item>
      <title>Re: table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514138#M1260695</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hello,&lt;/P&gt;&lt;P&gt;Use the following pointers:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
LOOP AT IT_FINAL1. 
MOVE-CORRESPONDING IT_FINAL1 TO ZTPLSTOCK. 
it_final1-zmonth = s_date-high+04(02). " This is the filed to be added
INSERT ZTPLSTOCK. 
ENDLOOP
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Apr 2009 10:34:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514138#M1260695</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-22T10:34:09Z</dc:date>
    </item>
    <item>
      <title>Re: table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514139#M1260696</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Transfer your &lt;/P&gt;&lt;P&gt;wa_tm is type table of target table where data has to be pass&lt;/P&gt;&lt;P&gt;wa-field = wa_tmp-field&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Apr 2009 10:35:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514139#M1260696</guid>
      <dc:creator>former_member659396</dc:creator>
      <dc:date>2009-04-22T10:35:51Z</dc:date>
    </item>
    <item>
      <title>Re: table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514140#M1260697</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To update table from internal table.&lt;/P&gt;&lt;P&gt;You can use &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;MODIFY TABLE TABLE NAME FROM INTERNAL TABLE&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mansi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Apr 2009 11:01:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514140#M1260697</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-04-22T11:01:56Z</dc:date>
    </item>
    <item>
      <title>Re: table update from internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514141#M1260698</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;answered&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 May 2009 12:30:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/table-update-from-internal-table/m-p/5514141#M1260698</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-05-04T12:30:25Z</dc:date>
    </item>
  </channel>
</rss>

