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: 

How to get message type USERCREATE for RBDMIDOC

Former Member
0 Kudos

Hi,

Using the transaction code we81 i can see that there are messsage types for

a)USERCHANGE

b)USERCREATE

There is also a basic IDOC type for the same

a)USERCREATE01

b)USERCHANGE01

I have written a JCO server program which would listen for receiving the idocs from the SAP system.

I have used the sm59 trnsaction of type TRFC RFC connection.

I want to use the program RBDMIDOC to capture the changes done during the user create and user update.

When i excecute the program RBDMIDCO using the se38 ,it asked for message type .

I could not see the message type USERCREATE and USERCHANGE listed .

I read on sap forum how to add new message type for RBDMIDOC using trnsaction code BD60.

Here i added teh

message type  USERCHANGE

Ref messsage USERCHANGE

Function method BAPI_USER_CREATE1   (not sure what to put here).

Then i ran the program RBDMIDOC and selected message type as USERCHANGE

It threw an exception

When calling function module one paramter was not specfied .

Please check the attachment .

Let me know the steps i am following is right.

Regards

Manoj

7 REPLIES 7

Former Member
0 Kudos

Hi Guys,

Any update on this.

Should i write an function module here or does SAP provides an custom built in one.

If we need to write own ,how to proceed in this direction.

Regards

Manoj

0 Kudos

Did you complete all the basic configurations for change pointers ?

in transaction SALE go to node Modelling and Implementing Business Processes -> Master Data Distribution -> Replication of Modified Data

Activate the change pointer generally and for message type.

then use BD52 to define change relevant fields.

the last step is Program RBDMIDOC     

0 Kudos

Thanks Mrugesh for the reply

Activate the change pointer generally and for message type.

==>Done.

use BD52 to define change relevant fields.

==>How to proceed here .

Can you give me a clue .Since in SU01 transaction there are many tables updated behind the scene like USR01,USR02 ,etc.

Also for RBDMIDOC while giving the message type in BD60 transaction for USERCHANGE it requires and function module name to be specified .

Which function module name to give here .Do SAP provide an in built one or do we need to wite a new custom one.

Like for e.g. MASTERIDOC_CREATE_SMD_HRMD is already provided for HRMD_A message.

Regards

Manoj

0 Kudos

In BD52 you will need to give combination of object and table. 

I could not find a suitable object for you in list which is available in BD52.

Can you give details about your requirement ? what are you trying to achieve?

Based on what you have already written I think you may require some custom development.   

0 Kudos

Hi Mrugesh ,

The scenario is as follows:

We want to capture the delta changes which takes place in SAP client.

For e.g  In an SAP client 100 there are 100 administrative users (SU01).

I have written a java code to get the users with help of BAPI's  BAPI_USER_GETLIST and BAPI_USER_GETDETAIL.

The java code gets the 100 users .

Now in the SAP client 100 ,if the following changes are made

a)Added new user in client 100 .

b)Modified an exsting user

c)Deleted an existing user.

Now when i run the code second time or again ,i want to capture only this changes happened and not get the entire data.

Since i am interested in only the changes , i came to know that SAP supports this through ALE IDOCs.

Hence i came to the stage of activating change pointers.

Mrugesh ,one more thing i was wondering  ,in SAP CUA systems the data populated in central system is propagated to the  child system .This also happens through ALE.

So i was wondering if SAP supports an out of box stuff for doing this.

Regards

Manoj

0 Kudos

Mrugesh,

Is there anyother way of getting the changes (SAP tables ,where i can get the latest data based on time stamp)  instead of doing the ALE IDOC configuration.

Regards

Manoj

0 Kudos

User Administration is not my area of expertise. I went through SAP documentation on the topic. It is used for “An SAP system group consists of several SAP Systems with several clients.”

Is your receiving system also an SAP system? If yes then CUA is perfect fit for your requirement.

If the receiver is non SAP, CUA may not be useful in its off the shelf form. Found following documentation from SAP for CUA. 

http://help.sap.com/saphelp_46c/helpdata/en/cd/16b0cb100711d295750000e82de14a/frameset.htm

If CUA does NOT work then, you can check-out Report RSUSR100N.

The report is using following function modules to get the delta based on change time as an input.

SUSR_CHANGE_DOC_AUTH

SUSR_CHANGE_DOC_ERROR_LOG

SUSR_CHANGE_DOC_IDENTITY

SUSR_CHANGE_DOC_ROLES

SUSR_CHANGE_DOC_STATUS_HISTORY

SUSR_CHANGE_DOC_TECHNICAL

SUSR_CHANGE_DOC_USERS

If you want to PULL the data from SAP, you can simply call a RFC function module which calls above mentioned report with SUBMIT.

SUBMIT RSUSR100N EXPORTING LIST TO MEMORY AND RETURN.  

If you wish SAP to PUSH the data to receiver, you can check Events of Object USER (transaction SWO1). Then put an event handler to push the details using transaction SWE2. ( You can send the data using IDocs or using RFCs )

Following events are available:

  1. USER.created User created
  2. USER.cloned User created or changed
  3. USER.deleted User deleted
  4. USER.roles_changed User roles changed