Issue in Extension of ARTMAS05 IDoc

Hi Experts,
We need to extend the standard IDoc ARTMAS05 to add 70 user specific fields.
when i'm doing the extension in WE30, i'm getting the below error.
" Action is not possible for generated IDoctypes"
in SAP Note 913901 , it says that we can't extend the genarated IDoc types.
" The extension concept for interfaces in Transactions BDBG and BDFG does not
work with extensions for the IDoc types created using Transaction WE30.
When you create extensions in Transaction WE30, the system does not check
whether the IDoc type for which you are creating the extension has been
generated.
You cannot create an extension for a generated IDoc type."
Please suggest what is the alternative way to extend.
thanks in advance
Rahul
Edited by: Rahul Gautam on Feb 18, 2010 12:01 PM
Edited by: Rahul Gautam on Feb 19, 2010 3:59 AM

Hi Anup,
Thanks for replying. But as per my requirement i have to extend the standard Idoc type ARTMAS05. And as per my understanding BAPI_IDOC_INPUT1 will works and it will trigger another inbound FM inside it. And my requirement will not allowing me to copy the standard IDoc to ZIDoc
Please reply is there any other option to Extension ARTMAS05.
Thanks
Rahul

Similar Messages

  • Non English characters conversion issue in LSMW BAPI Inbound IDOCs

    Hi Experts,
    We have some fields in customer master LSMW data load program which can
    contain non-English characters. We are facing issues in LSMW BAPI
    method with non-English characters Conversion. LMSW steps read and
    conversion are showing the non-English characters properly with out any
    issue. While creating inbound IDOCs most of the non-English characters
    replaced with '#' and its causing issues in creating customer master data in
    system. In our scenario customer data with non-English characters in
    the first name, last name and address details. Any specific setting
    needs to be done from our side? Please suggest me to resolve this issue.
    Thanks
    Rajesh Yadla

    If your language is a unicode tehn you need to change the options  like IN SAP you need to change it to unicode  in the initial screen Customize local layout(ALT F12) options 118  --> Encoding ....

  • Extension of generated Idocs types

    hello,
    does anybody knows why I can not create extension of generated (means in table EDBAS-GENERATED = 'X') idocs?
    I tried to extend idoc BATMAS03 on R/3 Ecc 6 and got message:
    message e099(b1) with
             'Action is not possible for generated idoctypes'
    In former version of R/3 4.6C it was possible to extend such IDoc BATMAS02 (generated one) without any problems.
    Of course I found in program MSED5F02  in routine CREATE_EXT_STRUCTURE new (in comparison to 4.6C) extra check which protects against extension of generated IDocs, but I want to get to know what was behind that decision or how to workaround that problem.
    Thanks in advance,
    Marcin

    Hi,
    User Exits are used to populate data in new segments added and to read them
    back which provides extension to existing idocs.
    IDOC EXTENSIONS
    SAP delivers Basic IDOC types such as DEBMAS02, MATMAS02, ORDERS02, and WMMBID01. By extending the Basic IDOC type, you are actually creating a new IDOC type. You create a new segment with the additional fields. This new segment has to be associated with one of the existing Basic IDOC segments. Then you create a new extension type, which is associated with the Basic IDOC type. This results in a new IDOC type. In order for ALE function modules to relate to this new IDOC type, the IDOC type is linked to the corresponding message type. Note that you should not add fields to existing segments but should create a new segment and associate it with an existing segment. This, in a nutshell, is the process of creating IDOC extensions.
    In our example, the Basic IDOC type DEBMAS02 is used to communicate Customer Master data to the SAP Customer Master application. Even though the application has a screen to enter and store a contact personâs business address (see Figure 1), DEBMAS02 does not have a segment or fields that communicate the contact personâs business address. If your business requires that this business address be communicated to the other system through the ALE interface for Customer Master, then you have to extend the DEBMAS02 IDOC type, and enhance the corresponding ALE function module.
    In DEBMAS02 the contact person fields are present in segment E1KNVKM and the business address of the contact person is stored on the SADR SAP table. You need to create a new segment, Z1SADRX, that is associated with E1KNVKM. This will be done in the process of creating an extension type ZDEBMASX. This extension type will then be associated with a new IDOC type, ZDEBMASZ. IDOC type ZDEBMASZ will be linked to message type DEBMAS for Customer Master. The final step in the IDOC extension process is to check the new objects. This check also verifies the structural integrity of the IDOC type. Letâs look at each of these steps in more detail.
    1. Create an Extension Type and a New Segment.
    First, determine the fields on table SADR that you are going to provide for in the new segment Z1SADRX. You need fields for name, street, city, region, and country to give the business address of the contact person. You also need fields for the address number. ADRNR is a field in SAP tables such as SADR that uniquely identifies the address of an entity. This field is cross-referenced from other tables to the SADR table to obtain the full description of the address. Because this is an IDOC type for master data, the first field of the new segment will be MSGFN. The message function field informs the receiving system of the action to be taken for that particular segment. In the code that you write for populating the new segment, the value of the message function is the same as that of the parent segment E1KNVKM. In all, you will have 12 fields in segment Z1SADRX (see Table 1).
    To create an extension type and new segment:
    Use transaction WE30 or from WEDI go to Development -> IDOC types.
    Enter ZDEBMASX for Object Name.
    Choose Extension Type.
    Click on Create.
    You will see a pop-up screen. Choose Create New, and enter a description. For version 4.x, enter DEBMAS02 in the Linked Basic Type field. Enter.
    You will see a screen with ZDEBMASX and its description in the first line. Click on this line, and press Create. For version 4.x, expand the tree of segments, and place the cursor on E1KNVKM.
    You will see a pop-up screen. Enter E1KNVKM as the reference segment. Enter.
    For 4.x, press Create after placing the cursor on segment E1KNVKM.
    You will see a line appear with E1KNVKM hierarchically below ZDEBMASX, with a description "Customer Master contact person (KNVK)."
    Click on this line and press Create. You will receive a message indicating that the new segment being created will be a child segment of E1KNVKM. Enter. A pop-up box appears for the new segment.
    Enter Z1SADRX as the segment type, 1 for Minimum, 1 for Maximum. Leave Mandatory segment unchecked. These entries imply that there is only one Z1SADRX segment for every occurrence of the E1KNVKM segment, and also that this segment is not mandatory. Note that if the parent segment is not mandatory, then the child segment should not be mandatory, because this could result in a syntax error during the creation or processing of the IDOC.
    For 4.x, you must first create the IDOC segment Z1SADRX (Iâll explain why in a moment) from the menu path WEDI -> IDOC -> Development -> IDOC Segment.
    Click on Segment Editor.
    On the next screen, click on Create.
    Enter a development class for the object. Enter.
    This will take you to the screen for segment definition. Enter a description for the segment. Enter the field name, data element, and the data element documentation name. In most cases, all three fields may have the same values. If you are using a field in the segment that is not present in the ABAP/4 data dictionary, you must first create the domain, data element, field, and appropriate documentation before using it in the new segment.
    Enter these three columns for all 12 fields. Save.
    Click on Generate/Activate, F3 to step back.
    From screen Maintain Segment, go to Segment Type -> Release. A checkbox now appears beside the segment definition Z1SADRX (see Figure 2). Check this box. Save. Save again to store the descriptions of the segment, F3 to step back.
    Save the extension type.
    It is possible to have several new segments with relevant Basic IDOC type parent segments in a single extension type. However, you can form only one IDOC type based on a single extension type.
    Pls reward helpful points.
    Regards,
    Ameet

  • HRMD_ABA05 extension issue. Extension segment not present in idoc.

    hi all,
    i have built the extension of the  HRMD_ABA message type following the istruction of note 105148.  My goal is to export the infotype 41 .  Soi have done:
    1) creation of segment Z1P0041 from E1P0041 ( WE31 )
    2) creation of extension ZHRMD_ABA05 from HRMD_ABA05 basic type
    3) updated the T777D table for 0041 infotype
    4) updated the partner profile for the receiver ( WE20 ) 
    5) updated the idoc tpye assignment ( WE82 )
    6 ) updated the receving system idoc input set up ( WE57 )
    7) updated the distribution model ( BD64 )
    Debugging the outbound process from PFAL  i can watch the Z1P0041 segment as output of RH_MASTER_IDOC_DISTRIBUTE_HRMD  but  i can't view the segment into the idoc.
    Can you help me?
    Thanks and regards. Luigi.
    Edited by: luigi la motta on Feb 8, 2011 9:48 AM

    I have solved my problem explained into the previous post.
    I have coded into the following enhancements of the sender system:
    a) badi HRALE00OUTBOUND_IDOC
    b) user exit EXIT_SAPLRHA0_004
    c) user exit EXIT_SAPLRHA0_001.
    Regards luigi.

  • Storage Issue in Database while executing Idoc to Jdbc scenario

    Hi,
    I am testing an Idoc to JDBC scenario. The scenario executes correctly, but the number of records getting stored in the database are not equalling the data present in the Idoc.
    Eg: If the Idoc has data for around 75000 records to be saved, only around 50000 records are getting saved in JDBC SQl server database.
    Please let me know what could be the issue and how to resolve it.
    Regards
    Kiran.

    Check the output XML in XI;ie, the output of your mapping. Does it have the same number of records as the Idoc? if no the issue is in the mapping.
    Regards
    Bhavesh

  • Issue:EDI: Syntax error in IDoc (mandatory segment missing):Idoc extention

    Hi all,
    I have extended the the standard IDOC MATMAS05  classification view with structure as below-
    E1MARAM                        Master material general data (MARA)--->Mandatory segment
         Z1KLART                        KLART --->Extended chaild to E1MARAM
             Z1CLASS                        segment for class --->Extended chaild to Z1KLART
             Z1CHARACTERISTIC               CHARACTERISTIC --->Extended chaild to Z1KLART
         E1MARA1                        Additional Fields for E1MARAM
         E1MAKTM                        Master material short texts (MAKT) --->Mandatory segment(Child   to                                                                               
    E1MARAM )
    I am getting an error in IDOC fro material master as:EDI: Syntax error in IDoc (mandatory segment missing ).
    Diagnosys By system is :*The segment E1MAKTM has the attribute 'Mandatory' in the syntax description of the basic type MATMAS05 (customer enhancement ZMATMAS05). However, the segment is missing in the IDoc. The segment number logged in the status record identifies the item before which the segment is missing.
    This error may have been triggered by an unidentifiable segment before the expected mandatory segment.*
    Please help to resolve the issue.
    Thank you.
    Edited by: sanu debu on Apr 30, 2009 11:25 AM
    Edited by: sanu debu on Apr 30, 2009 11:31 AM

    Hi,
       You cannot add an segment in the middle of other segments.
    YOu have to add any segment at the last.
    If you want to add a segment as the child of another segment, it should be added after the last child of the parent segment.
    In you case, you have to add your segment after the E1CUCFG segment.(NOt under that segement)
    Regards,
    Ravi Kanth Talagana

  • Issue: "No Authorization to send Idocs with message type Orders" - IDX5

    Hi All,
       I am working on a File to IDoc(Orders.Orders05) scenario. The sender is PI Server and the receiver is the SAP ISR system. A technical system has been created in PI SLD for the ISR system and a Business system is added to that. The logical system created in ISR system using Tcode BD54 is added to the business system in PI. A new RFC destination is created in PI system to connect to the ISR system.
      On the ISR system Partner profile is created using TCode we20 with the same logical system name already created using Tcode BD54.
    When sxi_monitor is executed on the PI system, It shows checked flag on the Inbound side and Red flag on the Outbound side. And when idx5 is executed, it shows the new Idoc number and when it is double clicked, it shows the Status Text as
    "No Authorization to send IDocs with message type Orders".
    All authorizations have been provided on the Sender side.
    Please let me know if any authorization need to be provided on the ISR system or Is this an error on any settings.
    Thanks in Advance.
    Stalin S.

    Hi,
    Check this Thread which deals with the Authorization Issue
    RFC Adapter
    And also check this how to check whether u have sufficient authorization to send the Idocs or not
    To test the Authorization check
    Double click the RFC Destination that u have created in XI towards R/3 in SM59
    Select UtilitiesTestAuthorization test
    By this you can come to know whether your user is having the propper authorization or not
    REgards
    Seshagiri

  • Unit of measure issue when PGI done through IDOC

    Dear Experts
    In my system PGI against outbound delivery is being done through inbound idocs in SAP. In my outbound delivery the sales unit is maintained as CS (Case) and BT (Bottle). The quantity in my delivery is 10 CS and 10 CS for both the line items. When IDOC is getting posted in SAP it has quantity as 10 in field LFIMG of segment E1EDL24 of IDOC type DELVRY07 for both the line items. We are not passing any unit in the field VRKME of segment E1EDL24 of the IDOC. The IDOC gets successfully posted but when I check the PGI document the it shows quantity as 0,417 CS and 0,0833 CS.
    1 CS = 24 BT for material 10002616
    1 CS = 12 BT for material 10002617
    Base UoM for both the materials in the delivery is BT. What SAP is doing is converting the CS quantity in terms of base UoM. I have attached the PGI document and outbound delivery screenshot for reference.
    After PGI the outbound delivery line item quantity changes as shown in the attachment.
    Please let me know how to resolve this conversion issue so that I pass the same quantity as in my outbound delivery in IDOC and PGI should get posted with any change in quantity in my outbound delivery in terms of base UoM.
    Thanks and Regards
    Satish Kumar

    Hello Sathish,
    I have some information for you instead of solution.
    First, Let me repeat my Understanding first,
    Material Base UOM is BT.
    But, Delivery Unit is CS. that I could see in Delivery Screen shot.
    This Conversion will be carried to Delivery. We can see in Delivery item level that information.
    Here the point that we need to remember is, Once the Delivery is created, the UOM will be carries down to Delivery tables ( LIKP, LIPS ). That means, For further Transactions, System uses the UOM which is carried down to the delivery.
    So, During PGI, Delivery already with UOM CS, So, System posted the PGI in same UOM. But, When it comes to display, in your above screen shot, you can see both UOMs. i.e., UOM and Base UOM.
    We have two lines here.
    0.417 Qty and UOM as CS - First line - Because, your delivery is already in CS UOM.
    10 Qty of Base UOM as BT - Second line - This is the conversion happened for PGI.
    As of now, I do not see any issues with your delivery. It created UOM as CS. And, Posted UOM as CS.
    I really do not understand the conversion issue that you have mentioned above. Now, Can you tell about your issue again.
    For resolution, you need to run the fresh scenario again.
    Regards,
    Sathish

  • Userexit for extension of TPSSHT01 IDOC

    Hi..
    I have created an extension of the shipment idoc TPSSHT01... this extension has 2 fields VSBED and TNDR_TRKID.... Now the IDOC is inbound, so i need to write code in a userexit to update the VTTK table with the values of these fields.. which USEREXIT should I use for this purpose?

    hi does anybody have any answer for me..

  • CS6 issue (Photoshop extension)

    Hi,
    I've a customer of an extension of mine who reports Adobe Extension Manager CS6 (OSX Lion, AEM updated to 6.0.2) not installing because Photoshop with version ranging from 13.0 to 13.9 is required - I won't report the literal text because it's Dutch
    I've checked both manifest.xml and the extension's mxi - they correctly contains either:
    <HostList>
                                  <Host Name="PHXS" Version="[13.0,13.9]"/>
                                  <Host Name="PHSP" Version="[13.0,13.9]"/>
    </HostList>
    and
    <products>
      <product familyname="Photoshop" maxversion="13.9" primary="true" version="13.0"/>
    </products>
    The bizarre thing is that (of course he has PS CS6) I've given him instruction to manual install files in the ~/Library/Application Support/Adobe/CS6ServiceManager/extensions folder, nevertheless the panel is not getting listed in the Window - Extensions menu in PS.
    Is there any log file or debugging procedure I can write him to perform in order to get data and/or better understanding of his issue?
    Thanks in advance
    Davide

    Could you provide a download link of the trial edition of your extension so that I can test it? If you have concern, you can send the link to me with private message (Click the downward triangle near "Your Stuff" then select "Private Messages").
    You can also ask your customer to follow the instructions at http://forums.adobe.com/message/4275082#4275082 to generate log files and paste the log content here to help troubleshooting.

  • Regardig the extension of the Idoc

    Hi Experts,
                    We are using an Inbound Idoc.
                  I extended the idoc COND_A, becoz we are having some custom fields in the IDOC.
             For this we have an Exit in the FM IDOC_INPUT_COND_A.
    But the data coming to inbound would be of various tables which contains the custom fields.
          How do i update the data in the database tables.
    For EX table A contains 4 custom fields that are to be updated,table b contains 2
    custom fields that are to be updated.
           How do i do this??
    Thanks and Regards
    Rajesh.

    Hii..
    SAP provides the Function module exits to process the Extended idoc type.
    Check this info...
    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.
    reward if Helpful

  • Fill / populate customer segments in extension of ARTMAS05

    hi,
    currently looking for a solution to this.
    1) I need to add customer segments to an extended version of ARTMAS05.
    Name to clear yet. But it will e a cimtype of ARTMAS05.
    2) system is a retail system.
    - SAP ECC 6.0
    - SAP_APPL 6000 / level 9
    I have looked for enhancement spots and user exits. The only thing close to it is enhancement project MGV00003. There I got a component( EXIT_SAPLMV01_003) to populate the EXT segments / containers. But I cannot fill / populute own segments there.
    I want to sent the data using tcode BD10 (report RBDSEMAT). No exits found in there I could need.
    Anybody done something like this? Knows the right enhancment section or spot? Or did you just modify the thing which I would really want to avoid. If possible.
    Thanks for an anwer.
    Rob

    Hello Freinds,
    Can Some body help me. I am facing the same problem as in this post. I have extended Orders05 Idoc and followed below steps.
    Created Segment - Created Extended Idoc with Custom Segment created - Released both Segment and Idoc - Attached Idoc to ORDERS message type - Added message type to model view - maitained partner Profiles with extended idoc u2013 I have written my custom code in User Exit u2018EXIT_SAPLEINM_002u2019 - activated my project.
    The problem I am facing is u2013 When I keep a breakpoint at the user exit u2013 it never stops u2013 it just creates an basic idoc. I have tried keeping breakpoint at all the places where I can think but no where it is stopping.
    Thanks for the help.

  • ABAP Extension Module and IDOC Creation

    Dear Gurus,
    I would like to send master data from SAP to IBM Websphere with the help of ABAP Extension module and populating idoc data using ABAP Event handler. Could you please let me know the flow of it. 
    Thanks in advance.
    Thanks
    Shanthi

    Hi,
       After calling MASTER_IDOC_DISTRIBUTE, you need to COMMIT. (COMMIT WORK).
       Please go through these links.
      http://help.sap.com/saphelp_erp2005vp/helpdata/en/78/21783151ce11d189570000e829fbbd/content.htm
    http://www.erpgenie.com/sapedi/idoc_abap.htm
    Regards,
    Vivek LR
    Edited by: Vivek LR on Jun 20, 2008 9:22 AM

  • Extension of BASIC IDoc

    Hi,
    can any body tell me , what are the steps of BAsic IDoc extension,
    Regards,
    Bhaskar

    Hi..
    These are the Steps to Enhance IDOC Type:
    IDOC EXTENSIONS
    In our example, the Basic IDOC type DEBMAS02 is used to communicate Customer Master data to the SAP Customer Master application. Even though the application has a screen to enter and store a contact personâs business address DEBMAS02 does not have a segment or fields that communicate the contact personâs business address. If your business requires that this business address be communicated to the other system through the ALE interface for Customer Master, then you have to extend the DEBMAS02 IDOC type, and enhance the corresponding ALE function module.
    In DEBMAS02 the contact person fields are present in segment E1KNVKM and the business address of the contact person is stored on the SADR SAP table. You need to create a new segment, Z1SADRX, that is associated with E1KNVKM. This will be done in the process of creating an extension type ZDEBMASX. This extension type will then be associated with a new IDOC type, ZDEBMASZ. IDOC type ZDEBMASZ will be linked to message type DEBMAS for Customer Master. The final step in the IDOC extension process is to check the new objects. This check also verifies the structural integrity of the IDOC type. Letâs look at each of these steps in more detail.
    1. Create an Extension Type and a New Segment.
    First, letâs determine the fields on table SADR that you are going to provide for in the new segment Z1SADRX. You need fields for name, street, city, region, and country to give the business address of the contact person. You also need fields for the address number. ADRNR is a field in SAP tables such as SADR that uniquely identifies the address of an entity. This field is cross-referenced from other tables to the SADR table to obtain the full description of the address. Because this is an IDOC type for master data, the first field of the new segment will be MSGFN. The message function field informs the receiving system of the action to be taken for that particular segment. In the code that you write for populating the new segment, the value of the message function is the same as that of the parent segment E1KNVKM. In all, you will have 12 fields in segment Z1SADRX
    To create an extension type and new segment:
    Use transaction WE30 or from WEDI go to Development -> IDOC types.
    Enter ZDEBMASX for Object Name.
    Choose Extension Type.
    Click on Create.
    You will see a pop-up screen. Choose Create New, and enter a description. For version 4.x, enter DEBMAS02 in the Linked Basic Type field. Enter.
    You will see a screen with ZDEBMASX and its description in the first line. Click on this line, and press Create. For version 4.x, expand the tree of segments, and place the cursor on E1KNVKM.
    You will see a pop-up screen. Enter E1KNVKM as the reference segment. Enter.
    For 4.x, press Create after placing the cursor on segment E1KNVKM.
    You will see a line appear with E1KNVKM hierarchically below ZDEBMASX, with a description "Customer Master contact person (KNVK)."
    Click on this line and press Create. You will receive a message indicating that the new segment being created will be a child segment of E1KNVKM. Enter. A pop-up box appears for the new segment.
    Enter Z1SADRX as the segment type, 1 for Minimum, 1 for Maximum. Leave Mandatory segment unchecked. These entries imply that there is only one Z1SADRX segment for every occurrence of the E1KNVKM segment, and also that this segment is not mandatory. Note that if the parent segment is not mandatory, then the child segment should not be mandatory, because this could result in a syntax error during the creation or processing of the IDOC.
    For 4.x, you must first create the IDOC segment Z1SADRX from the menu path WEDI -> IDOC -> Development -> IDOC Segment.
    Click on Segment Editor.
    On the next screen, click on Create.
    Enter a development class for the object. Enter.
    This will take you to the screen for segment definition. Enter a description for the segment. Enter the field name, data element, and the data element documentation name. In most cases, all three fields may have the same values. If you are using a field in the segment that is not present in the ABAP/4 data dictionary, you must first create the domain, data element, field, and appropriate documentation before using it in the new segment.
    Enter these three columns for all 12 fields. Save.
    Click on Generate/Activate, F3 to step back.
    From screen Maintain Segment, go to Segment Type -> Release. A checkbox now appears beside the segment definition Z1SADRX .Check this box. Save.
    Save again to store the descriptions of the segment, F3 to step back.
    Save the extension type.
    It is possible to have several new segments with relevant Basic IDOC type parent segments in a single extension type. However, you can form only one IDOC type based on a single extension type.
    2. Create an IDOC Type.
    The next step is to create an IDOC type by associating the extension type that you created with the Basic IDOC type. This is a simple process:
    From transaction WE30 or WEDI go to Development -> IDOC Types.
    Enter ZDEBMASZ for Object Name.
    Click on IDOC Type.
    Click on Create.
    Enter DEBMAS02 for Basic IDOC type.
    Enter ZDEBMASX for extension type.
    Enter a description.
    Enter.
    You will see a display of the composite IDOC type with all segments, including Z1SADRX .
    It is possible to associate only one extension type with a Basic IDOC type for a given IDOC type. However, you can have multiple new segments in an extension type.
    3. Link IDOC Type to Message Type.
    The next step is to link the new IDOC type to its corresponding message type. This is important, because this relationship is referenced in the partner profile parameters where you specify the message type and IDOC type to be used for that particular representative system. To link the message type:
    Use transaction WE82, or from WE30, go to Environment -> IDOC Type / Message Type, or from WEDI go to Development -> IDOC Type -> Environment Î IDOC Type / Message Type.
    Click on Display <-> Change.
    Click on New Entries.
    Enter DEBMAS for message type.
    Enter DEBMAS02 for Basic IDOC type.
    Enter ZDEBMASX for extension type.
    Enter your SAP R/3 release number for Release.
    Save.
    This data is stored on the EDIMSG table and is accessed by several ALE processes to relate the message type to the IDOC type.
    4. Check the IDOC Type.
    Before checking the IDOC type for consistency, it is important to perform another step that releases the extension type to the IDOC type:
    From WEDI go to Development -> IDOC Types -> Extras -> Release Type, or from transaction WE30 go to Extras -> Release Type.
    For the Object Name ZDEBMASX and radio button Extension Type, click Yes.
    The extension type has now been "released."
    You canât edit the extension type once itâs released. To cancel the release for further editing or deactivation, go to WE30 Î Extras Î Cancel release. The final step in the IDOC extension process is checking the validity of the IDOC type:
    From transaction WE30 or WEDI go to Development -> IDOC types.
    Enter ZDEBMASX for Object name.
    Click on Extension Type.
    From the Development Object menu select Check.
    Repeat the operation for IDOC type ZDEBMASZ.
    A check log will be generated for each run with details of correctness or errors (see Figure 4).
    In some situations it is possible to receive errors during the check process, especially segment length errors. The incorrect IDOC segment can be repaired and corrected by executing program RSEREPSG. This program checks the formal consistency and repairs incorrect segments. In test mode it will generate a log of formal correctness for the specified segment only. For the program to repair segments in normal mode, the underlying IDOC structures (DDIC structures) must be active. This program rectifies the lengths of the DDIC structures and not the fields themselves. RSEREPSG can also be used to change the person responsible for the object and the release flag.
    Menu paths may vary slightly depending on the release/version of SAP R/3, but the procedures and the principles are the same.
    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. It may be necessary to enhance an ALE function module even in situations where an IDOC extension has not been performed if the IDOC data being passed to and from the application requires modifications. The following approach applies to both situations.
    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:
    The point in the ALE function module where the function exit occurs
    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.
    Reward if Helpful.

  • Issues in using the GLMAST01 idoc type

    Hi there,
               I am using the LSMW to upload the GL master records using the IDOC method. I am using the IDoc type as GLMAST01. I am passing the following data. I am not able to post the IDoc with following data. Please tell me, is there anything I am missing here or there is something else because of which I am getting the results?
             In E1SKA1M, I am passing the values for SAKNR, KTOPL, KTOKS, XBLIK, VBUND, BILKT.
             In E1SKATM, I am passing the values for SPRAS, TXT20 and  TXT50.
            In E1SKB1M, I am passing the values for BUKRS, WAERS, FSTAG.
            In some cases, I am creating the multiple segments for E1SKATM and E1SKB1M segments.
            This is kind of getting urgent and I could not find the answers for this in any other post on SDN. Please help.
    Thanks,
    Ganesh V Khumse

    Hi Vishnu,
    There is no solution for this, you cannot have GUI interactions(nor any statements that might invoke a implicit/explicit commit) in a V2 update. When you say this worked, did you have update debugging enabled, if so then it might have worked as the debugger session can access GUI...
    If the whole idea/need of this output is to download a file, use OPEN DATASET, TRANSFER and CLOSE DATASET.
    Even for the RSNAST00 execution, i am sure that in the actual business scenario(in production) this would be scheduled as a background job, where in again "GUI_DOWNLOAD" wouldn't work.
    Regards,
    Chen

