Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Trigger function when changing field value of custom table

POV8FE
Explorer
0 Kudos

Hallo,

we have a custom table which is changed by several programs or User exit's also manual in SM30. When a value of this table is changed the record shall be send to a subsystem.

My problem is how to trigger the interface. Can this be done by workflow event creating change documents with "SCDO - Overview" and SWEC ?

Does anybody can explain me the steps or another idea how to solve this problem ?

Thanks a lot in advance !

Volker

5 REPLIES 5

Rodrigo-Giner
Active Contributor
0 Kudos

Check this link, you can use Event in Table Maintenance, in the save event put your code. If this subsystem is also SAP you could call a RFC function if not you could make a DB conection and update the values directly to the DB.

Regards

0 Kudos

Hallo Rodrigo,

thanks for your quick answer. This functionality will only help when changing the table via SM30 but my problem is also there are several programs changing this table. This "old" or any new program can directly change the table by insert or update.

So I think about an event linked to the field of the z-table.

Thanks for your help !

Volker

0 Kudos

I think there is nothing like that.

The only thing that you could do to is to create a background program that replicate the entire table into you destination system everytime is executed (once a day, every 1 hours, every 30 min, etc) you select the entire Z table, delete the destination and INSERT the entire table.

With any of the following options you'll have to do it in every place where the Z Table is updated.

1) Create a Function with the logic and after every MODIFY, INSERT or UPDATE in the Z table call it.

2) A more elegant solution is to create a custom Bussiness Object (SWO1) but you will have to also trigger the event.

Regards

0 Kudos

Hallo Rodrigo,

ok, - I'll implement as job transferring the whole table as WebService once a day and the changes I'll read from DBTABLOG (function module DBLOG_READ) when flagging the table to write protcoll of changes in SE11 by same function.


Thanks for your help and advice !


Volker


0 Kudos

Hi,

You could turn on the 'log data changes' option in the technical settings of the table.

That will record all changes, no matter what the origin - and you can probably trigger an event from each change.

cheers

Paul