Table Event

I am trying to use a table control to update a table indicator. For example, in Table 1, a control, if the user modifies a cell with a numeric, I would like to numercially process that cell and put it in Table 2, an indicator.
I have tried using the Event structure along with the 'Value Changed' event, however I cannot find a way of obtaining which cell has been modified. Is there a way to find out which cell has been modified within the "Value Changed" event?
Thanks for any help.

On "Table:keyUp" event wire the table reference to the EditPos property.  Now every keystroke which changes the table is captured any the table cell is noted.
Paul
Paul Falkenstein
Coleman Technologies Inc.
CLA, CPI, AIA-Vision
Labview 4.0- 2013, RT, Vision, FPGA

Similar Messages

  • Report using internal table events

    Hi,
    i have an internal table with  the fields 1. profitcenter 2. company code 3. gl account 4. amount
    for each profit center i need to seggregate accounts based on company code.
    the report should look like the one below.
    please suggest some code using internal table events at new , at end etc. as im not using alv. your help will be rewarded
    regards,
    ravi.
    -Profitcenter-companycodeglaccount-amount---
    -pfcenter1----
    glaccount1-1000---
    glaccount2-2000---
    4444-total--3000---
    glaccount1-4000---
    glaccount2-1000---
    3333-total--5000---
    -profitcentre1*total8000---
    profitcentre2.........

    Hi.
    TYPES: BEGIN OF G_I_DATA,
             PROFIT(4)   TYPE C,
             COMPANY(4)  TYPE C,
             ACCOUNT(10) TYPE C,
             AMOUNT      TYPE P,
           END OF G_I_DATA.
    DATA: G_IT_DATA TYPE TABLE OF G_I_DATA,
          G_WA_DATA TYPE G_I_DATA.
    DATA: G_SUM_COMPANY  TYPE P,
          G_SUM_PROFIT   TYPE P,
          G_AMOUNT       TYPE P.
      G_WA_DATA-PROFIT = '0001'.
      G_WA_DATA-COMPANY = '1111'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT1'.
      G_WA_DATA-AMOUNT = 2000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0001'.
      G_WA_DATA-COMPANY = '1111'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT2'.
      G_WA_DATA-AMOUNT = 3000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0001'.
      G_WA_DATA-COMPANY = '2222'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT1'.
      G_WA_DATA-AMOUNT = 4000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0001'.
      G_WA_DATA-COMPANY = '2222'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT2'.
      G_WA_DATA-AMOUNT = 5000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0002'.
      G_WA_DATA-COMPANY = '1111'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT1'.
      G_WA_DATA-AMOUNT = 2000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0002'.
      G_WA_DATA-COMPANY = '1111'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT2'.
      G_WA_DATA-AMOUNT = 3000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0002'.
      G_WA_DATA-COMPANY = '2222'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT1'.
      G_WA_DATA-AMOUNT = 4000.
      APPEND G_WA_DATA TO G_IT_DATA.
      G_WA_DATA-PROFIT = '0002'.
      G_WA_DATA-COMPANY = '2222'.
      G_WA_DATA-ACCOUNT = 'ACCOUNT2'.
      G_WA_DATA-AMOUNT = 5000.
      APPEND G_WA_DATA TO G_IT_DATA.
      SORT G_IT_DATA BY PROFIT COMPANY ACCOUNT.
      WRITE: /6 'ProfitCenter', 20 'CompanyCode',
              34 'Glaccount', 48 'Amount'.
      WRITE: /6 SY-ULINE(50).
      LOOP AT G_IT_DATA INTO G_WA_DATA.
        AT NEW PROFIT.
          WRITE: /6 G_WA_DATA-PROFIT.
        ENDAT.
        G_AMOUNT = G_WA_DATA-AMOUNT.
        AT NEW ACCOUNT.
          WRITE: /34 G_WA_DATA-ACCOUNT,
                 48  G_AMOUNT.
        ENDAT.
        G_SUM_PROFIT = G_SUM_PROFIT + G_WA_DATA-AMOUNT.
        G_SUM_COMPANY = G_SUM_COMPANY + G_WA_DATA-AMOUNT.
        AT END OF COMPANY.
          WRITE: /20 G_WA_DATA-COMPANY,
                  34 'Totle',
                  48 G_SUM_COMPANY.
          CLEAR G_SUM_COMPANY.
          WRITE: /6 '*******'.
        ENDAT.
        AT END OF PROFIT.
          WRITE: /6 G_WA_DATA-PROFIT,
                  20 'Totle',
                  48 G_SUM_PROFIT.
          CLEAR G_SUM_PROFIT.
          WRITE: /6 '*************************************'.
        ENDAT.
      ENDLOOP.

  • Table Event Update Form?

    Hi,
    If anyone knows about the form "Table event Update",kindly reply or give URL regarding the documentation
    Thanks in advance
    Manoj M

    This form is used for payroll Event model
    basically it identifies when event should be recorded .
    PEM records the events such as Correction or Update on the table u specify.
    e.g. column assignment status change on PER_ALL_ASSIGNMENTS_F table
    The retro pay process uses these events to process those assignments while calculating retro pay
    U specify the table name e.g. PER_ALL_ASSIGNMENTS_F
    In Event section Specify
    1) Event type as datetrack correction/ datetrack update
    2) Column name : specify the column name
    e.g. assignment_status
    3) Change Type : reports
    Also Refer meta link note : 373148.1
    Thanks
    Makarand

  • Table event in ECC 6.0

    Hi,
    I have used a table event to update the changed date and changed by in a custom table in SAP 4.7. It is working fine.
    Now in ECC6.0, there is a similar requirement, but the similar code does not work. Can you please help?
    The code I used in SAP 4.7 is given below.
    FORM sub_update_user_date.
      DATA: l_tabix TYPE sytabix.
      DATA: BEGIN OF l_total.
              INCLUDE STRUCTURE ZORF_XREF_3PL.
              INCLUDE STRUCTURE vimtbflags.
      DATA: END OF l_total,
      l_record TYPE ZORF_XREF_3PL.
      LOOP AT total INTO l_total.
        IF l_total-vim_action = aendern
        OR l_total-vim_action = neuer_eintrag.
          MOVE-CORRESPONDING l_total TO l_record.
          l_record-last_chng_by = sy-uname.
          l_record-last_chng_dt = sy-datum.
          READ TABLE extract WITH KEY l_total.
          IF sy-subrc EQ 0.
            l_tabix = sy-tabix.
          ELSE.
            CLEAR l_tabix.
          ENDIF.
          MOVE-CORRESPONDING l_record TO l_total.
          MODIFY total FROM l_total.
          CHECK l_tabix GT 0.
          MODIFY extract INDEX l_tabix FROM l_total.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "sub_update_user_date
    JC

    Hi,
    Your code looks good...
    But a small change, hope this should work.
    READ TABLE extract WITH KEY l_total.
    *IF sy-subrc EQ 0.*
    *l_tabix = sy-tabix.*
    *ELSE.*
    *CLEAR l_tabix.*
    *ENDIF.*
    *l_total-last_chng_by = sy-uname.*
    *l_total-last_chng_dt = sy-datum.*
    *MODIFY total FROM l_total.*
    MODIFY extract INDEX l_tabix FROM l_total.
    Regards
    Shiva

  • What are the internal table events

    hi experts
    can u help me for this

    Hi ramesh,
    There are basically internal table events are as below...
    at first / endat
    at last / endat
    at new / endat
    at end of / endat
    sum
    on change of / endon
    Use the at first and at last statements to perform processing during the first or last loop pass of an internal table.
    Use the at new and at end of statements to detect a change in a column from one loop pass to the next. These statements enable you to execute code at the beginning and end of a group of records.
    Use the sum statement to calculate totals for the rows of a control level.
    Another statement you can use to perform control break processing is on change of. It behaves in a manner similar to at new.
    on change of differs from at new in the following respects:
    It can be used in any loop construct, not just loop at. For example, it can be used within select and endselect, do and enddo, or while and endwhile, as well as inside get events.
    A single on change of can be triggered by a change within one or more fields named after of and separated by or. These fields can be elementary fields or field strings. If you are within a loop, these fields do not have to belong to the loop.
    When used within a loop, a change in a field to the left of the control level does not trigger a control break.
    When used within a loop, fields to the right still contain their original values; they are not changed to contain zeros or asterisks.
    You can use else between on change of and endon.
    You can use it with loop at it where . . ..
    You can use sum with on change of. It sums all numeric fields except the one(s) named after of.
    Any values changed within on change of remain changed after endon. The contents of the header line are not restored as they are for at and endat.
    <b>Reward Points if it useful....</b>
    Thanks and Regards
    Sreenivasa sharma k.

  • Making field input editable after giving error msg from table event 01

    Hi All,
    I have a requirement of giving error msg and making that row or the particular field input editable by writing code in table event 01 i.e before saving any record in a z-table i have to chk some condition for a column value and if that condition fails then i have to give error msg and make that column input editable.
    I have created a routine for event 01 and written the code to give error msg. But my problem is that column is not becoming input editable. Could you pls tell me how can i make that field editable?
    Thanks in advance.

    Hi Piyali,
    Use SET PARAMETER & GET PARAMETER ID  .
    You will get it.
    Best Regards,
    Pravin

  • Internal table events

    hai ,
         how  i can use  internal table events in ALV's please send me example code
          also .

    Hi Sathish,
    According you your query, You want to display the data in Hierarchical format. I am attaching the code of hierarchical format. You just create a Z report and test this report. So that can solve your problem easily with the help of this code.
    REPORT BALVHD01 NO STANDARD PAGE HEADING.
    ALV
    TYPE-POOLS: SLIS.
    DB-Table
    TABLES: SCARR, SPFLI.
    Includes
    INCLUDE .
    CONSTANTS:
    GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
    DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
          GS_LAYOUT   TYPE SLIS_LAYOUT_ALV,
          GS_KEYINFO  TYPE SLIS_KEYINFO_ALV,
          GT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV,
          GT_EVENTS   TYPE SLIS_T_EVENT.
    Data to be displayed
    DATA: BEGIN OF GT_SPFLI OCCURS 0.
            INCLUDE STRUCTURE SPFLI.
    DATA:
          BOX,
          WERT(4) TYPE P,
          LIGHTS.
    DATA: END OF GT_SPFLI.
    DATA: BEGIN OF GT_SCARR OCCURS 0.
            INCLUDE STRUCTURE SCARR.
    DATA: BOX,
          LIGHTS.
    DATA: END OF GT_SCARR.
    DATA: G_REPID LIKE SY-REPID.
    DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
    Report Selections
    SELECT-OPTIONS CARRID FOR SCARR-CARRID.
    SELECTION-SCREEN SKIP 1.
    Parameters
    PARAMETERS: P_MAXROW TYPE I DEFAULT 50.
    SELECTION-SCREEN SKIP 1.
    Variante
    SELECTION-SCREEN BEGIN OF BLOCK 0 WITH FRAME TITLE TEXT-064.
    PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.
    SELECTION-SCREEN END OF BLOCK 0.
    Layout
    SELECTION-SCREEN BEGIN OF BLOCK A WITH FRAME TITLE TEXT-060.
    PARAMETERS:
                P_ZEBRA AS CHECKBOX DEFAULT ' ',
                P_NOCOLH AS CHECKBOX DEFAULT ' ',
                P_COLOPT AS CHECKBOX DEFAULT ' ',
                P_KEYHOT AS CHECKBOX DEFAULT ' ',
                P_NOINPT AS CHECKBOX DEFAULT ' '.
    SELECTION-SCREEN END OF BLOCK A.
    SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-061.
    PARAMETERS:
                P_LIGHTN  RADIOBUTTON GROUP LIG ,
                P_LIGHTH  RADIOBUTTON GROUP LIG ,
                P_LIGHTI  RADIOBUTTON GROUP LIG ,
                P_LIGHTC AS CHECKBOX DEFAULT ' '.
    SELECTION-SCREEN END OF BLOCK B.
    SELECTION-SCREEN BEGIN OF BLOCK C WITH FRAME TITLE TEXT-062.
    PARAMETERS:
                P_TOTONL AS CHECKBOX DEFAULT ' ',
                P_TOTEXT(60),
                P_STTEXT(60).
    SELECTION-SCREEN END OF BLOCK C.
    SELECTION-SCREEN BEGIN OF BLOCK D WITH FRAME TITLE TEXT-063.
    PARAMETERS:
                CHCKBOXN  RADIOBUTTON GROUP BOX ,
                CHCKBOXH  RADIOBUTTON GROUP BOX ,
                CHCKBOXI  RADIOBUTTON GROUP BOX ,
              P_GROUPB AS CHECKBOX DEFAULT ' ',
                P_DETPOP AS CHECKBOX DEFAULT 'X',
                P_GROUPS AS CHECKBOX DEFAULT ' '.
    SELECTION-SCREEN END OF BLOCK D.
    DATA:       G_BOXNAM TYPE SLIS_FIELDNAME VALUE  'BOX',
                P_F2CODE LIKE SY-UCOMM       VALUE  '&ETA',
                P_LIGNAM TYPE SLIS_FIELDNAME VALUE  'LIGHTS',
                G_SAVE(1) TYPE C,
                G_TABNAME_HEADER TYPE SLIS_TABNAME,
                G_TABNAME_ITEM   TYPE SLIS_TABNAME,
                G_DEFAULT(1) TYPE C,
                G_EXIT(1) TYPE C,
                GX_VARIANT LIKE DISVARIANT,
                G_VARIANT LIKE DISVARIANT.
    INITIALIZATION.
      G_REPID = SY-REPID.
      G_TABNAME_HEADER = 'GT_SCARR'.
      G_TABNAME_ITEM   = 'GT_SPFLI'.
    define keyinfo
      CLEAR GS_KEYINFO.
      GS_KEYINFO-HEADER01 = 'CARRID'.
      GS_KEYINFO-ITEM01   = 'CARRID'.
      GS_KEYINFO-HEADER02 = SPACE.
      GS_KEYINFO-ITEM02   = 'CONNID'.
      PERFORM E01_FIELDCAT_INIT  USING GT_FIELDCAT[].
      PERFORM E03_EVENTTAB_BUILD USING GT_EVENTS[].
      PERFORM E04_COMMENT_BUILD  USING GT_LIST_TOP_OF_PAGE[].
      PERFORM E07_SP_GROUP_BUILD USING GT_SP_GROUP[].
    Schalter Varianten benutzerspezifisch/allgemein speicherbar setzen
    Set Options: save variants userspecific or general
      G_SAVE = 'A'.
      PERFORM VARIANT_INIT.
    Get default variant
      GX_VARIANT = G_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                I_SAVE     = G_SAVE
           CHANGING
                CS_VARIANT = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND  = 2.
      IF SY-SUBRC = 0.
        P_VARI = GX_VARIANT-VARIANT.
      ENDIF.
    Process on value request
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
      PERFORM F4_FOR_VARIANT.
    PAI
    AT SELECTION-SCREEN.
      PERFORM PAI_OF_SELECTION_SCREEN.
    START-OF-SELECTION.
      PERFORM SELECTION.
    END-OF-SELECTION.
      PERFORM E05_LAYOUT_BUILD USING GS_LAYOUT.     "wg. Parameters
    Call ABAP/4 List Viewer
      CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
           EXPORTING
                I_CALLBACK_PROGRAM       = G_REPID
              I_CALLBACK_PF_STATUS_SET = ' '
              I_CALLBACK_USER_COMMAND  = ' '
                IS_LAYOUT                = GS_LAYOUT
                IT_FIELDCAT              = GT_FIELDCAT[]
              IT_EXCLUDING             =
                IT_SPECIAL_GROUPS        = GT_SP_GROUP[]
              IT_SORT                  =
              IT_FILTER                =
              IS_SEL_HIDE              =
              I_SCREEN_START_COLUMN    = 0
              I_SCREEN_START_LINE      = 0
              I_SCREEN_END_COLUMN      = 0
              I_SCREEN_END_LINE        = 0
              i_default                = g_default
                I_SAVE                   = G_SAVE
                IS_VARIANT               = G_VARIANT
                IT_EVENTS                = GT_EVENTS[]
              IT_EVENT_EXIT            =
                I_TABNAME_HEADER         = G_TABNAME_HEADER
                I_TABNAME_ITEM           = G_TABNAME_ITEM
                IS_KEYINFO               = GS_KEYINFO
              IS_PRINT                 =
         IMPORTING
              E_EXIT_CAUSED_BY_CALLER  =
           TABLES
                T_OUTTAB_HEADER          = GT_SCARR
                T_OUTTAB_ITEM            = GT_SPFLI.
          FORM E01_FIELDCAT_INIT                                        *
    -->  E01_LT_FIELDCAT                                               *
    FORM E01_FIELDCAT_INIT USING E01_LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
      DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DISTANCE'.
      LS_FIELDCAT-TABNAME      = G_TABNAME_ITEM.
      LS_FIELDCAT-NO_OUT       = 'X'.
      LS_FIELDCAT-NO_SUM       = 'X'.
      LS_FIELDCAT-SP_GROUP = 'A'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'DISTID'.
      LS_FIELDCAT-TABNAME      = G_TABNAME_ITEM.
      LS_FIELDCAT-NO_OUT       = 'X'.
      LS_FIELDCAT-NO_SUM       = 'X'.
      LS_FIELDCAT-SP_GROUP = 'A'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'CARRID'.
      LS_FIELDCAT-TABNAME      = G_TABNAME_ITEM.
      LS_FIELDCAT-TECH         = 'X'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-FIELDNAME    = 'FLTYPE'.
      LS_FIELDCAT-TABNAME      = G_TABNAME_ITEM.
      LS_FIELDCAT-NO_OUT       = 'X'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
              I_PROGRAM_NAME         =
                I_INTERNAL_TABNAME     = G_TABNAME_HEADER
                I_STRUCTURE_NAME       = 'SCARR'
              I_CLIENT_NEVER_DISPLAY = 'X'
           CHANGING
                CT_FIELDCAT            = E01_LT_FIELDCAT[].
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
           EXPORTING
              I_PROGRAM_NAME         =
                I_INTERNAL_TABNAME     = G_TABNAME_ITEM
                I_STRUCTURE_NAME       = 'SPFLI'
              I_CLIENT_NEVER_DISPLAY = 'X'
           CHANGING
                CT_FIELDCAT            = E01_LT_FIELDCAT[].
    Nachbessern!!!
    CLEAR LS_FIELDCAT.
    LS_FIELDCAT-FIELDNAME    = 'CARRID'.
    LS_FIELDCAT-TABNAME      = G_TABNAME_HEADER.
    LS_FIELDCAT-REF_FIELDNAME = 'CARRID'.
    LS_FIELDCAT-REF_TABNAME   = 'SCARR'.
    LS_FIELDCAT-KEY           = 'X'.
    APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    geht am Anfang nicht !!!!
      CLEAR LS_FIELDCAT.
      LS_FIELDCAT-COL_POS       = 99.
      LS_FIELDCAT-FIELDNAME    = 'WERT'.
      LS_FIELDCAT-TABNAME      = G_TABNAME_ITEM.
      LS_FIELDCAT-REPTEXT_DDIC = 'Wert'(070).
      LS_FIELDCAT-OUTPUTLEN    = 4.
      LS_FIELDCAT-DATATYPE    = 'CURR'.
      APPEND LS_FIELDCAT TO E01_LT_FIELDCAT.
    ENDFORM.
          FORM E02_DATA_ADD                                             *
    FORM E02_DATA_ADD TABLES E02_LT_SPFLI STRUCTURE GT_SPFLI
                             E02_LT_SCARR STRUCTURE GT_SCARR.
      LOOP AT E02_LT_SPFLI.
        IF SY-TABIX > 10.
          E02_LT_SPFLI-BOX  = 'X'.
          E02_LT_SPFLI-LIGHTS = '3'.
        ELSE.
          IF SY-TABIX = 1.
            E02_LT_SPFLI-LIGHTS = '2'.
          ELSE.
            E02_LT_SPFLI-LIGHTS = '1'.
          ENDIF.
        ENDIF.
        E02_LT_SPFLI-WERT = SY-TABIX MOD 5.
        MODIFY E02_LT_SPFLI.
      ENDLOOP.
      LOOP AT E02_LT_SCARR.
        IF SY-TABIX > 10.
          E02_LT_SCARR-BOX  = 'X'.
          E02_LT_SCARR-LIGHTS = '3'.
        ELSE.
          IF SY-TABIX = 1.
            E02_LT_SCARR-LIGHTS = '2'.
          ELSE.
            E02_LT_SCARR-LIGHTS = '1'.
          ENDIF.
        ENDIF.
        MODIFY E02_LT_SCARR.
      ENDLOOP.
    ENDFORM.
          FORM E03_EVENTTAB_BUILD                                       *
    -->  E03_LT_EVENTS                                                 *
    FORM E03_EVENTTAB_BUILD USING E03_LT_EVENTS TYPE SLIS_T_EVENT.
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                I_LIST_TYPE = 0
           IMPORTING
                ET_EVENTS   = E03_LT_EVENTS.
      READ TABLE E03_LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
                               INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
        APPEND LS_EVENT TO E03_LT_EVENTS.
      ENDIF.
    ENDFORM.
          FORM E04_COMMENT_BUILD                                        *
    -->  E04_LT_TOP_OF_PAGE                                            *
    FORM E04_COMMENT_BUILD USING E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
      DATA: LS_LINE TYPE SLIS_LISTHEADER.
    Listenüberschrift: Typ H
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'H'.
    LS_LINE-KEY:  not used for this type
      LS_LINE-INFO = TEXT-001.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Kopfinfo: Typ S
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'S'.
      LS_LINE-KEY  = TEXT-050.
      LS_LINE-INFO = TEXT-010.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
      LS_LINE-KEY  = TEXT-051.
      APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.
    Aktionsinfo: Typ A
      CLEAR LS_LINE.
      LS_LINE-TYP  = 'A'.
    LS_LINE-KEY:  not used for this type
      LS_LINE-INFO = TEXT-002.
      APPEND LS_LINE TO  E04_LT_TOP_OF_PAGE.
    ENDFORM.
          FORM E05_LAYOUT_BUILD                                         *
    <->  E05_LS_LAYOUT                                                 *
    FORM E05_LAYOUT_BUILD USING E05_LS_LAYOUT TYPE SLIS_LAYOUT_ALV.
      IF P_LIGHTI = 'X'.
        E05_LS_LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.
        E05_LS_LAYOUT-LIGHTS_TABNAME   = G_TABNAME_ITEM.
        E05_LS_LAYOUT-LIGHTS_CONDENSE  = P_LIGHTC.
      ENDIF.
      IF P_LIGHTH = 'X'.
        E05_LS_LAYOUT-LIGHTS_FIELDNAME = P_LIGNAM.
        E05_LS_LAYOUT-LIGHTS_TABNAME   = G_TABNAME_HEADER.
        E05_LS_LAYOUT-LIGHTS_CONDENSE  = P_LIGHTC.
      ENDIF.
      IF P_LIGHTN = 'X'.
        CLEAR E05_LS_LAYOUT-LIGHTS_FIELDNAME.
        CLEAR E05_LS_LAYOUT-LIGHTS_TABNAME.
        CLEAR E05_LS_LAYOUT-LIGHTS_CONDENSE.
      ENDIF.
      IF CHCKBOXN = 'X'.
        E05_LS_LAYOUT-BOX_FIELDNAME = SPACE.
        E05_LS_LAYOUT-BOX_TABNAME   = SPACE.
      ENDIF.
      IF CHCKBOXH = 'X'.
        E05_LS_LAYOUT-BOX_FIELDNAME     = G_BOXNAM.
        E05_LS_LAYOUT-BOX_TABNAME       = G_TABNAME_HEADER.
      ENDIF.
      IF CHCKBOXI = 'X'.
        E05_LS_LAYOUT-BOX_FIELDNAME     = G_BOXNAM.
        E05_LS_LAYOUT-BOX_TABNAME       = G_TABNAME_ITEM.
      ENDIF.
      E05_LS_LAYOUT-HEADER_TEXT       = TEXT-071.
      E05_LS_LAYOUT-ITEM_TEXT         = TEXT-072.
      E05_LS_LAYOUT-DEFAULT_ITEM      = 'X'.
      E05_LS_LAYOUT-F2CODE            = P_F2CODE.
      E05_LS_LAYOUT-ZEBRA          = P_ZEBRA.
      E05_LS_LAYOUT-COLWIDTH_OPTIMIZE = P_COLOPT.
      E05_LS_LAYOUT-NO_INPUT          = P_NOINPT.
      E05_LS_LAYOUT-NO_COLHEAD        = P_NOCOLH.
      E05_LS_LAYOUT-TOTALS_TEXT       = P_TOTEXT.
      E05_LS_LAYOUT-SUBTOTALS_TEXT    = P_STTEXT.
      E05_LS_LAYOUT-TOTALS_ONLY       = P_TOTONL.
      E05_LS_LAYOUT-KEY_HOTSPOT       = P_KEYHOT.
      E05_LS_LAYOUT-DETAIL_POPUP      = P_DETPOP.
      E05_LS_LAYOUT-GROUP_CHANGE_EDIT = P_GROUPS.
    E05_LS_LAYOUT-GROUP_BUTTONS     = P_GROUPB.
      E05_LS_LAYOUT-GROUP_BUTTONS     = SPACE.
    ENDFORM.
          FORM E07_SP_GROUP_BUILD                                       *
    -->  E07_LT_SP_GROUP                                               *
    FORM E07_SP_GROUP_BUILD USING E07_LT_SP_GROUP TYPE SLIS_T_SP_GROUP_ALV.
      DATA: LS_SP_GROUP TYPE SLIS_SP_GROUP_ALV.
      CLEAR  LS_SP_GROUP.
      LS_SP_GROUP-SP_GROUP = 'A'.
      LS_SP_GROUP-TEXT     = TEXT-005.
      APPEND LS_SP_GROUP TO E07_LT_SP_GROUP.
    ENDFORM.
          FORM SELECTION                                                *
    FORM SELECTION.
      SELECT * FROM SCARR INTO CORRESPONDING FIELDS OF TABLE GT_SCARR
                                                  WHERE CARRID IN CARRID.
      SELECT * FROM SPFLI INTO CORRESPONDING FIELDS OF TABLE GT_SPFLI
                                                  UP TO P_MAXROW ROWS
                                                  WHERE CARRID IN CARRID.
      LOOP AT GT_SCARR.
        READ TABLE GT_SPFLI WITH KEY CARRID = GT_SCARR-CARRID.
        IF SY-SUBRC NE 0.
          DELETE GT_SCARR.
        ENDIF.
      ENDLOOP.
      PERFORM E02_DATA_ADD TABLES GT_SPFLI GT_SCARR.
    ENDFORM.
          FORM TOP_OF_PAGE                                              *
    FORM TOP_OF_PAGE.
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
           EXPORTING
                IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
    ENDFORM.
          FORM F4_FOR_VARIANT                                           *
    FORM F4_FOR_VARIANT.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
           EXPORTING
                IS_VARIANT          = G_VARIANT
                I_SAVE              = G_SAVE
                I_TABNAME_HEADER    = G_TABNAME_HEADER
                I_TABNAME_ITEM      = G_TABNAME_ITEM
              it_default_fieldcat =
           IMPORTING
                E_EXIT              = G_EXIT
                ES_VARIANT          = GX_VARIANT
           EXCEPTIONS
                NOT_FOUND = 2.
      IF SY-SUBRC = 2.
        MESSAGE ID SY-MSGID TYPE 'S'      NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ELSE.
        IF G_EXIT = SPACE.
          P_VARI = GX_VARIANT-VARIANT.
        ENDIF.
      ENDIF.
    ENDFORM.
    *&      Form  PAI_OF_SELECTION_SCREEN
          text
    FORM PAI_OF_SELECTION_SCREEN.
      IF NOT P_VARI IS INITIAL.
        MOVE G_VARIANT TO GX_VARIANT.
        MOVE P_VARI TO GX_VARIANT-VARIANT.
        CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
             EXPORTING
                  I_SAVE     = G_SAVE
             CHANGING
                  CS_VARIANT = GX_VARIANT.
        G_VARIANT = GX_VARIANT.
      ELSE.
        PERFORM VARIANT_INIT.
      ENDIF.
    ENDFORM.                               " PAI_OF_SELECTION_SCREEN
    *&      Form  VARIANT_INIT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT_INIT.
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = G_REPID.
    ENDFORM.                               " VARIANT_INIT
    Thanks and Best Regards,
    Vijay

  • MDM Table EVENT(EPCF) to get the record ids

    Hi Experts,
    I have a requirement where I need to trigger an EPCF event from MDM standard result set iview and need to capture the recordids of all the record present in the table in my customised webdynpro application.I have to later read them to an excel sheet.(the code for which i already have)
    I am trying table type EPCF eventing for that and later passing [Search] as parameter but i am not able to get this search object and it seems to be a futile approach.
    Please anyone of you can tell me the method to retrieve all records from resultset Iview to my dynpro application.
    Thanks
    Vinay

    Hi Vinay,
    You are correct in that you cannot pass a list of ID's from the Result Set iView.  This is by design and the reasoning behind it is that there could be thousands or even hundreds of thousands of records in a Result Set, and this would make passing them in a JavaScript function or URL unrealistic.
    However, since the ResultSet is always the result of a search, you can pass the "search" to your custom application and recreate the result set there.  The only caveat is as follows:
    Prior to MDM 5.5 SP6 P2, the iViews were based on the MDM4J API. So if your version of MDM is pre-SP6 Patch 2, you must use the function Search.setArchive() of MDM4J.
    From MDM 5.5 SP6 Patch 2, the iViews are based on the MDM Java API, and so you should use the function Search.deserialize() of MDM Java API.
    Regards,
    Walter

  • Table events lost after opening a popup window

    In an advanced table , I have a column which shows a link. If this link is clicked , a new window opens which displays a popup window.
    If the link is not clicked , I can traverse through the advanced table.
    If I click on the link, I cannot navigate through the Advanced Table, The show hide does not work.
    The new Window is being shown for the link using
    a. A OALinkBean
    b. The link bean Destination property is set using OA.jsp?xxx
    c. The target frame is set to _blank.
    Any suggestions on what could be the problem?

    The pop up page is a read only page or ur doing some action events on the pop up page?Are you simultaneuosly doing action on pop up and base page?
    --Mukul                                                                                                                                                                                                                                                                                                                                                       

  • How to get the table Event action in the controller???

    HI
    Based on my requirement i have extended my controller,but i want to perform some validation like ,,,,
    i have table in one region ,in which one column is having a Button (flex field) action with image,
    i want to write the code in the controller according to the validation ,,,,but i am unable to find the event action in the main controller,
    how to get the event action ?,,,,, of the item type as image
    thanks in advance
    Kash

    If not you can use image component with clientListener and serverListener to preform your requirement set clientListener click event and then inside clientListener java script method call the
    serverListener then will execute serverListener method.

  • Table event 'After saving' for date delimition

    I have created a custom table which has stat date and end date. Whenever a new record is created and saved,
    The default value for new records must be 12/31/9999. When user creates a next record, the existing record must be automatically. delimited to BEGDA minus one.
    I have implemented the code in 'After Saving' event where the delimition happens correctly. But once i save and click on exit button, again it's asking to save the record. if i save the delimited records are not updated.
    Please provide some solution on this.
    Regards,
    Stanley

    Hi,
    Generate time dep. is disabled when i checked the table maintanance for the table.
    Please help to proceed further.
    Regards,
    Stanley

  • Populating custom tables via Table Events.

    Hi  ,
    I have a ztable having the following fields:
    MANDT
    FAREA
    REVID
    NAME
    EMAIL
    Out of this fields I need to populate the field REVID  and EMAIL from two standard table USR21 and ADR6.
    Like if I  enter user id and hit enter  tab, then the fields like  email address will automatically be fetched from given tables and populated
    I found that via tablemaintenance --> events this can be done.
    Can you please suggest as to how to proceed with the coding...do I have to use Select from those standard tables and then pass it to the ztable.
    Please help.
    Thanks,
    Suchi.

    I have created  a event via the table maintenance generator-environment events.
    I have used 05-- create new entry as the event code and inserted the following code :
    FORM zat_newentry.
      TYPES : BEGIN OF ty_requester,
              bname      TYPE usr21-bname ,
              persnumber TYPE usr21-persnumber,
              addrnumber TYPE usr21-addrnumber,
              END OF ty_requester,
              BEGIN OF ty_addreq,
              persnumber TYPE adr6-persnumber,
              addrnumber TYPE adr6-addrnumber,
              smtp_addr TYPE adr6-smtp_addr,
              END OF ty_addreq.
      DATA : i_requester TYPE STANDARD TABLE OF ty_requester WITH HEADER LINE,
             i_addreq TYPE STANDARD TABLE OF ty_addreq WITH HEADER LINE.
      SELECT bname
             persnumber
             addrnumber
             FROM usr21
        INTO TABLE i_requester
        WHERE bname = zinf_reviewer-rev.
      IF i_requester[] IS NOT INITIAL.
        SELECT persnumber
               addrnumber
               smtp_addr
               FROM adr6
               INTO TABLE i_addreq
               FOR ALL ENTRIES IN i_requester
               WHERE persnumber = i_requester-persnumber
               AND addrnumber = i_requester-addrnumber .
      ENDIF.
      zinf_reviewer-rev = i_requester-bname.
      zinf_reviewer-email = i_addreq-smtp_addr.
    endform.
    But while trying to create a new entry I am getting the error message saying : "An entry with the key already exists".
    Please suggest.

  • Adding Table Events

    I have assigned a Tcode to a maintainance view.. In this one field is a foreign key from another table.. So when i insert a new record which is not in the check table, then the error message is displayed as ' value 'SER' not there in ZVTRT_TEST (Check Entry ) '.  But I want to modify this message and want to diaplay another message. IS this possible? if so how? Is it possible using Events in table maintance generator? CAn u please give me the detailed steps?

    Thanx. that solved one major part of the problem.. The second part in the same issue involves checking if a mandatory field is left blank while saving or if all fields are blank while saving. In these cases it should not save. So what do i do? another validation requires to check if the start date is lesser than the end date.. CAn u please give me the steps.?

  • Problem on Error Message at Table Event

    Hi ,
    I have one table where I used EVENT-01 which will trigger in the time of SAVE .
    when I maitain data through SM30, I have all New Entry in this Event.
    I  validate this entry and if there have any problem I am displaying Error , But it will EXIT from the Maintain Screen.
    But I want to go to the Maintain Screen with Error.
    How Can I do this ?
    I also tried with EVENT-05 there I can do all item check .But here i didnot get all the Line Item.
    But I need all the line item at a time and then I can validate my requirement so i have to do validation in EVENT-01 .
    Please tell me How I will do this validation .

    Actually I want to check .....
    This Table has 33 fields with 8 Primary key. There have 1 field name Sequence Number .
    If there have 10 numbers of entry and and among them three entry has same Sequece Number , then I need to check some data
    with in these three Entry .And if it fail then I want to display error and go to the Maintain Screen to correct the data

  • Table Event on textview

    Hi
    Table compatibility NW04S.
    I have set my table lead selection to false
    In this way user cannot select a line.
    However what I would like to know is whether it's possible to catch an event if user has clicked on a cell whose cell editor is
    UI Textview?
    Thanks for yr help
    regards
    yuval

    A TextView control is not able to capture events.
    You could consider using a (readonly) InputField control instead of a TextView. That way you could be able to catch the onEnter event.
    Best regards,
    Robin van het Hof

Maybe you are looking for

  • Problem with Sessions and window.open

    Hi, Hi everyone, Help Please!!! I am working with Sevlet session objects and HTML forms and windows. I have an HTML form for the user to supply a username and password. Once the user clicks submit I need to open another browser window that has no too

  • How do I copy and paste text in a PDF?

    I'm new to this Adobe Acrobat stuff, and I'm wondering what I have to do, to able to just copy and paste from a PDF to any old regular document.

  • Missing substitution value for variable [dispatcher.host]

    Hello, I'm getting the error message "com.sap.engine.deploy.manager.MissingSubstitutionException: Missing substitution value for variable [dispatcher.host]." if I'm trying to deploy an SCA file via SDM (remotegui.bat). It seems that the problem is a

  • Execution from right to left : a=b=c;

    Help! I am using a tutorial to study for the certification exam. Unfortunately, I do not understand the answer of a very simple question. Can you give me a hand on this one? ************* This is the Question of the tutorial *************************

  • Check out is not working in jdevloper10g (Subverion10.1.3.41.57 )

    Check out is not working in jdevloper10g (Subverion10.1.3.41.57 )