cancel
Showing results for 
Search instead for 
Did you mean: 

How to define backend triggers in MI 7.1.

Former Member
0 Kudos

Hi to all.

I have an application running with MI 2.5. It uses an only synbo T01 which is used to manage all the work related with work clear Doc ( transactions: wct7,wct8..)

I need to migrate this application to MI 7.1 and after reading about this, I know that need to register events in BTE.

How can we know the event to manage this? is there one event for each action ( change, create, delete) a LD?

After need , we need to associate that events to function module Z. what does that fm need to contain? I have seen at this forum that is necesary to call standard API which use the key of the object modified? can anybody explain to me, how Ito know that key? is there a table where is saved?

Please, explain to me all this process.

Thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

thanks

AjithC
Employee
Employee
0 Kudos

Hi Maria,

As far as I remember, there were events for every actions; not sure about the object you are dealing with.

What to do in the action handler of the event is very simple.. Just sent a notification to DOE (MI 7.1). This can be achieved by calling the remote function MEREP_DELTABO. You need to pass the business object name (which is same as BEBO name in backend adapter of the data object), the action (ADD/MODIFY/DELETE) and the object key.

From the BTE you will know what object is modified (say a sales order). Now you need to find out the field(s) which are marked as key fields in Data Obejct (SyncBO) root node. Most of the times it will be same (say order id). Just use this in the notification call to DOE..

Regards

Ajith

Former Member
0 Kudos

Thanks Ajith Chandran but I continue with doubts.

The function that you mean can be used for MI 7.1 or only for 2.5. I remenber to see in others post that is necesary to use the next function: SMMW_BE_CALL_DELTABO. Which is the different between this function and MEREP_DELTABO?.

A part of this method that will be used for sent the object key to MI, How can I get that specific key of the object that I'm managing ( create, modify)? is it automaticallly captured with the own event? .

Sorry but my problem is that I can connect all the parts to make run this. I will to explain to you what I have understood.

I suposse that I have insert a event XXXX in BTE associated to a Zfunction. This Zfunction contains the method that you say and that method (MEREP_DELTABO) needs the key of the object that I have modified in R3. How can I get that key?

And another thing according to your answer before. The objects that my DataObject need to manage are Work Clearance Documents ( in r3 we use wct7,wct6..to manage them). In case that you have never work with this kind of objects and you dont know the expecific event. Is there any way to discover these events? with monitoring, trace, log o something like that?

Thanks very much.

Former Member
0 Kudos

Hi,

From MI 7.1 onwards , MEREP_DELTABO and SMMW_BE_CALL_DELTABO behaves in same manner. You can call either of the modules to push the data.

Key field is 256 char length. You should append all your keys(based on your data object backend keys) respecting the length and order of the keys. So either of the above FM can be called by passing the keys.

Regards,

Dhana

Former Member
0 Kudos

Thanks for your answer.

Then, thanks to you, I know that I can use either of that function modules. Those both functions have an import paramater where I have to introduce the key of the object that I have modified in R3, but how to get that key? Hoy do i know which key I have modified from R3?

For example, We are going to suppose that In R3 I would have a transaction to manage information about clients: name, age, job... identified by the name ( this param will be the key). Then I have with MI a DataObject to manage it too.

Then in BTE, i should register a event XXX with a function Zpeople_manage. This function should have implemented the method that you have said to me before. I know that the parameter key will be "name". If I modify the age for the cliente David (name). How do I know from my function Zpeople_manage, which person (identified by name) has been changed? From where do I obtain "David"?

Thanks very much.

Former Member
0 Kudos

Hi,

when you are editing the age of David, you must be selecting that DB table entry for Edit. (either via report/using DB utility)

And when the Save button is clicked/whenever you want to commit the changes, you already know which instance is being modified. So you can use that instance-name and call the corresponding BE PUSH function module.

if you are editing multiple entries, you can also pass those instances in one go.

~ Ramanath.

Former Member
0 Kudos

According to the last answer, How can i get the name of the instance that I have modified in R3? following my question before, If in the table, I have created to peoble with differents keys ( name) : David and Ana.

If I modify the age for Ana, the events XXX will be raised, and inside my function Z, I will call the function PUSH with the parameter person-name but How Do i know if the person is Ana o is David? How I know the exact name of the modified instance?

A part of this, Anybody knows if is there a transacction or a table where I can obtain the event raised by modifying for example the instance of an object PERSON( in my case)??

Thanks.

Former Member
0 Kudos

Hi,

Use table maintenance generator view for this.

Go through following link

|http://abap-help.blogspot.com/2008/07/how-to-handle-events-in-table.html]

Regards,

Dhana

Former Member
0 Kudos

Hi again.

is not there an easier way to discover which instance I'm modififying or changing and which is the event which has been raised? anything like activating a trace or a log?

I Have already discovered that my Do is workint with objects type WCD_OP.

Anybody knows which events are raised when a WCD_OP is changed or created with transaction WCR4 and WCT7?

thanks.

Thanks.

Edited by: Maria Elena Fernandez on Dec 1, 2009 6:24 PM

Former Member
0 Kudos

With table maintenance generator can I define that my own function module will be raised when for example, I modify a record from my table?

I know that my application create and modify entries for table WCAIT? Could I use this solution to create my own function module and it will be raised when I modify an entry from wcait?

Thanks.