<?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 Re: Database table update from output list. in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/database-table-update-from-output-list/m-p/2775862#M646957</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ALV_DISPLAY
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM ALV_DISPLAY.
  DATA: IT_EVENTS TYPE SLIS_T_EVENT,
        WA_EVENTS LIKE LINE OF IT_EVENTS.
  REFRESH: IT_EVENTS.
  CLEAR: WA_EVENTS,IT_EVENTS.
  WA_EVENTS-NAME = 'PF_STATUS_SET'.
  WA_EVENTS-FORM = 'STATUS'.
  APPEND WA_EVENTS TO IT_EVENTS .
*--- ALV List Display
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_CALLBACK_PROGRAM      = G_PROGNAME
            I_CALLBACK_USER_COMMAND = G_CALLBACK_USER_COMMAND
            IT_FIELDCAT             = GT_FIELDCAT
            IT_EVENTS               = IT_EVENTS
       TABLES
            T_OUTTAB                = G_T_EKPO
       EXCEPTIONS
            PROGRAM_ERROR           = 1
            OTHERS                  = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " ALV_DISPLAY
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND_ALV
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM ALV_USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                           RS_SELFIELD TYPE SLIS_SELFIELD.
  DATA: LR_EKKN LIKE EKKN,
        LR_OHNEBEW LIKE Z48M_MATOHNEBEW.
  CASE R_UCOMM.
    WHEN '&amp;amp;IC1'.
*--- Hotspot selektion
      CASE RS_SELFIELD-FIELDNAME.
        WHEN 'NOTE'.
          READ TABLE G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
          IF G_T_EKPO-MTART NE 'DIEN'.
            SELECT SINGLE * FROM Z48M_MATOHNEBEW INTO LR_OHNEBEW
                                       WHERE MATNR = G_T_EKPO-MATNR.
            IF SY-SUBRC NE 0.
              SELECT * FROM  Z48M_NOTE_LIST INTO TABLE IT_TC01.
              CONCATENATE G_T_EKPO-EBELN G_T_EKPO-EBELP INTO TEXT1
                                                  SEPARATED BY '/'.
              SELECT SINGLE * FROM Z48M_LIEF_NOTE
                          WHERE EBELN = G_T_EKPO-EBELN
                            AND EBELP = G_T_EKPO-EBELP.
              IF SY-SUBRC = 0.
                LOOP AT IT_TC01.
                  IF IT_TC01-KRITER = 'QUALITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-QUALI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'KOSTEN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-KOSTE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'LIEFERTERMIN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-LIEFE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'FLEXIBILITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-FLEXI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'ZUSAMMENARBEIT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-ZUSAM.
                  ENDIF.
                  IF IT_TC01-KRITER = 'SCHWIERIGKEITSGRAD'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-SCHWI.
                  ENDIF.
                  MODIFY IT_TC01.
                ENDLOOP.
*            MESSAGE I999(Z48MM) WITH TEXT-004 G_T_EKPO-EBELN
*                                              G_T_EKPO-EBELP.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ELSE.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ENDIF.
            ELSE.
              MESSAGE E105(Z48MM).
            ENDIF.
          ELSE.
* This check is done in order to avoid the valuation for the the
* Materials with type DIEN.

            SELECT SINGLE * FROM Z48M_MATOHNEBEW INTO LR_OHNEBEW
                                       WHERE MATNR = G_T_EKPO-MATNR.
            IF SY-SUBRC NE 0.
              SELECT * FROM  Z48M_NOTE_LIST INTO TABLE IT_TC01.
              CONCATENATE G_T_EKPO-EBELN G_T_EKPO-EBELP INTO TEXT1
                                                  SEPARATED BY '/'.
              SELECT SINGLE * FROM Z48M_LIEF_NOTE
                          WHERE EBELN = G_T_EKPO-EBELN
                            AND EBELP = G_T_EKPO-EBELP.
              IF SY-SUBRC = 0.
                LOOP AT IT_TC01.
                  IF IT_TC01-KRITER = 'QUALITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-QUALI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'KOSTEN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-KOSTE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'LIEFERTERMIN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-LIEFE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'FLEXIBILITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-FLEXI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'ZUSAMMENARBEIT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-ZUSAM.
                  ENDIF.
                  IF IT_TC01-KRITER = 'SCHWIERIGKEITSGRAD'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-SCHWI.
                  ENDIF.
                  MODIFY IT_TC01.
                ENDLOOP.
