Replacement Path for Chaging the Field Names

Hi Gurus,
I have a requirement to build a query containing 31 columns say day1,day2u2026.
The Report should display the fields as 1-Sep-2008.2-Sep-2008 and so on, when the query is executed in the month of September.
The same query executed in the month of October should display the fields as 1-Oct-2008,2-Oct-2008 and so onu2026.
I guess this can be achieved using the Replacement path.
Is that correct? If yes, Please let me know how to achieve this.
Awaiting  possible  solutions.
Regards,
DVAPrasad.
Edited by: Veeranjaneya Prasad on Sep 22, 2008 8:51 AM

Hi DVAPrasad,
You can have the epected results using text variable for the columns headings.
For that you need to create a text variable which will take up a value according to month selected. If you are using 0month characteristic to select the month, then you will require a text variable using customer exit as in 0month the values for the month are stored in the '09' , '10',  etc format.
Here you will have to write logic as when its '09' take value as 'sept' and when its '10' take value as 'oct'.
If you are using a custom characteristic for month which stores values for the month as 'sept' , 'oct' etc then you can use replacement path variable.
I hope this satisfies you query completely.
- Geetanjali

Similar Messages

  • Inventory Report-Replacement path for Base UOM to Case and Standrad Cost

    Hi, We have a Scenario as below:
    Question1:
    We have a multiprovider contains 4 infocubes and 2 Master Data objects
    a.Demand
    b.Inventory
    c.Sales Orders
    d.In Transit
    Master Data objects
    a. Material (contains Base UOM to Case as Key Figure Attribute and also Base UOM as an attribute)
    b. Material Location (Contains material as an attribute and also Standard Cost as a Key Figure attribute)
    At the report level two formula variables are defined with replacement path for showing the Base UOM to Case and Standard Cost in columns.
    We have 4 reports on this multiprovider. There is a dialy sales report which gives the following details
    Material, Location, MRP Controller, CalDay, Base UOM, Actual Sales(AS), Dependent Demand(DD), Consumption Qyt(CQ), Base to Case UOM, Standard Cost
    In this report for all the records the Base to UOM and Standard Cost column is coming with values which is nothing but the replacement path on the material master key figure attribute. Though this report is on the multiprovider all the major keyfigures (AS, DD and CQ) are coming from a single cube( this is an observation from myside).
    We have another report which is the Inventory Report with the following details:
    Material, Location, MRP Controllder, Calday, Base UOM,      Unrestricted Inventory(UI), committed Inventory(CI), Back Order Qty(BOQ), In Transit by Sh/Rec(ITS), In Transit Pipeline(ITP), On Order Qty (OOQ), Current Inventory Position (CIP), Quality Inspection Stock(QIS), Block Stock(BS), Base to Case UOM, Standard Cost
    Now in this report for all the records the Base to Case UOM and standrad cost is not showing up. Is there anything which needs to be done in order to get the Base to Case UOM and standard cost for all the records.
    Question2:
    When Non-Cumulative and Cumulative key figures are combined at the multi provider and also at the report level, will there be any problem?
    Regards
    Vijay

    Hi,
    I think you can proceed with virtual characteristics for this.In the code you can truncate the time and you can display on the date:
    Regards
    Prasad

  • 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

  • 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 add get the field name for a newly added site column.

    I have the following:-
    Enterprise wiki site collection inside SharePoint server 2013.
    I added a new site column of type managed metadata.
    I opened the enterprisewiki.aspx page layout using the SP designer, to add the newly added site column to it.
    But I have noted that to add any site column I need to know the field name , for example the default wiki category column is referenced inside the page layout as follow:-
    <Taxonomy:TaxonomyFieldControl FieldName="Wiki_x0020_Page_x0020_Categories" EmptyValueDescriptionForTargetTemplate="<%$Resources:cms,enterwiki_nocategories_assigned%>" DisableInputFieldLabel="true" runat="server"/>
    <b>
    So my question is how I can know the field name for my newly added site column?
    Thanks in advance for any help.
    Regards

    Hi,
    The “FieldName” should be the internal name of the column, you will find it at the address bar at the “Site Columns”->”Edit Column” page:
    Best regards,
    Patrick
    Patrick Liang
    TechNet Community Support

  • Query - Replacement Path for a Customer Exit Variable

    Hi
    New to the field and the board.  Any and All help is greatly appreciated.
    I have created a query which runs based on a date selection. The query have few customer exit variables whose values are set in ABAP. All Key Figures in the query are brought depending on the date ranges that each of the CE returns. Ex - one column is sales for first 10 days, 2nd for second 10 days, 3rd for first quarter, 4th for 2nd quarter and such.  There are about 20 - 25 columns with KF in the query and all are Customer Exit date driven.
    The challenge:- Each column heading should have the name of the month. I tried using Replacement Path. But it works when the selection is based on a constant value but not on value based on variable which is a customer exit. Ex - If I say restrict Cal/Month for July 2013, the replacement path for the Col Heading works fine. But if I say restrict Cal/Month for "ZVAR_SecondQtr_First_Month" the replacement path doesn't work.
    Help Please
    Thanks
    Vidya

    In the text variable that you are using , i guess you have a replacement path. In this instead of using your characteristic for specifying how the value has to replace, use the variable option and give the variable name there
    http://help.sap.com/saphelp_nw70/helpdata/EN/43/565cd22fc95f6ce10000000a1553f6/content.htm
    Hope it helps
    Regards,
    Rathy

  • 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.

  • 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&

  • 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

  • BADI / USER-EXIT FOR DEFAULTING THE FIELD VTTK-TNDR_ACTC IN TCODE VT01N

    Hi,
    I require a BADI / USER-EXIT for defaulting the field VTTK-TNDR_ACTC(Currency of Actual Shipment costs) to 'EUR' in transaction VT01N(Shipment Transaction) .
    Please could anyone help me with this .
    Regards,
    Sushanth H.S.

    Hi!
    User Exits in Transportation
    In Transportation, there are enhancements that you can use with transaction CMOD.
    For a detailed description of the individual enhancements, see the documentation on the individual enhancements or function modules in transaction SMOD.
    You can display all enhancements that are available for the area of transportation by choosing F4 in the Enhancement field. Enter V56* in the Enhancement field and choose Execute. Enter V54* to get a list of all enhancements for the area of shipment cost processing.
    Business Add-Ins in the transports
    Business add-ins (BADIs) are predefined user exits. They enable businesses, partners, and customers to add additional softward to the SAP source code. The linkup of SAP's New Dimension Products, such as APO and BW, to the standard system is thus possible.
    Customer-specific functions can be executed before the save time and after the database update.
    The following methods are available for the BADI with the definition name 'BADI_LE_SHIPMENT':
    AT_SAVE: BADI is called up at the time of the save. Checks and return to dialog are possible.
    BEFORE:_UPDATE: BADI is called up right before the data is saved to the database, that is, when all the data is available (for example, internal ly assigned shipment number).
    IN_UPDATE: BADI is called up after the database update.
    Standard Settings
    Creating a BADI method:
    Call up transaction SE19. Enter a name of your choice. Choose "create" and in the dialog box enter the definition name 'BADI_LE_SHIPMENT'. Afterwards, enter a short text for implementation. Save the BADI.
    On the tab page 'Interface', choose the method for implementation by double-clicking on it. Now you can enter your customer-specific program code. Save and activate the code. You can acess the transmission parameters entered in the BADI definition. With the method ***_AT_SAVE you can initiate the exception ERROR_WITH_MESSAGE (description 'An error message has occurred' ) if you wish to return to the dialog.
    Afterwards, go to the heading and activate the interface.
    Regards
    Tamá

  • 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

  • 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);

  • Retrieve the fields name of a table

    HI,
    I need to write a loop to get the name of each fields in a table. I nedd something like
    for each field.fieldname do something
    thanks,
    Mandana

    select * from yourtable where 1 = 2
    The resulting columnlist will give you all the field names.

  • Is there any way to read the field name,through the property binded to it.

    Hi
    I want to know that,is there any method exits with which i can find the field names of the screen,if i have the property attribute with me.
    as my req is to make the validation for the property attr,& check  how many fields are binded with the single property attr,i have read the property attr dynamically,now need to find the fields linked,& need to check how many fields have not field value,& through the error msg.

    just read the attribute binded to properties using code wizard ( Control + F7).
    Code generalted will be like :
    DATA lo_nd_cn_check TYPE REF TO if_wd_context_node.
        DATA lo_el_cn_check TYPE REF TO if_wd_context_element.
        DATA ls_cn_check TYPE wd_this->element_cn_check.
        DATA lv_ca_check LIKE ls_cn_check-ca_check.
      navigate from <CONTEXT> to <CN_CHECK> via lead selection
        lo_nd_cn_check = wd_context->get_child_node( name = wd_this->wdctx_cn_check ).
      get element via lead selection
        lo_el_cn_check = lo_nd_cn_check->get_element(  ).
      get single attribute
        lo_el_cn_check->get_attribute(
          EXPORTING
            name =  `CA_CHECK`
          IMPORTING
            value = lv_ca_check ).
    Here i have read attribute CA_CHECK.

  • Changing the field names in a CFQUERY object

    Hello, I wonder whether you know the answer to this?
    I want to change the names of the fields in a CFQUERY result
    set after I have retrieved the results from the database (ie. I
    can't use "AS" in the original SQL statement). I can think of 2
    ways to do this - use the query-a-query (CFSQL) feature or just
    build and populate a new query object, as set out below:
    <cfquery name="CustList" datasource="name">
    SELECT CustId,CustName,CustAddress FROM Customers
    WHERE OrderStatus='P'
    </cfquery>
    OPTION#1:
    <cfqueryname="GenericList" type="query">
    SELECT CustId AS Id,CustName AS Name,CustAddress AS Address
    FROM CustList
    </cfquery>
    OPTION#2:
    <cfset GenericList = QueryNew("Id,Name,Address")>
    <cfloop query="CustList">
    <cfset unused = QueryAddRow(GenericList)>
    <cfset unused =
    QuerySetCell(GenericList,"Id",CustList.CustId)>
    <cfset unused =
    QuerySetCell(GenericList,"Name",CustList.CustName)>
    <cfset unused =
    QuerySetCell(GenericList,"Address",CustList.CustAddress)>
    </cfloop>
    Do you know which of these would be more efficient? And is
    there a better way, whereby I can maniplulate the names of the
    columns in the original query (ie. so that I can rename the
    "CustName" field to "Name" and then use "CustList.Name" directly)?
    Thanks!

    Thanks guys!
    If there is a close to zero overhead to the simple
    query-a-query then that seems like the way to go, with no need to
    look for a means of manipulating or modifying the original query.
    The reason I want to change the field names is so that the
    rest of my code can contain references to "CustList.Name" whereas
    otherwise I would have to do something like
    "Evaluate('CustList.#NameField#')" which is horribly messy. And the
    way the original query is generated means I can't use "AS" in it,
    but I still want to use the same code to work with that query
    result and other query results that share similar/related data with
    different field names.

Maybe you are looking for