Skip to Content

BDC updates several screens but commit to database not done until the end

We have a very large ABAP program which was written quite a few years ago using BDC technology. The program is used to manage employee changes via PA30 with BDC's. It has been working well but we have come across one problem and when I trace it, it is because the BDC does not update the database tables until the end. If I do all of the steps below manually everything works just fine because with each step it saves the data to the PA table I mentioned. However when you do these same steps via BDC, data is not saved to the PA tables until the end. The problem is that SAP Code behind these screens expects the correct data to be in the actual database. We are changing some data in the Actions/Orgs, but it is not being saved for when it gets to the Basic Pay. Therefore, the problem is really not with our ABAP itself, but how the BDC is not saving out to the tables. We know that all of this was o.k. at least previous to mid 2016. Has anyone else experience this or have any thoughts?

tx: PA30

EE#:89184

Select Actions (pa0000) and click on Create

Change Start Date to 2017.06.09

Reason: 71

EE Subgroup:50

Save – get record delimtted msg

Save

On Org Screen (pa0001)

Subarea: 0001

Save - get record delimtted msg

Save

On Planned Working Time Screen (pa0007)

Save

On Basic Pay Screen (pa0008)

PS Type: E

PS Area: US

PS Group: JB06

Save

All is Good! This was done manually

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Jun 30, 2017 at 08:40 PM

    Maybe your issue is because of a COMMIT WORK added by a developer, which would occur during the save. The BDC stops by default at the first COMMIT WORK. Cf component RACOMMIT of ABAP word OPTIONS of CALL TRANSACTION parameter in ABAP documentation of CALL TRANSACTION - USING.

    Add comment
    10|10000 characters needed characters exceeded

    • You could also perhaps split the BDC into two, doing a save, then processing the Basic Pay screen. But BAPI is definitely the way to go. BDCs just aren't reliable enough. I've not written one for over 15 years...!

  • Jul 02, 2017 at 08:19 PM

    Also you can put a break-point at instruction COMMIT and COMMIT WORK to check for example if a developer has newly added a COMMIT instruction in a user-exit.

    Add comment
    10|10000 characters needed characters exceeded