*            MESSAGE I999(Z48MM) WITH TEXT-004 G_T_EKPO-EBELN
*                                              G_T_EKPO-EBELP.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ELSE.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ENDIF.
            ELSE.
              MESSAGE E105(Z48MM).
            ENDIF.
          ENDIF.
      ENDCASE.
    WHEN '&amp;amp;EMAIL'.
      PERFORM BUILD_XLS_DATA_TABLE.
      IF NOT IT_ATTACH[] IS INITIAL.
        PERFORM MAIL_SEND.
      ELSE.
        MESSAGE S375(VN).
      ENDIF.
  ENDCASE.
ENDFORM. "USER_COMMAND_ALV
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 13 Sep 2007 08:31:29 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-13T08:31:29Z</dc:date>
    <item>
      <title>Database table update from output list.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/database-table-update-from-output-list/m-p/2775861#M646956</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all &lt;/P&gt;&lt;P&gt;i am developing ALV report in which i have to give two fields editable. Now user can change that fields and able to save the data in database tables. I want to know how can i take values from screen in internal table or is there any other logic? please help me. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopeful answer will be rewarded.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2007 08:29:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/database-table-update-from-output-list/m-p/2775861#M646956</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-13T08:29:25Z</dc:date>
    </item>
    <item>
      <title>Re: Database table update from output list.</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/database-table-update-from-output-list/m-p/2775862#M646957</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  ALV_DISPLAY
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM ALV_DISPLAY.
  DATA: IT_EVENTS TYPE SLIS_T_EVENT,
        WA_EVENTS LIKE LINE OF IT_EVENTS.
  REFRESH: IT_EVENTS.
  CLEAR: WA_EVENTS,IT_EVENTS.
  WA_EVENTS-NAME = 'PF_STATUS_SET'.
  WA_EVENTS-FORM = 'STATUS'.
  APPEND WA_EVENTS TO IT_EVENTS .
*--- ALV List Display
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
            I_CALLBACK_PROGRAM      = G_PROGNAME
            I_CALLBACK_USER_COMMAND = G_CALLBACK_USER_COMMAND
            IT_FIELDCAT             = GT_FIELDCAT
            IT_EVENTS               = IT_EVENTS
       TABLES
            T_OUTTAB                = G_T_EKPO
       EXCEPTIONS
            PROGRAM_ERROR           = 1
            OTHERS                  = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " ALV_DISPLAY
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  USER_COMMAND_ALV
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM ALV_USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                           RS_SELFIELD TYPE SLIS_SELFIELD.
  DATA: LR_EKKN LIKE EKKN,
        LR_OHNEBEW LIKE Z48M_MATOHNEBEW.
  CASE R_UCOMM.
    WHEN '&amp;amp;IC1'.
