Capture the field names of structure

TYPES: BEGIN OF I_EKKO,
       EBELN LIKE EKKO-EBELN,
       AEDAT LIKE EKKO-AEDAT,
       BUKRS LIKE EKKO-BUKRS,
       BSART LIKE EKKO-BSART,
       LIFNR LIKE EKKO-LIFNR,
       END OF I_EKKO.
how to capture ebeln,aedat in the variables.
pls help
rajeev

TYPES: BEGIN OF i_ekko,
ebeln LIKE ekko-ebeln,
aedat LIKE ekko-aedat,
bukrs LIKE ekko-bukrs,
bsart LIKE ekko-bsart,
lifnr LIKE ekko-lifnr,
END OF i_ekko.
DATA: obj_type TYPE REF TO cl_abap_structdescr,
t_components TYPE STANDARD TABLE OF abap_componentdescr.
obj_type ?= cl_abap_typedescr=>describe_by_name( 'I_EKKO' ).
CALL METHOD obj_type->get_components
  RECEIVING
    p_result = t_components.
in t_components you can see the components of the structure, i mean all the fields of it.

Similar Messages

  • How to capture the field name on a form when it's double-clicked?

    Hello,
    I plan to create a two field Help table that uses the thirty or so unique field names on the user form in field one. The second field is a Memo type field that contains the Help information for each field.
    Once I know the field name clicked, I will probably use a query to retrieve the help information. I'm planning to use the Double-Click event so the users can double-click any field on the form to be presented the specific field related information
    from the Help table.
    How can I capture the name of the field that was double-clicked, so I can proceed with this project? Thank you.
    Cordially,
    John
    Thank you, John Portland, Maine

    Thank you, Hans,
    How about this code:
    Dim varClickedFieldName as String
    varClickedFieldName = ScreenActiveControl.ControlSource
    Or would you recommend other code?
    Cordially,
    John
    Thank you, John Portland, Maine

  • Method t create dynamic structure if the field name contains space

    HI all,
    I am creating a dynamic internal table. Everything id fine but when creating dynamic structure if field name contains space its giving me dump.Can you please suggest me any other methos which takes space in the field name.
    Iam using the following method:
      gr_struct_typ  ?= cl_abap_structdescr=>create( p_components = gt_component ).
    In the gt_component i have one of the field with space like ( RU STAND) and its giving error.
    Any help will be appreciated.
    thanks
    Suku.

    Hello Sukumar
    If the space in the fieldname is a mistake then you could simply use:
    CONDENSE ld_fieldname NO-GAPS.
    However, I guess your fieldname should contain this space:
    >...suggest me any other methos which takes space in the field name.
    >
    Well, have you ever seen a field or column name in SAP standard containing a space in its name???
    Regards
      Uwe

  • 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

  • Changing the field name at runtime in rpt file

    Hi everybody
    I'm using C# and Crystal Report XI (Deverlop license) to develop windows application in VS.net 2003.
    Please help me to change the field name of the bounded column of Crystal report file at the runtime.
    (In some case client's database had changed the structure as fieldname, fieldtype. Then they request a utility to change the field names in the .rpt file programmatically )
    Thanks
    GiangSon
    My email address: [email protected]

    user11200661 wrote:
    That's fine but still i want to prefix the schema name within the .sql file. My .sql should contain the name of that parameter only as i want to get that parameter replaced by the schema name at runtime. Some other users are using the same .sql file and they have access to that specific schema only. i want to make the .sql file more general so that it can be used by everyone without altering it every time.Sorry, your requirement no longer makes sense.
    If people have to access a specific schema because they need the script for general use, then you will have to hard code the schema name into it.
    If the script is to prompt for the schema name and connect to that schema and then use that schema name inside the called sql script, then people would not be able to use it generically, as it would be reliant upon the schema name being passed in.
    It sounds as if you're trying to write one generic thing that needs to do two different tasks.
    Just have two scripts and make life simple.

  • What are the field names for below mentioned

    Hello Friends
    What are the fields names for below tables
    in EKKO
    Purchase Document Date
    Net Value of the purchase document.
    In EKPO
    Item Description
    From which place We bought it. (It means in Sales Items there we can know from which plant we sold the goods, like in EKPO, there is any field like this)
    Please let we are defining the report to find out the stock availability for perticular storage location using select Options plant, company code, material no.
    How many tables involve her to build this report. and also field names, they come under which table.
    Please send me this information ASAP. PLz Plz Plz..........
    Regards
    Praveen

    You can check the fields of these tables via SE11
    Purchase Document Date  -  EKKO-BEDAT
    Item Description  -  EKPO-TXZ01
    Net price per item - EKPO-NETPR.
    Regards,
    Rich Heilman

  • Script : how to change the Field name in standard program(ZM_MEDRUCK)

    Hi Experts,
    I am working with SAP SCRIPT. i need to change the Field Name that is PO NO to Document No & PO DATE to Document Date.
    These are assigned in data declaration as gv_name and gv_date.
    Can anyone help me to change this Fields.
    Regards,
    Vijayan.R

    Hi,
    You can archive this by making change in SAP script only. You don't need to touch the standard prgm.
    Debug the script and find it out which fields (In script editor) are printing these text on layout... then just replace them by creating your own text...
    You can create a text in TTDTG table,, like ZZPO_NAME = ( Document Name),, and use this filed in the script editor.
    &ZZPO_NAME&

  • Not able to download the field names in GUI_DOWNLOAD(very urgent)

    Hi All,
    I am downloading the file contents to the presentation server.i am able to get the file contents proeprly but not able to download the field names into text file.
    Can anybody please help me in this issue..? its very urgent. Valuable answers will be rewarded.
    CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          filename                = w_filename
          filetype                = 'DAT'
         write_field_seperator   = c_x
          col_select              = c_x
          COL_SELECT_MASK         = t_mask
        TABLES
          data_tab                = t_tab
          fieldnames              = t_colnames
        EXCEPTIONS
    Thanks & Regards,
    Satish.

    Hi,
    I have tried in both ways its not working.
    while a ran the program it is going to the dump.
    I am working in mySAP ECC6.0
    Can pl you suggest other way..
    Thanks & Regards,
    Satish.

  • How to get the field name of an internal table during runtime?

    How to get the field name of an internal table during runtime?

    Hi  Sudhir,
    Declare and Use Get Cursor Field in Your Prm to get the field Name of the Intenal Table
    Example Code:
        <b>  DATA: v_field(60).                        " Insert this code.
         GET CURSOR FIELD v_field.        " Insert this code.</b>
         <b>CHECK v_field = 'ITAB-KUNNR'.    " Insert this code. (or)
    Write: v_field.</b>
    Regards,
    Ramganesan K.

  • Can anyone tell me the field name, table name for the following scenario?

    Hi All,
    Can anyone tell me the field name and the respective table name for the following scenario's?
    1. A report to list all the materials to which Invoice is done and delivery is pending.
    2. A report for Order tracking.
    3. A report, which gives PO(Purchase Order),  Pricing details.
    4. A report, which calculates the MATERIAL COST. It will select all the material issued for the entered service order number from  stock.
    Thanks & Regards,
    P.Gowrishanker
    Edited by: Gowrishanker pari on Jun 1, 2008 8:58 AM

    I believe that OmniVision Technologies has the contract for the 3gs.

  • How to retrieve the Field Name of a Table

    Hi guys,
    I'm trying to retrieve the field name of a table in java, but i don't know how to do it. Could somebody help me?Let say i have a table name Itemmaster, then
    i want to retrieve its field and display to dos prompt.
    Example :
    Item No.
    Description
    Quantity
    It is possible to retrieve the fields?
    What could be the possible command in java using packages Java.sql.*?
    Thanks in advanced...
    Best regards,
    Dharry

    The ResultSet class, which is how query results are returned in JDBC, has methods to get at the metadata for the table queried, including column names:
    ResultSet resultSet=statement.executeQuery("select * from table");
    resultSetMetadata=resultSet.getMetaData();
    resultSetMetadata.getColumnLabel(column+1);

  • How can i get value when the field name is user's defined

    Hi,
    I have a one java method:
    public ResultSet countUserDb(String id) {
    ResultSet rs = null;
    con = dbcon.connect();
    String queryString = ("select count as count from
    db_allocation where user_id='"+id+"'");
    Statement stmt = con.createStatement();
    rs = stmt.executeQuery(queryString);
    When i call it in a jsp file.
    ResultSet counter =db.countUserDb(request.getParameter("id"));
    if(counter.next())
    int x=rs.getInt("count");
    Tomcat said incorrect column name.How can i get the result set when the field name is user's defined.
    Best regards
    Ricky

    You should give the user defined name in the ResultSet.getXXX method to retrieve the column value.
    Example
    SQL:
    Select ename as employeename from emp;
    You should say :
    ResultSet.getString("employeename"); to get the value.
    Alternatively you can retrieve it using column number:
    ResultSet.getString(1);
    Chandar

  • How to capture the user name who is running concurrent program

    Hi Everyone
    In oracle apps when i want to store the user name who is running a concurrent program in specific responsibility.
    For that I created a table as USER_INFO which has a column called USERNAME.
    T o capture the user name i created a before report trigger and wrote the following code which will store the username into USER_INFO
    function insert_trg return boolean is
    begin
      insert into USER_INFO(USERNAME) values
    (select fnd_profile.value('USERNAME') from dual);
    COMMIT;
      return (TRUE);
    end;In the above code i used fnd_profile.value('USERNAME') to store the username but after running the concurrent program when i am query the table it returns no rows .
    It means the fnd_profile.value('USERNAME') is not storing the value.
    Please tell me what to do?
    Regards
    Sabyasachi

    In order to fetch any FND_PROFILE or FND_GLOBAL values you need to initialize apps
    fnd_global.apps_initialize(user, resp_id,resp_application_id)
    begin
    fnd_global.apps_initialize(0,20420,1);
    dbms_output.PUT_LINE (FND_PROFILE.VALUE('ORG_ID'));
    dbms_output.PUT_LINE (FND_PROFILE.VALUE('USER_ID'));
    dbms_output.PUT_LINE (FND_PROFILE.VALUE('USERNAME'));
    end; Check the following MOS note
    How To Set the Applications Context (FND_GLOBAL.APPS_INITIALIZE) [ID 209185.1]
    Cheers,
    ND
    Use the "helpful" or "correct" buttons to award points to replies / Mark the thread as answered, if your question is answered.

  • How to change the field name in SUS

    HI,
    In the section view all PO's, I want to change the field name  <b>document number</b> to <b>invoice number</b>.Please do let me know how to go about it.
    Thanks in advance ,
    Manu

    Hi,
    The text ID should be first identified in the BSP (BBP_SUS_UI/DOC_NUMBER?)
    Next execute SOTR_EDIT and use the FInd button. Enter the package of the BSP object (BBP_SUS_U?) and select the language as English. Execute the program and you will a complete list of text used in SUS screen. Locate the text ID as above and double click to change based on what you need.
    Regards.

  • Can we display the field name vertically

    Hi BI Experts ,
    Iam using Bex Analyzer to run reports.
    1.in report i want to display the field name vertically. is there any possibilities.
    2.i had tried using format cells in excel settings , but i have to make settings every time after running the report.
    3. i need this settings should be done before running the report and user can see the report such a way that field name should be displayed vertically.
    Please suggest me is there any way to do this.
    Thanks
    Tulsi

    Hello,  
    You can create a workbook, do the necessary format and turn off the format refresh in the Bex Tool bar property. You can turn off the same in Query Property.
    [Thanks|http://chandranonline.blogspot.com/]
    [Chandran|http://chandranonline.blogspot.com/]

Maybe you are looking for