cancel
Showing results for 
Search instead for 
Did you mean: 

Real Time Customer Master idoc

Former Member
0 Kudos

For a real time integration scenario of cust master idocs ,i had customized the customer master msg type Debmas to ZDEBMAS & used method CUSTOMER_ADD_DATA, method used SAVE_DATA & CHECK_ADD_ON_ACTIVE , for triggering the idoc whenever i press save button in XD01& i'm calling BD12 (BDC using call trasaction) in this method( CHECK_ADD_ON_ACTIVE ). the problem is that for some users when they logs in for the first time & creates any customer (XD01), idoc didn't get generated for the first time , this may occur for 2-3 times or some times it get generated after the first time itself ,after that when we go for next create, change or Block , it starts triggering Idoc & can be checked in WE02 as programmed.I need ur valuable solutions for this particular problem....................

Edited by: Joseph Christy on Apr 25, 2009 7:31 AM

Edited by: Joseph Christy on Apr 25, 2009 7:38 AM

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

if I correctly understand the process you try to setup:

At save time of a customer master data,you want to distribute it via idoc.

Currently, you try from BAdI method SAVE_DATA to generate your idoc.

Well, to me, there is NO insurance that the customer is already created when your custom process triggers BD12.

So, for me except if your try to define a process which is really time based, I would process that you simply remove the BAdI and setup a job that sends customers per change pointers every 5 minutes for example.

This will be more simple and more reliable.

If you really need that the sending process is trigger at save time, then I would suggest the following.

In method SAVE_DATA or BTE 1321, start a routine that will ensure that BD12 is triggered after the customer has reached the database. In other words, the commit is fully finished.

Nota: DO NO TRIGGER THE COMMIT WORK YOURSELF

So my suggestion follows:

  • method SAVE_DATA will trigger a custom FM in update task.

  • In this FM, you will trigger either BD12 directly in BDC or start a new task that will call BD12 in BDC.

This should work because, the update task triggered from SAVE_DATA will be enqueued after the real saving on the database of the customer in update task too.

Please try to take the first option above. You process will be more simple and easy to support.

Hope this helps.

BR

Alain

Former Member
0 Kudos

Hi Joseph,

It all depends on which parameters you are passing when calling BD12. These parameters should be in sync with how you have described the Distribution model then only it will generate IDOC.

Let me know if this clarifies.

Regards

Shital

Former Member
0 Kudos

It all depends on which parameters you are passing when calling BD12.

i'm using BDC (call transaction) & i'm passing all the Mandatory parameters like Customer ,o/p type & Logical system.

These parameters should be in sync with how you have described the Distribution model then only it will generate IDOC.

My first Question is how u can make it *SYNC* itwith the distribution model....plesae explain briefly...

ur help will be appreciated.......

Former Member
0 Kudos

Well by In Sync I mean Distribution model should have those message type defined for the Particular Logical system that you are passing also there should not be any additional filters which may stop generating Communicatio IDOC.

Hope this throws some light.

Regards

Shital