Skip to Content
author's profile photo Former Member
Former Member

Extending IDoc MDM_FUNCLOC_SAVEREPLICA - a generated IDoc Type

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: http://help.sap.com/saphelp_470/helpdata/en/df/0495e4bd6f11d1ad09080009b0fb56/frameset.htmhttp://help.sap.com/saphelp_470/helpdata/en/df/0495e4bd6f11d1ad09080009b0fb56/frameset.htm">http://help.sap.com/saphelp_470/helpdata/en/df/0495e4bd6f11d1ad09080009b0fb56/frameset.htm>) 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

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Nov 01, 2007 at 02:41 PM

    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

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      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

  • author's profile photo Former Member
    Former Member
    Posted on Aug 08, 2008 at 01:53 AM

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

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

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 08, 2008 at 12:13 PM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      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

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.