Double click on a field in selection screen

hi everybody
I wanted to know if it is possible to double click on a field in a selection screen and go to a transaction and come back on the selection screen
Afterwards processing is done on that field
Thanks for your kind help

hi,
I dont think it is poosible.
well there is a sequence in which the events are triggered for a report/Program.
and user actions are handled in the At User Command event.

Similar Messages

  • Double click on list field in ALV grid control

    Hello all,
    I developed a report with a ALV grid control. I would like to move some functionality from marking a line and pressing a button in the status line to double clicking a specific field in the output list and execute a command there (i.e. double click on PO number and go to PO display TAC then). Can anybody provide some example coding for that?
    Thanks so much for your help!
    Torsten

    Here is your sample program.  Copy this code into a z program.  Create the screen 100 with a container in it and name it "ALV_CONTAINER".  Create the gui-status with "BACK".
    report zrich_0001.
    tables: ekko.
    data: begin of i_alv occurs 0,
          ebeln type ekko-ebeln,
          end of i_alv.
    *       CLASS cl_event_receiver DEFINITION      Handles Double Click
    class cl_event_receiver definition.
      public section.
        methods handle_double_click
          for event double_click of cl_gui_alv_grid
          importing e_row e_column.
      private section.
    endclass.
    *       CLASS CL_EVENT_RECEIVER IMPLEMENTATION    Handles Double Click
    class cl_event_receiver implementation.
      method handle_double_click.
        perform drill_down using e_row-index.
      endmethod.
    endclass.
    data: alv_container  type ref to cl_gui_custom_container.
    data: event_receiver type ref to cl_event_receiver.
    data: alv_grid       type ref to cl_gui_alv_grid.
    data: layout    type lvc_s_layo.
    data: fieldcat  type lvc_t_fcat.
    selection-screen begin of block b1 with frame title text-001 .
    select-options: s_ebeln for ekko-ebeln.
    selection-screen end of block b1.
    start-of-selection.
      perform get_data.
      call screen 100.
    *      Module  status_0100  OUTPUT
    module status_0100 output.
      set pf-status '0100'.
      set titlebar '0100'.
      data: variant type  disvariant.
      variant-report = sy-repid.
      variant-username = sy-uname.
    * Create Controls
      create object alv_container
             exporting
                   container_name    = 'ALV_CONTAINER'.
      create object alv_grid
             exporting
                   i_parent          =  alv_container.
    *  Create Event Receiver
      create object event_receiver.
    *  Populate Field Catalog
      perform get_fieldcatalog.
      call method alv_grid->set_table_for_first_display
          exporting
               is_layout              = layout
               is_variant             = variant
               i_save                 = 'U'
               i_structure_name       = 'I_ALV'
          changing
               it_outtab       = i_alv[]
               it_fieldcatalog = fieldcat[].
    *   handler for ALV grid
      set handler event_receiver->handle_double_click for alv_grid.
    endmodule.
    *      Module  USER_COMMAND_0100  INPUT
    module user_command_0100 input.
      case sy-ucomm.
        when 'BACK' or 'CANC'.
          if not alv_container is initial.
            call method alv_container->free.
            clear: alv_container.
            free : alv_container.
          endif.
          if sy-subrc = 0.
            set screen 0.
            leave screen.
          else.
            leave program.
          endif.
        when 'EXIT'.
          if not alv_container is initial.
            call method alv_container->free.
            clear: alv_container.
            free : alv_container.
          endif.
          leave program.
      endcase.
    endmodule.
    * FORM GET_DATA
    form get_data.
      select * into corresponding fields of table i_alv
                from ekko
                     where ebeln in s_ebeln.
      sort i_alv ascending by ebeln.
    endform.
    *      Form  Get_Fieldcatalog - Set Up Columns/Headers
    form get_fieldcatalog.
      data: ls_fcat type lvc_s_fcat.
      refresh: fieldcat.
      clear: ls_fcat.
      ls_fcat-reptext    = 'PO Number'.
      ls_fcat-coltext    = 'PO Number'.
      ls_fcat-fieldname  = 'EBELN'.
      ls_fcat-ref_table  = 'I_ALV'.
      ls_fcat-outputlen  = '12'.
      ls_fcat-col_pos    = 1.
      append ls_fcat to fieldcat.
    endform.
    * DRILL_DOWN
    form drill_down using index.
      read table i_alv index index.
      if sy-subrc = 0.
        set parameter id 'BES' field i_alv-ebeln.
        call transaction 'ME23' and skip first screen.
        if not alv_container is initial.
          call method alv_container->free.
          clear: alv_container.
          free : alv_container.
        endif.
      endif.
    endform.
    Regards,
    Rich Heilman

  • Populate information when double click on the field name

    I have this tree structure with the field names as shown at this picture.
    <a href="http://img164.imageshack.us/img164/426/treeaf0.jpg">http://img164.imageshack.us/img164/426/treeaf0.jpg</a>
    When I double click on the field name, I would like to populate the values related to the fieldname to the tab form next to the tree structure as should in the picture.
    How am I suppose to do this?
    My codes as shown below:
    *& Report  ZSCSDM_RULES_ENGINE_TRANSFORM_v4
    *& with Column Tree Structure & ABAP Generic code
    REPORT  ZSCSDM_MODIFY_TRANSFORM_HERA.
    GLOBAL DECLARATION
    ======================================================================
    SCREEN 9000 TABS (WIZARD-GENERATED CODES. DO NOT CHANGE)-------------*
    *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'TRANSFORM'
    Rayden Tree Control Code.
    CLASS CL_TREE DEFINITION DEFERRED.
    CLASS CL_GUI_CFW DEFINITION LOAD.
    TYPES : ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM
              WITH DEFAULT KEY.
    DATA: BEGIN OF ITAB_MO OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_MO.
    DATA:END OF ITAB_MO.
    DATA: BEGIN OF ITAB_OF OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_OF.
    DATA:END OF ITAB_OF.
    DATA: BEGIN OF ITAB_OS OCCURS 1.
            INCLUDE STRUCTURE ZSCSDM_OS.
    DATA:END OF ITAB_OS.
    DATA: BEGIN OF ITAB_TREE OCCURS 1,
            UNIKEY(100) TYPE C,
            PARENT(100) TYPE C,
            TYPE(10) TYPE C,
            IN_AREA(1) TYPE C,
            NAME(14) TYPE C,
            DESC(255) TYPE C,
            TAG(50) TYPE C,
          END OF ITAB_TREE.
    DATA: TREE TYPE REF TO CL_GUI_COLUMN_TREE,
          DOCKING TYPE REF TO CL_GUI_DOCKING_CONTAINER,
          REPID TYPE SY-REPID,
          DYNNR TYPE SY-DYNNR,
          TREE_APPLICATION TYPE REF TO CL_TREE,
          LEVEL TYPE I,
          AREA_COUNT TYPE I,
          AREA_TEXT(30) TYPE C,
          AREA_DESC(30) TYPE C,
          AREA_KEY(30) TYPE C,
          OBJECT_TEXT(30) TYPE C,
          NODE_DISABLE(1) TYPE C,
          NODE_EXPAND(1) TYPE C,
          NODE_IMAGE(46) TYPE c,
          NODE_EXP_IMAGE(46) TYPE C,
          FIELD_KEY(30) TYPE C,
          SELECTED_KEY(30) TYPE C,
          SELECTED_ITEM(30) TYPE C,
          FIELD_COUNT(9) TYPE N,
          TAG_VALUE(255) TYPE C,
          TAG_1(255) TYPE C,
          TAG_2(255) TYPE C,
          PARENT_TAG_VALUE(50) TYPE C,
          TEMP_VALUE(100) TYPE C,
          COUNTER TYPE I,
          IN_AREA(1) TYPE C,
          STR_COUNTER TYPE STRING.
    DATA: EVENT TYPE CNTL_SIMPLE_EVENT,
          EVENTS TYPE CNTL_SIMPLE_EVENTS,
          NODE_TABLE TYPE TREEV_NTAB,
          ITEM_TABLE TYPE ITEM_TABLE_TYPE,
          NODE TYPE TREEV_NODE,
          ITEM TYPE MTREEITM,
          ITAB_TREE_WA LIKE LINE OF ITAB_TREE,
          NODE_WA LIKE LINE OF NODE_TABLE,
          ITEM_WA LIKE LINE OF ITEM_TABLE,
          OF_WA LIKE LINE OF ITAB_OF,
          HIERARCHY_HEADER TYPE TREEV_HHDR.
    FIELD-SYMBOLS: <FS_ITAB_TREE_ANY> TYPE ANY,
                   <FS_NODE_ANY> TYPE ANY,
                   <FS_OF_DESC> TYPE ANY.
    CONSTANTS: BEGIN OF C_TRANSFORM,
                 TAB1 LIKE SY-UCOMM VALUE 'TRANSFORM_FC1',
                 TAB2 LIKE SY-UCOMM VALUE 'TRANSFORM_FC2',
               END OF C_TRANSFORM.
    *&SPWIZARD: DATA FOR TABSTRIP 'TRANSFORM'
    CONTROLS:  TRANSFORM TYPE TABSTRIP.
    DATA:      BEGIN OF G_TRANSFORM,
                 SUBSCREEN   LIKE SY-DYNNR,
    PROG        LIKE SY-REPID VALUE 'ZSCSDM_MODIFY_TRANSFORM_V5',
                 PRESSED_TAB LIKE SY-UCOMM VALUE C_TRANSFORM-TAB1,
               END OF G_TRANSFORM.
    DATA:      OK_CODE LIKE SY-UCOMM.
    SCREEN 9001 FIELDS---------------------------------------------------*
    TABLES: ZSCSDM_MO, ZSCSDM_OF, ZSCSDM_OS, ZSCSDM_REF.
    DATA: REF_COND TYPE ZSCSDM_REF-REF_COND,
          G_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
          G_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
    Rayden Dynamic generate ABAP Code.
    SCREEN 9002 FIELDS---------------------------------------------------*
    DATA: CODE_EDITOR_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
          CODE_EDITOR TYPE REF TO CL_GUI_TEXTEDIT.
    TYPES: BEGIN OF DYN_CODE,
            LINE(255),
          END OF DYN_CODE.
    DATA: DYN_CODE_TABLE TYPE TABLE OF DYN_CODE.
    INITIALIZATION-------------------------------------------------------*
    DATA: INIT_MODE_9001 TYPE I VALUE 0. "0 = CREATE, 1 = EDIT
    SCREEN 9001 PBO AND PAI---------------------------------------------------*
    DATA: DETAILS_SCREEN(10) TYPE C VALUE 'Transform',
          RETURN_RESULT TYPE CHAR9.
    CONSTANTS: G_EDITOR_LENGTH TYPE I VALUE 255.
    DATA: BEGIN OF G_EDITOR_LINE OCCURS 0,
            REF_COND TYPE ZSCSDM_REF-REF_COND,
          END OF G_EDITOR_LINE.
    TYPES: BEGIN OF G_EDITOR_TABLE_LINE,
             LINE(G_EDITOR_LENGTH) TYPE C,
           END OF G_EDITOR_TABLE_LINE.
    DATA: G_EDITOR_TABLE TYPE TABLE OF G_EDITOR_TABLE_LINE,
          G_EDITOR_CONTENTS LIKE STANDARD TABLE OF LINE.
    DATA: INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C.
    *DATA: NONE_BLANK_COUNTER TYPE I, NONE_BLANK_CHECK(G_EDITOR_LENGTH) TYPE C,
         INSERT_COUNTER TYPE I, INSERT_VALUE(G_EDITOR_LENGTH) TYPE C,
         OFFSET_LEN_3AT TYPE I,OFFSET_LEN_DOT TYPE I.
    SAVE STATUS (SUCCESS=S OR FAIL=F)------------------------------------*
    DATA: SAVE_STATUS(1) TYPE C.
    Rayden Tree Control Code.
          CLASS CL_TREE DEFINITION
    CLASS CL_TREE DEFINITION.
      PUBLIC SECTION.
        METHODS : HANDLE_ITEM_DOUBLE_CLICK
                    FOR EVENT ITEM_DOUBLE_CLICK
                    OF CL_GUI_COLUMN_TREE
                    IMPORTING NODE_KEY ITEM_NAME.
    ENDCLASS.                    "CL_TREE DEFINITION
          CLASS CL_TREE IMPLEMENTATION
    CLASS CL_TREE IMPLEMENTATION.
      METHOD HANDLE_ITEM_DOUBLE_CLICK.
        SELECTED_KEY = NODE_KEY.
        SELECTED_ITEM = ITEM_NAME.
        CLEAR: TAG_VALUE.
        PERFORM CLEAR_SCREEN.
        IF ITEM_NAME = 'OBJECT'.
          READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = SELECTED_KEY.
          IF ITAB_TREE_WA-TYPE = 'OBJECT'.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
          IF ITAB_TREE_WA-TYPE = 'FILE'.
            ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
            " Get the OBJECT of the FILE
            SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
          IF ITAB_TREE_WA-TYPE = 'FIELD'.
            ZSCSDM_OS-FIELD_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OS-FIELD_DESC = ITAB_TREE_WA-DESC.
            " Get the FILE of the FIELD
            SPLIT ITAB_TREE_WA-TAG AT 'F' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            ZSCSDM_OF-FILE_NAME = ITAB_TREE_WA-NAME.
            ZSCSDM_OF-FILE_DESC = ITAB_TREE_WA-DESC.
            " Get the OBJECT of the FILE
            SPLIT ITAB_TREE_WA-TAG AT 'T' INTO TAG_1 TAG_2.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY TAG = TAG_1.
            READ TABLE ITAB_TREE INTO ITAB_TREE_WA WITH KEY UNIKEY = ITAB_TREE_WA-PARENT.
            ZSCSDM_MO-OBJECT_ID = ITAB_TREE_WA-NAME.
            ZSCSDM_MO-OBJECT_DESC = ITAB_TREE_WA-DESC.
          ENDIF.
        ENDIF.
      ENDMETHOD.                    "HANDLE_ITEM_DOUBLE_CLICK
    ENDCLASS.                    "CL_TREE IMPLEMENTATION
    PROCESSING BLOCK
    ======================================================================
    INITIALIZATION.
      PERFORM GET_MEMORY.
      ZSCSDM_OS-TG_LAST_CHGED_BY = SY-UNAME.
      ZSCSDM_OS-TG_LAST_CHGED_ON = SY-DATUM.
    START-OF-SELECTION.
      CREATE OBJECT TREE_APPLICATION.
      CALL SCREEN 9000.
    MODULE PBO_9000 OUTPUT
    MODULE PBO_9000 OUTPUT.
      IF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC1'.
        SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
      ELSEIF G_TRANSFORM-PRESSED_TAB = 'TRANSFORM_FC2'.
        SET PF-STATUS 'SCREEN_9000'.
      ENDIF.
      SET TITLEBAR 'RWB_TRANSFORM'.
      IF TREE IS INITIAL.
        REPID = SY-REPID.
        DYNNR = SY-DYNNR.
        PERFORM INIT_TREE.
      ENDIF.
    ENDMODULE.                    "PBO_9000 OUTPUT
    MODULE PBO_9001 OUTPUT
    MODULE PBO_9001 OUTPUT.
      IF INIT_MODE_9001 = 0. "ON FIRST LOAD
        CREATE OBJECT G_EDITOR_CONTAINER
          EXPORTING
            CONTAINER_NAME = 'REF_COND'
          EXCEPTIONS
            CNTL_ERROR = 1
            CNTL_SYSTEM_ERROR = 2
            CREATE_ERROR = 3
            LIFETIME_ERROR = 4
            LIFETIME_DYNPRO_DYNPRO_LINK = 5.
        CREATE OBJECT G_EDITOR
          EXPORTING
            PARENT = G_EDITOR_CONTAINER
            WORDWRAP_MODE =
            CL_GUI_TEXTEDIT=>WORDWRAP_OFF
              CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
            CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
            WORDWRAP_POSITION = G_EDITOR_LENGTH
            WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SELECT REF_COND INTO G_EDITOR_LINE FROM ZSCSDM_REF
          WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
          AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T'
          AND REF_CON_ID = 1.
          APPEND G_EDITOR_LINE-REF_COND TO G_EDITOR_TABLE.
        ENDSELECT.
        CALL METHOD G_EDITOR->SET_TEXT_AS_R3TABLE
          EXPORTING
            TABLE = G_EDITOR_TABLE.
        CALL METHOD CL_GUI_CFW=>FLUSH.
        REFRESH G_EDITOR_TABLE.
        SELECT COUNT(*) INTO INIT_MODE_9001 FROM ZSCSDM_OS
          WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
          AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND TG_CREATED_BY <> ''.
        IF INIT_MODE_9001 = 0. "CREATE MODE
          INIT_MODE_9001 = 1.
          ZSCSDM_OS-TG_CREATED_BY = SY-UNAME.
          ZSCSDM_OS-TG_CREATED_ON = SY-DATUM.
          ZSCSDM_OS-TG_STATUS = 'A'.
          ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
        ELSE. "UPDATE MODE
          SELECT TG_CREATED_BY TG_CREATED_ON TG_LAST_CHGED_BY TG_LAST_CHGED_ON
                 TG_STATUS TRANS_BY_DIRECT TRANS_TABLE TRANS_FIELD
                 TRANS_BY_DEFAULT TRANS_DEF_VAL TRANS_BY_CONCAT
                 CONCAT_FIELD_1 CONCAT_FIELD_2 CONCAT_FIELD_3 CONCAT_FIELD_4 CONCAT_FIELD_5
                 CONCAT_FIELD_6 CONCAT_FIELD_7 CONCAT_FIELD_8 CONCAT_FIELD_9 CONCAT_FIELD_10
                 TRANS_BY_REF
            INTO (ZSCSDM_OS-TG_CREATED_BY, ZSCSDM_OS-TG_CREATED_ON,
                 ZSCSDM_OS-TG_LAST_CHGED_BY, ZSCSDM_OS-TG_LAST_CHGED_ON,
                 ZSCSDM_OS-TG_STATUS, ZSCSDM_OS-TRANS_BY_DIRECT,
                 ZSCSDM_OS-TRANS_TABLE, ZSCSDM_OS-TRANS_FIELD,
                 ZSCSDM_OS-TRANS_BY_DEFAULT, ZSCSDM_OS-TRANS_DEF_VAL,
                 ZSCSDM_OS-TRANS_BY_CONCAT, ZSCSDM_OS-CONCAT_FIELD_1,
                 ZSCSDM_OS-CONCAT_FIELD_2, ZSCSDM_OS-CONCAT_FIELD_3,
                 ZSCSDM_OS-CONCAT_FIELD_4, ZSCSDM_OS-CONCAT_FIELD_5,
                 ZSCSDM_OS-CONCAT_FIELD_6, ZSCSDM_OS-CONCAT_FIELD_7,
                 ZSCSDM_OS-CONCAT_FIELD_8, ZSCSDM_OS-CONCAT_FIELD_9,
                 ZSCSDM_OS-CONCAT_FIELD_10, ZSCSDM_OS-TRANS_BY_REF) FROM ZSCSDM_OS
            WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
            AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
          ENDSELECT.
        ENDIF.
      ENDIF.
      PERFORM CHANGE_TRANSFORM_TYPE.
    ENDMODULE.                    "PBO_9001 OUTPUT
    *&SPWIZARD: OUTPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: SETS ACTIVE TAB
    MODULE TRANSFORM_ACTIVE_TAB_SET OUTPUT.
      TRANSFORM-ACTIVETAB = G_TRANSFORM-PRESSED_TAB.
      CASE G_TRANSFORM-PRESSED_TAB.
        WHEN C_TRANSFORM-TAB1.
          G_TRANSFORM-SUBSCREEN = '9001'.
        WHEN C_TRANSFORM-TAB2.
          G_TRANSFORM-SUBSCREEN = '9002'.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TRANSFORM_ACTIVE_TAB_SET OUTPUT
    MODULE USER_COMMAND_9000 INPUT
    MODULE USER_COMMAND_9000 INPUT.
      CASE SY-UCOMM.
          G_TRANSFORM-PRESSED_TAB = TRANSFORM-ACTIVETAB.
          " IF G_TRANSFORM-PRESSED_TAB =
        WHEN 'TRANSFORM_FC1'.
          SET PF-STATUS 'SCREEN_9000' EXCLUDING 'SYN'.
          MODIFY SCREEN.
        WHEN 'TRANSFORM_FC2'.
          SET PF-STATUS 'SCREEN_9000'.
          MODIFY SCREEN.
        WHEN 'EXIT' OR 'CANCEL'.
          LEAVE PROGRAM.
        WHEN 'BACK'.
          CLEAR SY-UCOMM.
          SAVE_STATUS = ''.
          PERFORM SET_MEMORY.
          SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
        WHEN 'SAVE'.
          PERFORM GET_MEMORY_SAVE_STATUS.
          IF SAVE_STATUS = 'S'.
            PERFORM SET_MEMORY.
            SUBMIT ZSCSDM_RULES_ENGINE_NAV_V5.
          ELSE.
            PERFORM SET_MEMORY_SAVE_STATUS_RESET.
          ENDIF.
      ENDCASE.
    ENDMODULE.                    "USER_COMMAND_9000 INPUT
    MODULE USER_COMMAND_9001 INPUT
    MODULE USER_COMMAND_9001 INPUT.
      CASE SY-UCOMM.
        WHEN 'SAVE'.
          CLEAR SY-UCOMM.
          PERFORM CHANGE_TRANSFORM_TYPE.
          PERFORM VALIDATE_DIRECT_FIELD.
          PERFORM VALIDATE_CONCAT_FIELD.
          PERFORM SAVE_TRANSFORM_TYPE.
          SELECT FIELD_STATUS CREATED_BY CREATED_ON LAST_CHGED_BY LAST_CHGED_ON
                 COLUMN_NO KEY_FIELD SEARCH_HELP HASH_TOTAL_IND
                 VG_CREATED_BY VG_CREATED_ON VG_LAST_CHGED_BY VG_LAST_CHGED_ON
                 CHECK_DATA_TYPE DT_ERR_TEXT LN_ERR_TEXT DP_ERR_TEXT SN_ERR_TEXT
                 FIELD_DOMAIN FIELD_DATA_TYPE FIELD_LENGTH FIELD_DECIMAL
                 FIELD_NEGATIVE DOMAIN_POSS_VAL DOMAIN_ERR_TEXT
                 MAND_OPT MAND_ERR_TEXT UNIQUE_CHECK UNIQUE_ERR_TEXT
            INTO (ZSCSDM_OS-FIELD_STATUS, ZSCSDM_OS-CREATED_BY, ZSCSDM_OS-CREATED_ON,
                 ZSCSDM_OS-LAST_CHGED_BY, ZSCSDM_OS-LAST_CHGED_ON,
                 ZSCSDM_OS-COLUMN_NO, ZSCSDM_OS-KEY_FIELD,
                 ZSCSDM_OS-SEARCH_HELP, ZSCSDM_OS-HASH_TOTAL_IND,
                 ZSCSDM_OS-VG_CREATED_BY, ZSCSDM_OS-VG_CREATED_ON,
                 ZSCSDM_OS-VG_LAST_CHGED_BY, ZSCSDM_OS-VG_LAST_CHGED_ON,
                 ZSCSDM_OS-CHECK_DATA_TYPE, ZSCSDM_OS-DT_ERR_TEXT,
                 ZSCSDM_OS-LN_ERR_TEXT, ZSCSDM_OS-DP_ERR_TEXT,
                 ZSCSDM_OS-SN_ERR_TEXT, ZSCSDM_OS-FIELD_DOMAIN,
                 ZSCSDM_OS-FIELD_DATA_TYPE, ZSCSDM_OS-FIELD_LENGTH,
                 ZSCSDM_OS-FIELD_DECIMAL, ZSCSDM_OS-FIELD_NEGATIVE,
                 ZSCSDM_OS-DOMAIN_POSS_VAL, ZSCSDM_OS-DOMAIN_ERR_TEXT,
                 ZSCSDM_OS-MAND_OPT, ZSCSDM_OS-MAND_ERR_TEXT,
                 ZSCSDM_OS-UNIQUE_CHECK, ZSCSDM_OS-UNIQUE_ERR_TEXT) FROM ZSCSDM_OS
            WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
            AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
          ENDSELECT.
          CALL FUNCTION 'ZSCSDM_FM_RULES_ENGINE_MODIFY'
            EXPORTING
              IN_OBJECT_ID        = ZSCSDM_MO-OBJECT_ID
              IN_FILE_NAME        = ZSCSDM_OF-FILE_NAME
              IN_FIELD_NAME       = ZSCSDM_OS-FIELD_NAME
              IN_FIELD_DESC       = ZSCSDM_OS-FIELD_DESC
              IN_FIELD_STATUS     = ZSCSDM_OS-FIELD_STATUS
              IN_CREATED_BY       = ZSCSDM_OS-CREATED_BY
              IN_CREATED_ON       = ZSCSDM_OS-CREATED_ON
              IN_LAST_CHGED_BY    = ZSCSDM_OS-LAST_CHGED_BY
              IN_LAST_CHGED_ON    = ZSCSDM_OS-LAST_CHGED_ON
              IN_COLUMN_NO        = ZSCSDM_OS-COLUMN_NO
              IN_KEY_FIELD        = ZSCSDM_OS-KEY_FIELD
              IN_SEARCH_HELP      = ZSCSDM_OS-SEARCH_HELP
              IN_HASH_TOTAL_IND   = ZSCSDM_OS-HASH_TOTAL_IND
              IN_VG_CREATED_BY    = ZSCSDM_OS-VG_CREATED_BY
              IN_VG_CREATED_ON    = ZSCSDM_OS-VG_CREATED_ON
              IN_VG_LAST_CHGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY
              IN_VG_LAST_CHGED_ON = ZSCSDM_OS-VG_LAST_CHGED_ON
              IN_CHECK_DATA_TYPE  = ZSCSDM_OS-CHECK_DATA_TYPE
              IN_DT_ERR_TEXT      = ZSCSDM_OS-DT_ERR_TEXT
              IN_LN_ERR_TEXT      = ZSCSDM_OS-LN_ERR_TEXT
              IN_DP_ERR_TEXT      = ZSCSDM_OS-DP_ERR_TEXT
              IN_SN_ERR_TEXT      = ZSCSDM_OS-SN_ERR_TEXT
              IN_FIELD_DOMAIN     = ZSCSDM_OS-FIELD_DOMAIN
              IN_FIELD_DATA_TYPE  = ZSCSDM_OS-FIELD_DATA_TYPE
              IN_FIELD_LENGTH     = ZSCSDM_OS-FIELD_LENGTH
              IN_FIELD_DECIMAL    = ZSCSDM_OS-FIELD_DECIMAL
              IN_FIELD_NEGATIVE   = ZSCSDM_OS-FIELD_NEGATIVE
              IN_DOMAIN_POSS_VAL  = ZSCSDM_OS-DOMAIN_POSS_VAL
              IN_DOMAIN_ERR_TEXT  = ZSCSDM_OS-DOMAIN_ERR_TEXT
              IN_MAND_OPT         = ZSCSDM_OS-MAND_OPT
              IN_MAND_ERR_TEXT    = ZSCSDM_OS-MAND_ERR_TEXT
              IN_UNIQUE_CHECK     = ZSCSDM_OS-UNIQUE_CHECK
              IN_UNIQUE_ERR_TEXT  = ZSCSDM_OS-UNIQUE_ERR_TEXT
              IN_TG_CREATED_BY    = ZSCSDM_OS-TG_CREATED_BY
              IN_TG_CREATED_ON    = ZSCSDM_OS-TG_CREATED_ON
              IN_TG_LAST_CHGED_BY = ZSCSDM_OS-TG_LAST_CHGED_BY
              IN_TG_LAST_CHGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON
              IN_TG_STATUS        = ZSCSDM_OS-TG_STATUS
              IN_TRANS_BY_DIRECT  = ZSCSDM_OS-TRANS_BY_DIRECT
              IN_TRANS_TABLE      = ZSCSDM_OS-TRANS_TABLE
              IN_TRANS_FIELD      = ZSCSDM_OS-TRANS_FIELD
              IN_TRANS_BY_DEFAULT = ZSCSDM_OS-TRANS_BY_DEFAULT
              IN_TRANS_DEF_VAL    = ZSCSDM_OS-TRANS_DEF_VAL
              IN_TRANS_BY_CONCAT  = ZSCSDM_OS-TRANS_BY_CONCAT
              IN_CONCAT_FIELD_1   = ZSCSDM_OS-CONCAT_FIELD_1
              IN_CONCAT_FIELD_2   = ZSCSDM_OS-CONCAT_FIELD_2
              IN_CONCAT_FIELD_3   = ZSCSDM_OS-CONCAT_FIELD_3
              IN_CONCAT_FIELD_4   = ZSCSDM_OS-CONCAT_FIELD_4
              IN_CONCAT_FIELD_5   = ZSCSDM_OS-CONCAT_FIELD_5
              IN_CONCAT_FIELD_6   = ZSCSDM_OS-CONCAT_FIELD_6
              IN_CONCAT_FIELD_7   = ZSCSDM_OS-CONCAT_FIELD_7
              IN_CONCAT_FIELD_8   = ZSCSDM_OS-CONCAT_FIELD_8
              IN_CONCAT_FIELD_9   = ZSCSDM_OS-CONCAT_FIELD_9
              IN_CONCAT_FIELD_10  = ZSCSDM_OS-CONCAT_FIELD_10
              IN_TRANS_BY_REF     = ZSCSDM_OS-TRANS_BY_REF
            IMPORTING
              OUT_RESULT          = RETURN_RESULT.
          IF RETURN_RESULT = 'SUCCESS'.
            MESSAGE S001(ZSCSDM_DMT).
            IF ZSCSDM_OS-TRANS_BY_REF = 'X'.
             NONE_BLANK_COUNTER = 0.
              INSERT_COUNTER = 1.
              DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
              AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
              REF_CON_ID = 1.
              CALL METHOD G_EDITOR->GET_TEXT_AS_R3TABLE
                IMPORTING
                  TABLE = G_EDITOR_CONTENTS.
             LOOP AT G_EDITOR_CONTENTS INTO NONE_BLANK_CHECK.
               IF NONE_BLANK_CHECK <> ''.
                 NONE_BLANK_COUNTER = NONE_BLANK_COUNTER + 1.
               ENDIF.
             ENDLOOP.
              CLEAR INSERT_VALUE.
              LOOP AT G_EDITOR_CONTENTS INTO INSERT_VALUE.
                IF INSERT_VALUE <> ''.
                  ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                  ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                  ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                  ZSCSDM_REF-REF_COND_TYPE = 'T'.
                  ZSCSDM_REF-REF_CON_ID = 1.
                  ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                  ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                  ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                  ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                  ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                  ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                  ZSCSDM_REF-NOT_EXIST_IND = ''.
                  ZSCSDM_REF-REF_COND = INSERT_VALUE.
                  ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                  INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
                 IF INSERT_COUNTER = NONE_BLANK_COUNTER.
                   OFFSET_LEN_3AT = STRLEN( INSERT_VALUE ) - STRLEN( '@@@' ).
                   IF OFFSET_LEN_3AT >= 0.
                     IF INSERT_VALUE+OFFSET_LEN_3AT(3) NE '@@@'.
                       OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
                       INSERT_COUNTER = INSERT_COUNTER + 1.
                       ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                       ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                       ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                       ZSCSDM_REF-REF_COND_TYPE = 'T'.
                       ZSCSDM_REF-REF_CON_ID = 1.
                       ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                       ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                       ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                       ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                       ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                       ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                       ZSCSDM_REF-NOT_EXIST_IND = ''.
                       ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                       IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
                         ZSCSDM_REF-REF_COND = '@@@'.
                       ELSE.
                         ZSCSDM_REF-REF_COND = '.@@@'.
                       ENDIF.
                     ENDIF.
                   ELSE.
                     OFFSET_LEN_DOT = STRLEN( INSERT_VALUE ) - STRLEN( `.` ).
                     INSERT_COUNTER = INSERT_COUNTER + 1.
                     ZSCSDM_REF-OBJECT_ID = ZSCSDM_MO-OBJECT_ID.
                     ZSCSDM_REF-FILE_NAME = ZSCSDM_OF-FILE_NAME.
                     ZSCSDM_REF-FIELD_NAME = ZSCSDM_OS-FIELD_NAME.
                     ZSCSDM_REF-REF_COND_TYPE = 'T'.
                     ZSCSDM_REF-REF_CON_ID = 1.
                     ZSCSDM_REF-REF_COND_ROW = INSERT_COUNTER.
                     ZSCSDM_REF-CREATED_BY = ZSCSDM_OS-CREATED_BY.
                     ZSCSDM_REF-CREATED_ON = ZSCSDM_OS-VG_CREATED_ON.
                     ZSCSDM_REF-LAST_CHANGED_BY = ZSCSDM_OS-VG_LAST_CHGED_BY.
                     ZSCSDM_REF-LAST_CHANGED_ON = ZSCSDM_OS-TG_LAST_CHGED_ON.
                     ZSCSDM_REF-REF_RULE_STATUS = ZSCSDM_OS-TG_STATUS.
                     ZSCSDM_REF-NOT_EXIST_IND = ''.
                     ZSCSDM_REF-REF_ERR_TEXT = 'Reference Error: The reference condition did not return any results.'.
                     IF INSERT_VALUE+OFFSET_LEN_DOT(1) EQ '.'.
                       ZSCSDM_REF-REF_COND = '@@@'.
                     ELSE.
                       ZSCSDM_REF-REF_COND = '.@@@'.
                     ENDIF.
                   ENDIF.
                   INSERT INTO ZSCSDM_REF VALUES ZSCSDM_REF.
                 ENDIF.
                  INSERT_COUNTER = INSERT_COUNTER + 1.
                ENDIF.
              ENDLOOP.
            ELSE.
              DELETE FROM ZSCSDM_REF WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = ZSCSDM_OF-FILE_NAME
              AND FIELD_NAME = ZSCSDM_OS-FIELD_NAME AND REF_COND_TYPE = 'T' AND
              REF_CON_ID = 1.
            ENDIF.
            SAVE_STATUS = 'S'.
            PERFORM SET_MEMORY_SAVE_STATUS.
            SAVE_STATUS = ''.
          ELSE.
            SAVE_STATUS = 'F'.
            PERFORM SET_MEMORY_SAVE_STATUS.
            SAVE_STATUS = ''.
            MESSAGE E101(ZSCSDM_DMT).
          ENDIF.
      ENDCASE.
    ENDMODULE.                    "USER_COMMAND_9001 INPUT
    *&SPWIZARD: INPUT MODULE FOR TS 'TRANSFORM'. DO NOT CHANGE THIS LINE!
    *&SPWIZARD: GETS ACTIVE TAB
    MODULE TRANSFORM_ACTIVE_TAB_GET INPUT.
      OK_CODE = SY-UCOMM.
      CASE OK_CODE.
        WHEN C_TRANSFORM-TAB1.
          G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB1.
        WHEN C_TRANSFORM-TAB2.
          G_TRANSFORM-PRESSED_TAB = C_TRANSFORM-TAB2.
        WHEN OTHERS.
    *&SPWIZARD:      DO NOTHING
      ENDCASE.
    ENDMODULE.                    "TRANSFORM_ACTIVE_TAB_GET INPUT
    MODULE STATUS_9002 OUTPUT
    MODULE STATUS_9002 OUTPUT.
      IF CODE_EDITOR IS INITIAL.
        CREATE OBJECT CODE_EDITOR_CONTAINER
           EXPORTING
             CONTAINER_NAME = 'GEN_CODE'
           EXCEPTIONS
             CNTL_ERROR = 1
             CNTL_SYSTEM_ERROR = 2
             CREATE_ERROR = 3
             LIFETIME_ERROR = 4
             LIFETIME_DYNPRO_DYNPRO_LINK = 5.
        CREATE OBJECT CODE_EDITOR
          EXPORTING
            PARENT = CODE_EDITOR_CONTAINER
            WORDWRAP_MODE =
            CL_GUI_TEXTEDIT=>WORDWRAP_OFF
              CL_GUI_TEXTEDIT=>WORDWRAP_AT_FIXED_POSITION
            CL_GUI_TEXTEDIT=>WORDWRAP_AT_WINDOWBORDER
            WORDWRAP_POSITION = G_EDITOR_LENGTH
            WORDWRAP_TO_LINEBREAK_MODE = CL_GUI_TEXTEDIT=>TRUE.
      ENDIF.
    ENDMODULE.                    "STATUS_9002 OUTPUT
    MODULE USER_COMMAND_9002 INPUT
    MODULE USER_COMMAND_9002 INPUT.
    ENDMODULE.                    "USER_COMMAND_9002 INPUT
    MODULE F4_INPUT INPUT
    MODULE F4_INPUT INPUT.
      TYPES: BEGIN OF VALUES,
        FIELD_NAME TYPE ZSCSDM_OS-FIELD_NAME,
        FIELD_DESC TYPE ZSCSDM_OS-FIELD_DESC,
      END OF VALUES.
      DATA: PROGNAME TYPE SY-REPID, DYNNUM TYPE SY-DYNNR.
      DATA: FILENAME_A TYPE ZSCSDM_OS-FILE_NAME,
            F4_VALUES TYPE TABLE OF VALUES.
      PROGNAME = SY-REPID.
      DYNNUM   = SY-DYNNR.
      SELECT FILE_NAME INTO (FILENAME_A) FROM ZSCSDM_OF
        WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME_TRANS = ZSCSDM_OF-FILE_NAME.
      ENDSELECT.
      SELECT FIELD_NAME FIELD_DESC FROM ZSCSDM_OS
        INTO CORRESPONDING FIELDS OF TABLE F4_VALUES
        WHERE OBJECT_ID = ZSCSDM_MO-OBJECT_ID AND FILE_NAME = FILENAME_A
        AND FIELD_STATUS = 'A'.
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
          RETFIELD    = 'FIELD_NAME'
          DYNPPROG    = PROGNAME
          DYNPNR      = DYNNUM
          DYNPROFIELD = 'ZSCSDM_OS-TRANS_FIELD'
          VALUE_ORG   = 'S'
        TABLES
          VALUE_TAB   = F4_VALUES.
    ENDMODULE.                    "F4_INPUT INPUT
    *&      Form  GET_MEMORY
          text
    FORM GET_MEMORY.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'TraObjectID-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_MO-OBJECT_ID FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_MO-OBJECT_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OF-FILE_NAME FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OF-FILE_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldName-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OS-FIELD_NAME FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldDesc-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT ZSCSDM_OS-FIELD_DESC FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "GET_MEMORY
    *&      Form  GET_MEMORY_SAVE_STATUS
          text
    FORM GET_MEMORY_SAVE_STATUS.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
      FREE MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      SAVE_STATUS = CHECK_SAVE_STATUS.
    ENDFORM.                    "GET_MEMORY_SAVE_STATUS
    *&      Form  SET_MEMORY
          text
    FORM SET_MEMORY.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'DtlScreen-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT DETAILS_SCREEN TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectID1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_MO-OBJECT_ID TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraObjectDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_MO-OBJECT_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OF-FILE_NAME TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFileDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OF-FILE_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldName1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OS-FIELD_NAME TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
      CONCATENATE 'TraFieldDesc1-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      EXPORT ZSCSDM_OS-FIELD_DESC TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY
    *&      Form  SET_MEMORY_SAVE_STATUS
          text
    FORM SET_MEMORY_SAVE_STATUS.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      IMPORT CHECK_SAVE_STATUS FROM MEMORY ID MEM_STR.
      IF CHECK_SAVE_STATUS <> 'F'.
        FREE MEMORY ID MEM_STR.
        CHECK_SAVE_STATUS = SAVE_STATUS.
        EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
      ENDIF.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY_SAVE_STATUS
    *&      Form  SET_MEMORY_SAVE_STATUS_RESET
          text
    FORM SET_MEMORY_SAVE_STATUS_RESET.
      DATA: MEM_STR(40) TYPE C, SY_MOD(2) TYPE C.
      DATA: CHECK_SAVE_STATUS(1) TYPE C.
      SY_MOD = SY-MODNO.
      CONDENSE SY_MOD NO-GAPS.
      CONCATENATE 'Save-' SY-UNAME '-' SY_MOD INTO MEM_STR.
      FREE MEMORY ID MEM_STR.
      CHECK_SAVE_STATUS = ''.
      EXPORT CHECK_SAVE_STATUS TO MEMORY ID MEM_STR.
      CLEAR MEM_STR.
    ENDFORM.                    "SET_MEMORY_SAVE_STATUS_RESET
    *&      Form  CHANGE_TRANSFORM_TYPE
          text
    FORM CHANGE_TRANSFORM_TYPE.
      IF ZSCSDM_OS-TRANS_BY_DIRECT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-TRANS_FIELD'.
      ELSEIF ZSCSDM_OS-TRANS_BY_DEFAULT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-TRANS_DEF_VAL'.
      ELSEIF ZSCSDM_OS-TRANS_BY_CONCAT = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READONLY_MODE = CL_GUI_TEXTEDIT=>TRUE.
        SET CURSOR FIELD 'ZSCSDM_OS-CONCAT_FIELD_1'.
      ELSEIF ZSCSDM_OS-TRANS_BY_REF = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-NAME = 'ZSCSDM_OS-TRANS_FIELD'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-TRANS_DEF_VAL'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_1'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_2'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_3'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_4'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_5'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_6'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_7'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_8'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_9'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ELSEIF SCREEN-NAME = 'ZSCSDM_OS-CONCAT_FIELD_10'.
            SCREEN-INPUT = '0'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
        CALL METHOD G_EDITOR->SET_READONLY_MODE
          EXPORTING
            READO

    Hello Swathi
    I have never used method SET_USER_COMMAND (cl_gui_alv_grid) before so I do not really know its function.
    However, you event handler FORM routine belongs to the old-fashioned fm-based ALV lists (e.g. REUSE_ALV_GRID_DISPLAY_LVC) so I doubt whether this will work together.
    If you have define a column as HOTSPOT then this trigger the class event HOTSPOT_CLICK.
    Correspondingly a double-click on the ALV grid triggers event DOUBLE_CLICK.
    For a sample report regarding ALV event handling have a look at the links provided in
    2 ALVS IN ONE SCREEN
    Regards
      Uwe

  • Transaction DP97: Need to add 2 fields on selection screen...

    Hi,
    I am using ECC6.0. I need to add 2 extra fields on selection screen of transaction DP97. Program name is RVPKMASS97. i did not find any screen-exit for this. Please can anybody suggest any other way to add fields on selection screen... I think i can use enhancement points. please help if anybody has previously worked on this. I need to know following things:
    1) how to add 2 fields on selection screen ( 2 fields are : MATNR-Service product and FFPRF-DIP profile)
    2) where to add programming logic for this
    Thanks in advance,
    Minal

    Hi,
    Go to program RVPKMASS97.
    Go inside INCLUDE rvpkmasspar.
    (When you double click on the include a pop up screen will come up and in that select the RVPKMASS97)
    Click on spiral icon there on the tool bar.
    right click on the '
    ENHANCEMENT-POINT RVPKMASSPAR_01 SPOTS ES_RVPKMASSPAR STATIC INCLUDE BOUND .' line and select enhancement-> create. and give some implementation name and text.
    now you can declare ur fields in this implementation.
    After declaring save it and activate it.
    Now go back to ur txn and run. you are able to see the custom fields on the screen.
    Reward me points if it is helpful.
    I think it will help you out.
    Thanks,
    Prasanna

  • Photos in my iPhoto library will not enlarge when double clicked on.  they fill the screen and then screen goes black.  hasn't happened before.  thanks--

    photos in my iPhoto library will not enlarge when double clicked on.  they fill the screen for a second (or less) and then screen goes black.  hasn't happened before.  thanks--

    There are several possible causes for the Black Screen issue
    1. Permissions in the Library: Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Include the option to check and repair permissions.
    2. Minor Database corruption: Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild.
    3. A Damaged Photo: Select one of the affected photos in the iPhoto Window and right click on it. From the resulting menu select 'Show File (or 'Show Original File' if that's available). (On iPhoto 11 this option is under the File -> Reveal in Finder.) Will the file open in Preview? If not then the file is damaged. Time to restore from your back up.
    4. A corrupted iPhoto Cache: Trash the com.apple.iPhoto folder from HD/Users/Your Name/ Library/ Caches...
    5. A corrupted preference file: Trash the com.apple.iPhoto.plist file from the HD/Users/ Your Name / library / preferences folder. (Remember you'll need to reset your User options afterwards. These include minor settings like the window colour and so on. Note: If you've moved your library you'll need to point iPhoto at it again.)
    If none of these help: As a Test:
    Hold down the option (or alt) key key and launch iPhoto. From the resulting menu select 'Create Library'
    Import a few pics into this new, blank library. Is the Problem repeated there?

  • How to hide input fields on selection screen using variant attribute

    Hello all,
    I want to know how to hide input fields on selection screen using variant attribute conpletely.
    As you know, when setting the attribute of variant "Hide field" checked, the field is temporarily hidden, but when clicking "All Selections(F7)" button on the selection screen, the fileds become appeared.
    I want to hide the field completely. Di you know how to do ?
    Thank you for your support.
    Regards,
    Hideki Kozai

    Use this attribute hide field and save the variant. Then create transaction for this program setting default variant for parameter Start with variant . The user who runs it will have it by defualt set.
    Otherwise
    in PBO simply use LOOP at screen and output = 0 for this field. This will ensure that field is invisible in any case.
    Regards
    Marcin

  • Unable to double click after using at line-selection

    hi all...
    unable to double click after using at line-selection. But if i comment set pf-status, i can double click on the line but on first double click everytime i just get last record i.e. 200th and after second double click i'm not getting output. what is the problem? plz reply...
    REPORT  YP2 line-count 10(2).
    tables: lfa1, LFB1.
    data: itab like lfa1 occurs 0 with header line,
          JTAB LIKE LFB1 OCCURS 0 WITH HEADER LINE.
    SELECT-OPTIONS: vendor_n for lfa1-lifnr.
    *SET PF-STATUS 'MENU'.
    INITIALIZATION.
    vendor_n-low = '1'.
    vendor_n-high = '200'.
    vendor_n-option = 'BT'.
    APPEND vendor_n.
    clear vendor_n.
    At selection-screen.
    IF VENDOR_N-LOW < 1.
    MESSAGE w000(sabapdocu).
    clear vendor_n.
    ELSEIF vendor_n-HIGH > 200.
    MESSAGE S001(sabapdocu).
    ENDIF.
    START-OF-SELECTION.
    SELECT * FROM lfa1 INTO TABLE ITAB WHERE lifnr IN vendor_n.
    WRITE:5 SY-ULINE(72).
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    ENDLOOP.
    top-of-page.
    WRITE:/5 SY-ULINE(72).
    WRITE: /5 SY-VLINE, 'Vendor_code', 20 SY-VLINE, 28 'Name' ,58 SY-VLINE, 60 'Phone', 76 SY-VLINE.
    WRITE:/5 SY-ULINE(72).
    end-of-page.
    WRITE:5 SY-ULINE(72).
    WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
    WRITE:/5 SY-ULINE(72).
    END-OF-SELECTION.
    WRITE: /5 sy-uline(72),/ 'THE RECORD IS CLOSED'.
    AT LINE-SELECTION.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    WRITE:/5 SY-VLINE,6 'Vendor No.',17 SY-VLINE,18 'Company code',28 SY-VLINE, 29 'Created by',39 SY-VLINE.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    AT PF7.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    AT USER-COMMAND.
    IF SY-UCOMM = '0001'.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    ENDIF.

    Hi,
    copy and paste the code given below it works....
    START-OF-SELECTION.
    SELECT * FROM lfa1 INTO TABLE ITAB WHERE lifnr IN vendor_n.
    WRITE:5 SY-ULINE(72).
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    hide : itab-lifnr.
    ENDLOOP.
    clear itab.
    top-of-page.
    WRITE:/5 SY-ULINE(72).
    WRITE: /5 SY-VLINE, 'Vendor_code', 20 SY-VLINE, 28 'Name' ,58 SY-VLINE, 60 'Phone', 76 SY-VLINE.
    WRITE:/5 SY-ULINE(72).
    end-of-page.
    WRITE:5 SY-ULINE(72).
    WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
    WRITE:/5 SY-ULINE(72).
    END-OF-SELECTION.
    WRITE: /5 sy-uline(72),/ 'THE RECORD IS CLOSED'.
    AT LINE-SELECTION.
    IF itab-lifnr is not initial.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    HIDE ITAB-LIFNR.
    ENDLOOP.
    CLEAR ITAB.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    WRITE:/5 SY-VLINE,6 'Vendor No.',17 SY-VLINE,18 'Company code',28 SY-VLINE, 29 'Created by',39 SY-VLINE.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    CLEAR ITAB.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    ENDIF.
    AT PF7.
    IF itab-lifnr is not initial.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    HIDE ITAB-LIFNR.
    ENDLOOP.
    CLEAR ITAB.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    CLEAR ITAB.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    ENDIF.
    AT USER-COMMAND.
    IF SY-UCOMM = '0001' and itab-lifnr is not initial.
    IF SY-LSIND = 1.
    SELECT * FROM  LFA1 INTO TABLE ITAB WHERE LIFNR = ITAB-LIFNR.
    LOOP AT ITAB.
    WRITE: /5 SY-VLINE,9 ITAB-lifnr,20 SY-VLINE, 22 ITAB-name1,58 SY-VLINE, 60 ITAB-telf1, 76 SY-VLINE.
    HIDE ITAB-LIFNR.
    ENDLOOP.
    clear ITAB.
    WRITE:/5 SY-ULINE(72).
    ELSEIF SY-LSIND = 2.
    SELECT * FROM LFB1 INTO TABLE JTAB WHERE LIFNR = JTAB-LIFNR.
    LOOP AT JTAB.
    WRITE:/5 SY-VLINE,6 JTAB-LIFNR,17 SY-VLINE,18 JTAB-BUKRS,28 SY-VLINE, 29 JTAB-ERNAM,39 SY-VLINE.
    ENDLOOP.
    CLEAR ITAB.
    WRITE:/5 SY-ULINE(72).
    ENDIF.
    ENDIF.
    Regards,
    Siddarth

  • Adding the field in selection screen

    Hi Guru's,
    how can i add the field in selection screen of t code qa33.
    can any one help me pls.
    Thanks & Best Regards,
    Rakhi.

    You can enhance the standard program RQEEAL10 using implicit enhancement points.
    Click the spiral (Enhance) button (Shift + F4)
    Go to Edit -> Enhancement operations -> Show Implicit Enhancement Poitns
    Create an Enhancement Implementation and include your code there.
    See the following link -> Source Code Enhancements - Part 5 of the Series on the New Enhancement Framework
    Hope it helps
    Neeraj

  • Adding fields on selection screen dynamically

    Hi all,
    Can we add some fields to selection screen dynamically on pushbutton click?
    Regards,
    Dnyanesh

    just have look below code
    REPORT zrsdvsr1
           LINE-SIZE 220
           LINE-COUNT 65(5).
    TYPE-POOLS : slis.
    TABLES
    TABLES: vbak.
    DATA DECLARATIONS
    Ranges
    RANGES: r_posnr FOR vbap-posnr.
    DATA: BEGIN OF t_veramt OCCURS 0,
            vbeln TYPE vbap-vbeln,
            posnr TYPE vbap-posnr,
            matnr TYPE vbap-matnr,
            netwr TYPE vbap-netwr,
            mwsbp TYPE vbap-mwsbp,
          END OF t_veramt.
    DATA: BEGIN OF t_disamt OCCURS 0,
            vbeln TYPE vbap-vbeln,
            posnr TYPE vbap-posnr,
            matnr TYPE vbap-matnr,
            netwr TYPE vbap-netwr,
            mwsbp TYPE vbap-mwsbp,
            netwr_v TYPE vbap-netwr,
            mwsbp_v TYPE vbap-mwsbp,
            disc_val TYPE vbap-mwsbp,
          END OF t_disamt.
    *&   ALV FIELDS
    DATA : alv_fcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
           alv_layout TYPE slis_layout_alv.
    SELECTION SCREEN
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS:  p_ver RADIOBUTTON GROUP g1 USER-COMMAND rad DEFAULT 'X',
                 p_sab RADIOBUTTON GROUP g1 .
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECT-OPTIONS: s_vbeln FOR vbak-vbeln NO INTERVALS MODIF ID gr1.
    PARAMETERS:    p_dwfile TYPE  rlgrap-filename
                   DEFAULT 'C:\test1.txt' MODIF ID gr2,         "#EC NOTEXT
                   p_upfile TYPE  rlgrap-filename
                   DEFAULT 'C:\test.txt' MODIF ID gr3.          "#EC NOTEXT
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_upfile.
    **************F4 Help For Input File Name****************************
      CALL FUNCTION 'F4_FILENAME'
           EXPORTING
                program_name  = syst-cprog
                dynpro_number = syst-dynnr
                field_name    = 'C:\'
           IMPORTING
                file_name     = p_upfile.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_dwfile.
    **************F4 Help For Input File Name****************************
      CALL FUNCTION 'F4_FILENAME'
           EXPORTING
                program_name  = syst-cprog
                dynpro_number = syst-dynnr
                field_name    = 'C:\'
           IMPORTING
                file_name     = p_dwfile.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF  p_sab = 'X'.
          IF screen-group1 = 'GR1' OR screen-group1 = 'GR2'.
            screen-active = '0'.
            screen-invisible = '1'.
          ELSE.
            screen-active = '1'.
            screen-invisible = '0'.
          ENDIF.
          MODIFY SCREEN.
        ELSE.
          IF screen-group1 = 'GR3'.
            screen-active = '0'.
            screen-invisible = '1'.
          ELSE.
            screen-active = '1'.
            screen-invisible = '0'.
          ENDIF.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    START-OF-SELECTION
    START-OF-SELECTION.
    Check Radio Button
      IF p_ver = 'X'.
        PERFORM get_details_open_so_vertex.
      ELSE.
        PERFORM get_details_open_so.
      ENDIF.
    Display the output.
      PERFORM diplay_report .
    regards
    vinod

  • Double click on subscreen field - EXIT_SAPMM06E_007

    I have added a new field in a sub screen (SAPLXM06 0301 ) in ME42 transaction using exit 'MM06E005'.
    Requirement is to call a transaction when user double clicks on this field. Function code can not be assigned in subscreen hence using sy-ucomm and will assign Function code F2 to the same. When ttry to define/modify the Pf-Status in PBO in exit EXIT_SAPMM06E_007 it gives error not to modify the same.  In screen properties double click functionality check box is ticked for field but not working.
    How this can be done.
    thanks
    anya

    Can you please check when you double click what happens in debugging.,..?
    Nabheet

  • How can I add a new field in selection screen for this report

    *& Report  ZGS_BARKODLA_HIZLI_GIRIS
    report  zgs_barkodla_hizli_giris.
    tables: mara,
            mseg,
            mch1,
            *mch1,
            mkpf,
            mchb ,
            makt.
    type-pools: esp1.
    data: i_message_tab  type esp1_message_tab_type,
          wa_message_tab type esp1_message_wa_type ,
          sc_count type i.
    ALV
    type-pools: slis, kkblo.
    data: gs_layout   type slis_layout_alv                     ,
          gt_fldcat   type slis_t_fieldcat_alv with header line,
          gt_header   type slis_t_listheader   with header line,
          gt_sortin   type slis_t_sortinfo_alv with header line,
          g_repid     like sy-repid                            .
    define add-fieldcat.
      gt_fldcat-fieldname     = &1.
      gt_fldcat-ref_tabname   = &2.
      gt_fldcat-seltext_s     = &3.
      gt_fldcat-seltext_m     = &3.
      gt_fldcat-seltext_l     = &3.
      gt_fldcat-reptext_ddic  = &3.
      gt_fldcat-ddictxt       = 'M'.
      append gt_fldcat.
      clear  gt_fldcat.
    end-of-definition.
    types: begin of titab,
            sel   type xfeld,
            matnr type matnr,
            maktx type maktx,
            charg type charg_d,
            menge type menge_d,
            erfmg type erfmg,
           end of titab.
    data : witab type titab.
    data : itab type table of titab.
    data : ok_code type sy-ucomm.
    controls: tc_itab type tableview using screen 0100.
    data: gv_header like bapi2017_gm_head_01,
          gv_code   like bapi2017_gm_code.
    BAPI export parameters
    data: gv_headret type bapi2017_gm_head_ret,
          gv_matdoc  type bapi2017_gm_head_ret-mat_doc,
          gv_matyear type bapi2017_gm_head_ret-doc_year.
    data : lv_objek like inob-objek .
    data : ls_inob  like inob .
    data : imseg type ty_t_mseg.
    data : wmseg type mseg.
    data : answer.
    data : count type i.
    data : v_atinn type atinn.
    BAPI movement details
    data: i_goodsmvt_items type bapi2017_gm_item_create occurs 0
          with header line.
    data: i_return type bapiret2 occurs 0 with header line.
    start-of-selection.
    call function 'CONVERSION_EXIT_ATINN_INPUT'
       exporting
         input  = 'Z_ORAN'
       importing
         output = v_atinn.
      call screen 100.
    *&      Module  status_0100  OUTPUT
    module status_0100 output.
      set pf-status '100'.
      set titlebar '100'.
      mseg-werks = 1000.
      mseg-umwrk = 1000.
    **added
      sc_count = sc_count + 1.
      if sc_count eq 1.
        mseg-bwart = 313.
      endif.
      mkpf-budat = sy-datum.
    **added
      describe table itab lines tc_itab-lines.
    endmodule.                 " status_0100  OUTPUT
    *&      Module  user_command_0100  INPUT
    module user_command_0100 input.
      data field(20).
      data: line_t like sy-index.
      data: lines  like sy-index.
      data line_count like sy-loopc.
      data: begin of cols,
             screen      like screen,
             index       type i,
             selected(1) type c,
             vislength   like icon-oleng,
             invisible(1) type c,
           end   of cols.
      case ok_code.
        when 'DELE'.
          delete itab where sel eq 'X'.
        when 'ENTE'.
          check *mch1-charg is not initial.
          read table itab into witab with key charg = *mch1-charg.
          if not sy-subrc is initial.
            witab-charg = *mch1-charg.
            select single matnr from mch1 into witab-matnr
                               where charg eq witab-charg.
            if not syst-subrc is initial.
              set cursor field '*MCH1-CHARG'.
              message e115(12) with *mch1-charg.
            endif.
            select single maktx from makt into witab-maktx
                               where matnr eq witab-matnr
                                 and spras eq syst-langu.
            witab-erfmg = 1.
            concatenate witab-matnr witab-charg into lv_objek .
            clear ls_inob .
            select single * into ls_inob
                            from inob
                            where objek = lv_objek and
                                  klart = '023'    and
                                  obtab = 'MCH1' .
            select single atflv from ausp into witab-menge
                     where objek = ls_inob-cuobj and
                           klart = '023' .
            append witab to itab.
    **added
            clear *mch1-charg.
    **added
          endif.
        when 'SAVE'.
          if mkpf-budat is initial.
            set cursor field 'MKPF-BUDAT'.
            message e055(00).
          endif.
          if mseg-lgort is initial.
            set cursor field 'MSEG-LGORT'.
            message e055(00).
          endif.
          if mseg-umlgo is initial.
            set cursor field 'MSEG-UMLGO'.
            message e055(00).
          endif.
          if mseg-bwart is initial.
            set cursor field 'MSEG-BWART'.
            message e055(00).
          endif.
          refresh imseg.
          loop at itab into witab.
            move-corresponding witab to wmseg.
            append wmseg to imseg.
          endloop.
          call function 'ZMM_POPUP_WITH_DATA'
            exporting
              imseg  = imseg
            importing
              answer = answer.
          if answer eq 'Y'.
            perform create_goods_movement.
          endif.
        when 'P--'.
          clear ok_code.
          perform paging using 'P--'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P-'.
          clear ok_code.
          perform paging using 'P-'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P+'.
          clear ok_code.
          clear lines.
          perform paging using 'P+'.
          set cursor field 'MARA-MATNR' line 1.
        when 'P++'.
          clear ok_code.
          perform paging using 'P++'.
          set cursor field 'MARA-MATNR' line 1.
        when 'SORA'.
          read table tc_itab-cols into cols with key selected = 'X'.
          if sy-subrc is initial.
            field = cols-screen.
            field = field+5(10).
            sort itab ascending by (field).
          endif.
        when 'SORZ'.
          read table tc_itab-cols into cols with key selected = 'X'.
          if sy-subrc is initial.
            field = cols-screen.
            field = field+5(10).
            sort itab descending by (field).
          endif.
        when 'PRNT'.
          perform write_alv.
      endcase.
    endmodule.                 " user_command_0100  INPUT
    *&      Module  read_table  OUTPUT
    module read_table output.
      mara-matnr = witab-matnr.
      makt-maktx = witab-maktx.
      mch1-charg = witab-charg.
      mseg-menge = witab-menge.
      mseg-erfmg = witab-erfmg.
      line_count = sy-loopc.
    endmodule.                 " read_table  OUTPUT
    *&      Module  write_table  INPUT
    module write_table input.
      witab-matnr = mara-matnr.
      witab-maktx = makt-maktx.
      witab-charg = mch1-charg.
      witab-menge = mseg-menge.
      witab-erfmg = mseg-erfmg.
      modify itab from witab index tc_itab-current_line.
    endmodule.                 " write_table  INPUT
    *&      Module  exit  INPUT
    module exit input.
      leave to screen 0 .
    endmodule.                 " exit  INPUT
    *&      Form  create_goods_movement
    form create_goods_movement .
      clear : gv_header, i_return[], i_goodsmvt_items[].
      gv_header-doc_date = gv_header-pstng_date = mkpf-budat.
      gv_header-pr_uname = sy-uname.
    GM with reference to reservation
      loop at itab into witab.
        i_goodsmvt_items-material   = witab-matnr.
        i_goodsmvt_items-entry_qnt  = witab-erfmg.
        i_goodsmvt_items-entry_uom  = 'ST'.
        i_goodsmvt_items-move_type  = mseg-bwart.
        i_goodsmvt_items-plant      = mseg-werks.
        i_goodsmvt_items-stge_loc   = mseg-lgort.
        i_goodsmvt_items-move_plant = mseg-umwrk.
        i_goodsmvt_items-move_stloc = mseg-umlgo.
        i_goodsmvt_items-batch      = witab-charg.
        append i_goodsmvt_items.
      endloop.
    find BAPI processing transaction
      if gv_code is initial.
        perform determine_bapi_code using mseg-bwart
                                 changing gv_code.
      endif.
      call function 'BAPI_GOODSMVT_CREATE'
        exporting
          goodsmvt_header  = gv_header
          goodsmvt_code    = gv_code
        importing
          goodsmvt_headret = gv_headret
          materialdocument = gv_matdoc
          matdocumentyear  = gv_matyear
        tables
          goodsmvt_item    = i_goodsmvt_items
          return           = i_return[].
    cancel blocking process
      loop at i_return where type eq 'E' or type eq 'A' or type eq 'X'.
        exit.
      endloop.
      if sy-subrc ne 0.
        refresh i_message_tab.
        call function 'BAPI_TRANSACTION_COMMIT'
          exporting
            wait = 'X'.
        wa_message_tab-msgid = 'M7'..
        wa_message_tab-msgty = 'S'.
        wa_message_tab-msgno = '060'.
        wa_message_tab-msgv1 = gv_matdoc.
        wa_message_tab-msgv2 = ''.
        wa_message_tab-msgv3 = ''.
        wa_message_tab-msgv4 = ''.
        append wa_message_tab to i_message_tab.
      else.
        refresh i_message_tab.
        call function 'BAPI_TRANSACTION_ROLLBACK'.
    write a message as there is an unexpected error.
        loop at i_return.
          wa_message_tab-msgid = i_return-id.
          wa_message_tab-msgty = i_return-type.
          wa_message_tab-msgno = i_return-number.
          wa_message_tab-msgv1 = i_return-message_v1.
          wa_message_tab-msgv2 = i_return-message_v2.
          wa_message_tab-msgv3 = i_return-message_v3.
          wa_message_tab-msgv4 = i_return-message_v4.
          append wa_message_tab to i_message_tab.
        endloop.
      endif.
      call function 'C14Z_MESSAGES_SHOW_AS_POPUP'
        tables
          i_message_tab = i_message_tab.
    endform.                    " create_goods_movement
    *&      Form  determine_bapi_code
    form determine_bapi_code using p_bwart type bwart
    changing p_code type bapi2017_gm_code.
      data: lt_t158b type table of t158b with header line.
      clear p_code.
      select tcode from t158b into corresponding fields of table lt_t158b
      where bwart eq p_bwart.
      loop at lt_t158b.
        select single gmcode from t158g into p_code
        where tcode eq lt_t158b-tcode.
        if sy-subrc is initial.
          exit.
        endif.
      endloop.
    endform. " determine_bapi_code
    *&      Form  paging
    form paging using code.
      data: i type i,
            j type i.
      case code.
        when 'P--'. tc_itab-top_line = 1.
        when 'P-'.
          tc_itab-top_line = tc_itab-top_line - line_count.
          if tc_itab-top_line le 0.
            tc_itab-top_line = 1.
          endif.
        when 'P+'.
          i = tc_itab-top_line +  line_count.
          j = tc_itab-lines -  line_count + 1.
          if j le 0.
            j = 1.
          endif.
          if i le j.
            tc_itab-top_line = i.
          else.
            tc_itab-top_line = j.
          endif.
        when 'P++'.
          tc_itab-top_line = tc_itab-lines - line_count + 1.
          if tc_itab-top_line le 0.
            tc_itab-top_line = 1.
          endif.
      endcase.
    endform.                    " paging
    *&      Form  write_alv
    form write_alv .
      perform find_list_header.
      perform fill_field_cat.
      perform fill_sortinfo.
      g_repid = sy-repid.
      gs_layout-colwidth_optimize = 'X'.
      gs_layout-zebra             = 'X'.
      answer = 'Y'.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_buffer_active        = ''
          i_callback_program     = g_repid
          i_save                 = 'A'
        i_callback_top_of_page = 'TOP_OF_PAGE'
          is_layout              = gs_layout
          it_fieldcat            = gt_fldcat[]
         it_sort                = gt_sortin[]
        tables
          t_outtab               = itab[].
    endform.                    " write_alv
         Form  find_list_header
    form find_list_header.
      data : v_datum(10),
             v_datlo(10),
             v_dathi(10),
             v_uzeit(8).
      clear: gt_header, gt_header[].
      gt_header-typ  = 'H'.
      gt_header-info = sy-title.
      append gt_header.
      clear gt_header.
      gt_header-typ  = 'S'.
      gt_header-key  = 'Çal&#305;&#351;t&#305;rma Zaman&#305; : '.
      write syst-datum to v_datum.
      write syst-uzeit to v_uzeit.
      concatenate v_datum '/' v_uzeit into gt_header-info.
      append gt_header.
    endform.                    " find_list_header
         Form  fill_field_cat
    form fill_field_cat.
      refresh gt_fldcat.
      clear   gt_fldcat.
      gt_fldcat-key = 'X'.
      add-fieldcat 'MATNR'  'MARA' ''.
      add-fieldcat 'MAKTX'  'MAKT' ''.
      add-fieldcat 'CHARG'  'MSEG' ''.
      gt_fldcat-do_sum = 'X'.
      add-fieldcat 'MEINS'  'MARA' 'Olcu Birimi '.
      gt_fldcat-do_sum = 'X'.
      add-fieldcat 'ERFMG'  'MSEG' 'Adet'.
    endform.                    " fill_field_cat
         Form  fill_sortinfo
    form fill_sortinfo.
      gt_sortin-up            = 'X'.
      gt_sortin-fieldname     = 'MATNR'.  append gt_sortin.
    endform.                    " fill_sortinfo
         Form  top_of_page                                              *
    form top_of_page.
      call function 'REUSE_ALV_COMMENTARY_WRITE'
        exporting
          i_logo             = 'ZKUTAS'
          it_list_commentary = gt_header[].
    endform.                    " top_of_page

    HI,
    if it is a normal report program then you can directly create a Selection screen field.
    After the Type-pool you can use Parameters or Select-options to create the selection screen field..
    If it is a Modulpool program then you can create a selection scren field like
    SELECTION-SCREEN BEGIN OF SCREEN 1100 AS SUBSCREEN.
    PARAMETERS: p1(10) TYPE c.
    SELECTION-SCREEN END OF SCREEN 1100.
    defines a selection screens – 1100 – as subscreens.
    The next screen number of screen 100 is 100 (statically-defined).
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      CALL SUBSCREEN area INCLUDING sy-repid number.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      CALL SUBSCREEN area.
      MODULE user_command_0100.
    look at the below link
    http://help.sap.com/saphelp_nw2004s/helpdata/en/e7/deb237b9a9a968e10000009b38f8cf/content.htm
    Regards
    Sudheer

  • How can i declare a single radio button field in selection-screen ?

    How can i declare a single radio button field in selection-screen ?

    >
    Rob Burbank wrote:
    > And how will you turn it off once it is turned on??
    >
    > Rob
    Thats correct ;)...See ravi if users will ask so many things its our Job to convay the correct solution ....
    Just post your org requirement..SOo some body guide you better//
    Sas

  • Validate a field on selection screen based on value entered on anothr field

    HI,
    There is a program with some fields in selection screen in EWM. The first field is Warehouse. I need to add another field 'Entity to Dispose' in such that what ever value I enter in Warehouse field, its corresponding values should only be displayed as F4 help for 'Entity to Dispose' field.
    For eg: If I select the warehouse as 0799(lets say), then the F4 help for Entity to Dispose field should display only the values which are related to warehouse 0799 (and any other values pertaining to other warehouse should not appear).
    Could anyone suggest, how this can be achieved?
    Thanks in advance.
    Regards,
    Pavan

    Hi,
    You can use FM
    DYNP_VALUES_READ
    DYNP_VALUES_UPDATE
    to read the another field value and Using that field build your internal table for f4 values.
    and use FM F4IF_INT_TABLE_VALUE_REQUEST for F4 values..
    do this on AT SELECTION-SCREEN ON VALUE REQUEST FOR <YOUR_F4_FIELDNAME>.

  • Unable to have field in selection screen of Infopackage

    Hello Gurus,
    I have a small problem,
    I am unable to bring on field in selection screen in Infopackage,
    even thou the object is ticket in DataSources selection option,
    I have noted that the object is of type DEC is it something to do with,
    Or is their any other way to have this object in selection screen of Infopackage,
    Please help me on this,
    Thanks & Regards,

    Bhanu its field type is DEC that’s why its not coming in selection screen in Infopackage .This is a big problem in our Development as this field is SPRIO(Procurement Priority) and we want to restrict this field with conduction SPRIO EQ 1.
    Our DataSource is based on Infoset , Bhanu is it possible to restrict this Field in Infoset writing some code. As their is option in Infoset for CODE we tried this but didn’t work.
    or any other way to restrict this field with 1.
    I really appreciate your reply.
    Thanks Once again.

  • Adding customer field to selection screen of RFKORD11 - Customer  Statement Printing Program:

    Hello,
    We are required to add an important customer field to selection screen of customer
    statement printing program: RFKORD11 for our South African branch.
    Please advise us regarding this matter,
    is there a proper user-exit or a repair is needed?
    Kind Regards.

    Enhancement
    text
    F050S001
    FIDCMT, FIDCC1,
      FIDCC2: Edit user-defined IDoc segment
    F050S002
    FIDCC1: Change
      IDoc/do not send
    F050S003
    FIDCC2: Change
      IDoc/do not send
    F050S004
    FIDCMT, FIDCC1,
      FIDCC2: Change outbound IDoc/do not send
    F050S005
    FIDCMT, FIDCC1,
      FIDCC2 Inbound IDoc: Change FI document
    F050S006
    FI Outgoing IDoc:
      Reset Clearing in FI Document
    F050S007
    FIDCCH Outbound:
      Influence on IDoc for Document Change
    F180A001
    Balance Sheet
      Adjustment
    FARC0001
    Enhancements within
      archiving (FI)
    FARC0002
    Additional Checks for
      Archiving MM Vendor Master Data
    FEDI0001
    Function exits for
      EDI in FI
    FICT0001
    Exits for
      inter-company transactions
    RFAVIS01
    Customer Exit for
      Changing Payment Advice Segment Text
    RFBVX001
    Enhancement for bank
      directory transfer (Austria)
    RFEPOS00
    Line item display:
      Checking of selection conditions
    SAPLBANK
    User exit: Bank data
    SAPLF040
    WF: Preliminary
      posting (authorized for release)
    SAPLF051
    Workflow for FI
      (pre-capture, release for payment)
    SAPLFCPD
    One-time account data
      or different payee in booking
    SAPLSSRV
    User exit: Bank
      account numbers
    RFKORIEX
    Automatic
      correspondence
    please check which one  is better .

Maybe you are looking for