IDOC EXTENSION FOR DEBCOR

Hi gurus,
can anyone of you please tell me step by step procedure to create an idoc extension, lets say for DEBCOR.
Thanks,
Rajeev

hi rajeev...
can u please share me the detail description of how to go for Idoc extension with an example.

Similar Messages

  • IDoc extension for HRMD_A07 - Error message B1-070

    I am trying to create a custom extension to HRMD_A07 to capture some additional data added to infotype 0001.  I have gone through the WE31, WE30, WE82, SM30 transactions to create the extension but when I try to test with PFAL I am getting the message B1-070.
    Internal error: Program read table idoc_structure, command
    data_select_for_block, argument ZHR_SEG
    The extractor appears to be trying to fill in the original HRMD_A07 basic type and the HRMD_A07 with the extension.
    Any hints?
    Thanks,  Rob.

    Dear Rob,
    Although your post's date is old but I would share my knowledge for whom has the same issue.
    Last day I had the same problem and could not find any solution on internet so I had to trace the code. Fortunately I managed to fix the problem My colleagues had extended an IDOC by a segment but after that the segment was deleted so I was getting an error in ALE.
    Issue comes "DATA_SELECT_FOR_BLOCK" method which is using I_DOC_DATA table that fills in PFAL transaction. thru running PFAL IDOC data reads from table T777D.
    Go into and find the related record and clear it
    By the way after that I found http://scn.sap.com/thread/3322338 useful
    Cheers,
    Omid

  • HRMD_A06 IDOC EXTENSION FOR INFOTYPE 0001 WHICH HAVING A ZFIELD

    hi folks,
    i am extending the idoc hrmd_a06. and in infotype 0001 we have zfield. for that z field extension is required. iam tryied with naming convention z1p0001 or ze1p0001. but it throws error from t777d table.so plz let me know how we extend it

    hi folks,
    i am extending the idoc hrmd_a06. and in infotype 0001 we have zfield. for that z field extension is required. iam tryied with naming convention z1p0001 or ze1p0001. but it throws error from t777d table.so plz let me know how we extend it

  • Problem in Idoc extension for PREQCR02

    Hi all,
    While extending Basic type PREQCR02 getting error "Action is not possible for generated Idoc types"
    Is it not possible to extend Idoc PREQCR02?
    Regards,
    Suresh.D

    Hi Suresh,
    The function exit and the include what you found is to read data from the IDOC segment into either internal table or structure.
    That's the first step which you have done is part of the below set:-
    EXIT_SAPLVEDA_001 & ZXVEDU03
    Now you need to populate the which you have read from the idoc into the document for that you need to write the code in the below set. The below one is a function exit which will be called during the BDC. You can see this below
    Aufruf Transaktion Auftragerfassung VA01                             *
    call transaction Order Entry VA01                                    *
            CASE xaprau.
    at line number 131 in the function module IDOC_INPUT_ORDERS.
    EXIT_SAPLVEDA_002 & ZXVEDU04
    Please let me know if you still have any further queries.
    Thanks,
    Mahesh.

  • Problem in Idoc extension for ORDERS05

    HI all,
    Am facing problem in inbound idoc, we have extended the Idoc ORDERS05 with one custom segment, and written the code in user exit EXIT_SAPLVEDA_001 and include ZXVEDU03 exit is triggering properly, sales orderis genarted successfull, but z-fileds are not updating in VBAK table,
    so plz help....
    Regards,
    Suresh.D
    Edited by: suresh dameruppula on Oct 20, 2009 2:39 PM

    Hi Suresh,
    The function exit and the include what you found is to read data from the IDOC segment into either internal table or structure.
    That's the first step which you have done is part of the below set:-
    EXIT_SAPLVEDA_001 & ZXVEDU03
    Now you need to populate the which you have read from the idoc into the document for that you need to write the code in the below set. The below one is a function exit which will be called during the BDC. You can see this below
    Aufruf Transaktion Auftragerfassung VA01                             *
    call transaction Order Entry VA01                                    *
            CASE xaprau.
    at line number 131 in the function module IDOC_INPUT_ORDERS.
    EXIT_SAPLVEDA_002 & ZXVEDU04
    Please let me know if you still have any further queries.
    Thanks,
    Mahesh.

  • Idoc extension for eewb custom fields for BUS20001

    Hello.
    I have an almost exact question as , but I still need to ask what I'm supposed to do.
    We've done enhancements in EEW and I can see some append structures in CRMXIF_BUSTRANS (for example). The problem is that when I generate outbound idoc the sturcture E101CRMXIF_BUSTRANS is missing the corresponding append structures.
    Why isn't EEW adding this, or do I have to generate/re-generate something?
    I've tried to Cancel release/release the ALE interface in BDFG, but with no results.
    I think the replications (initial load and delta load) to r/3 has all EEW modifications, but when it comes to idocs, it woun't change.
    Is the only solution to create a new idoc in bdfg and create a z-structure?
    The FM ALE_CRMXIF_ORDER_SAVE_M used for populating the idoc, would work if the structure E101CRMXIF_BUSTRANS was extended with the same appendstructure (since the only thing it does is a move-corresponding...).
    So, the question is if I have to create a new z-idoc, or if it's possible to regenerate the structure used in the idoc segments?
    Regards, Mikael Löwgren

    Hi,
    When you have ignored the inconsistencies, this means the complex structure fields and the corresponding Idoc Segment fields are different in the support package.
    If this is the case, when the Idoc is regenerated in Tx BDFG, you will find the message type will be in
    error when you press F9 to do the syntax check.
    There you will see the segments which are in error as well as the 'Interface is not current and it must be regenerated' error message.
    Check those segments listed in syntax check against the respective complex structure. If there are differences like if some fields are added or the data element is changed, kindly correct the segment fields via Tx IDOC.
    If you need to add fields to the segment, you need to increase the field length of the segment in EDISDEF table, which can be done in Tx IDOC --> Repair segments tab --> Change entries in EDISDEF table.
    There you can change the field length and then change the entries in EDSAPPL table.
    Similarly if you take out all the errors in the segments listed for a particular message type and try to release the Idoc, it will be released without any errors.
    This happens, as far as my understanding goes, mainly because the complex structures might under go some changes from the development side but not the Idocs. Since both are different entities, mostly these types of things happen.
    Do let me know  if this has helped you.
    Venkat

  • User exit for idoc extension for material master (matmas05)

    Hello all,
    I have 10 custom fields added to anl idoc of basic type matmas05.
    i created a new segment under parent segment E1MARA1
    Now i want to find out the user exit where in i can write a code to read the data of this segment and populate into the data base table.
    Can anybody provide me with the name of the user exit?
    Regards,
    Roshani

    Check enhancement MGV00001 in SMOD.
    Exit Fm is EXIT_SAPLMV01_002
    Regards,
    Naimesh Patel

  • Find Idoc extension type for Basic Idoc type

    Hi all,
    Is there any way to find existing extesions for Idoc given by SAP? For example, for basic idoc DEBMAS05 for version 4.7 , Idoc extension is DEBMASEXT.
    In similar way I want to know what is Idoc extension for Idoc basic type PREQCR02 [Create Purchase Requisition].
    Thanks in advance.
    Madhura

    The reason is preqcr02 is a generated idoc type  and matmas05 and debmas05 are not generated idoc types .
    You can search in table EDBAS for this .  If you go for dynamic debuggin , message comes from form
    create_ext_structure  in include MSED5F02 
    data: l_edbas type edbas.
      select single * from edbas into l_edbas
         where idoctyp eq edi_iapi01-idoctyp.
    if l_edbas-generated eq 'X'.
       message e099(b1) with
          'Action is not possible for generated idoctypes'.
    endif.
    Edited by: anil sasidharan on Feb 25, 2009 12:51 PM
    Edited by: anil sasidharan on Feb 25, 2009 12:59 PM

  • IDOC: Problem with data filter for IDOC extension field

    Hallo!
    I've created an idoc extension for the basic type DEBMAS06 that works fine. Now I want to use a data filter for one field ( company code ) of my segment. Every segment with a company code different from 100 should be filtered and not send to the other client. But what happend is that for all customers that have at least one company code different from 100, all segments including the one with cc 100 were deleted and a error "Segment ... does not exist for message type DEBMAS" appeared on the screen.
    Does anyone have any ideas about this problem?

    Not sure about changes to be made at the filtering options.
    An alternative would be sending the data to XI as it is and perform the mapping to remove the unnecessary segments.
    Disadvantage: Unnecessary processing of segment would be done at XI.
    Advantage: The integration logic would be completely handled by XI.
    Regards,
    Prateek

  • How to create an extension for generated type idoc

    Hi all,
    Can u please look into this
    How to create an extension for generated type idoc ?  for example Idoc type BATMAS02

    Enter transaction WE30 (ALE->Extension-> IDOC types->Maintain Idoc type)
    - Type in your name of the extended IDOC type (usually starting with 'Z') and click on the Basic IDoc type, click the create icon.
    - Click on Create new and enter a description and press enter.
    - Click on ZIDOCTYPE01 and then on the Create icon.
    - Enter ZIDOCTYPE as the segment type, click on Segment Editor.
    - Enter a description for your segment type and create.
    - Enter a description for your segment, enter each field required in your IDoc and press enter to validate.
    - Save and generate, press back
    - To release the segment choose Goto, Release from the menu.
    - Check the box on the line of your segment.
    - Save, back and enter.
    - Your Idoc type structure should be displayed with your new segment.
    - Save and back.
    - To release the Idoc type choose Extras, Release type from the menu and Yes.
    ALE FUNCTION MODULE ENHANCEMENTS
    Having extended the IDOC type to contain additional fields for an inbound or outbound application, you now want to enhance ALE function modules for populating the additional segment on the outbound or applying the additional segment data on the inbound application.
    The core working code for ALE processes for a given application area is always encapsulated in ABAP/4 function modules. These function modules are associated with such control information as message types and process codes. So the ALE process checks this control information and derives the name of the function module to invoke for that particular IDOC processing from certain database tables. These function modules contain objects known as customer functions, which can be considered SAP Enhanced user exits. A function module is called at a particular point during the processing of the main program or function module, and it can be used to influence data processing at that point by adding code to the customer function. The customer function behaves like a normal function module and has import and export parameters, tables (internal tables) statement, and exception processing. Unlike a conventional user exit, customer functions give you the ability to modify only data available to you by the function moduleâs parameters and internal tables. While most ALE/EDI function modules are supported by customer functions, there are ALE/EDI processes that still use conventional user exits. There are a few ways to determine which function module to enhance for a given message type/process code:
    • For master data distribution, from SALE go to Extensions -> Master data distribution -> Setup additional data for message types. Search for message type DEBMAS in this example. You see an entry for DEBMAS associated with function module MASTERIDOC_CREATE_SMD_DEBMAS. This data is stored on table TBDME. The function module names for all master data message types follow this pattern: MASTERIDOC_CREATE_SMD_messagetype. This function module calls another function module of name MASTERIDOC_CREATE_DEBMAS or MASTERIDOC_CREATE_messagetype. Search for the words customer function, and you find several hits that can be used to add code to the function module.
    • From WEDI got to Control -> Inbound process codes -> Inbound with ALE service -> Processing by function module (transaction WE42), or from WEDI go to Control -> Outbound process codes -> Outbound with ALE service -> With function module (transaction WE41). There will be function modules associated with the process codes. For inbound, the function modules usually follow this pattern: IDOC_INPUT_messagetype: for example, IDOC_INPUT_CHRMAS for inbound characteristics master.
    • Use transaction WE57 or from WEDI go to Development -> Message/Application Object. The entries list the function module, Business Object, message type, and IDOC type that are used for inbound ALE/EDI interfaces.
    Customer functions are not specific only to ALE and EDI but also to all programs/modules in SAP R/3. Customer function is a SAP enhancement component; the other two types are menu and screen enhancements.
    All customer function exits are maintained in SAP enhancements and are found by using transaction SMOD. After executing transaction SMOD, pull down (F4) on the enhancement name field, and execute again. This provides you with a list of all SAP enhancements available. SAP enhancements are grouped by development class pertaining to an application area. Choose Application development R/3 SD master data distribution for development class VSV to lead to a screen that lists VSV00001 as an enhancement (see Figure 5). Press Component +/- to display its function exit components. There are four possible components listed, all of which are function exits (and are function modules) that are called from the ALE function modules in the form Call Customer Function Î001â. This is a special occurrence of the ABAP statement Call. Go to item Exit_SAPLVV01_ 001, which you need to enhance for the Customer Master outbound example of an IDOC extension. In the ALE-function module MASTERIDOC_CREATE_DEBMAS, the statement CALL Customer Function 001 is translated in the background to call component EXIT_SAPLVV01_001. Although this function exit can be edited using transaction SE37, you will use a simpler approach.
    When you use SAP enhancements and their components, you manage them with an SAP object known as a project, which is like an envelope containing the selected enhancements and their components. A project can be used to control the execution of components and to transport them to other clients and instances in SAP. Basically, the process involves creating a project, including enhancements and components that are to be enhanced, editing the components, and then activating the project. The following process creates a project for our example Customer Master IDOC extension:
    • Execute transaction CMOD.
    • Enter name of project, say CSTMAST1.
    • Click on Create.
    • Enter a description of the project.
    • Save.
    • Click on SAP Enhancements.
    • Enter VSV00001 for Enhancement.
    • Save.
    Once youâve created the project, edit the function exit components and activate the project. Remember that the code in the function exit enhancement will execute only if the project is activated. In fact, this is a convenient SAP enhancements feature, whereby the work in progress (developing code in the customer function) will not affect users of that application. When the code is completed, the project can be activated so the enhanced functionality takes effect. It can also be deactivated for maintenance.
    As mentioned earlier, customer functions (function exits) are embedded in ALE function modules and can be used to influence the creation and modification of IDOC data on an outbound application or to post additional or modified IDOC data to an inbound R/3 application. Function exits are similar to regular function modules, with import/export parameters, tables (internal tables), and exceptions.
    The two important factors to consider while developing the customer function are:
    1. The point in the ALE function module where the function exit occurs
    2. The data made available by the customer function that can be modified or posted to the R/3 application, based on the direction.
    Because some function modules have several customer functions, it is critical to choose the function exit best suited for that particular enhancement. Do not attempt to perform activities that the function exit is not designed for. The importance of this point is illustrated by the following description of enhancing function modules for outbound and inbound ALE interfaces.
    Outbound interfaces. In an outbound ALE interface you use function exits (customer functions) to populate additional segments created by an IDOC extension or to modify the existing IDOC data segments as per business requirements. Previously, you identified that enhancement VSV00001 has a component EXIT_SAPLVV01_001 (function exit), which can be used for populating the additional data segment Z1SADRX that you created in the IDOC extension ZDEBMASX (IDOC type ZDEBMASZ, based on Basic IDOC type DEBMAS02). You also learned that the ALE function module that calls this function exit is MASTERIDOC_CREATE_DEBMAS, which has a statement Call Customer Function 001.
    Browse the function module MASTERIDOC_CREATE_DEBMAS using transaction SE37. You will find that this customer function is invoked for every segment of IDOC type DEBMAS02. In fact, the function exit is called soon after the creation of an existing segment has been populated with data and appended to the IDOC data table (internal table). Also, the function exit is exporting the message type, IDOC type, and the segment name and is importing the IDOC extension type. It is also passing the IDOC data internal table. This indicates that the ALE function module is allowing you to populate additional segments for every existing segment and modify the existing segmentâs data.
    Letâs write ABAP/4 code to accomplish the task of populating IDOC segment Z1SADRX with a contact personâs business address:
    • From SE37, display function module MASTERIDOC_CREATE_ DEBMAS.
    • Find Customer Function 001.
    • Double-click on 001.
    • The function EXIT_SAPLVV01_001 will be displayed.
    • Double-click on INCLUDE ZXVSVU01.
    • You will be asked to create a new include object. Proceed as desired.
    • Enter code (as in Listing 1).
    • Be sure to perform a main program check (Function Module -> Check -> main program) and extended program check (Function module -> Check -> Extended check).
    Now that you have extended the IDOC and enhanced the ALE function module based on the requirements for the contact personâs business address on the Customer Master, letâs test the interface. You should create a logical system and define a port for this interface. You should also configure the Customer Distribution Model to indicate that message type DEBMAS is being distributed to this logical system. The only difference in configuration between a regular outbound ALE interface and an enhanced one is the partner profile definition. While maintaining the outbound parameters of the partner profile, make sure the IDOC type is ZDEBMASZ. The fields for Basic IDOC type and extension type are automatically populated with DEBMAS02 and ZDEBMASX, respectively.
    To maintain the contact personâs business address of a customer:
    • Use transaction BD12 or from BALE go to Master Data ->Customer -> Send and send that Customer Master record by executing the transaction after filling in the relevant fields such as customer number, message type, and logical system.
    • Use transaction WE02 or WE05 to verify the IDOC created. You should see the new segment Z1SADRX populated with the correct data.
    With SAP releases below 4.5B, you cannot capture changes to business address through change pointers because a change document object is not available for capturing business address changes, and also earlier releases have not been configured to write change documents for a contact personâs business address. If you would like this functionality, you can either create change document objects, generate function modules to create change documents, and perform ALE configuration to tie it in, or make a cosmetic change to the contact person screen data while changing the contact personâs business address so that it gets captured as a change to the Customer Master. Subsequently, the ALE enhancement that you performed captures the contact personâs business address.
    Inbound interfaces. The process for enhancing inbound ALE interfaces is similar for outbound, with a few exceptions; specifically in the coding of customer functions (function exits) for the ALE/EDI function modules.
    The first step is to create an IDOC extension for the specific Basic IDOC type by adding new segments at the appropriate hierarchy level: that is, associated to the relevant existing segment. Populate the data fields on the new segments with application data by the translator or external system/program before importing them into the R/3 System. Then, find the ALE function module that is invoked by the inbound processing. By browsing through the code or reading the documentation on the function exit enhancements using the SMOD transaction, identify the function exit in which you should place your code. The technique used in the code to post the additional or modified IDOC data to the application can vary based on the application rules and requirements, the data available at that point in processing, and the application function modules available to update the application tables. It is important to search first for application modules that process the data and see if they can be called within the function exit. If the additional data in the extended segments in specific to a custom table or resides in nonkey fields of a single or small set of tables, you may be able to update it directly by SQL statements in the function exit. This approach should be carefully evaluated and is certainly not highly recommended.
    Another option is to use Call Transaction from within the function exit to process the additional data. For example, in the case of message type WMMBXY for inbound goods movements from a warehouse management system, the standard interface creates batches for materials, but does not update its characteristics. In such a case, you can use Call Transaction MSC1 to create the batch and assign characteristic values to it from within the function exit provided.
    regards,
    srinivas

  • Regarding IDOC Extension

    Hi Experts,
    I need to Extend IDOC <b>COND_A03</b> with 5 Custom feilds. This Idoc will be populating 10 tables like A932,A933,A34,A35,A36,A37....,.I need to extend in
    <b>IDOC_INPUT_COND_A</b> through exit CALL CUSTOMER FUNCTION '002'.
    Here the 3 feilds will be present in A932 table and there will be only 4 feilds in A933 table and 3 feilds will be present in A934 table and so on. I..e all the 5 custom  feilds will not be present in all the tables.
    How i need to build the logic so that when the data comes to that function module i need to populate only 3 feilds into A932 table and 4 feilds into A933 table and so on..
    How do i need to build the logic.., to post the data when the number  of fields differ from one table to the other.

    ALE FUNCTION MODULE ENHANCEMENTS
    Having extended the IDOC type to contain additional fields for an inbound or outbound application, you now want to enhance ALE function modules for populating the additional segment on the outbound or applying the additional segment data on the inbound application.
    The core working code for ALE processes for a given application area is always encapsulated in ABAP/4 function modules. These function modules are associated with such control information as message types and process codes. So the ALE process checks this control information and derives the name of the function module to invoke for that particular IDOC processing from certain database tables. These function modules contain objects known as customer functions, which can be considered SAP Enhanced user exits. A function module is called at a particular point during the processing of the main program or function module, and it can be used to influence data processing at that point by adding code to the customer function. The customer function behaves like a normal function module and has import and export parameters, tables (internal tables) statement, and exception processing. Unlike a conventional user exit, customer functions give you the ability to modify only data available to you by the function moduleâs parameters and internal tables. While most ALE/EDI function modules are supported by customer functions, there are ALE/EDI processes that still use conventional user exits. There are a few ways to determine which function module to enhance for a given message type/process code:
    • For master data distribution, from SALE go to Extensions -> Master data distribution -> Setup additional data for message types. Search for message type DEBMAS in this example. You see an entry for DEBMAS associated with function module MASTERIDOC_CREATE_SMD_DEBMAS. This data is stored on table TBDME. The function module names for all master data message types follow this pattern: MASTERIDOC_CREATE_SMD_messagetype. This function module calls another function module of name MASTERIDOC_CREATE_DEBMAS or MASTERIDOC_CREATE_messagetype. Search for the words customer function, and you find several hits that can be used to add code to the function module.
    • From WEDI got to Control -> Inbound process codes -> Inbound with ALE service -> Processing by function module (transaction WE42), or from WEDI go to Control -> Outbound process codes -> Outbound with ALE service -> With function module (transaction WE41). There will be function modules associated with the process codes. For inbound, the function modules usually follow this pattern: IDOC_INPUT_messagetype: for example, IDOC_INPUT_CHRMAS for inbound characteristics master.
    • Use transaction WE57 or from WEDI go to Development -> Message/Application Object. The entries list the function module, Business Object, message type, and IDOC type that are used for inbound ALE/EDI interfaces.
    Customer functions are not specific only to ALE and EDI but also to all programs/modules in SAP R/3. Customer function is a SAP enhancement component; the other two types are menu and screen enhancements.
    All customer function exits are maintained in SAP enhancements and are found by using transaction SMOD. After executing transaction SMOD, pull down (F4) on the enhancement name field, and execute again. This provides you with a list of all SAP enhancements available. SAP enhancements are grouped by development class pertaining to an application area. Choose Application development R/3 SD master data distribution for development class VSV to lead to a screen that lists VSV00001 as an enhancement (see Figure 5). Press Component +/- to display its function exit components. There are four possible components listed, all of which are function exits (and are function modules) that are called from the ALE function modules in the form Call Customer Function Î001â. This is a special occurrence of the ABAP statement Call. Go to item Exit_SAPLVV01_ 001, which you need to enhance for the Customer Master outbound example of an IDOC extension. In the ALE-function module MASTERIDOC_CREATE_DEBMAS, the statement CALL Customer Function 001 is translated in the background to call component EXIT_SAPLVV01_001. Although this function exit can be edited using transaction SE37, you will use a simpler approach.
    When you use SAP enhancements and their components, you manage them with an SAP object known as a project, which is like an envelope containing the selected enhancements and their components. A project can be used to control the execution of components and to transport them to other clients and instances in SAP. Basically, the process involves creating a project, including enhancements and components that are to be enhanced, editing the components, and then activating the project. The following process creates a project for our example Customer Master IDOC extension:
    • Execute transaction CMOD.
    • Enter name of project, say CSTMAST1.
    • Click on Create.
    • Enter a description of the project.
    • Save.
    • Click on SAP Enhancements.
    • Enter VSV00001 for Enhancement.
    • Save.
    Once youâve created the project, edit the function exit components and activate the project. Remember that the code in the function exit enhancement will execute only if the project is activated. In fact, this is a convenient SAP enhancements feature, whereby the work in progress (developing code in the customer function) will not affect users of that application. When the code is completed, the project can be activated so the enhanced functionality takes effect. It can also be deactivated for maintenance.
    As mentioned earlier, customer functions (function exits) are embedded in ALE function modules and can be used to influence the creation and modification of IDOC data on an outbound application or to post additional or modified IDOC data to an inbound R/3 application. Function exits are similar to regular function modules, with import/export parameters, tables (internal tables), and exceptions.
    The two important factors to consider while developing the customer function are:
    1. The point in the ALE function module where the function exit occurs
    2. The data made available by the customer function that can be modified or posted to the R/3 application, based on the direction.
    Because some function modules have several customer functions, it is critical to choose the function exit best suited for that particular enhancement. Do not attempt to perform activities that the function exit is not designed for. The importance of this point is illustrated by the following description of enhancing function modules for outbound and inbound ALE interfaces.
    Outbound interfaces. In an outbound ALE interface you use function exits (customer functions) to populate additional segments created by an IDOC extension or to modify the existing IDOC data segments as per business requirements. Previously, you identified that enhancement VSV00001 has a component EXIT_SAPLVV01_001 (function exit), which can be used for populating the additional data segment Z1SADRX that you created in the IDOC extension ZDEBMASX (IDOC type ZDEBMASZ, based on Basic IDOC type DEBMAS02). You also learned that the ALE function module that calls this function exit is MASTERIDOC_CREATE_DEBMAS, which has a statement Call Customer Function 001.
    Browse the function module MASTERIDOC_CREATE_DEBMAS using transaction SE37. You will find that this customer function is invoked for every segment of IDOC type DEBMAS02. In fact, the function exit is called soon after the creation of an existing segment has been populated with data and appended to the IDOC data table (internal table). Also, the function exit is exporting the message type, IDOC type, and the segment name and is importing the IDOC extension type. It is also passing the IDOC data internal table. This indicates that the ALE function module is allowing you to populate additional segments for every existing segment and modify the existing segmentâs data.
    Letâs write ABAP/4 code to accomplish the task of populating IDOC segment Z1SADRX with a contact personâs business address:
    • From SE37, display function module MASTERIDOC_CREATE_ DEBMAS.
    • Find Customer Function 001.
    • Double-click on 001.
    • The function EXIT_SAPLVV01_001 will be displayed.
    • Double-click on INCLUDE ZXVSVU01.
    • You will be asked to create a new include object. Proceed as desired.
    • Enter code (as in Listing 1).
    • Be sure to perform a main program check (Function Module -> Check -> main program) and extended program check (Function module -> Check -> Extended check).
    Now that you have extended the IDOC and enhanced the ALE function module based on the requirements for the contact personâs business address on the Customer Master, letâs test the interface. You should create a logical system and define a port for this interface. You should also configure the Customer Distribution Model to indicate that message type DEBMAS is being distributed to this logical system. The only difference in configuration between a regular outbound ALE interface and an enhanced one is the partner profile definition. While maintaining the outbound parameters of the partner profile, make sure the IDOC type is ZDEBMASZ. The fields for Basic IDOC type and extension type are automatically populated with DEBMAS02 and ZDEBMASX, respectively.
    To maintain the contact personâs business address of a customer:
    • Use transaction BD12 or from BALE go to Master Data ->Customer -> Send and send that Customer Master record by executing the transaction after filling in the relevant fields such as customer number, message type, and logical system.
    • Use transaction WE02 or WE05 to verify the IDOC created. You should see the new segment Z1SADRX populated with the correct data.
    With SAP releases below 4.5B, you cannot capture changes to business address through change pointers because a change document object is not available for capturing business address changes, and also earlier releases have not been configured to write change documents for a contact personâs business address. If you would like this functionality, you can either create change document objects, generate function modules to create change documents, and perform ALE configuration to tie it in, or make a cosmetic change to the contact person screen data while changing the contact personâs business address so that it gets captured as a change to the Customer Master. Subsequently, the ALE enhancement that you performed captures the contact personâs business address.
    Inbound interfaces. The process for enhancing inbound ALE interfaces is similar for outbound, with a few exceptions; specifically in the coding of customer functions (function exits) for the ALE/EDI function modules.
    The first step is to create an IDOC extension for the specific Basic IDOC type by adding new segments at the appropriate hierarchy level: that is, associated to the relevant existing segment. Populate the data fields on the new segments with application data by the translator or external system/program before importing them into the R/3 System. Then, find the ALE function module that is invoked by the inbound processing. By browsing through the code or reading the documentation on the function exit enhancements using the SMOD transaction, identify the function exit in which you should place your code. The technique used in the code to post the additional or modified IDOC data to the application can vary based on the application rules and requirements, the data available at that point in processing, and the application function modules available to update the application tables. It is important to search first for application modules that process the data and see if they can be called within the function exit. If the additional data in the extended segments in specific to a custom table or resides in nonkey fields of a single or small set of tables, you may be able to update it directly by SQL statements in the function exit. This approach should be carefully evaluated and is certainly not highly recommended.
    Another option is to use Call Transaction from within the function exit to process the additional data. For example, in the case of message type WMMBXY for inbound goods movements from a warehouse management system, the standard interface creates batches for materials, but does not update its characteristics. In such a case, you can use Call Transaction MSC1 to create the batch and assign characteristic values to it from within the function exit provided.
    regards,
    srinivas
    *reward for useful answers*</b>

  • Help Everyone: IDOC Extension Problem

    Hi All,
    Ive created an idoc extension for idoc type ORDERS01. I appended an extension ZE1EDK01 below header segment E1EDK01. Im trying to populate this through an exit but I cant seem to find the right values for these specifically the segnum and hlevel:
      wa_edidd-MANDT  = SY-MANDT.
      wa_edidd-SEGNUM = '000002'.
      wa_edidd-SEGNAM = 'ZE1EDK01'.
      wa_edidd-PSGNUM = '000000'.
      wa_edidd-HLEVEL = '02'.
      wa_edidd-DTINT2 = '1000'.
    How do I determine the values above?
    Also, I created an extension for item data segment E1EDP01. Im directly modifying the internal table of the IDOC and I want to populate the extension per line item in the idoc. How do I do this? Do I just append entries to EDIDD? How do I ensure that each entry appended corresponds to the correct line item?
    Please help. I really need to finish this in 2 hours.
    Thank you so much.
    Best Regards,
    Kenny

    Hi,
    I get what is the issue here. <b>It is not because of using CASE statement or IF condition in LOOP</b>.
    You are using user-exit EXIT_SAPLEINM_002. This user-exit triggers for each segment added to IDOC. So this is what is happening.
    - Segment E1EDK01 is added then user-exit triggers and it adds ZE1EDK01 segment.
    - Now the next segment is E1EDK14. After this segment also the exit trigges. When you loop at int_edidd the very first segment is E1EDK01 and it again adds ZE1EDK01 segment.
    So, for each segment in IDOC this exit triggers and add segment ZE1EDK01 under E1EDK01.
    <b>The solution is to use user-exit EXIT_SAPLEINM_011 instead.</b>
    This is very last user-exit which trigges in FM IDOC_OUTPUT_ORDERS and it has all the segment in it. So there is nothing wrong with your code but you are using wrong user-exit.
    Let me know if you have any question.
    Regards,
    RS
    Actually Srinivas is also right. If you use the user-exit EXIT_SAPLEINM_002 without using loop command and only using CASE statement it will work. <b>OR</b> you use user-exit EXIT_SAPLEINM_011. Its upto you.
    Message was edited by:
            RS

  • IDoc processing for same message type but diff extensions

    Hi
    I want to send idoc when a material is changed. Everything is in place and have also done a test scenario. In partner profile i had the message type linked to basic type and tested which is fine. Now i wanted to have one more idoc created for another extension having the same basic type and linked to the same message type. Have maintained the same in WE20 but when i executed BD10 i could only see one idoc been generated but i need to see two idoc (one for basic type and another for the extended) not sure where i'm missing. any pointers on it pls?

    Hi ,
    if you want to trigger the idoc  two times for basic type& Extension..
    1 ) you need to maintain  WE20 Partner Profiles (This is good already you did)
              --> But the Output type for Bsic type & extension type is same so output type is triggered Once so idoc is created One.
    2) try to create another Output type in T-code NACE for extension then two Idocs is created one for Basic and another for Extension.
    Regards,
    Prabhudas

  • IDoc extension not passing to PI at runtime

    Hello Gurus,
    We have a DELVRY05 IDoc which was extended with a new segment.  This has been working very well and is in our production environment.  We are now in develpment with a new modification and have added two new fields to the extended segment.  We are able to import the IDoc and complete the mapping changes in PI using the new fields. However, when we test the changes, we do not see the new fields being populated in the Inbound Message Payload.
    I have searched through many of the existing forums which led me to perform cache updates.  Still we have the issue.
    We are using ECC and PI 7.0.
    The new fields are visible in WE02.
    The new fields do not show in the Inbound Message Payload in PI.
    We have updated the following:
    Java VM Cache Refresh:SLD Cache
    Java VM Cache Refresh:Value Mapping Guid Cache
    Java VM Cache Refresh:Value Mapping Group Cache
    Java VM Cache Refresh:Value Mapping Value Cache
    Java VM Cache Refresh:Cache for Softwarecomponents
    Java VM Cache Refresh:Adapter metadata
    Our Basis guy then did these:
    Xi Data Cache Refresh: http://<system>/CPACache/refresh?mode=partial
    Xi Data Cache Refresh: http://<system>/CPACache/refresh?mode=full
    Any assistance that can be provided will be greatly appreciated.
    Thomas

    Hi,
    Have you tried IDX2??
    Mark the idoc type for which you have added extension and delete it.
    The first time you send the idoc through it will be added to IDX2 again and have the new fields.

  • IDOC extension (segment cannot be identified)

    Hi all,
    I have IDOC DEBMAS configured, but when I trigger 1 customer from BD12, the IDOC is failing with status 26 error segment cannot be identified.
    In WE82, we have the following:
    DEBMAS     DEBMAS06                     470
    DEBMAS     DEBMAS06     ZDEBMAS06     470
    I only need the standard structure without extension but we have one interface using the same IDOC with extension.
    In the partner profile(WE20), i set DEBMAS in the message type, DEBMAS06 in the basic type, and blank in the extension.
    What could be missing in the configuration?
    Thanks,
    Nene

    Extension segment is being populated in the user-exit. Only insert extension for specific output type. Closing this thread.

