EvDRE Question -- Inserting Blank Rows

Hi all,
Here's a good question that we've run into a couple of different times with EvDRE:  Say you are specifying a Memberset to expand on that will consist of a comma-delimited list like:
bas(Accounts_Receivable), Accounts_Receivable,
bas(Accounts_Payable), Accounts_Payable,
bas(Notes_Receivable), Notes,Receivable,
bas(Fixed_Assets), Fixed_Assets   ...etc.
This would expand each of the four account groups, and follow each of them with their respective parent.
Question:  What's the best way to insert a blank row after each parent/subtotal?
It turns out that if you use the SUPPRESS=Y for that Expansion, that the Blanks get suppressed (since the suppression is .  Also, I'm not sure if there is a good Before/After Range option... But, how about maybe using INSERT ?
Thanks,
Garrett

Garrett,
You can insert blank lines by adding extra commas with nothing in between.
So in your example this would mean:
bas(Accounts_Receivable), Accounts_Receivable,,bas(Accounts_Payable), Accounts_Payable,,bas(Notes_Receivable), Notes,Receivable,bas(Fixed_Assets), Fixed_Assets
Suppression will also suppress the blank lines, so you cannot use that function in this solution.
The option 'insert' will give you the possibilitie to manually insert new lines which you have to select with your right mouse button as an enduser, so I think this is useless this situation.
Hope this helps,
Alwin

Similar Messages

  • Insert  Blank row  After every Row  in alv report

    How to insert blank  row After every row  in Alv report

    what do you mean by a 'blank row'? ALV displays tabular data with 'any' number of columns. Now if you actually want a blank row (no columns at all, just a row), then that is just not possible. If I'm not mistaken, this question was posted before, so try to do a search on SCN. See what is says.

  • Inserta blank row and column

    Hi
    Gurus
    After the Expansion, I would like to insert a blank column within the columnkey range and a blank row with in the row key range, without using NOEXPAND int he memberset
    please advice
    thanks

    Hi,
    A blank row or column can be inserted using the AFTERRANGE functionality. Please refer to the below link from help.sap:
    http://help.sap.com/saphelp_bpc75/helpdata/en/66/a04d49392d401382d0dc1b099acad0/content.htm
    Hope this helps.

  • ADF Toystore question:  no blank row in viewobject on "Add" JSP form

    A new thread based on Suggestions for Automatic Commit/Rollback
    In the ADF Toystore application, I did not notice the blank row behavior in the user registration section like we encountered in the other thread posting (Suggestions for Automatic Commit/Rollback To test this, I created another instance of the Accounts viewobject (called it AllAccounts) inside the ToyStoreService app module and then created a JSP to list the contents of the AllAccounts viewobject. Then, I went to the registration page (which creates a blank row in the view object with a status of STATUS_INITIALIZED) and then without submitting the form, I clicked on the link that I created to view the contents of the AllAccounts view object and noticed that a blank row did not appear. What is causing a blank row to appear in our discussions in the other thread (Suggestions for Automatic Commit/Rollback but not in the ADF Toystore application? I guess somehow this row with a status of STATUS_INITIALIZED is being "removed" but I cannot find the code that does this.
    Steve -- any ideas?

    I was trying to figure out what would be the best practice to implement 'partial rollback'. Could not really find the example in Toy Store demo. For example if we create new account, the model will get dirty. And let's say user does NOT commit the record but rather uses link and navigates to some other pages. After some work user may commit the transaction which in turn will commit blank entry in account table. Well for the sake of example let's assume that this is possible scenario.
    So what I am up to is how to implement 'cancel' operation when user changes his/her mind and does something else rather then commit/save_changes in new/edit screens? What would be the best practice?
    What I have done so far is rather too bulky. I have implemented event handler for all my links and cancel button in data page:
       * "Cancel" Event Handler.
       * @param ctx The DataAction context
      public void onCancel(DataActionContext ctx) {
        HttpServletRequest request = ctx.getHttpServletRequest();
        BindingContext bcc = HttpBindingContext.getContext(request);
        DCBindingContainer dbc = DCUtil.findBindingContainer(bcc, "modifyAddSchedulingUIModel");   
        DCIteratorBinding studentCat = dbc.getIteratorBinding("AddModifyScheduleView1",null , "AddModifyScheduleView1Iterator");
        Row currentRow = studentCat.getNavigatableRowIterator().getCurrentRow();   
        currentRow.refresh(Row.REFRESH_REMOVE_NEW_ROWS | Row.REFRESH_WITH_DB_FORGET_CHANGES);
        dbc.getApplicationModule().getTransaction().commit();
        String target = "individual";
        ctx.setActionForward(target);
      Any other idea?

  • How to insert Blank rows while Zero Suppression is Activated?

    I am using BI 2004s and have applied zero suppression to a query I have built, how ever this removes the blank rows I am using to format the report. Any ideas on how I could get the blank rows to remain whilst removing zero value rows?
    Thanks
    Stu

    in zero suppression, select active(All values = 0)
    *reward if helpful*

  • Insert Blank Row after writing record to .csv

    J Developer 11.1.1.6.0
    Oracle SOA 11g - BPEL
    I am currently performing 3 separate transformations in a bpel process.
    In the first transformation I extract header level information (only 1 record line) and write this to a csv file together with HEADERS.
    In the second transformation I extract Detail level information (1 or more record lines) and APPEND this to the same csv file mentioned above together with HEADERS.
    In the third transformation I extract Footer level information (only 1 record line) and APPEND this to the same csv file mentioned above together with HEADERS.
    an example of the resulting csv file (opened in Excel)
    =========================================
    |FILENAME     |DATE          |NUMBEROFRECORDS|     <-------------- 1st Transform HEADER
    |Dummy File    |08082013   |3                                     |     <-------------- 1st Transform RECORD DATA
    |DOCREF        |VAT            |AMOUNT                       |     <-------------- 2nd Transform HEADER
    |1                     |30               |100                                 |     <-------------- 2nd Transform RECORD DATA
    |2                     |20               |200                                 |     <-------------- 2nd Transform RECORD DATA
    |3                     |10               |300                                 |     <-------------- 2nd Transform RECORD DATA
    |TOTALDOCS |TOTALVAT|TOTALAMOUNT            |     <-------------- 3rd Transform HEADER
    |3                     |60               |600                                 |     <-------------- 3rd Transform RECORD DATA
    ========================================
    REQUIREMENT : I NEED TO INSERT A BLANK LINE/ROW BEFORE THE DETAIL HEADER AND ANOTHER BLANK LINE/ROW AFTER THE LAST DETAIL RECORD.
    i.e. . The resulting file should look as follows :-
    =========================================
    |FILENAME     |DATE          |NUMBEROFRECORDS|     <-------------- 1st Transform HEADER
    |Dummy File    |08082013   |3                                     |     <-------------- 1st Transform RECORD DATA
    |                       |                   |                                       | <----------------------------------------------------------------- INSERT FIRST BLANK LINE/ROW
    |DOCREF        |VAT            |AMOUNT                       |     <-------------- 2nd Transform HEADER
    |1                     |30               |100                                 |     <-------------- 2nd Transform RECORD DATA
    |2                     |20               |200                                 |     <-------------- 2nd Transform RECORD DATA
    |3                     |10               |300                                 |     <-------------- 2nd Transform RECORD DATA
    |                       |                   |                                       |<----------------------------------------------------------------- INSERT SECOND BLANK LINE/ROW
    |TOTALDOCS |TOTALVAT|TOTALAMOUNT            |     <-------------- 3rd Transform HEADER
    |3                     |60               |600                                 |     <-------------- 3rd Transform RECORD DATA
    ========================================
    This is straight forward to perform in Excel once the file is opened, but my requirement is to have the file opened in the format displayed above without Human intervention.
    Is it possible to accomplish this?
    Any advise/guidance will be highly appreciated.
    Thanking you in advance

    Hi Vlad
    Sorry for this late response, I will attempt what you have suggested.
    Its just that the project that this query is related to was put on the back burner...
    I will provide feedback regarding the outcome soon...
    Regards

  • Blank Row in ALV Grid Display

    In ALV Display I want to have a <u>BLANK row</u> everytime the value of 'Cross Company Code Document Number' (BVORG) changes.
    Is there a way to use the Sort Option of "REUSE_ALV_GRID_DISPLAY" to do this? Or is the only possible way is by modifying the ITAB that is being passed for display?
    If ITAB is the only method to do it then how should I go about making this happen?
    Thanks-
    Rohit.

    if you do again sort then blank rows will come top,so make sure that should not do sort after inserting blank rows.
    please sort it before inserting blank row .
    sort itab by fields..
    loop at itab.
    endloop.
    do not sort here.
    Thanks
    Seshu

  • Insertion of a blank row after change of persk field in a HR report

    Hi,
    I want to Insert of a blank row after change of persk field in a HR report.
    Any suggestions??
    rgrds,
    pranjal

    Hi,
    use this....
    INSERT INITIAL LINE INTO <tab> INDEX <idx>.

  • JTable Blank Rows When INSERT/DELETE in other panel with same ViewObject

    Hi,
    Jdev 10.1.2
    JClient
    2 panels based on same ViewObject in same AM
    One panel with Grid UI => JTable
    Other panel with Form UI
    When I insert or delete a record in the panel with Form UI and return to the panel with JTable blank rows are displayed.
    The problem remains even after commiting before returning to JTable panel.
    When I activate the execute button in the JTable panel, the display is OK but the currency is lost.
    I suppose calling the refresh method when returning to the JTable panel should solve the problem.
    Can you please suggest me a server-side/model workaround:
    refresh (which option to use ??)
    Thanks
    Frederic
    PS I tried the workaround of thread 10.1.2 JClient binding Error. but that doesn't help.

    Same problem with default wizard generated Master-Detail Form.
    When in the detail more then 10 rows exist, the scrollbar shows that not all rows are displayed.
    If I use the scrollbar to view the last rows they are blank, in order to display them I must activate the next button one time for each additional row.
    The workaround is to enter -1 in the range size of the iterator.
    But what if the range size is 10.
    Is the blank rows display a bug?
    OR
    Must the scrolling area (size of JScrollPane) be defined according to the range size of the iterator?
    If the latter is true:
    Can somebody give me some clues on which attributes of the JScrollPane must be set (PreferredSize, MinimumSize ??) and on how to calculate this area: total width & total height if the row height for the table is set to 20?
    Your help will be appreciated
    Frederic

  • Insert multiple rows question

    Hi!
    I need to insert multiple rows into a table with one run, but each row must have its unique id(PK). There is a sequence and a trigger
    in our database (11gR1) that get the next value. So, my question is: Is it possible to do a "bulk insert", maybe with a for loop cursor?
    Thanks for your feedback!

    user545194 wrote:
    Hi!
    I need to insert multiple rows into a table with one run, but each row must have its unique id(PK). There is a sequence and a trigger
    in our database (11gR1) that get the next value. So, my question is: Is it possible to do a "bulk insert", maybe with a for loop cursor?No need for a loop cursor, just insert the rows using an INSERT ... SELECT ... statement. If you have a row based trigger putting a sequence on the rows then it will allocated the id's accordingly.

  • INSERTing a blank row in the result set

    Hi friends,
    SELECT * FROM EMPLOYEES ORDER BY DEPARTMENT_ID;
    In the result of the above, I need to INSERT a blank row in the result for each DEPARTMENT_ID. i.e., the result should look like the following:
    EMP_ID - NAME - SALARY - DEPARTMENT_ID
    101 - Albert - 10,000 - 10
    102 - Benjamin - 8,000 - 10
    103 - Chitra - 10,500 - 20
    104 - David - 4,500 - 20
    105 - Elango - 6,000 - 20
    106 - Fathima - 6,000 - 30
    107 - Ganga - 9,000 - 30
    etc.
    I don't want to insert into the table. Just in display I need a blank row.
    Thanks in advance.
    Edited by: Iniyavan on Mar 8, 2010 11:37 AM

    Are you looking for this?
    satyaki>select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    Elapsed: 00:00:00.00
    satyaki>
    satyaki>select * from emp;
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
          7369 SMITH      CLERK           7902 17-DEC-80        800                    20
          7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
          7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
          7566 JONES      MANAGER         7839 02-APR-81       2975                    20
          7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
          7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
          7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
          7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
          7839 KING       PRESIDENT            17-NOV-81       5000                    10
          7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
          7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20
         EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
          7900 JAMES      CLERK           7698 03-DEC-81        950                    30
          7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
          7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
    14 rows selected.
    Elapsed: 00:00:00.00
    satyaki>
    satyaki>break on deptno
    satyaki>
    satyaki>
    satyaki>select empno,
      2            ename,
      3            sal,
      4            deptno
      5     from emp
      6     order by deptno;
         EMPNO ENAME             SAL     DEPTNO
          7782 CLARK            2450         10
          7839 KING             5000
          7934 MILLER           1300
          7566 JONES            2975         20
          7902 FORD             3000
          7876 ADAMS            1100
          7369 SMITH             800
          7788 SCOTT            3000
          7521 WARD             1250         30
          7844 TURNER           1500
          7499 ALLEN            1600
         EMPNO ENAME             SAL     DEPTNO
          7900 JAMES             950         30
          7698 BLAKE            2850
          7654 MARTIN           1250
    14 rows selected.
    Elapsed: 00:00:00.04
    satyaki>
    satyaki>Regards.
    Satyaki De.

  • How to insert a row in oracle

    how to insert a row in oracle if we have three colums all are number datatype i want one of the column blank;

    Hi,
    James has replied to your question ..
    you seem to be new to sql
    just adding to it for you information.. that in this case col2 will have NULL value.
    I suggest you may please read the startup docs... They shall help you to unserdstand the sql better.
    http://www.w3schools.com/sql/default.asp
    Regards

  • Need to add a blank row to a table when checkbox selected

    Hi ALL,
    I have a custom page having 2 check boxes and few fields , i am doing search operation by entering one checkbox checked and few other fields and data displaying in table region.
    my requirement is when i select second check box and click one button as add new row it should create a blank row in the table, means table should  availabe with a blank row so that user can insert data,
    please help me on thsi
    Thnaks

                 Hi there ,
                 If you 're working with advance table then you have an default option to create a blank row , please through topic 'add another row '
                 in jdev guide .
                 If you are working the regular table region then you might follow the below code suggested .
                 Create a new item of the type button ( not submit button ) and handle the event in PFR of your controller class
                String addRow=pageContext.getParameter(EVENT_PARAM);   //  "addRow " is an event attached to table
                if("addAnotherRow".equals(addRow))  
                      am.invokeMethod("AddRow");
              In AMimplementation class :
       public void AddRow()
        OAViewObject headerVO = (OAViewObject)getsdaPacelineWorkupHeaderUpdateVO1();
        sdaPacelineWorkupHeaderUpdateVORowImpl rowh = (sdaPacelineWorkupHeaderUpdateVORowImpl)headerVO.getCurrentRow();
        rowh.getPacelineHeaderId();
        OAViewObject lineVO = (OAViewObject)getsdaPacelineWorkupLineUpdateVO1();
        Row lineRow = lineVO.createRow();
        Row lineRo = lineVO.last();
        lineRow.setAttribute("PacelineHeaderId",rowh.getPacelineHeaderId());   
        lineRow.setNewRowState(Row.STATUS_INITIALIZED);
        lineVO.last();
        lineVO.next();
        lineVO.insertRow(lineRow);
        lineVO.setCurrentRow(lineRow);
        lineVO.setCurrentRow(lineVO.last());
      Note : Replace your vo name in place of sdaPacelineWorkupHeaderUpdateVO1()
       Please let me know if you have any questions .
      Regards ,
    Keerthi

  • Blank row added after cancel button on create page

    Hi All,
    I have a create item page where I insert items into the item table in the database.
    On press of the cancel button on this create page, the control reaches a itemlist page with my old search criteria and result but with a new blank row added to it.
    Anybody know what's wrong?

    Sorry, I misunderstood your previous question. When the cancel button is pressed. I am using pageContext.forwardImmediately with parameters to forward back to my search page. Then in the search page controller I call the AM initQuery method to run the query. My initQuery method has the following code,
    StringBuffer whereClause = new StringBuffer(200);
    Vector parameters = new Vector(3);
    int clauseCount = 0;
    int bindCount = 0;
    setWhereClauseParams(null);
    if ((Program != null) && (!("".equals(Program.trim()))))
    whereClause.append("PROGRAM = :");
    whereClause.append(++bindCount);
    parameters.addElement(Program);
    clauseCount++;
    if ((PId != null) && (!("".equals(PId.trim()))))
    Number PIdNum = null;
    try
    PIdNum = new Number(PId);
    catch(Exception e)
    throw new OAException("AK", "FWK_TBX_INVALID_EMP_NUMBER");
    if (bindCount > 0)
    whereClause.append(" AND (P_ID = :");
    else
    whereClause.append(" (P_ID = :");
    whereClause.append(++bindCount);
    whereClause.append(")");
    parameters.addElement(PIdNum);
    clauseCount++;
    setWhereClause(whereClause.toString());
    if (bindCount > 0)
    Object[] params = new Object[bindCount];
    parameters.copyInto(params);
    setWhereClauseParams(params);
    executeQuery();

  • Insert a row in ALV

    Hi ,
    I need to insert a row in ALV output. On click of a Inser Row button a pop up should show with a parameter.Once the value in entered in the parameter enter is hit , the first column of the new row should have value put in that parameter as non editable field.
    The Insert row of standard toolbar inserts a blank row . Is there any way to incorporate the above logic in the standard toolbar?
    I'm using CL_GUI_ALV_GRID to display the ALV.
    It would be helpful if you provide sample coding.
    Thanks.
    Ajith
    Edited by: Ajith  Krishna on Oct 28, 2008 8:01 PM

    Hello Ajith
    The enhanced version of sample report ZUS_SDN_ALVGRID_EDITABLE_8A demonstrates how to implement your requirement.
    *& ZUS_SDN_ALVGRID_EDITABLE_8A
    *& Thread: Insert a row in ALV
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1105097"></a>
    *& Thread: Blanking values on ALV Grid Row Duplicate
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1057161"></a>
    *& Thread: Delete line event in ALV
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="945471"></a>
    REPORT  zus_sdn_alvgrid_editable_8a.
    TYPES: BEGIN OF ty_s_outtab.
    INCLUDE TYPE knb1.
    TYPES: END OF ty_s_outtab.
    TYPES: ty_t_outtab    TYPE STANDARD TABLE OF ty_s_outtab
                          WITH DEFAULT KEY.
    DATA:
      gd_okcode        TYPE ui_func,
      gd_repid         TYPE syst-repid,
      gt_fcat          TYPE lvc_t_fcat,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid          TYPE REF TO cl_gui_alv_grid.
    DATA:
      gt_outtab        TYPE ty_t_outtab.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA:
          mt_sel_rows     TYPE lvc_t_row.
        CLASS-METHODS:
          handle_toolbar
            FOR EVENT toolbar OF cl_gui_alv_grid
            IMPORTING
              e_object
              sender,
          handle_user_command
            FOR EVENT user_command OF cl_gui_alv_grid
            IMPORTING
              e_ucomm
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_toolbar.
    * define local data
        DATA: ls_button     TYPE stb_button.
        LOOP AT e_object->mt_toolbar INTO ls_button.
          CASE ls_button-function.
            when cl_gui_alv_grid=>MC_FC_LOC_INSERT_ROW.
              ls_button-function = 'INSERT_ROW'.
              MODIFY e_object->mt_toolbar FROM ls_button INDEX syst-tabix.
            WHEN cl_gui_alv_grid=>mc_fc_loc_delete_row.
              ls_button-function = 'DELETE_ROW'.
              MODIFY e_object->mt_toolbar FROM ls_button INDEX syst-tabix.
            WHEN cl_gui_alv_grid=>mc_fc_loc_copy_row OR
                 cl_gui_alv_grid=>mc_fc_loc_copy.
              ls_button-function = 'COPY_ROW'.
              MODIFY e_object->mt_toolbar FROM ls_button INDEX syst-tabix.
            WHEN OTHERS.
              CONTINUE.
          ENDCASE.
        ENDLOOP.
      ENDMETHOD.                    "handle_toolbar
      METHOD handle_user_command.
    * define local data
        DATA: lt_rows       TYPE lvc_t_row,
              ls_row        TYPE lvc_s_row.
        REFRESH: mt_sel_rows.
        CASE e_ucomm.
          when 'INSERT_ROW'.
          WHEN 'DELETE_ROW'.
          WHEN 'COPY_ROW'.
          WHEN OTHERS.
            RETURN.
        ENDCASE.
        "   User wants to delete or copy rows => store them in class attribute
        "   and trigger PAI afterwards where we actually delete /copy the rows
        "   and do the recalculations (in case of deletion)
        CALL METHOD sender->get_selected_rows
          IMPORTING
            et_index_rows = mt_sel_rows
    *        et_row_no     =
    *   Trigger PAI
        CALL METHOD cl_gui_cfw=>set_new_ok_code
          EXPORTING
            new_code = e_ucomm
    *      IMPORTING
    *        rc       =
      ENDMETHOD.                    "user_command
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    PARAMETERS:
      p_bukrs      TYPE bukrs  DEFAULT '2000'  OBLIGATORY.
    START-OF-SELECTION.
      SELECT  * FROM  knb1 INTO CORRESPONDING FIELDS OF TABLE gt_outtab
             UP TO 15 ROWS
             WHERE  bukrs  = p_bukrs.
      PERFORM init_controls.
      SET HANDLER:
        lcl_eventhandler=>handle_toolbar      FOR go_grid,
        lcl_eventhandler=>handle_user_command FOR go_grid.
      " Used to replace standard toolbar function code with custom FC
      go_grid->set_toolbar_interactive( ).
    * Link the docking container to the target dynpro
      gd_repid = syst-repid.
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = gd_repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    **      CALL METHOD go_grid1->refresh_table_display
    ***        EXPORTING
    ***          IS_STABLE      =
    ***          I_SOFT_REFRESH =
    **        EXCEPTIONS
    **          FINISHED       = 1
    **          others         = 2
    **      IF sy-subrc <> 0.
    ***       MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    ***                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    **      ENDIF.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK' OR
             'END'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN 'INSERT_ROW'.
          perform INSERT_ROW.
        WHEN 'DELETE_ROW'.
          PERFORM delete_rows.
        WHEN 'COPY_ROW'.
          PERFORM copy_rows.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
      CALL METHOD go_grid->refresh_table_display
    *      EXPORTING
    *        IS_STABLE      =
    *        I_SOFT_REFRESH =
        EXCEPTIONS
          finished       = 1
          OTHERS         = 2
      IF sy-subrc <> 0.
    *     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  BUILD_FIELDCATALOG_KNB1
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog_knb1 .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'KNB1'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Only non-key fields are editable
      ls_fcat-edit = 'X'.
      MODIFY gt_fcat FROM ls_fcat
        TRANSPORTING edit
        WHERE ( key NE 'X' ).
    ENDFORM.                    " BUILD_FIELDCATALOG_KNB1
    *&      Form  INIT_CONTROLS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM init_controls .
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent = cl_gui_container=>screen0
          ratio  = 90
        EXCEPTIONS
          OTHERS = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid
        EXPORTING
          i_parent = go_docking
        EXCEPTIONS
          OTHERS   = 5.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Build fieldcatalog and set hotspot for field KUNNR
      PERFORM build_fieldcatalog_knb1.
    * Display data
      CALL METHOD go_grid->set_table_for_first_display
        CHANGING
          it_outtab       = gt_outtab
          it_fieldcatalog = gt_fcat
        EXCEPTIONS
          OTHERS          = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " INIT_CONTROLS
    *&      Form  delete_rows
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM delete_rows .
    * define local data
      DATA: ls_row    TYPE lvc_s_row.
      SORT lcl_eventhandler=>mt_sel_rows BY index DESCENDING. " !!!
      LOOP AT lcl_eventhandler=>mt_sel_rows INTO ls_row.
        DELETE gt_outtab INDEX ls_row-index.
      ENDLOOP.
      " After deleting rows do RE-CALCULATION
    *  perform RECALCULATION.
    ENDFORM.                    " delete_rows
    *&      Form  COPY_ROWS
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM copy_rows .
    * define local data
      DATA: ld_next   TYPE i,
            ls_row    TYPE lvc_s_row,
            ls_outtab TYPE ty_s_outtab.
      SORT lcl_eventhandler=>mt_sel_rows BY index DESCENDING. " !!!
      LOOP AT lcl_eventhandler=>mt_sel_rows INTO ls_row.
        READ TABLE gt_outtab INTO ls_outtab INDEX ls_row-index.
        CLEAR: ls_outtab-akont. " In your case: clear GUID
        ld_next = ls_row-index + 1.
        INSERT ls_outtab INTO gt_outtab INDEX ld_next.
      ENDLOOP.
    ENDFORM.                    " COPY_ROWS
    *&      Form  INSERT_ROW
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form INSERT_ROW .
    * define local data
      DATA: ld_value1  type SPOP-VARVALUE1,
            ls_outtab  TYPE ty_s_outtab.
      CALL FUNCTION 'POPUP_TO_GET_ONE_VALUE'
        EXPORTING
          textline1            = 'Enter Value (4 Chars):'
    *     TEXTLINE2            = ' '
    *     TEXTLINE3            = ' '
          titel                = 'Enter Value'
          valuelength          = 4
        IMPORTING
    *     ANSWER               =
          VALUE1               = ld_value1
        EXCEPTIONS
          TITEL_TOO_LONG       = 1
          OTHERS               = 2.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      ls_outtab-kunnr = ld_value1.
      ls_outtab-bukrs = ld_value1.
      append ls_outtab to gt_outtab.
    endform.                    " INSERT_ROW
    Regards
      Uwe

Maybe you are looking for

  • How do i get messenger mac to work?

    How do i get messenger mac to work?  I have amcbook 10.5 os x and it has never worked for me.

  • FM transmitter blocks GPS?

    Hi I recently bought an FM transmitter/charger for my 3GS. Works fine in car until I try to use GPS for my navigation app. GPS will not fix location until FM transmitter is unplugged (which means the charger has to be unplugged as well. Does the use

  • Running 9iAS in console? Develop/debug configuration

    I'm in dev/debug mode so I want to work with a running console to see my log4j logging working. I previously used a small install of OC4J and just ran java -jar oc4j.jar to get a console up and running. I've now got 9iAS installed and I've tried shut

  • Cannot create object CrystalEnterprise.PSReportFactory.

    Hello, I'm getting the following error when I try to obtain the PSReportFactory:      Cannot create object CrystalEnterprise.PSReportFactory. I am using BusinessObjects XI R2 .Net sdk and Visual Studio 2005. I am also connecting to Crystal Reports Se

  • Ability to upload new renditions and versions to DAM without Delete Rights?

    How do I allow an author in the DAM to Upload new renditons and create new versions but deny them the rights to "Delete" files from the DAM. We are running CQ5.5 and this relates to BUG CQ5-20257. There must be a work around other than to let authors