Add row in Tabstrip ALV

Hi...
I have a subscreen in tabstrip where i am using
CALL METHOD C_ALV_RATE_ANL->SET_TABLE_FOR_FIRST_DISPLAY
to display a alv......
I want to add a button the tabstrip which will aloow user to add lines in alv and user should be able to save it
regards
vivek

Hi,
Why cant you use set_table_for_first_display  of class cl_gui_alv_grid ?
DATA:  go_grid_ctrl TYPE REF TO cl_gui_alv_grid.
CALL METHOD go_grid_ctrl->set_table_for_first_display
This will automatically have a APPEND ROW button in the tabstrip which will automatically add one new line
Cheers,
Kothand

Similar Messages

  • Track add row button in alv

    Hello
    I would like to track the code of add row button in alv grid. When user cliks add row in avl toolbar what is the code? Is there some PAI module calls in that moment ? I found something about slis_selfield and something like mc_fc_loc_insert_row. I have tried write a code:
    data button type ui_func.
    button = gr_alvgrid -> mc_fc_loc_insert_row.
    After that, in PAI module of screen where alv is, I have tried to read that button. But no results.
    Frankly speaking I don't know how to use that all. Can anybody tell me how.
    I will be gratefully.

    Hi Sri,
    I think there is no standard way for this.
    Maybe with java script.
    Actually the users do not need to save data before they get the additional lines, A refresh is enough.
    So maybe you should just define a button calling the refresh command and just name the button different.
    regards
    Cornelia

  • Add row to ALV grid highlighting mandatory fields

    hello experts,
    I am using grid object of cl_gui_alv_grid to display output table. Rows can be added to grid using Insert Row button of ALV toolbar (No custom button added here). The requirement is to highlight the mandatory input cells either with border or display them in different color.
    This needs to be done immediatly after pressing the Insert row button, but before the row is displayed on the screen as ready for input ( NOT as a part of data validation on save or enter button).
    I tried following method:
    - I SET HANDLER event_receiver->handle_user_command FOR obj_grid.
    - I am handling EVENT before_user_command OF cl_gui_alv_grid
    - I thought of modifying CELLTAB of inserted row in this event to set display properties of required entry fields
    However, the problem I am facing here is, Insert_Row button directly populates a row on display screen without triggering before_user_command event.
    Is there any way I can highlight the cells of inserted row when it's populated on screen?

    Hi,
    Indeed this event is not triggered for some standard function. Anyhow you could do some trick:
    - hide standard insert row button
    - add custom button with same icon on in
    - then once you press it, you will be able to hanlde it in before_user_commnad event
    If you want to stick to standard solution. maybe there is some flag which must be set with some SET.. or REGISTER... method. Unfortunatelly I am not aware of such switch.
    Regards
    Marcin

  • To add column in an alv of FITV_POWL_TRIPS component

    Hi all
    I have a requirement to add column to an alv which is in FITV_POWL_TRIPS.Now the prob is that in that component we r using another  compent SALV_WD_TABLE from which alv is taken.This what I understood
    fitv_powl_trip
    powl_ui_comp- <-getting tabstrips
    powl_table_comp-<-getting refresh link
    salv_wd_table- <- getting table
    As far as I understood I think I have to find the comtext binded to DATA of SALV_WD_TABLE .Im not able to get it.If anyone has previous experience with this pls share
    Edited by: m.reeha verma on Apr 30, 2009 6:15 AM

    Hello Reeha,
    Could you please share the solution for this ?
    Thanks in Advance.
    Thanks,
    Prakhar

  • Add row based on previous row in table control?

    Dear all,
    I have a table control with some rows. Every row contains one button. On button click i want to add another row with dirrerent data. I want to add content based on button text or another columns (ex text views text,) based on this text view, I have to add row. One button can click any no of times. On every click i want to add row, but desired position and content should be based on button click.  Any help in doing this??
    Cheers,
    Venkys.

    Refer to these old threads referring this table and button problem.
    Adding rows to table
    How to create different rows in table or in ALV?
    and for the current scenario what you can do is ...
    in the eventhandler of the button click .
    find out the row number by using the code to read index.
    then based upon that add the element in the node at the desired position.
    finding the row number
      data indx type i.
          DATA lo_el TYPE REF TO if_wd_context_element.
          lo_el = wdevent->get_context_element( 'CONTEXT_ELEMENT' ).
    indx = lo_el->get_index( ).
    and the adding the element at the desired position say n
        DATA lo_nd_zdealer TYPE REF TO if_wd_context_node.
        lo_nd_zdealer = wd_context->get_child_node( name = 'DEALER' ).
    data ls_str type  wd_this->element_dealer.
       ls_str-id = '00023445'.
       ls_str-name = 'sarbjeet'.
       ls_str-location = 'hosiarpur'.
       ls_str-status = '0001'.
       lo_nd_zdealer->bind_structure( new_item = ls_str
       set_initial_elements = abap_false
       index = n
    thanks
    sarbjeet singh

  • Adding a color to row of a alv grid using function modules

    Can anybody clearly explains me how to add a color to a row to an alv grid using function module reuse_alv_grid_display.
    thanks in advance
    regards
    anil.

    hi,
    chk this ample pgm
    report zxyz_0004
           no standard page heading.
    type-pools slis.
    data: fieldcat type slis_t_fieldcat_alv.
    data: begin of imara occurs 0,
          matnr type mara-matnr,
          mtart type mara-mtart,
          maktx type makt-maktx,
          color_line(4) type c,
          tcolor type slis_t_specialcol_alv,  "cell
          end of imara.
    data: xcolor type slis_specialcol_alv.
    start-of-selection.
      perform get_data.
      perform write_report.
    Get_Data
    form get_data.
      imara-matnr = 'ABC'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for ABC'.
      append imara.
      imara-matnr = 'DEF'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for DEF'.
      append imara.
      imara-matnr = 'GHI'.
      imara-mtart = 'ZCFG'.
      imara-maktx = 'This is description for GHI'.
      append imara.
      loop at imara.
        if sy-tabix = 1.
          imara-color_line = 'C410'.   " color line
        endif.
        if sy-tabix = 2.          "color CELL
          clear xcolor.
          xcolor-fieldname = 'MTART'.
          xcolor-color-col = '3'.
          xcolor-color-int = '1'. "Intensified on/off
          xcolor-color-inv = '0'.
          append xcolor to imara-tcolor.
        endif.
        modify imara.
      endloop.
    endform.
    WRITE_REPORT
    form write_report.
      data: layout type  slis_layout_alv.
      layout-coltab_fieldname = 'TCOLOR'.
      layout-info_fieldname = 'COLOR_LINE'.
      perform build_field_catalog.
    CALL ABAP LIST VIEWER (ALV)
      call function 'REUSE_ALV_GRID_DISPLAY'
           exporting
                is_layout   = layout
                it_fieldcat = fieldcat
           tables
                t_outtab    = imara.
    endform.
    BUILD_FIELD_CATALOG
    form build_field_catalog.
      data: fc_tmp type slis_t_fieldcat_alv with header line.
      clear: fieldcat. refresh: fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material Number'.
      fc_tmp-fieldname  = 'MATNR'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '18'.
      append fc_tmp to fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material Type'.
      fc_tmp-fieldname  = 'MTART'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '4'.
      append fc_tmp to fieldcat.
      clear: fc_tmp.
      fc_tmp-reptext_ddic    = 'Material'.
      fc_tmp-fieldname  = 'MAKTX'.
      fc_tmp-tabname   = 'IMARA'.
      fc_tmp-outputlen  = '40'.
      fc_tmp-emphasize = 'C610'.   " color column
      append fc_tmp to fieldcat.
    endform.
    <b>anil , pls chk this link also.
    http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_color.htm
    very hlpful.</b>
    rgds
    anver
    <b>pls mark points if ur issue solved</b>
    Message was edited by: Anversha s
    Message was edited by: Anversha s

  • ADD A line in alv with values

    Hi Experts,
    When clicking the button 'append row', I want to add a line filled with some values in selection screen.
    I work with OO.
    need help please.
    Mohamed

    Hello Mohamed
    The logic is the same as before. Search for $MODFIED to detect the changes in the sample report.
    However, I do not think that these requirements make any sense because if you re-implement the Copy function you obviously have to re-implement the Paste function (and perhaps Undo function as well), too.
    So basically you reinvent the wheel again.
    *& Report  ZUS_SDN_ALV_GRID_EDITABLE
    *& Thread: ADD A line in alv with values
    *& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="974654"></a>
    REPORT  zus_sdn_alv_grid_editable_1x.
    TYPE-POOLS: abap.
    DATA:
      gd_okcode        TYPE ui_func,
      gd_repid         TYPE syst-repid,
      gif_adapter      TYPE REF TO if_salv_adapter,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid1         TYPE REF TO cl_gui_alv_grid,
      gt_fcat          TYPE lvc_t_fcat,
      gs_layout        TYPE lvc_s_layo.
    DATA:
      gt_outtab        TYPE STANDARD TABLE OF knb1.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-DATA:
          md_function    TYPE ui_func   READ-ONLY,
          ms_row         TYPE lvc_s_row READ-ONLY,
          ms_outtab      LIKE LINE OF gt_outtab.  "$MODIFIED
        CLASS-METHODS:
          handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
            IMPORTING
              e_row
              e_column
              es_row_no
              sender,
           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,
           handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
             IMPORTING
              er_data_changed
              e_onf4
              e_onf4_before
              e_onf4_after
              e_ucomm
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_double_click.
      ENDMETHOD.                    "handle_double_click
      METHOD handle_toolbar.
        " define local data
        DATA: ls_button   TYPE stb_button.
        " Redefine toolbar button functions in order to be able to
        " handle them in event USER_COMMAND (standard toolbar functions
        " do NOT raise event USER_COMMAND !!!)
        LOOP AT e_object->mt_toolbar INTO ls_button.
          CASE ls_button-function.
            WHEN cl_gui_alv_grid=>mc_fc_loc_append_row.
              ls_button-function = 'APPEND_ROW'.
            WHEN cl_gui_alv_grid=>mc_fc_loc_insert_row.
              ls_button-function = 'INSERT_ROW'.
            WHEN cl_gui_alv_grid=>mc_fc_loc_copy.  "$MODIFIED
              ls_button-function = 'COPY'.
            WHEN OTHERS.
              CONTINUE.
          ENDCASE.
          MODIFY e_object->mt_toolbar FROM ls_button INDEX syst-tabix.
        ENDLOOP.
      ENDMETHOD.                    "handle_toolbar
      METHOD handle_user_command.
        " Get current row for function 'Insert Row'
        CALL METHOD sender->get_current_cell
          IMPORTING
    *        e_row     =
    *        e_value   =
    *        e_col     =
            es_row_id = ms_row
    *        es_col_id =
    *        es_row_no =
        " Store redefined function code
        md_function = e_ucomm.
        CASE e_ucomm.
          WHEN 'APPEND_ROW'  OR
               'INSERT_ROW'.
            " Just trigger PAI
            CALL METHOD cl_gui_cfw=>set_new_ok_code
              EXPORTING
                new_code = 'NEW_ROW'
    *          IMPORTING
    *            rc       =
          WHEN 'COPY'.  "$MODIFIED
            READ TABLE gt_outtab INTO ms_outtab INDEX ms_row-index.
          WHEN OTHERS.
        ENDCASE.
      ENDMETHOD.                    "handle_user_command
      METHOD handle_data_changed.
    *   define local data
        DATA: ls_outtab        LIKE LINE OF gt_outtab,
              ls_good          TYPE lvc_s_modi.
        BREAK-POINT.
        LOOP AT er_data_changed->mt_good_cells INTO ls_good
                WHERE ( fieldname = 'ERDAT' ).
    **      CALL METHOD er_data_changed->get_cell_value
    **        EXPORTING
    **          i_row_id    = ls_good-row_id
    **          i_fieldname = ls_good-fieldname
    **        IMPORTING
    **          e_value     = ls_outtab-erdat.
          ls_outtab-erdat = ls_good-value.
          IF ( ls_outtab-erdat < '20070101' ).
            CALL METHOD er_data_changed->add_protocol_entry
              EXPORTING
                i_msgid     = '00'
                i_msgty     = 'E'
                i_msgno     = '398'
                i_msgv1     = 'Date must be >= 01.01.2007'
    *          i_msgv2     =
    *          i_msgv3     =
    *          i_msgv4     =
                i_fieldname = ls_good-fieldname
                i_row_id    = ls_good-row_id
                i_tabix     = ls_good-tabix.
          ENDIF.
        ENDLOOP.
        er_data_changed->display_protocol( ).
        " Not really required (only for validations)
      ENDMETHOD.                    "handle_data_changed
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT * FROM  knb1 INTO TABLE gt_outtab UP TO 10 ROWS.
      PERFORM init_controls.
    * 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 NE 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * NOTE: dynpro does not contain any elements
      CALL SCREEN '0100'.
    * Flow logic of dynpro (does not contain any dynpro elements):
    *PROCESS BEFORE OUTPUT.
    *  MODULE STATUS_0100.
    *PROCESS AFTER INPUT.
    *  MODULE USER_COMMAND_0100.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.  " contains push button "DETAIL"
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK'  OR
             'EXIT'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN 'NEW_ROW'.
          PERFORM add_new_row.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  ADD_NEW_ROW
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM add_new_row .
    * define local data
      DATA: ls_outtab   LIKE LINE OF gt_outtab,
            ls_stable   TYPE lvc_s_stbl,
            ld_idx      TYPE i.
      ls_outtab-bukrs = '1000'.
      ls_outtab-ernam = syst-uname.
      CASE lcl_eventhandler=>md_function.
        WHEN 'APPEND_ROW'.
          APPEND ls_outtab TO gt_outtab.
        WHEN 'INSERT_ROW'.
          ld_idx = lcl_eventhandler=>ms_row-index + 1.
          INSERT ls_outtab INTO gt_outtab INDEX ld_idx.
        WHEN OTHERS.
      ENDCASE.
      " Refresh ALV list display
      ls_stable-row = abap_true.
      ls_stable-col = abap_true.
      CALL METHOD go_grid1->refresh_table_display
         EXPORTING
           is_stable      = ls_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.
    ENDFORM.                    " ADD_NEW_ROW
    *&      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 NE 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grids
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent = go_docking  " go_cell_top
        EXCEPTIONS
          OTHERS   = 5.
      IF sy-subrc NE 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      " ENTER trigger event DATA_CHANGED
      CALL METHOD go_grid1->register_edit_event
        EXPORTING
          i_event_id = cl_gui_alv_grid=>mc_evt_enter
        EXCEPTIONS
          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.
    * Set event handler
      SET HANDLER:
        lcl_eventhandler=>handle_double_click FOR go_grid1,
        lcl_eventhandler=>handle_toolbar      FOR go_grid1,
        lcl_eventhandler=>handle_user_command FOR go_grid1,
        lcl_eventhandler=>handle_data_changed FOR go_grid1.
      PERFORM build_fieldcatalog.
    * Display data
      gs_layout-grid_title = 'Customers'.
      gs_layout-smalltitle = abap_true.
      CALL METHOD go_grid1->set_table_for_first_display
        EXPORTING
    **      i_structure_name = 'KNB1'
          is_layout        = gs_layout
          ir_salv_adapter  = gif_adapter
        CHANGING
          it_outtab        = gt_outtab
          it_fieldcatalog  = gt_fcat
        EXCEPTIONS
          OTHERS           = 4.
      IF sy-subrc NE 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  BUILD_FIELDCATALOG
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog .
    * define local data
      DATA: ls_fcat   TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
          i_structure_name       = 'KNB1'
        CHANGING
          ct_fieldcat            = gt_fcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
      ls_fcat-edit = abap_true.
      MODIFY gt_fcat FROM ls_fcat
        TRANSPORTING edit
        WHERE ( key NE abap_true ).
    ENDFORM.                    " BUILD_FIELDCATALOG
    Regards
      Uwe

  • Add extra field in alv

    Hi experts,
    i want to add extra field in alv that is totalprice
    the total price = qunatity * price
    already quantity and price from data base tables
    but the field total price is not from any table..
    thanks advans

    Hi,
    Quantity and Price both are ddic fields.
    Define the TOTAL PRICE of the type Price in the final internal table(table to b displayed).
    before passing the data / in looping define the logic...
    LOOP AT T_SOURCE.
    T_FINAL-PRICE = T_SOURCE-PRICE.
    T_FINAL-TOL_PRICE = T_FINAL-QTY x T_FINAL-PRICE
    ENDLOOP.
    Now all the required values are in the final table.
    Reward if helpful.
    Thanks.

  • Flex Table Add Row Issue with Dynamic Entry Lists in Visual Composer

    All,
    Your help would be kindly appreciated in resolving an 'Add Row'-issue within a Flex Table that uses Dynamic Entry Lists in Visual Composer. The issue here is as follows :
    When I use a [Local Dynamic Entry List |http://www.postyourimage.com/view_image.php?img_id=O5hrG2aMxWZ84Mu1211193041]to populate a row field, the initial row and all next rows are emptied upon 'insert row', they loose their selected values and also the entry list values ('pull-down menus') are lost. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=FPLr2cABcgiHRou1211192889].
    The initial row does [show the entry list values |http://www.postyourimage.com/view_image.php?img_id=2HybmEHAuQYs9cg1211192766]from the Local Dynamic Entry List based on the dynamically assigned input value; upon 'insert row' the entry lists are lost. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=FPLr2cABcgiHRou1211192889].
    When using a [Global Dynamic Entry List |http://www.postyourimage.com/view_image.php?img_id=m5p2KYuBb442dTq1211193501]to populate the row fields the Flex-table behaves normally as expected. Unfortunately with a Global Entry List it is not possible to dynamically assign a input value. Please also see [screenshot|http://www.postyourimage.com/view_image.php?img_id=U96V0zENCCyO3gA1211193157].
    Please also see the [issue summary image|http://www.postyourimage.com/view_image.php?img_id=06xti08tIEfely1211195178] I made to visualize the issue.  What I basically would like to know is whether this is a 'known issue' or not, or that it is an issue that can be fixed or whether there is an alternative workaround available ... I'm using Visual Composer 7.0 and the Portal is at SP 13.
    Many thanks,
    Freek

    Hi,
    you should be able to assign a dynamic value with global entry lists as well. If you say @myParam as dynamic value. VC will indicate in red letters, that the field @myParam is unknown. However, it will work, as long as @myParam is known in the form or table where you use the entry list.
    I have never heard of the problem that entry lists are emptied after "insert"-event.
    Kindes Regards,
    Benni

  • How can i add rows in a tabular form

    Hi,
    How can i add rows in a tabular form with out updating in database and after adding the rows one by one and after filling the data then iwant to submit them all at once.Please help me on this.
    Thanks

    Hello Leandro,
    In the Add_Rows page process, there is a box for "Number Of Rows". Change that value and you change the number of rows that get added. The default is 1.
    Don.
    You can reward this reply by marking it as either Helpful or Correct :)

  • Missing functionality.Draw document wizard - delete/add rows and copy/paste

    Scenario:
    My customer is using 2007 SP0 PL47 and would like the ability to change the sequence of the rows of the draw document wizard and delete/add multiple rows (i.e. when you create an AR Invoice copied from several deliveries).
    This customer requires the sequence of items on the AR invoice to be consistent with the sequence on the original sales order including text lines and subtotals. Currently we cannot achieve this when there are multiple deliveries.
    Steps to reproduce scenario:
    1.Create a Sales order with several items and use text lines, regular and subtotals.
    2.Create more than one delivery based on the sales order and deliver in a different sequence than appears on the sales order.
    3.Open an AR Invoice and u2018Copy fromu2019 > Deliveries. Choose multiple deliveries. Choose u2018Customizeu2019.
    4.Look at the sequence of items on the Invoice. How can the items and subtotals and headings be moved around so they appear in the same sequence as on the sales order?
    Current Behaviour:
    In SAP B1 itu2019s not possible to delete or add more than one row at a time on the AR Invoice or Draw Document Wizard.
    Itu2019s not possible to copy/paste a row on the AR Invoice or Draw Document Wizard.
    Itu2019s not possible to change the sequence of the rows using the Draw Document Wizard.
    Business Impact: This customer is currently spending a lot of time trying to organize the AR invoice into a presentable format. They have to go through the invoice and delete the inapplicable rows one by one (because SAP B1 does not have the ability to delete multiple lines at a time) and also has to manually delete re-add rows to make it follow the same sequence as the sales order.
    Proposals:
    Enable users to delete or add more than one row at a time on the AR Invoice or Draw Document Wizard.
    Enable users to copy/paste rows on the AR Invoice or Draw Document Wizard.

    Hi Rahul,
    You said 'It is not at all concerned with Exchange rate during GRPO...' If that is the case how does the Use Row Exchange Rate from Base Document in the draw document wizard work? Does this mean 1 GRPO : 1 AP Invoice so I can use the base document rate?
    How should I go about with transactions like these? That is adding an AP Invoice from multiple GRPO's having different exchange rates. What I am trying to capture here is that in the AP Invoice, base document rates should be used in the row item level and not the current rate when adding the invoice.  
    Thanks,
    Michelle

  • How do I create an "Add Row" button (add instance with click activity)

    I've been looking through a couple of examples, but the xml is lost on me. I need to learn how to do this for myself because it'd help me out on so many forms. There're forms I just simply cannot do without this function.
    Where I get lost is the javascript linking the button to the specific table. I've been trying to use this I found in an example:
    <event activity="click"><
    script contentType="application/x-javascript">SAPS350a.Page1.TableData1.Table1.Row2.instanceManager.addInstance(1);</script></
    event>
    Now, I'm a complete newbie, so I'm sure someone can point out to me exactly what's wrong, but I dont know what "SAPS350a" means nor can I figure out where the label "TableData1" connects to.
    If anyone can explain this in a "add rows for dummies" fashion, I'd be greatly appreciative.
    See attached an example of one of the fields I need to repeat.

    Hi Liz. You shouldn't really be playing in the xml. Especially if you are a newbie . You could corrupt the whole form if you do something wrong and you probably wont be able to rectify it. Scripts must be added in the script window. In your post, the 'SAPS350a.Page1...' is the path to the row of the particular form that you copied that code from. I have added a button to your form. have a look at the script to see what i have done.

  • Cannot add row without complete selection of batch/serial numbers while creating Goods receipt purchase order

    Error:Cannot add row without complete selection of batch/serial numbers
           Dim oPDN As SAPbobsCOM.Documents
           oPDN = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes)
                         Dim serno As String = "SH-A1,SH-A2"
                        Dim sernoval As String() = serno.Split(",")
                        Dim mnfser As String = "SH-B1,SH-B2"
                        Dim mnfserval As String() = mnfser.Split(",")
                        For k = 0 To sernoval.Length - 1
                            oPDN.Lines.SerialNumbers.InternalSerialNumber = sernoval(k).Trim
                            oPDN.Lines.SerialNumbers.ManufacturerSerialNumber = mnfserval(k).Trim
                            oPDN.Lines.SerialNumbers.Quantity = linedetails(iRowNo).Quantity
                            oPDN.Lines.SerialNumbers.SetCurrentLine(k)
                            oPDN.Lines.SerialNumbers.Add()
                        Next
                    oPDN.CardCode = "C232323"
                    oPDN.Lines.ItemCode = "A00004"
                    'oGR.Lines.LineNum = 0
                    oPDN.Lines.BaseLine = 1
                    oPDN.Lines.BaseEntry = 202
                    'oGR.Lines.BaseRef = 203
                    oPDN.Lines.BaseType = 20
                    oPDN.Lines.Quantity = 1
                    oPDN.Lines.UnitPrice = 2
                    oPDN.Lines.WarehouseCode = '01'
                 oPDN.Lines.Add()
                 lRetCode = oPDN.Add

    Hi Vasanth,
    Invert the SetCurrentLine () and Add() at the end of the SSSerialNUmbers loop.
    Regards,
    Eric

  • How to use add row button of a tabuler form.

    Hi all,
    I have created a Tabuler form in my application.Could you please tell me 'How can i use the add row button of this form' as When i click the button "NOTHING HAPPENS".
    Thanks
    Regards,
    Neha

    Hi,
    If you edit the button, the button name has to be 'ADD'. You can make the text / label whatever you like. On the form edit page, the button should appear with this text next to it: submit as "ADD".
    HTH

  • Weird Problem with Add Row Button in Master Detail Page

    I have a page that was created with a Master Detail Wizard. When I click the Add Row button on our Production Environment, the row counter increments BUT no blank row shows on the screen.
    In our Development Environment, when I click the Add Row button, a blank row appears as expected. Thinking there was some problem with the production app, I exported the Dev version and imported into Production. Still no blank row.
    Thinking perhaps it had something to do with the data, I copied our production application data back into the development application tables. Still, the development app creates the blank row where the production version does not.
    I even used the same browser window for both environments and still get the same results. This was working fine in production then just stopped one day.
    The only clue I have is that the Add Row WILL work if the Master Record has no details or less than a page worth. It seems to happen when the detail records are more than one page worth. Also, when I click the Add Row button, it goes to the last page of the list (say three pages of 10, 10, 6) but no blank row shows up. Again, works fine in the development environment no matter how many pages.
    Any ideas or suggestions why this is happening? Could there be some environment setting that is causing this to happen?

    I have a page that was created with a Master Detail Wizard. When I click the Add Row button on our Production Environment, the row counter increments BUT no blank row shows on the screen.
    In our Development Environment, when I click the Add Row button, a blank row appears as expected. Thinking there was some problem with the production app, I exported the Dev version and imported into Production. Still no blank row.
    Thinking perhaps it had something to do with the data, I copied our production application data back into the development application tables. Still, the development app creates the blank row where the production version does not.
    I even used the same browser window for both environments and still get the same results. This was working fine in production then just stopped one day.
    The only clue I have is that the Add Row WILL work if the Master Record has no details or less than a page worth. It seems to happen when the detail records are more than one page worth. Also, when I click the Add Row button, it goes to the last page of the list (say three pages of 10, 10, 6) but no blank row shows up. Again, works fine in the development environment no matter how many pages.
    Any ideas or suggestions why this is happening? Could there be some environment setting that is causing this to happen?

Maybe you are looking for