cancel
Showing results for 
Search instead for 
Did you mean: 

Update Multiple Rows in Multiple Tables in a Single BAPI

Former Member
0 Kudos

Hi all,

We have recently upgraded to SP10. Does VC support updating multiple (all) rows in multiple tables in a single BAPI ? My BAPI has 7 tables which are split in VC into different tabs using Tab Strip layers. I would like to be able to navigate between tabs, make appropriate updates on the screen and then trigger BAPI and pass all 7 tables (with or without changes) to the BAPI.

I have been successful in updating all rows in a single table by mapping from each table to the BAPI with individual update events hooked to each table. (This would require the user to save on each tab (up to 7 different places - not ideal). I've also been able to update all rows in 1 table and a single row in each of the other tables.

Is this possible (multiple tables, all rows in one call) in VC without changing the BAPI?

Thanks,

John

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

hi,you can modify system action submit, call it ''submitall''.

at any table form create button, using custom action "submitall".

result one buttom can submit all,all table, all rows.

i already succeed delpoy this application.

hope help you.

Former Member
0 Kudos

That's probably going to help you:

https://wiki.sdn.sap.com/wiki/display/VC/Selectingmultiplevalues

and this one:

https://wiki.sdn.sap.com/wiki/display/VC/Submitshallupdatemultipleformsatonce

Former Member
0 Kudos

Mario,

Thanks for the reply. I looked into the links you suggested. They don't seem to address my root issue. I am updating multiple rows for a single table. I can also trigger update from multiple tables/forms. What is not working is updating all rows in multiple tables at one time. The primary table form that hold has the output ports is updating all rows, but the other referenced links only update one row in their respective tables. This appears to be a limitation in VC. If you have other examples of this, please share.

Thanks,

John

former_member193545
Active Participant
0 Kudos

Hi John

Can you explain a bit more in depth the issue you have, I am not sure about the BAPI you have, is it something you created in house? How does the BAPI work?

Former Member
0 Kudos

1) are you sure that your table has the selection mode set you Multiple?

2) Does your BAPI allow multiple records passed?

3) do you have multiple input ports in your BAPI?

Former Member
0 Kudos

Jarrod,

Thanks for the inquiry. This is an inhouse BAPI/RFC. It has 7 "Z' tables that are updated by the BAPI. The VC model uses the Tab Layers, each layer contains one of the tables from the BAPI. An Inquiry BAPI retrieves the tables and maps each to a separate Tab in VC. The user then performs updates in each of the tables, by tabbing between the layers to make the desired changed. My desire is to have a single button retrieve all rows of the 7 tables and send to the update BAPI. The output BAPI has had the ports flipped to allow mapping to the VC tables. One of the tables is used to anchor all updates (e.g. table 1). Each table is set for multiple rows. The result: Table 1 has all rows updated, Table 2-7 have only the 1st or perhaps selected row updated.

If you need to see the VC model or the BAPI, please email john_m_kauffman_iii@whirlpool.com and I can provide screen shots and more details.

Thanks,

John

Former Member
0 Kudos

Mario,

The answer is "yes" to each of your questions. What I am doing for now to work around the issue is have the user press Submit button on each table. In the BAPI, I have added some code to test for any entries in the other tables (which are no longer mapped) and only update the table that was Submitted. This is NOT ideal for the user and does not handle a situation where they want to delete all the entries in a table, because the BAPI will think they don't want to do anything to that table since it is empty. If you have any workarounds, please share. If you want more details or example of the model, please email me. john_m_kauffman_iii@whirlpool.com.

Thanks,

Former Member
0 Kudos

Hi John,

To achieve this precede the event name with the * operator on the data link which will send the data to the bapi for each of your tables. For example, if you have an action called submit then use *submit to pass the data from each data source (table) to the target (bapi). This will ensure that all data is passed at the same time on the same user action.

If the action is fired from inside one of the 7 tables, (from a button on the toolbar), then the link linking that table and the bapi need not have the * operator.

Hope this helps, good luck,

Allen