Extended IDOC

hi,

Sorry Friends,
I haven't received any reply from previous Qn. Sorry for that mail b'coz it was posted unexpectedly.
I'm sending Qn right away.
Q:
We are sending an PRO1 idoc from SAP to ICS- WBI . We are using ALE scenario to send the pro1 idoc with mesage type PROJECT . We are creating a Distribution model and adding the following BAPI's
WorkBreakdownStruct.Maintain (BAPI: Project maintenance )
WorkBreakdownStruct.Getinfo
WorkBreakdownStruct.SaveReplica (Replicate WBS (ALE))
We need to send now a PRO1 Idoc with additional zfields in it . How to go about sending this extended PRO1 idoc with custom ZFields using ALE ?
i would really appreciate if u people can send me the reply ASAP!!!!!!!!!!!!!!!
Thanks & Regards,
Suresh kancharla

Similar Messages

  • How to find out the inbound function module in the extended idoc

    Hi,
    how to find out the inbound function module in the extended idocs
    Thanks .

    through we41/we42 you can find the inbound function module.......
    or
    thorough we19(idoc test tool) ....
    give the input as message type or basic idoc..
    press exec...
    then you can find th button on application tool bar as inbound funtion module....
    from here also you can find..........
    <REMOVED BY MODERATOR>
    Khasimsa
    Edited by: Alvaro Tejada Galindo on Apr 14, 2008 1:34 PM

  • Creation of  New Message Type for Extended IDoc

    Dear Friends,
    I want to create New Message Type for MATMAS and want to Active Change Pointers accordingly. Thru this Message Type how can I able to use Extended IDoc which I have created for Basic Idoc Type MATMAS05.
    I am Sending Data from SAP to XI ; Any one can help me in this How can I create the Message Type with the IDoc Extn .
    for Change Pointers.
    Warm Regards,
    Naveen Mutyapu.

    Hi naveen mutyapu,
    see these links
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm
    http://www.sappoint.com/presentation.html
    http://www.allsaplinks.com/idoc_search.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://www.erpgenie.com/sapedi/idoc_abap.htm
    http://www.allinterview.com/rss/interview-questions/new/SAP-ALE-IDocs.xml
    happy learning.
    thanks
    karthik

  • Problem about extended IDOC(urgent)

    Hi experts,
    i have idoctype,extended idoc,and one include.. i need modify that according to the requirement.. here i will give the idoctype and extended idoc type and include program .. please help me where exactly i need to do the change and what are the steps required for the requirement..
    Exact Requirement: Modify the program which populates the idoctype invoice02 and extension zinvoice02 , if netvalue is zero(vbrp-netwr = 0) then populate the idoc segment E1EDP01.E1EDP26 , BETRG WITH QUALF = # 011' WITH ZERO VALUE. curently segment is not populated.
    Please help me in this and explain the steps required for this.
    idoctype:invoice02
    extended idoc:zinvoice02
    include:ZXEDFU02
                                   Here i am giving the include program
    CASE dobject-kschl.
      WHEN 'ZGRI' OR 'ZGDF' OR 'ZGRN' OR 'ZGAE'.
        t_int_edidd[] = int_edidd[].
        t_xtvbdpr[] = xtvbdpr[].
        ta_xvbdkr = xvbdkr.
        CASE int_edidd-segnam.
          WHEN 'E1EDK01'.
            ta_e1edk01 = int_edidd-sdata.
            PERFORM get_shipment_data.
            PERFORM get_route_data.
            int_edidd[] = t_int_edidd[].
          WHEN 'E1EDP01'.
    Update segment E1EDP01
    1. Update field E1EDP01-PSTYP
    2. Accumulated net weight & quantity of batch split items against
    E1EDP01 segment of the main invoice item.
            ta_e1edp01 = int_edidd-sdata.
            i_tabix = sy-tabix.
            CLEAR: ta_e1edp02.                                  "DIAG01+
            PERFORM update_segment_e1edp01.
            MOVE ta_e1edp01 TO t_int_edidd-sdata.
            MODIFY t_int_edidd INDEX i_tabix TRANSPORTING sdata.
    Populate segment Z1EDP08
    Fields: ZZDESPACTY_A, ZZACTYUOM
            PERFORM validate_segment USING control_record_out-idoctp
                                      control_record_out-cimtyp
                                      'Z1EDP08'
                                CHANGING n_subrc.
            CHECK n_subrc EQ 0.
            PERFORM calc_invoice_item_zzdespacty_a.             "DIAG02+
            int_edidd[] = t_int_edidd[].                        "DIAG02+
          WHEN 'E1EDP02'.                                       "DIAG01+
            IF int_edidd-sdata(3) = '016'.                      "DIAG01+
              ta_e1edp02 = int_edidd-sdata.                     "DIAG01+
            ENDIF.                                              "DIAG01+
          WHEN 'E1EDP19'.
    Populate segment Z1EDL24
    Fields: Material Characteristics or Material Class '001'.
            PERFORM validate_segment USING control_record_out-idoctp
                                     control_record_out-cimtyp
                                     'Z1EDL24'
                                     CHANGING n_subrc.
            IF n_subrc EQ 0.
              ta_e1edp19 = int_edidd-sdata.
              CASE ta_e1edp19-qualf.
                WHEN '002'.
                  PERFORM get_mat_characteristic USING ta_e1edp19-idtnr.
                  PERFORM fill_segment_z1edl24.
                  int_edidd[] = t_int_edidd[].
                WHEN OTHERS.
              ENDCASE.
            ENDIF.
          WHEN 'E1EDP26'.
    Populate segment E1EDP26
    Fields: BETRG
            i_tabix = sy-tabix.
            ta_e1edp26 = int_edidd-sdata.
           IF ta_e1edp26-qualf = '001'. "Gross Price which is always present
              PERFORM fill_segment_e1edp26.
              int_edidd[] = t_int_edidd[].
            ENDIF.
          WHEN 'E1EDP08'.
    Populate Segment Z1EDL37                                             *
    Fields: Bespoke fields from Handling Unit (VEKP)
            PERFORM validate_segment USING control_record_out-idoctp
                                      control_record_out-cimtyp
                                      'Z1EDL37'
                                CHANGING n_subrc.
            CHECK n_subrc EQ 0.
            ta_e1edp08 = int_edidd-sdata.
            PERFORM fill_segment_z1edl37.
    Populate Segment Z1EDP08                                             *
    Fields: Total Despatch Activity                                      *
           PERFORM validate_segment USING control_record_out-idoctp
                                     control_record_out-cimtyp
                                     'Z1EDP08'
                               CHANGING n_subrc.
           CHECK n_subrc EQ 0.
           PERFORM calc_invoice_item_acty_total.
            int_edidd[] = t_int_edidd[].
          WHEN OTHERS.
        ENDCASE.
      WHEN 'ZGDW'.
    Line above added line below removed - Assyst 73789
    WHEN 'ZGIN'.
        t_int_edidd[] = int_edidd[].
        t_xtvbdpr[] = xtvbdpr[].
        ta_xvbdkr = xvbdkr.
        CASE int_edidd-segnam.
    Start SU02
          WHEN 'E1EDK01'.
            ta_e1edk01 = int_edidd-sdata.
            i_tabix = sy-tabix.
    Get the conversion factor
            PERFORM modify_exchange_rate.
            MOVE ta_e1edk01 TO t_int_edidd-sdata.
            MODIFY t_int_edidd INDEX i_tabix TRANSPORTING sdata.
            int_edidd[] = t_int_edidd[].
    End SU02
    *************************************************************SAM01 START
          WHEN 'E1EDP02'.
    Populate segment Z1EDP02
    Fields: Reason code for sales order
            ta_e1edp02 = int_edidd-sdata.
            CASE ta_e1edp02-qualf.
              WHEN '002'.
                PERFORM fill_segment_z1edp02.
                PERFORM append_int_edidd TABLES t_int_edidd
                                         USING  'Z1EDP02'
                                                ta_z1edp02.
                int_edidd[] = t_int_edidd[].
              WHEN OTHERS.
            ENDCASE.
    ***************************************************************SAM01 END
        ENDCASE.
    Start of JvdM01
      WHEN 'ZGII'.                                              "JvdM01
        t_int_edidd[] = int_edidd[].
        t_xtvbdpr[] = xtvbdpr[].
        ta_xvbdkr = xvbdkr.
        CASE int_edidd-segnam.
          WHEN 'E1EDK01'.
    Populate segment Z1EDKSH and Z1REM_STE_CDE
    Fields: Shipment Number for Invoice
            Reason code for sales order
            ta_e1edk01 = int_edidd-sdata.
            PERFORM fill_segment_z1edksh_ds.
            PERFORM append_int_edidd TABLES t_int_edidd
                                     USING 'Z1EDKSH'
                                            ta_z1edksh.
            PERFORM fill_segment_z1rem_ste_cde.
            PERFORM append_int_edidd TABLES t_int_edidd
                                     USING  'Z1REM_STE_CDE'
                                            ta_z1rem_ste_cde.
            int_edidd[] = t_int_edidd[].
          WHEN 'E1EDKA1'.
    Populate segment Z1EDKA1
    Fields: Customer Account Group
            ta_e1edka1 = int_edidd-sdata.
            CASE ta_e1edka1-parvw.
              WHEN 'RE'.   "Bill To Party
                PERFORM fill_segment_z1edka1.
                PERFORM append_int_edidd TABLES t_int_edidd
                                         USING 'Z1EDKA1'
                                                ta_Z1EDKA1.
                int_edidd[] = t_int_edidd[].
            ENDCASE.
          WHEN 'E1EDP01'.
    Read segment E1EDP01 for use later                  "JVDM02
            ta_e1edp01 = int_edidd-sdata.
          WHEN 'E1EDP02'.
    Populate segment Z1EDP02
    Fields: Reason code for sales order
            ta_e1edp02 = int_edidd-sdata.
            CASE ta_e1edp02-qualf.
              WHEN '002'.
                PERFORM fill_segment_z1edp02.
                PERFORM append_int_edidd TABLES t_int_edidd
                                         USING  'Z1EDP02'
                                                ta_z1edp02.
                int_edidd[] = t_int_edidd[].
              WHEN OTHERS.
            ENDCASE.
          WHEN 'E1EDP19'.
    Populate segment Z1EDL24 and Z1EDP01                  "JVDM02
    Fields: Pack Size Activity for Material
            Total Activity for Invoice Item
            ta_e1edp19 = int_edidd-sdata.
            CASE ta_e1edp19-qualf.
              WHEN '002'.
                PERFORM fill_segm_z1edl24_and_z1edp01.
                PERFORM append_int_edidd TABLES t_int_edidd
                                         USING  'Z1EDL24'
                                                ta_z1edl24.
                PERFORM append_int_edidd TABLES t_int_edidd
                                         USING  'Z1EDP01'
                                                ta_z1edp01.
                int_edidd[] = t_int_edidd[].
              WHEN OTHERS.
            ENDCASE.
        ENDCASE.
    End JvdM01
    ENDCASE.
    Start SU02 Code Comment for implementing IR 340
    **mpc01 - start of insert
    start assyst 73789
    *IF dobject-kschl = 'ZGDW'."amersham invoices
    **IF dobject-kschl = 'ZGIN'."amersham invoices
    end assyst 73789
    CASE int_edidd-segnam.
      for the organisation data header
       WHEN 'E1EDK14'.
         MOVE int_edidd-sdata TO ta_e2edk14.
        where is qualifying organisation = 003 (delivering company code).
         IF ta_e2edk14-qualf = '003' AND ta_e2edk14-orgid NE space.
           SELECT SINGLE waers
             INTO t001-waers
             FROM t001
            WHERE bukrs = ta_e2edk14-orgid.
           IF sy-subrc = 0.
             t_int_edidd[] = int_edidd[].
            get the billing date for the invoice
             LOOP AT t_int_edidd WHERE segnam = 'E1EDK02'.
               MOVE t_int_edidd-sdata TO ta_e1edk02.
               IF ta_e1edk02-qualf = '009'."billing date
                 w_fkdat = ta_e1edk02-datum.
                 EXIT.
               ENDIF.
             ENDLOOP.
            if no invoice date use current date
             IF w_fkdat IS INITIAL.
               w_fkdat = sy-datum.
             ENDIF.
            change the general document header
             LOOP AT t_int_edidd WHERE segnam = 'E1EDK01'.
               i_tabix = sy-tabix.
               MOVE t_int_edidd-sdata TO ta_e1edk01.
              set the field to the default currency code for the company
               ta_e1edk01-hwaer = t001-waers.
              if the default value equals the idoc currency then exit
               IF t001-waers = ta_e1edk01-curcy.
                 EXIT.
               ENDIF.
              get the exchange rates
               SELECT *
                 INTO TABLE t_tcurr
                 FROM tcurr
                WHERE kurst = 'NYB1'                 " SU01
                 WHERE KURST = 'GEBU'                 " SU01
                  AND fcurr = ta_e1edk01-curcy
                  AND tcurr = t001-waers.
               IF sy-subrc NE 0."no values found
                error the idoc
                 MESSAGE e400(vf) WITH c_exchange_rate_error
                         RAISING error_message_received.
                 EXIT.
               ENDIF.
               LOOP AT t_tcurr.
                convert to date from inverted date to normal date format.
                 CALL FUNCTION 'CONVERSION_EXIT_INVDT_OUTPUT'
                      EXPORTING
                           input  = t_tcurr-gdatu
                      IMPORTING
                           output = w_datum.
                 CONCATENATE w_datum+6(4)
                             w_datum+3(2)
                             w_datum(2)
                        INTO t_tcurr-datum.
                 MODIFY t_tcurr.
               ENDLOOP.
              sort the exchange rates with the newest first.
               SORT t_tcurr BY datum DESCENDING.
              read the first value in the table ie the newest.
               LOOP AT t_tcurr WHERE datum <= w_fkdat.
                 EXIT.
               ENDLOOP.
               IF sy-subrc NE 0."no values found
                error the idoc
                 MESSAGE e400(vf) WITH c_exchange_rate_error
                         RAISING error_message_received.
                 EXIT.
               ENDIF.
    Start SU01
    Get the Exchange rate from the function module and populate
    E1EDK01 TABLE
               w_fcurr = ta_e1edk01-curcy.
               call function 'CONVERT_TO_LOCAL_CURRENCY'
                    exporting
                         date             = w_fkdat
                         foreign_amount   = '0'
                         foreign_currency = w_fcurr
                         local_currency   = t001-waers
                         type_of_rate     = 'GEBU'
                    importing
                         exchange_rate    = t_tcurr-ukurs
                    exceptions
                         no_rate_found    = 1
                         overflow         = 2
                         no_factors_found = 3
                         no_spread_found  = 4
                         derived_2_times  = 5
                         others           = 6.
    End SU01
               ta_e1edk01-wkurs = t_tcurr-ukurs.
              change the header data in segment
               MOVE ta_e1edk01 TO t_int_edidd-sdata.
              update the current idoc segment
               MODIFY t_int_edidd INDEX i_tabix TRANSPORTING sdata.
               EXIT.
             ENDLOOP.
            update all of the idoc segments
             int_edidd[] = t_int_edidd[].
           ENDIF.
         ENDIF.
    ENDCASE.
    *ENDIF.
    **mpc01 - end of insert
    End SU02 Code Comment for implementing IR 340

    Hi Venu,
      Try with this code.
      If vbrp-netwr = 0.
    <b>  WHEN 'E1EDP26.
      CASE ta_e1edp26-qualf.
    ta_e1edp26 = int_edidd-sdata.
    WHEN '011'.
    PERFORM append_int_edidd TABLES t_int_edidd
    USING 'e1edp26'
    ta_e1edp26.
    int_edidd[] = t_int_edidd[].
    ENDCASE.</b>
    ENDIF.
    Thanks
    Manju.

  • Problem in Extended Idoc

    Hi All,
    I have Extended ORDERS05 for adding custom fields for inbound process,
    Steps i have fallowed to create Extend Idoc:
    1,Created new segment with all Z-fields and released,
    2,Created Extension Idoc with reference standard Idoc ORDER05, and added custom segment under standard segment E1EDP01,
    released Extend Idoc,
    am able to see all Z-fields in Z-segment,
    but my problem is am unable to see any standard fields under any standard segment in my Extended Idoc?
    why am not able to see all standard fileds?
    Regards
    suresh.d

    Hi,
    Are you checking in WE30 or in WE02?
    In WE30 you cans ee only Segment names.
    Give the segment name in SE11 and then see if you are able to see the fields.
    Regards,
    Sravan

  • Problem creating extended IDOC

    Hi Experts,
    I am currently working on CRM 5.0. I need to create segment and attach it to the standard basic IDOC type CRMXIF_PARTNER_SAVE01. I am able to create segment in WE31 but i am unable to add that to the basic standard IDOC type.
    It is displaying message "Action is not possible for generated idoc types".
    Is there any other way to add this segment to the standard IDOC.
    It will be great help if u can send me some documents on this...
    Thanks,
    Samm

    Hi,
    Create Extended IDOCe using transaction WE30.
    -If u want to extend  idoc type which already exists then use the radio button extension(where we can add few new fields
    -After this click on create button as described above. It takes you to a popup screen where you fill the description and also select the radio button accordingly and say ok
    -we go to next screen select idoc type and click on create new It gives a pop up window
    -Once you are done with the addition save the IDOC type and release the idoc type
    <b>Goto-> Edit -> Set release.</b>
    This completes the creation of Ext IDOC type.
    - Then assign this extension to the IDoc type in WE82.
    <b>Reward with points if helpful.</b>
    Regards,
    Vijay

  • Userexit for extended idoc for std. idoc WMMBID02 for T.Code MB1A & MB1B

    Hi,
    Which userexit we have to use to populate values in to extended idoc fields of the standard inbound idoc WMMBID02?
    Pls share ur experience.
    Thanks & Regards,
    Balaji

    Hello using this you can find out used user exit
    1.From SE93 get the program name corresponding to the transaction.
    2. then se38 - > enter program name -> attribute -> display
    3. Get the package from here.
    4.  Go to SMOD . Do f4 on enhancement -> information system. enter your package here
    5. You will get the list of all the available exits for the package.
    List could be a long one.Now best thing to do is to sit with your functional analyst. find out approproate exit from the description. put a break-point there. ask functional analyst to run the transaction. if transaction stops at the break point that's the exit you want

  • Need to extend idoc MBGMCR03

    Hi all,
    I want to extend idoc MBGMCR03 to pass serial no. data since the client serial no. length is 40 chars whereas SAP supports only 18 chars. When I try to extend the idoc, I get error message 'Action is not possible for generated idoc types'.
    This idoc being a ALE-BAPI interface cannot be extended.
    Can anyone tell me what's the best way of passing the serial no. data through the idoc? I have thought of using segment E1BPPAREX as nothing is being passed in it. We will be having a custom process code function module in which the values will be stored in an internal table and then the fields will be cleared so that the idoc can be posted.
    Thanks,
    Shoma

    Hi Gordon,
    Cann't i extend the MBGMCR03 Idoc type .I need to add 2 fields MENGE and ELIKZ.
    Do we need to have primary key field in WE31 along with MENGE and ELIKZ like Item no EBELP.
    I created a structure with above 4 fields along with EBELN.
    I am not able to create extension in WE30.
    it is saying that " Action is not possible for generated idoc types".
    Please let me know the User exit or Customer Exit  to use to populate the data.
    Please help
    Thanks & regards
    Vishnu
    Edited by: vishnukvv on Mar 4, 2011 11:57 AM
    Edited by: vishnukvv on Mar 4, 2011 12:08 PM
    Edited by: vishnukvv on Mar 4, 2011 12:10 PM
    Edited by: vishnukvv on Mar 4, 2011 12:27 PM
    Edited by: vishnukvv on Mar 4, 2011 12:28 PM

  • Extended Idoc FIDCCP02 - getting status code 02

    Hello Friends,
    I am extending Idoc FIDCCP02 with an custom segment. I have followed this steps
    Created Segment - Created Extended Idoc with Custom Segment created - Released both Segment and Idoc - Attached Idoc to FIDDC2 message type - Added message type to model view - maitained partner Profiles with extended idoc - created port type 'G' - Added necessary code in user exit (I am able to view data in my custom segment)
    The Problem is - If I do not maintain Extended Idoc in partner profiles - I get Idoc XML created in external system with status code 03
    But once I add extended idoc to the partner profiles - I get Status Code 02 with error saying Error in passing data to HTTP Port 500 internal Server error
    Kindly can some body help me if I am missing some steps.
    Thanks for help.

    Dear Vasu,
    I am creating Z message type, when I am creating that idoc (I have used XML Port) its initially comes in status 30 (IDoc ready for dispatch (ALE service)).
    Now when I process this idoc with tcode WE19 then it give status 02 (Error passing data to port). Please suggest where i am doing mistake.
    Your help will be appreciated.
    Regards, Vicky M. Khambhati

  • Extended IDOC shipment SHPMNT02

    How Should i fill the data to newly Created Segment   having one filed  bedau  for Parent segment E1EDL24  for Extended IDOC of basic IDOC SHPMNT02

    Srikanth,
    You can use the exit EXIT_SAPLMV01_002  which is in MASTERIDOC_CREATE_MATMAS to populate the data for extended segments..
    Hope this helps.
    Chandra.

  • Extended IDOC for transaction VL02N : Error 51

    Dear,
    I am Working on Extended IDOC for transaction VL02N (Outbound Delivery) and stuck in Inbound with Error 51: Specifications for units and quantities contain errors VBPOK-MEINS TO LIPS-MEINS MT.
    Message no. VL282
    How to resolve it?
    At Outbound Programmed at EXIT_SAPLV56K_002 and at Receiver did WE57, BD51, WE42, WE20 and using listed below programs.
    Function Module - IDOC_INPUT_DELVRY      - SAP Standard
    Function Type - F (Function Module)
    Basic Type - DELVRY03      - SAP Standard
    IDOC (Enhancement) - ZDELV - Custom
    Message Type - ZDELVRY - Custom
    Process Code      - DELV      - SAP Standard
    Thanks-
    Varun

    Hi varun,
    in SAP you have a few keys that not only have a description depending on language but also the key itself varies from language to language. You can see that if you double-click on a unit field like i.e. MARA-MEINS: On domain level it will show a conversion exit. If you try the conversion exit function modules, you will find out that i.e. PC english pieces will be mapped to internal ST wich comes from the german Stück which is the translation of pieces.
    Be aware that this special logic may apply for document types, partner types and a few more (?).
    So, in IDoc processing this may cause harm. I did not analyze DELVRY03 structure and processing, I don't know any of your data, I haven't seen any line of your code, I don't know what you actually implemented.
    So now it is your turn to check what you pass in the unit fields and how this is handled.
    Regards
    Clemens

  • Extended idoc codding

    hai friends now  iam doing extended idoc
    in that iam extending matmas 03 idoc .
    in that iam added some new segments
    up to this evry thing working write .
    the problem is
    now i want to wrte the user exit for this extended segments
    where can i write this exit
    and
    how to write this exit
    plse help me .
    with regards
    srikanth vipparla

    Srikanth,
    You can use the exit EXIT_SAPLMV01_002  which is in MASTERIDOC_CREATE_MATMAS to populate the data for extended segments..
    Hope this helps.
    Chandra.

  • Process code for extended idoc

    Hi,
    If we are creating an extended idoc, do we have to assign a new process code to it ?
    Or will the process code and the associated function module for the basic type work as well for the extended idoc ?

    Process code will come in to picture when you deal with IDOCS .. you need to assign a code which internally will have a Function module or a Include, that will have entire code to run your bussiness for an IDOC or EDI or ALE.
    Process Code is a different name for specific purposes like function module. IDocs are written in this process.
    Outbound Process Code - if you are using outbound processing under Message Control, the IDoc is generated in the IDoc Interface. The process code names the relevant function module
    Inbound Process Code - names the function module or workflow which reads the IDoc data and transfers the data to the application document.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b7d6243d711d1893e0000e8323c4f/content.htm
    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.
    Reward points if useful.

  • Extending IDOC type

    Hi,
    Iam using the business object BUS20001 (CRMXIF_ORDER_SAVE_M) to create service order in CRM 3.1 system using LSMW. We have an addfiled in the order hence extended the IDOC type (ZCRMXIF_ORDER_SAVE_M02B), creating a new segment and attaching to the IDOC type. When i look into this extended IDOC type in the transaction WE30, all the segments has mapped to a field in the structure  CRMXIF_BUS_TRANS. But the newly created segment has no mapping. This unmapped field is not getting updated in the order created.
    Do i have to extended the structure CRMXIF_BUS_TRANS when i extend the IDOC type.Please advise if i miss any steps in extending the IDOC type.
    Regards
    Dhanapal S

    Hi Dhanapal,
    When there is a change in IDoc structure, you need to re-import in Repository.
    Also, in IDX1 transaction delete the existing meta data for the IDoc and import the meta data once again.
    Regards,
    Uma

  • ZBATMAS03 - extended idoc segment population

    Hi,
    I've found an extended IDoc ZBATMAS03 (basic type: BATMAS03). It's being used for generating outbound IDOc usiong change pointers. A new segment Z1BATMAS has been added to the extended one.
    Now I'm not able to find where this segment is being populated.
    I tried searching in FM: MASTERIDOC_CREATE_SMD_BATMAS and the where used list for the new segment.
    can anyone tell me how to find where the above new segment is being populated?
    regards,
    Ravi

    Hi,
    First up all the FM name is MASTERIDOC_CREATE_SMD_BATMAS, I surprised after dont find any exit for this FM.. May be you need to copy this FM and do the changes... Yes this the FM used to create an Idoc BATMAS.
    You need to create custom function module with reference to standard FM, fill your extension segment.
    Regards,
    Suresh.D

  • Error while Filling custom extended idoc

    i have extended segment e1edpa1 with ZLOC segment in INVOIC01 idoc .now i'm filling this extended idoc from exit EXIT_SAPLIEDI_101 but it is giving me error like "EDI: Syntax error in IDoc (mandatory segment missing)" can anyone tell me what could be the reason?below is my code.
    WHEN 'E1EDPA1'.
          MOVE idoc_data-sdata TO e1edpa1.
          IF e1edpa1-parvw = 'WE'.
            SELECT SINGLE * FROM kna1 INTO w_kna1 WHERE kunnr = e1edpa1-partn.
            IF sy-subrc = 0.
              MOVE: w_kna1-locco TO zloc-locco,
                    w_kna1-bahne TO zloc-bahne.
              MOVE 'ZLOC' TO idoc_data-segnam.    " administrative section
              MOVE zloc TO idoc_data-sdata.       " data section
              APPEND idoc_data.
    thx

    Why do you need to add a segment via code in an inbound IDOC? we dont populate segments in inbound processing, rather you shoul dbe getting value from the source system in the IDOC, and reading the custom segment to process the values.
    if source is not sending the values , and you need those then you are supposed to read and process the values to move those to corresponding structure for SAP program to process the data. Adding a segment in inbound is not going to get you anything.

Maybe you are looking for