Maybe you are looking for

  • LDAP is not working on new Web Server

    Hi, I configured LDAP authentication and it was working fine. After this I installed a new web server. I copied the security certificate etc ( copied everything from other web server) onto new webserver. When I try to login into Infoview or CMC then

  • File I/O strange behavior !!!!!!!

    Hello everyone, I have been writing a small program that parses a file and writing to another file. what I basically want to do is to read from a file named 10130.txt containing around 50 or 60 lines 19971021 10130 -9 0 0 0 0 -9 0 -9 0 0 0 0 0 0 0 0

  • How to create dynamic calc account in multi-plan type application

    Hi expert, I have a planning application with 3 plan types. I created a calculation script which fixed on accounts in plan type 1 only and the calculation suppose to calculate a "dynamiccalc" account with a member formula attached. Everytime I run th

  • Restrict HA-NFS to logical hostname resource

    I have a 2 node cluster running 2 HA-NFS pools (one active on each node at a time). The two nodes each have a connection to our storage network (a private network, but not the same as the cluster interconnect networks). They also each have connection

  • User groups in ABAP Queries

    Hi Friends, My doubt is regarding ABAP Queries. when we create user groups , in which table and field does the data holds, which will be useful in retrieving the data. Please help me ASAP, as this would get break through in solving severity 2 ticket.