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: 

Extending IDoc MDM_FUNCLOC_SAVEREPLICA - a generated IDoc Type

Former Member
0 Kudos

Folks

This is a complicated query so please bear with me...

My requirement is to distribute functional locations to another (non-SAP) system whenever they are created or changed. I would like to do this using near-enough-to standard functionality.

My solution is to set up change pointers for message type MDM_FUNCLOC_SAVEREPLICA and use program RBDMIDOC to create and send the IDocs. So far, this all works ok.

My problem is that the standard IDoc structure does not contain all the fields I require - most notably, the functional location <b>status</b> is missing (this seems like a BIG oversight!! But anyway...) I tried to extend the basic type using trans WE30 however I got the message that the "action is not possible for generated IDoc types". (See SAP Note 913901) It's basically saying that because the MDM_FUNCLOC_SAVEREPLICA IDoc type was generated from the busines object BUS0010EXT that I need to extend the business object first and then simply regenerate the IDoc type. Fine! So I tried to extend the business object and redefine the SAVEREPLICA method to add a new parameter so that it would end up in the generated IDoc structure. However to add a new parameter to the method I need to specify with which parameter in the BAPI it corresponds - unfortunately there is no "Status" parameter in the BAPI.. this is the whole reason I am trying to extend the object!!

If you look at the SAP Help on modifying BAPIs (here: <a href="http://help.sap.com/saphelp_470/helpdata/en/df/0495e4bd6f11d1ad09080009b0fb56/frameset.htm">http://help.sap.com/saphelp_470/helpdata/en/df/0495e4bd6f11d1ad09080009b0fb56/frameset.htm</a>) they suggest creating a subtype for the business object (done!) and then changing the definition of the inherited BAPI by creating a new function module (basically a clone) or change the existing one (SAP Mod) - neither of which I want to do for upgradability reasons.

It looks like I've hit a dead end.

On top of this, if you look at the standard function module (MDM_IDOC_CREATE_SMD_FUNCLOC) that reads the change pointers, extracts the func loc data and creates the IDoc, there are no user exits or BAdIs that allow you to populate the data in the extension segments anyway, so I'm not sure how useful the extension would eventually be...

I'm starting to think that there isn't a SAP standard method to extend the Functional Location IDoc type without doing a SAP Modification... Can anyone confirm this?

Does anyone have any other suggestions regarding a SAP standard method to distribute this data?

Thanks a lot!!!!

Glen

5 REPLIES 5

Former Member
0 Kudos

hi glen

i am working in ecc 6.0

i need to extend generated idoc type SHP_OBDLV_SAVE_REPLICA02

when i am trying to extend this one i am getting error "action not possible for generated idocs".

i checked sap note its telling that first extend business object because its generated based on busineess object.

how to extend this, i checked transactions BDBG and BDFG i didnt get any idea

how to extend this one. can you please suggest me. <b>this is the urgent requirement?</b>

did u solved ur problem.

can you help regarding this i am very much thankful to you?

regards

prathap

0 Kudos

how to extend the object type and extend the the idoc type

for this perticular idoc type is SHP_OBDLV_SAVE_REPLICA02

object type is likp.

if u will send some information it will great for us

waiting for ur reply

Former Member
0 Kudos

Question not answered so I'd like to close the thread...

(Is there a way to close a thread without marking it as answered?)

Former Member
0 Kudos

Hi,

In this case you have only one option that is you have to create one basic idoc in we30 with your required fileds and create your own program to create idoc.

For this simply read the change pointers data by using the tables CDHDR,CDPOS and then populate the data in the table structure like EDIDD.Then pass this table to the FM MASTER_IDOC_DISTRIBUTE by passing EDIDD and control data then your problem will resolve and this not so much complex also.

Thanks,

radha.

0 Kudos

Thank you for your response Radha but the whole reason I posted this thread was to find a SAP standard way to distribute the data. I wanted to avoid as much custom development as possible.

The question has not been answered but I'm marking it as such to close the thread.

Regards

Glen