Maybe you are looking for

  • Is it possible to integrate LSO 600 with an external system without SAP PI?

    Hi, as asked in the title, i am wondering if it is possible to integrate LSO 600 with an external (non-SAP) system without using SAP PI/XI. The external system is a middleware application which can handle RFC functions, IDocs besides the usual web se

  • How can i see what phobe hacked into my account

    I got an email saying my password was changed. Is there anyway I can tell what phone or any other information as far as what kind of phone or anything else to that matter. I think I know who did it but how can I tell if anyone else is on my account ?

  • How to include Aperture web gallery in dreamweaver site

    With the demise of mobile me I need to find a way to keep my personal website photo albums (web galleries) that I currently publish via Aperture web gallery and then use a hyperlink from my Dreamweaver web site. This means visitors can view the photo

  • In design wont launch

    My in design wont launch it wouldn't update before I have uninstalled and re installed several times it fails to launch now my dream weaver won't launch the only products that work from the cloud is my Photoshop, bridge, and illustrator. Plus I canno

  • Keyboard shortcuts cause window deselect

    Hi everyone, I've been having a strange problem with Photoshop CS6 since upgrading to OSX Mavericks a few weeks ago. Whenever I use a keyboard command repeatedly ie. to increase or decrease a brush size it will work for the first few presses but will