Delete grid row using button in row

I want to create a grid, with each row containing several
textInputs and one delete button.
I will have another button that will add rows to the grid.
I can't find out how to tie the button in each row to delete
that row...
Alos, what is the best way to add a row to the grid ?
Please advise
Thanks.

Hi,
Why don't you use the function "excel inplace" in the ALV?  With the ALV you have some buttons "SORT/TOTAL/FILTER... and you have PRINT and EXCEL INPLACE"?
Do you use the method   call method g_grid->set_table_for_first_display in order to display your data alv?
Best regards

Similar Messages

  • How to delete an Item using Button control in InfoPath 2010

    Dear Experts
    In my SharePoint 2010 List, I have added and using below controls instead of Ribbons
    1) Save (button control)
    2) Cancel (button control)
    3) Delete (button control)
    My requirement is when i click on Delete (button control) in edit form then particular item has to be deleted
    How to achieve this
    Regards
    Santosh

    Hi Santosh,
    Please check this 
    http://www.bizsupportonline.net/browserforms/delete-sharepoint-list-items-object-model-infopath-browser-form.htm
    Please remember to click 'Mark as Answer' on the answer if it helps you

  • How to move a selected row data from one grid to another grid using button click handler in flex4

    hi friends,
    i am doing flex4 mxml web application,
    i am struck in this concept please help some one.
    i am using two seperated forms and each form having one data grid.
    In first datagrid i am having 5 rows and one button(outside the data grid with lable MOVE). when i am click a row from the datagrid and click the MOVE button means that row should disable from the present datagrid and that row will go and visible in  the second datagrid.
    i dont want drag and drop method, i want this process only using button click handler.
    how to do this?
    any suggession or snippet code are welcome.
    Thanks,
    B.venkatesan.

    Hi,
    You can get an idea from foolowing code and also from the link which i am providing.
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    width="613" height="502" viewSourceURL="../files/DataGridExampleCinco.mxml">
    <mx:Script>
    <![CDATA[
    import mx.collections.ArrayCollection;
    import mx.binding.utils.BindingUtils;
    [Bindable]
    private var allGames:ArrayCollection;
    [Bindable]
    private var selectedGames:ArrayCollection;
    private function initDGAllGames():void
    allGames = new ArrayCollection();
    allGames.addItem({name: "World of Warcraft",
    creator: "Blizzard", publisher: "Blizzard"});
    allGames.addItem({name: "Halo",
    creator: "Bungie", publisher: "Microsoft"});
    allGames.addItem({name: "Gears of War",
    creator: "Epic", publisher: "Microsoft"});
    allGames.addItem({name: "City of Heroes",
    creator: "Cryptic Studios", publisher: "NCSoft"});
    allGames.addItem({name: "Doom",
    creator: "id Software", publisher: "id Software"});
    protected function button1_clickHandler(event:MouseEvent):void
    BindingUtils.bindProperty(dgSelectedGames,"dataProvider" ,dgAllGames ,"selectedItems");
    ]]>
    </mx:Script>
    <mx:Label x="11" y="67" text="All our data"/>
    <mx:Label x="10" y="353" text="Selected Data"/>
    <mx:Form x="144" y="10" height="277">
    <mx:DataGrid id="dgAllGames" width="417" height="173"
    creationComplete="{initDGAllGames()}" dataProvider="{allGames}" editable="false">
    <mx:columns>
    <mx:DataGridColumn headerText="Game Name" dataField="name" width="115"/>
    <mx:DataGridColumn headerText="Creator" dataField="creator"/>
    <mx:DataGridColumn headerText="Publisher" dataField="publisher"/>
    </mx:columns>
    </mx:DataGrid>
    <mx:FormItem label="Label">
    <mx:Button label="Move" click="button1_clickHandler(event)"/>
    </mx:FormItem>
    </mx:Form>
    <mx:Form x="120" y="333">
    <mx:DataGrid id="dgSelectedGames" width="417" height="110" >
    <mx:columns>
    <mx:DataGridColumn headerText="Game Name" dataField="name" width="115"/>
    <mx:DataGridColumn headerText="Creator" dataField="creator"/>
    <mx:DataGridColumn headerText="Publisher" dataField="publisher"/>
    </mx:columns>
    </mx:DataGrid>
    </mx:Form>
    </mx:Application>
    Link:
    http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/ae9bee8d-e2ac-43 c5-9b6d-c799d4abb2a3/
    Thanks and Regards,
    Vibhuti Gosavi | [email protected] | www.infocepts.com

  • I downloaded Dreamweaver CC 2014.1, started using it but cannot find Show Fluid Grid Layout Guides button, Resize LI.link sizing handle and 'move up a Row' arrow. Where can I find them?

    I downloaded Dreamweaver CC 2014.1, started using it but cannot find Show Fluid Grid Layout Guides button, Resize LI.link sizing handle and 'move up a Row' arrow. Where can I find them?

    You have the latest version (CC 2014.1 or 2014.1.1) in which the interface condenses Design View with Live View buttons in normal layouts.  See screenshot.
    However, in FGLayouts, Live View is the only option which poses some editing problems and has been highly criticized.
    Is there any way to display the Design View in fluid grid pages?
    New Features in CC 2014.1 October Release
    http://helpx.adobe.com/dreamweaver/using/whats-new.html
    New Features in CC 2014.1.1 February Release
    https://helpx.adobe.com/dreamweaver/using/whats-new.html#Enhancements%20to%20Live%20View%2 0editing
    You can disable this restriction by adding an X to the FGLayout CSS.
        Dreamweaver Fluid Grid Properties
        dw-num-cols-mobile:      X 4;
        dw-num-cols-tablet:        8;
        dw-num-cols-desktop:    12;
        dw-gutter-percentage:    25;
    =====================================
    Having said that, it might just  be simpler to revert to an earlier version.  Log-in to Creative Cloud Desktop app.  Go to Filters & Versions > Previous Version.  See screenshot.
    Nancy O.

  • Delete datagridview row using right click context menu does not behave like the delete key

    I have a datagridview with editing enabled. If I click the row header and press the delete key, the row is removed no questions asked. I don't recall doing any coding to make this happen but I couldn't do copy and paste using keys so I created a context
    menu with copy, paste, & delete.  The delete option calls
    dgvVX130.Rows.RemoveAt(dgvVX130.SelectedRows[0].Index);
    The row is removed but the problem is this fires other events like RowValidating which fails.  I presume because the row is no longer there.
    The delete keypress is definitely a lot cleaner so my question is 3fold. 
    1) Why doesn't Rows.RemoveAt behave like the delete key? 
    2) Is it possible to issue a delete keypress to do the same thing?
    3)  Is it possible to suppress the RowValidating event or other events when Rows.RemoveAt is fired?

    Interesting.  My delete key does not fire the row validating event.  When I use the delete key I click on the row header which does fire the row validating event and then I press the delete key.  Row is deleted and no event fires.  Works
    just the way I want it to.  I wish my context menu delete worked that way.  I wouldn't know what chunk of code I can provide to show the Row Validating NOT firing when delete key is pressed but here is the context menu code that does fire Row Validating.
    private void cmsEditItemClick(object sender, ToolStripItemClickedEventArgs e)
    ToolStripItem item = e.ClickedItem;
    switch (item.Text)
    case "Copy":
    if (dgvVX130.GetCellCount(DataGridViewElementStates.Selected) > 0)
    try
    // Add the selection to the clipboard.
    Clipboard.SetDataObject(
    dgvVX130.GetClipboardContent());
    // Replace the text box contents with the clipboard text.
    catch (System.Runtime.InteropServices.ExternalException)
    MessageBox.Show("The Clipboard could not be accessed. Please try again.");
    break;
    case "Paste":
    if (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) == true)
    ClipboardUtils.PasteFromClipboard(dgvVX130);
    dgvVX130.NotifyCurrentCellDirty(true);
    dgvVX130.EndEdit();
    dgvVX130.NotifyCurrentCellDirty(false);
    bindingSource1_PositionChanged(this, e);
    break;
    case "Delete":
    dgvVX130.Rows.RemoveAt(dgvVX130.SelectedRows[0].Index);
    break;
    default:
    //code
    break;
    private void dgvVX130CellContentClick(object sender, DataGridViewCellEventArgs e)
    //dgvVX130.IsUserSelectionEnabled = true;
    dgvVX130.BeginEdit(false);
    ((TextBox)dgvVX130.EditingControl).SelectionStart = 0;
    //((TextBox)dgvVX130.EditingControl).SelectionLength = 3;
    public class ClipboardUtils
    public static void PasteFromClipboard(DataGridView grid)
    try
    char[] rowSplitter = { '\r', '\n' };
    char[] columnSplitter = { '\t' };
    // Get the text from Clipboard
    IDataObject dataInClipboard = Clipboard.GetDataObject();
    string stringInClipboard = (string)dataInClipboard.GetData(DataFormats.StringFormat);
    // split into rows
    string[] rowInClipboard = stringInClipboard.Split(rowSplitter, StringSplitOptions.RemoveEmptyEntries);
    // get current cell
    int currentRow = grid.SelectedCells[0].RowIndex;
    int currentColumn = grid.SelectedCells[0].ColumnIndex;
    // get 1st cell in selected area
    for (int i = 1; i < grid.SelectedCells.Count; i++)
    if (currentRow > grid.SelectedCells[i].RowIndex)
    currentRow = grid.SelectedCells[i].RowIndex;
    if (currentColumn > grid.SelectedCells[i].ColumnIndex)
    currentColumn = grid.SelectedCells[i].ColumnIndex;
    // add more rows if need to paste data
    /* if (grid.Rows.Count < rowInClipboard.Length + currentRow)
    grid.Rows.Add(rowInClipboard.Length + currentRow - grid.Rows.Count); */
    // paste
    for (int iRow = 0; iRow < rowInClipboard.Length; iRow++)
    if (iRow + currentRow < grid.Rows.Count)
    string[] cellsInRow = rowInClipboard[iRow].Split(columnSplitter);
    for (int iCol = 0; iCol < cellsInRow.Length; iCol++)
    if (grid.ColumnCount > currentColumn + iCol)
    DataGridViewCell currentCell = grid.Rows[currentRow + iRow].Cells[currentColumn + iCol];
    if (!currentCell.ReadOnly) // H.NH added to avoid Read only case.
    if (cellsInRow[iCol] == "")
    if (grid.Columns[iCol].ValueType.Name == "String")
    currentCell.Value = null;
    else
    currentCell.Value = DBNull.Value;
    else
    currentCell.Value = cellsInRow[iCol];
    switch (iCol)
    case 3:
    currentCell.Value += "_ChangeColumnName";
    break;
    case 2:
    currentCell.Value = grid.Rows[iRow].Cells[iCol].Value;
    break;
    else break;
    catch (Exception e)
    MessageBox.Show("Sorry, can not paste from the clipboard.\nError: " + e.Message, "Paste Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

  • How to get current row using submit button ?

    Hello Friends ,
    Is there any way i can capture the value of current row by submit button ?
    Here is my requirement , i have seeded OAF screen and it has table region one of the column has radio button , the existing
    functionality is when ever the radio button is selected and click on submit button ( submit button attached on top of the table region )
    other oaf page is getting opened .
    Now i wish to restrict the navigation based on some condition , but i don't know how to get the current row using submit button .
    Note : there is no Fire Action event for radio button column ? I dont' know how orale is selecting a specific row
    Any suggestion please ?
    Regards ,
    Vamsi

    Thanks sushant for your response ,
    Well i have tried your approch , i am not getting values for current row .
    if (pageContext.getParameter("paApply") != null)
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    OAViewObject localOAViewObject1 = (OAViewObject)am.findViewObject("ProjectDatesVO");
    if(localOAViewObject1!=null) {
    Row DateVoROw = localOAViewObject1.first();
    RowSetIterator iterator = localOAViewObject1.createRowSetIterator("iterator");
    iterator.setRangeStart(0);
    iterator.setRangeSize(localOAViewObject1.getRowCount());
    for(int i=0; i<iterator.getRowCount(); i++)
    DateVoROw=iterator.getRowAtRangeIndex(i);
    String vacancyValue= DateVoROw .getAttribute("vacancyname).toString();
    Could you please let me know where i am going wrong
    Thanks again ,
    Vamsi

  • Move rows within a table using buttons

    Hello Guys,
    I am trying to create a dynamic table and I have been trying to figure out how best to do it. Here are my requirements
    1) The table will have 12 rows, the number of rows will not change.
    2) The table will have 2 columns.
    3) The point of the table is for the user to reorder based on priority.
    4) The data must persist when saved (this one i know how to do).
    I have been creating a subform around a row and adding a up and down arrow buttons to each one. I was going to use a moveinstance command but I don't quite understand how the indexing will work.
    If you guys have a better suggestion or an example, i would really appreciate it.
    Thanks,
    roger.

    Hi,
    Repeatable objects have a zero-based numbering system. So Row1 with 12 instances, would look like Row1[0], Row1[1], ... Row1[11].
    So the following Javascript would move the row up:
    if (Row1.index != 0)
         var nIndexFrom = Row1.index;
         var nIndexTo = Row1.index - 1;     
         _Row1.moveInstance(nIndexFrom, nIndexTo);     
    else
         xfa.host.beep("3");
    A similar script would move the row downwards. Note I have used Row1.index, you could also use this.parent.index if the button is in the row. If it is buried in subforms, you may need this.parent.parent.index, to get to the instance of the repeating object.
    Hope that helps,
    Niall

  • Button in alv grid cell using REUSE_ALV_GRID_DISPLAY

    Hi all,
      I want to make the contents of 2 columns of my alv grid as push button with values as text on it. I am not using classes or methods but alv grid fm. On clicking the button one dialog box has to pop up which gives edit option for the values in that coloumn, my question is how to introduce button in alv grid cell? if i can use t_fieldcatalog-icon, then please give me the complete steps for that.
    Thanks.

    this may helps u
    u need to copy stadard screen elemetn to MARATAB1(at PF -STATUS)
    You should copy the 'STANDARD' GUI status from program <b>SAPLSLVC_FULLSCREEN</b>
    type this one in SE41 program name is:<b>SAPLSLVC_FULLSCREEN</b>
    status : <b>STANDARD_FULLSCREEN</b>
    and copy it ...
             Type-pool
    type-pools slis.
             Tables
    tables: mara,sscrfields.
           Selection screen
    select-options: s_matnr for mara-matnr.
    PARAMETERS: p_email TYPE somlreci1-receiver.
    TYPES: BEGIN OF t_charmara,
      matnr(18)  TYPE c,                   " Material Number
      ernam(12)  TYPE c,                   " Person Credited
      aenam(12)  TYPE c,                   " Person Changed Object
      pstat(15)  TYPE c,                   " Maintenance Status
    END OF t_charmara.
             Data Declarations
    data: rt_extab    type slis_t_extab,   " Table of inactive function
                                           codes
          wa_charmara TYPE t_charmara,     " work area of mara Table
          fs_fieldcat type slis_t_fieldcat_alv,
                                           " Field catalog with field
                                           descriptions
          t_fieldcat  like line of fs_fieldcat,
                                           " Table of Field catalog
          r_ucomm     like sy-ucomm,       " User Command
          rs_selfield TYPE slis_selfield.  " cursor position ALV
    data: filedlayout   type slis_layout_alv,
          heading       type slis_t_listheader with header line,
          t_event       type slis_t_event.
    data: fs_event      like line of t_event.
    data: fs_sort type slis_sortinfo_alv,
           t_sort type slis_t_sortinfo_alv.
    data: w_char(200) type c,
          w_matnr     type mara-matnr.
    fs_sort-fieldname = 'MATNR'.
    fs_sort-up        = 'X'.
    fs_sort-group     = '*'.
    append fs_sort to t_sort.
    clear fS_sort.
    DATA:   t_packing_list  LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
            t_contents      LIKE solisti1   OCCURS 0 WITH HEADER LINE,
            t_receivers     LIKE somlreci1  OCCURS 0 WITH HEADER LINE,
            t_attachment    LIKE solisti1   OCCURS 0 WITH HEADER LINE,
            t_object_header LIKE solisti1   OCCURS 0 WITH HEADER LINE,
            w_cnt           TYPE i,
            w_sent_all(1)   TYPE c,
            w_doc_data      LIKE sodocchgi1,
            gd_error        TYPE sy-subrc,
            gd_reciever     TYPE sy-subrc.
             Internal Tables
    data: begin of it_mara occurs 0,
            matnr like mara-matnr,         " Material Number
            ernam like mara-ernam,         " Person Credited
            aenam like mara-aenam,         " Person Changed Object
            pstat like mara-pstat,         " Maintenance Status
          end of it_mara.
    DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    DATA:   it_attach TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE.
    *at selection-screen on field event
    AT SELECTION-SCREEN on s_matnr.
    PERFORM f0100_VALIDATE_MATERIAL_NUMBER.
    start-of-selection.
    retrive Data from the data base table Mara
    perform retrive_data_from_mara.
    end-of-selection.
    *Field catalog with field descriptions
    perform fieldcat.
    *perform top_of_page.
    PERFORM EVENT_LIST.
    *ALV Grid Display
    perform alv_display.
    Creating one Push button ENTER
    perform maratab1 USING    RT_EXTAB.
    *&      Form  f0100_VALIDATE_MATERIAL_NUMBER
          text
    There are no interface parameters to be passed to this subroutine
    FORM F0100_VALIDATE_MATERIAL_NUMBER .
    select matnr                          " Material Number
       from mara
      up to 1 rows
       into mara-matnr
      where matnr in s_matnr.
      endselect.
    IF sy-subrc NE 0.
          clear sscrfields-ucomm.
          MESSAGE e000 WITH 'Enter valid Material number'(003).
        ENDIF.                             " IF sy-subrc NE 0
    ENDFORM.                               " f0100_VALIDATE_MATERIAL_NUMBER
    *&      Form  retrive_data_from_mara
          text
    *There are no interface parameters to be passed to this subroutine
    FORM retrive_data_from_mara .
    select   matnr                         " Material Number
             ernam                         " Person Credited
             aenam                         " Person Changed Object
             pstat                         " Maintenance Status
        from mara
        into table It_mara
       where matnr in s_matnr.
    IF sy-subrc NE 0.
          MESSAGE i001 WITH 'Records are not found'.
          exit.
          stop.
        ENDIF.                             " IF sy-subrc NE 0
    ENDFORM.                               " retrive_data_from_mara
    *&      Form  fieldcat
          text
    *There are no interface parameters to be passed to this subroutine
    FORM fieldcat .
    *field catalog for MATNR
      t_FIELDCAT-REF_TABNAME = 'MARA'.
      t_fieldcat-fieldname   = 'MATNR'.
      t_fieldcat-col_pos     = 1.
      append t_fieldcat to fs_fieldcat.
      clear t_fieldcat.
    *field catalog for ERNAM
      t_FIELDCAT-REF_TABNAME = 'MARA'.
      t_fieldcat-fieldname   = 'ERNAM'.
      t_fieldcat-col_pos     = 2.
      append t_fieldcat to fs_fieldcat.
      clear t_fieldcat.
    *field catalog for AENAM
      t_FIELDCAT-REF_TABNAME = 'MARA'.
      t_fieldcat-fieldname   = 'AENAM'.
      t_fieldcat-col_pos     = 3.
      append t_fieldcat to fs_fieldcat.
      clear t_fieldcat.
    *field catalog for PSTAT
      t_FIELDCAT-REF_TABNAME = 'MARA'.
      t_fieldcat-fieldname   = 'PSTAT'.
      t_fieldcat-col_pos     = 4.
      append t_fieldcat to fs_fieldcat.
      clear t_fieldcat.
    ENDFORM.                               " fieldcat
    *&      Form  EVENT_LIST
          text
    *There are no interface parameters to be passed to this subroutine
    FORM EVENT_LIST .
      fs_event-name ='TOP_OF_PAGE'.
      fs_event-form = 'TOP_PAGE'.
      append fs_event TO t_EVENT.
      CLEAR FS_EVENT.
      fs_event-name ='END_OF_PAGE'.
      fs_event-form = 'END_PAGE'.
      append fs_event TO t_EVENT.
      CLEAR FS_EVENT.
      fs_event-name ='END_OF_LIST'.
      fs_event-form = 'LIST_END'.
      append fs_event TO t_EVENT.
      CLEAR FS_EVENT.
    ENDFORM.                               " EVENT_LIST
    *&      Form  alv_display
          text
    *There are no interface parameters to be passed to this subroutine
    FORM alv_display .
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
       I_CALLBACK_PROGRAM             = SY-REPID
       I_CALLBACK_PF_STATUS_SET       = 'MARATAB1'
       I_CALLBACK_USER_COMMAND        = 'USER_COMMAND'
      I_STRUCTURE_NAME               =
      IS_LAYOUT                      =
       IT_FIELDCAT                    = FS_FIELDCAT
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
       IT_SORT                        = T_SORT
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
      I_SAVE                         = ' '
      IS_VARIANT                     =
       IT_EVENTS                      = T_EVENT
      IT_EVENT_EXIT                  =
      IS_PRINT                       =
      IS_REPREP_ID                   =
      I_SCREEN_START_COLUMN          = 0
      I_SCREEN_START_LINE            = 0
      I_SCREEN_END_COLUMN            = 0
      I_SCREEN_END_LINE              = 0
      IR_SALV_LIST_ADAPTER           =
      IT_EXCEPT_QINFO                =
      I_SUPPRESS_EMPTY_DATA          = ABAP_FALSE
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
      TABLES
        T_OUTTAB                       = IT_MARA[]
    EXCEPTIONS
      PROGRAM_ERROR                  = 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.
    ENDFORM.                               " alv_display
    form TOP_PAGE.
      data:tbl_listheader type slis_t_listheader,
            wa_listheader type slis_listheader .
       wa_listheader-typ = 'S'.
       wa_listheader-info = 'Created by : Vijay Pawar'.
       append wa_listheader to tbl_listheader.
       wa_listheader-typ = 'S'.
       concatenate ' Date ' sy-datum into
                  wa_listheader-info separated by space.
        append wa_listheader to tbl_listheader.
       wa_listheader-typ = 'S'.
       concatenate ' From ' s_matnr-low '  To  ' s_matnr-high into
                           wa_listheader-info separated by space.
       append wa_listheader to tbl_listheader.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = tbl_listheader
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    endform.                               " form TOP_PAGE.
    form END_PAGE.
      STATICS W_PAGE TYPE I .
      data:tbl_listheader type slis_t_listheader,
            wa_listheader type slis_listheader .
      wa_listheader-typ   = 'S'.
      wa_listheader-info  = W_PAGE.
      append wa_listheader to tbl_listheader.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = tbl_listheader
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    add 1 to w_page.
    endform.                               " form END_PAGE.
    form list_end.
      data:tbl_listheader type slis_t_listheader,
      wa_listheader type slis_listheader .
      wa_listheader-typ = 'S'.
      wa_listheader-info = '......................................Last Page'
      append wa_listheader to tbl_listheader.
    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
      EXPORTING
        IT_LIST_COMMENTARY       = tbl_listheader
      I_LOGO                   =
      I_END_OF_LIST_GRID       =
      I_ALV_FORM               =
    endform.                               " form list_end.
    *&      Form  maratab1
          text
         -->P_RT_EXTAB  text
    FORM maratab1  USING    P_RT_EXTAB.
      SET PF-STATUS 'MARATAB1' EXCLUDING rt_extab.
    ENDFORM.                               " maratab1
    FORM user_command  USING r_ucomm LIKE sy-ucomm
                         rs_selfield TYPE slis_selfield.
    case r_ucomm.
       when 'ENTER'.
       perform bulid_xls_data_table.
       PERFORM send_file_as_email_attachment
                                      tables it_message
                                             it_attach
                                       using p_email "'[email protected]'
                                    'Example .xls documnet attachment'
                                             'XLS'
                                             'filename'
                                    changing gd_error
                                             gd_reciever.
        perform populate_email_message_body.
        PERFORM initiate_mail_execute_program.
      endcase.                             " case r_ucomm.
    endform.                               " FORM user_command
    perform populate_email_message_body.
    PERFORM initiate_mail_execute_program.
         CALL FUNCTION 'RH_START_EXCEL_WITH_DATA'
    EXPORTING
       DATA_FILENAME             = 'MARA.XLS'
       DATA_PATH_FLAG            = 'W'
      DATA_ENVIRONMENT          =
       DATA_TABLE                = ITAB[]
      MACRO_FILENAME            =
      MACRO_PATH_FLAG           = 'E'
      MACRO_ENVIRONMENT         =
       WAIT                      = 'X'
      DELETE_FILE               = 'X'
    EXCEPTIONS
       NO_BATCH                  = 1
       EXCEL_NOT_INSTALLED       = 2
       INTERNAL_ERROR            = 3
       CANCELLED                 = 4
       DOWNLOAD_ERROR            = 5
       NO_AUTHORITY              = 6
       FILE_NOT_DELETED          = 7
       OTHERS                    = 8
       IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
       ENDIF.
       leave to list-processing.
    endcase.
    *&      Form  bulid_xls_data_table
          text
    *There are no interface parameters to be passed to this subroutine
    FORM bulid_xls_data_table .
    CONSTANTS: con_cret TYPE x VALUE '0D',  "OK for non Unicode
                con_tab TYPE x VALUE '09'.   "OK for non Unicode
    *If you have Unicode check active in program attributes thnen you will
    *need to declare constants as follows
    *class cl_abap_char_utilities definition load.
    constants:
        con_tab  type c value cl_abap_char_utilities=>HORIZONTAL_TAB,
        con_cret type c value cl_abap_char_utilities=>CR_LF.
      CONCATENATE 'matnr' 'ernam' 'aenam' 'pstat'
             INTO it_attach SEPARATED BY con_tab.
      CONCATENATE con_cret it_attach  INTO it_attach.
      APPEND  it_attach.
      LOOP AT It_mara INTO wa_charmara.
        CONCATENATE wa_charmara-matnr wa_charmara-ernam
                    wa_charmara-aenam wa_charmara-pstat
               INTO it_attach SEPARATED BY con_tab.
        CONCATENATE con_cret it_attach  INTO it_attach.
        APPEND  it_attach.
      ENDLOOP.                             " LOOP AT it_mara INTO...
    ENDFORM.                               " bulid_xls_data_table
    *&      Form  send_file_as_email_attachment
       Send email
         -->P_IT_MESSAGE  text
         -->P_IT_ATTACH  text
         -->P_P_EMAIL  text
         -->P_0387   text
         -->P_0388   text
         -->P_0389   text
         -->P_0390   text
         -->P_0391   text
         -->P_0392   text
         <--P_GD_ERROR  text
         <--P_GD_RECIEVER  text
    FORM send_file_as_email_attachment tables pit_message
                                              pit_attach
                                        using p_email
                                              p_mtitle
                                              p_format
                                              p_filename
                                              p_attdescription
                                              p_sender_address
                                              p_sender_addres_type
                                     changing p_error
                                              p_reciever.
      DATA: ld_error               TYPE sy-subrc,
            ld_reciever            TYPE sy-subrc,
            ld_mtitle              LIKE sodocchgi1-obj_descr,
            ld_email               LIKE  somlreci1-receiver,
            ld_format              TYPE  so_obj_tp ,
            ld_attdescription      TYPE  so_obj_nam ,
            ld_attfilename         TYPE  so_obj_des ,
            ld_sender_address      LIKE  soextreci1-receiver,
            ld_sender_address_type LIKE  soextreci1-adr_typ,
            ld_receiver            LIKE  sy-subrc.
      ld_email               = p_email.
      ld_mtitle              = p_mtitle.
      ld_format              = p_format.
      ld_attdescription      = p_attdescription.
      ld_attfilename         = p_filename.
      ld_sender_address      = p_sender_address.
      ld_sender_address_type = p_sender_addres_type.
    Fill the document data.
      w_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      w_doc_data-obj_langu = sy-langu.
      w_doc_data-obj_name  = 'SAPRPT'.
      w_doc_data-obj_descr = ld_mtitle .
      w_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR w_doc_data.
      READ TABLE it_attach INDEX w_cnt.
      w_doc_data-doc_size =
         ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
      w_doc_data-obj_langu  = sy-langu.
      w_doc_data-obj_name   = 'SAPRPT'.
      w_doc_data-obj_descr  = ld_mtitle.
      w_doc_data-sensitivty = 'F'.
      CLEAR t_attachment.
      REFRESH t_attachment.
      t_attachment[] = pit_attach[].
    Describe the body of the message
      CLEAR t_packing_list.
      REFRESH t_packing_list.
      t_packing_list-transf_bin  = space.
      t_packing_list-head_start  = 1.
      t_packing_list-head_num    = 0.
      t_packing_list-body_start  = 1.
      DESCRIBE TABLE it_message LINES t_packing_list-body_num.
      t_packing_list-doc_type    = 'RAW'.
      APPEND t_packing_list.
    Create attachment notification
      t_packing_list-transf_bin = 'X'.
      t_packing_list-head_start = 1.
      t_packing_list-head_num   = 1.
      t_packing_list-body_start = 1.
      DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
      t_packing_list-doc_type   =  ld_format.
      t_packing_list-obj_descr  =  ld_attdescription.
      t_packing_list-obj_name   =  ld_attfilename.
      t_packing_list-doc_size   =  t_packing_list-body_num * 255.
      APPEND t_packing_list.
    Add the recipients email address
      CLEAR t_receivers.
      REFRESH t_receivers.
      t_receivers-receiver   = ld_email.
      t_receivers-rec_type   = 'U'.
      t_receivers-com_type   = 'INT'.
      t_receivers-notif_del  = 'X'.
      t_receivers-notif_ndel = 'X'.
      APPEND t_receivers.
      CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
           EXPORTING
                document_data              = w_doc_data
                put_in_outbox              = 'X'
                sender_address             = ld_sender_address
                sender_address_type        = ld_sender_address_type
                commit_work                = 'X'
           IMPORTING
                sent_to_all                = w_sent_all
           TABLES
                packing_list               = t_packing_list
                contents_bin               = t_attachment
                contents_txt               = it_message
                receivers                  = t_receivers
           EXCEPTIONS
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                OTHERS                     = 8.
    Populate zerror return code
      ld_error = sy-subrc.
    Populate zreceiver return code
      LOOP AT t_receivers.
        ld_receiver = t_receivers-retrn_code.
      ENDLOOP.
    ENDFORM.                               " send_file_as_email_attachment
    *&      Form  INITIATE_MAIL_EXECUTE_PROGRAM
          Instructs mail send program for SAPCONNECT to send email.
    FORM initiate_mail_execute_program.
      WAIT UP TO 2 SECONDS.
      SUBMIT rsconn01 WITH mode = 'INT'
                    WITH output = 'X'
                    AND RETURN.
    ENDFORM.                               " INITIATE_MAIL_EXECUTE_PROGRAM
    *&      Form  POPULATE_EMAIL_MESSAGE_BODY
           Populate message body text
    form populate_email_message_body.
      REFRESH it_message.
      it_message = 'Please find attached a list test mara records'.
      APPEND it_message.
    endform.                               "form populate_email_message_bod
    rewards if it helps u

  • Grid is coming with the row having editable field

    hello,
    I ahve to display OO ALV grid after checking a check box in selection screen , after selecting a row and pressing on edit button in application tool bar it has to give edit option for a field in the row which user has selected, after pressing save button (pop up for confirmation has been given here )data has to get update in ztable and the same has to be reflected in the current grid ...... TILL HERE EVERY THING IS WORKING FINE.
    If the user selects particular record and press the EDIT button, ( assume he didn't edited any thing and he didn't press the save button also )  immediately if he presses the BACK button it should go to selection screen ( this part is working) again if he presses execute button in selection screen ---> grid is coming with the row having editable field (WHICH I DONT WANT).

    Hi,
    You can code as below...
    WHEN 'BACK3'.
    perform check_save_BEFORE.
    "refresh the internal tables used for Selection process and display and also refresh the internal tables used in methods.
    LEAVE TO SCREEN 0..
    Try it.
    Thanks
    Arbind

  • Get selected rows using the fm REUSE_ALV_GRID_DISPLAY_LVC

    FYI ... for all those developers trying to select multiple rows in an ALV report, and get the selected rows - without using the OO approach to display to ALV, and without using checkboxes in the function module approach.  First off, you need to use the function module REUSE_ALV_GRID_DISPLAY_LVC instead of the standard REUSE_ALV_GRID_DISPLAY.  This allows you to select multiple rows using the toggle, line selection buttons, at the start of each row (with 'select all' button).  See the sample code below.  If you are converting from the one fm to the other, you will have to change the type of 2 of the structures to the 'LVC' structures and make minor code changes.  The example code below was initially using the REUSE_ALV_GRID_DISPLAY fm, and was converted to use REUSE_ALV_GRID_DISPLAY_LVC  to allow for multiple row selection.  The next step is to create a custom status, with a new custom button, that will start the processing of the selected rows.  Go to tcode SE41, press Copy Status, and copy program SAPLKKBL, status STANDARD, to your custom program (same name as the custom ALV rpt) and a new status name (ie STANDARD1).  In the new STANDARD1 status for the custom ALV program/rpt (tcode SE41), add a new button ('&EXE') at the end of the std buttons (items 29-35).  Assign the new button a Text, Icon and a Function Key. Thats it!
    Here's the code:
    FORM display_data.
    DATA:
      wa_callback_program LIKE sy-repid,
      wa_layout      TYPE lvc_s_layo,  "was  slis_layout_alv,       "D01K913690
      t_fieldcat        TYPE lvc_t_fcat,   "was  slis_t_fieldcat_alv,  "D01K913690
      wa_fieldcat    TYPE lvc_s_fcat,  "was  slis_fieldcat_alv,     "D01K913690
      t_excluding     TYPE slis_t_extab,
      wa_excluding TYPE slis_extab,
      wa_variant     LIKE disvariant.
    * Setup Field Catalog
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname  = 'ZBUKR'.
      wa_fieldcat-ref_field    = 'ZBUKR'.
      wa_fieldcat-ref_table   = 'REGUT'.
      APPEND wa_fieldcat TO t_fieldcat.
      CLEAR wa_fieldcat.
      wa_fieldcat-fieldname = 'BANKS'.
      wa_fieldcat-ref_field   = 'BANKS'.
      wa_fieldcat-ref_table  = 'REGUT'.
      APPEND wa_fieldcat TO t_fieldcat.
    * Setup other ALV fm parameters
      CLEAR wa_excluding.
      wa_excluding-fcode = '&F12'.
      APPEND wa_excluding TO t_excluding.
      CLEAR wa_excluding.
      wa_excluding-fcode = '&F15'.
      APPEND wa_excluding TO t_excluding.
    * Callback program
      wa_callback_program = sy-repid.
    * List layout
      wa_layout-zebra = 'X'.
      wa_layout-sel_mode = 'A'.
    * variant
      wa_variant-variant  = p_var.
    * Display the ALV report
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'                "D01K913690
           EXPORTING
                i_callback_program             = wa_callback_program
                i_callback_pf_status_set    = 'SET_PF_STATUS'              "D01K913690
                i_callback_user_command  = 'USER_COMMAND'
                is_layout_lvc                       = wa_layout                          "D01K913690
                it_fieldcat_lvc                      = t_fieldcat                            "D01K913690
                it_excluding                         = t_excluding
                i_save                                 = 'A'
                is_variant                            = wa_variant
           TABLES
                t_outtab                              = t_regut
    *      EXCEPTIONS
    *           PROGRAM_ERROR            = 1
    *           OTHERS                             = 2
    ENDFORM.                               " DISPLAY_DATA
    FORM user_command
      USING
        r_ucomm     LIKE sy-ucomm
        rs_selfield TYPE slis_selfield.
      DATA: wa_text(80) TYPE c.
      CASE r_ucomm.
        WHEN '&EXE'.   "User pressed custom Execute button
          DATA ref1 TYPE REF TO cl_gui_alv_grid.
          CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
            IMPORTING
              e_grid = ref1.
          DATA: lt_index_rows TYPE lvc_t_row,
                     lt_row_no TYPE lvc_t_roid,
                     lw_row_no TYPE lvc_s_roid.
          CALL METHOD ref1->get_selected_rows
            IMPORTING
              et_index_rows = lt_index_rows
              et_row_no     = lt_row_no.
          LOOP AT lt_row_no
             INTO lw_row_no.
             *** CODE TO PROCESS EACH RECORD FROM MULTIPLE SELECTED***
          ENDLOOP.  "loop at lt_row_no
        WHEN '&IC1'.  "User double-clicked on row
          *** CODE TO PROCESS SINGLE RECORD SELECTED ***
        WHEN '&F03' .          " back
          SET SCREEN 0. LEAVE SCREEN.
        WHEN '&F15' .          " exit
          SET SCREEN 0. LEAVE SCREEN.
        WHEN '&F12' .          " cancel
          SET SCREEN 0. LEAVE SCREEN.
      ENDCASE.
    ENDFORM.                               " USER_COMMAND
    FORM set_pf_status USING rt_extab TYPE slis_t_extab.
      SET PF-STATUS 'STANDARD1'.
    ENDFORM. " set_pf_status
    Hope this helps ...
    Regards,
    Kevin
    Moderator message - Welcome to SCN.
    However, as you can see, the forum software was unable to format this because of the 2,500 character posting limit. since this looks interesting, would you please try to edit to conform to that limitation? You may try to split it into an initial post and a response.
    Edited by: Rob Burbank on Jul 8, 2009 1:39 PM

    Hi ,
         Make it use in your code and let me know if u have any concerns...
        Use "Subtotal_text" in events table.
    here GTOTAL is field in itab on which we sortindf data, and use your own field on which field u want to sort...
    refresh gt_event.
    clear gw_event.
    call function 'REUSE_ALV_EVENTS_GET'
       EXPORTING
         i_list_type = 0
       IMPORTING
         et_events   = gt_event.
    Subtotal
    read table gt_event with key name = slis_ev_subtotal_text into gw_event.
    if sy-subrc = 0.
       move 'SUBTOTAL_TEXT' to gw_event-form.
       append gw_event to gt_event.
    endif.
         form subtotal_text using uw_subtot_line type ty_main
                    uv_subtottxt type slis_subtot_text.  "#EC CALLED
    if uv_subtottxt-criteria = 'GTOTAL'.
       uv_subtottxt-display_text_for_subtotal = 'TOTAL'.
    endif.
         *FORM build_sort .
    refresh gt_sort.
    gw_sort-spos      = 1.
    gw_sort-fieldname = 'GTOTAL'.
    gw_sort-tabname   = 'GT_MAIN'.
    gw_sort-up        = 'X'.
    gw_sort-subtot    = 'X'.
    APPEND gw_sort TO gt_sort.
    CLEAR gw_sort.
    Reward points once its useful..

  • SQL Server 2005 64BIT Linked Server Cannot fetch a row using a bookmark

    We get the following error SOMETIMES when trying to delete a row from an Oracle 10g database table via the SQL 2005 64BIT linked server.
    DELETE [edwdev]..SYSTEM.SAIC_ARTIFACT_LOG FROM tblArtifactLog src WHERE src.source_seq_no = SAIC_ARTIFACT_LOG.art_seq_no and src.source_name = 'edwdev' [SQLSTATE 01000] (Message 0) Cannot fetch a row using a bookmark from OLE DB provider "OraOLEDB.Oracle" for linked server "edwdev". [SQLSTATE 42000] (Error 7333). The step failed.
    They keyword here is SOMETIMES. The job would fail 100% of the time before applying ODAC 10.2.0.3.0, after the ODAC install the job fails about 40% of the time. We have this setup in a test enviornment and yes there are rows of data in the table everytime the job runs.
    As far as the OraOLEDB10.dll install we have a date of 2/20/07 but a version of 10.2.0.2. I am wondering if this shouldn't be a new version.

    LearnMoreAgile wrote:
    so does that mean no one at oracle can guide me in this issue before i goto microsoft ?How has the Linked Server been created in MSSQL? OraOLEDb.Oracle is the class name for the Oracle OLEDB provider which should appear in your list of OLEDB providers in your favourite windows dev tool or when creating the linked server. If it doesn't appear likely you didn't choose to install it. I don't know if it's a default install with the 64bit client, but the ODAC client contains the .net provider and not the OLEDB provider.
    Niall

  • Update Multiple Rows using Row Selector

    Hi,
    I want to update multiple rows using a tabular form with row selector, and an item in another region of the page, using an update expression and a button.
    The syntax would be like this:
    update MY_TABLE set UPDATABLE_COLUMN = :P10_NEW_VALUE where {row selector = true}
    What is the syntax for the WHERE clause, anyone knows? In the manual there is no information at all for doing this.
    PD. I added the row selector after creating the form, so I don't have any wizard-created MRU processes in the page.
    HTMLDB version is 1.6
    Thanks.

    Hi,
    I want to update multiple rows using a tabular form with row selector, and an item in another region of the page, using an update expression and a button.
    The syntax would be like this:
    update MY_TABLE set UPDATABLE_COLUMN = :P10_NEW_VALUE where {row selector = true}
    What is the syntax for the WHERE clause, anyone knows? In the manual there is no information at all for doing this.
    PD. I added the row selector after creating the form, so I don't have any wizard-created MRU processes in the page.
    HTMLDB version is 1.6
    Thanks.

  • Buttons in rows and colums

    how do i make buttons in rows an colums?
    like the dialing-path of a telephone? 3x4?
    thanks

    [url http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html]How to Use Layout Managers

  • Error in button New Row in SUS

    We have SRM 5.0 With backend ECC 6.0.
    When i process a PO in SUS and use the button "New Row" for "Enter Delivery Times", the system send an error:
    Error Bussines Server Page (BSP)
    The following error text was processed in the system:
    An exception with the type CX_PARAMETER_INVALID_RANGE occurred, but was neither handled locally, nor declared in a RAISING clause
    I not that BSP is that.
    Somebody can help me?
    Regards.

    Hi,
    Please check the note 1072413.
    [https://service.sap.com/sap/support/notes/1072413|https://service.sap.com/sap/support/notes/1072413]
    Regards,
    Masa

  • How to recognize form buttons in rows not columns

    Hi,
    I have a long questionnaire with 100 rows.   
    column one is the question.  Column 3, 4, 5, and 6 are buttons responses (none, mild, moderate, extreme).  Buttons meaning only one answer allowed per row.
    There are headers for the buttons.    when converting this excel spreadsheet to adobe acrobat -- works.   But after creating a form the buttons are labeled by column not by row, so ... they are not true option buttons by row.   In other words, only one answer per column is allowed, the opposite of what I want.    
    How do I solve this?   I change this either by the initial format or some global change?  There are a total of 100 buttons.  Way too laborious to change each one of these individually.
    Thank you.

    thank you.  I agree.   I finally realized that acrobat is way too complex a format to use for forms.  Nevertheless, I need this one form.
    If I persist, these are radio buttons that must be exclusive to one selection in each row.   
    So I repeat.    How can I get acrobat "forms editor" to discover these radio buttons across rows and not across columns?   Formatting each single button will be so laborious as to abort this project.  There must be a way.  There always is. 
    So much is written about formatting forms with acrobat.   So little is written how to actually handle the output. 
    thank you

Maybe you are looking for

  • Populating variable from another query..

    Hi, I have a requirement whereby I have a variable (for eg. on the Accounting Document Number) in query Q2.The values of this variable have to be derived by executing another query eg. - Q1 So I defined a variable on the infoobject, defined it as bas

  • How to make opaque white transparent?

    I have a JPEB, black words, hand lettered, on white. When I place it into an InDesign doc, on a solid color, the white background, being opaque, covers the solid color. How do I make that opaque white into a transparent background? Two manuals do not

  • Load balancing between application server and database

    Hi, is there any load balancing between the application server and the database? Consider we have a single instance of an application server that sends database queries from different clients to the database. Are the requests queued in some way at th

  • SMTP issues for ports 25, 993 and 995

    I recently became suspicious that I wasn't getting mail addressed to [email protected] or [email protected] and I have become even more suspicious the past couple of days when I have received email in my Mail account on the iPod Touch but those email

  • 10.4.11 Update conflict with Netgear wireless router

    I downloaded the 10.4.11 update, and now I can't access my comcast email. I can surf the internet and access everything else, but when using my Netgear wireless to connect, no email. I can connect and access it elsewhere using other wireless routers.