*--- Hotspot selektion
      CASE RS_SELFIELD-FIELDNAME.
        WHEN 'NOTE'.
          READ TABLE G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
          IF G_T_EKPO-MTART NE 'DIEN'.
            SELECT SINGLE * FROM Z48M_MATOHNEBEW INTO LR_OHNEBEW
                                       WHERE MATNR = G_T_EKPO-MATNR.
            IF SY-SUBRC NE 0.
              SELECT * FROM  Z48M_NOTE_LIST INTO TABLE IT_TC01.
              CONCATENATE G_T_EKPO-EBELN G_T_EKPO-EBELP INTO TEXT1
                                                  SEPARATED BY '/'.
              SELECT SINGLE * FROM Z48M_LIEF_NOTE
                          WHERE EBELN = G_T_EKPO-EBELN
                            AND EBELP = G_T_EKPO-EBELP.
              IF SY-SUBRC = 0.
                LOOP AT IT_TC01.
                  IF IT_TC01-KRITER = 'QUALITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-QUALI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'KOSTEN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-KOSTE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'LIEFERTERMIN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-LIEFE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'FLEXIBILITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-FLEXI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'ZUSAMMENARBEIT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-ZUSAM.
                  ENDIF.
                  IF IT_TC01-KRITER = 'SCHWIERIGKEITSGRAD'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-SCHWI.
                  ENDIF.
                  MODIFY IT_TC01.
                ENDLOOP.
*            MESSAGE I999(Z48MM) WITH TEXT-004 G_T_EKPO-EBELN
*                                              G_T_EKPO-EBELP.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ELSE.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ENDIF.
            ELSE.
              MESSAGE E105(Z48MM).
            ENDIF.
          ELSE.
* This check is done in order to avoid the valuation for the the
* Materials with type DIEN.

            SELECT SINGLE * FROM Z48M_MATOHNEBEW INTO LR_OHNEBEW
                                       WHERE MATNR = G_T_EKPO-MATNR.
            IF SY-SUBRC NE 0.
              SELECT * FROM  Z48M_NOTE_LIST INTO TABLE IT_TC01.
              CONCATENATE G_T_EKPO-EBELN G_T_EKPO-EBELP INTO TEXT1
                                                  SEPARATED BY '/'.
              SELECT SINGLE * FROM Z48M_LIEF_NOTE
                          WHERE EBELN = G_T_EKPO-EBELN
                            AND EBELP = G_T_EKPO-EBELP.
              IF SY-SUBRC = 0.
                LOOP AT IT_TC01.
                  IF IT_TC01-KRITER = 'QUALITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-QUALI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'KOSTEN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-KOSTE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'LIEFERTERMIN'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-LIEFE.
                  ENDIF.
                  IF IT_TC01-KRITER = 'FLEXIBILITÄT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-FLEXI.
                  ENDIF.
                  IF IT_TC01-KRITER = 'ZUSAMMENARBEIT'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-ZUSAM.
                  ENDIF.
                  IF IT_TC01-KRITER = 'SCHWIERIGKEITSGRAD'.
                    IT_TC01-NOTE = Z48M_LIEF_NOTE-SCHWI.
                  ENDIF.
                  MODIFY IT_TC01.
                ENDLOOP.
*            MESSAGE I999(Z48MM) WITH TEXT-004 G_T_EKPO-EBELN
*                                              G_T_EKPO-EBELP.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ELSE.
                CALL SCREEN 0100 STARTING AT 20 05  ENDING AT 80 14.
                G_T_EKPO-NOTE = G_F_AVG.
                G_T_EKPO-FLAG = 'X'.
                MODIFY G_T_EKPO INDEX RS_SELFIELD-TABINDEX.
                RS_SELFIELD-REFRESH = 'X'.
              ENDIF.
            ELSE.
              MESSAGE E105(Z48MM).
            ENDIF.
          ENDIF.
      ENDCASE.
    WHEN '&amp;amp;EMAIL'.
      PERFORM BUILD_XLS_DATA_TABLE.
      IF NOT IT_ATTACH[] IS INITIAL.
        PERFORM MAIL_SEND.
      ELSE.
        MESSAGE S375(VN).
      ENDIF.
  ENDCASE.
ENDFORM. "USER_COMMAND_ALV
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vasanth&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2007 08:31:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/database-table-update-from-output-list/m-p/2775862#M646957</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-13T08:31:29Z</dc:date>
    </item>
  </channel>
</rss>

