ALE IDOC - Material Master

Hi,
I have triggered Idocs for material master changes.
For some materials, the material description is blank in idocs,however; we have the material description data in SAP.
I have checked the changes in material master, the changes made for material description also on the respective date.
Plesae let me know the cause of sending the material changed record with the description as blank.
Please consider it as a priority basis and help me.
Regards,
Usha.
Edited by: Usha Rani Achana on Apr 22, 2010 10:18 AM

>
Usha Rani Achana wrote:
> Hi,
>
> I have triggered Idocs for material master changes.
> For some materials, the material description is blank in idocs,however; we have the material description data in SAP.
>
> I have checked the changes in material master, the changes made for material description also on the respective date.
>
> Plesae let me know the cause of sending the material changed record with the description as blank.
>
> Please consider it as a priority basis and help me.
>
>
> Regards,
> Usha.
>
> Edited by: Usha Rani Achana on Apr 22, 2010 10:18 AM
I have loaded hundredthousands of materials via ALE method and never experienced a loss of material description.
If that would be the case, and you really just using the SAP standard, then you should open a message at SAP.
MAybe you implemented OSS Note 1364357 - Defined language for material master transfer
and then restricted the transfer to a certain language only.

Similar Messages

  • ALE: IDOC material master data

    I created a reduced material idoc type with only segment:
    E1MARAM, E1MAKTM, E1MARCM and E1MBEWM and I select a handfull of fields in each segment.
    I only want views BASIC 1 & 2, Classification , Plant Stock and Label.
    I get additional views that I don't need, how do I configure to get only views I want based on data in IDoc

    Shyla,
    I did that. And the IDOCs are being sent successfully.
    The problem is that when I look at the generated material, all the views are created when I only specified data for basic views in IDOC.

  • ALE/IDOC material regd

    Can you please provide me some useful material on ALE and iDocs

    Hai Sreenivas
    Go through the following Links
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/ale/configuration.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapdevelopment.co.uk/training
    http://www.sapgenie.com/ale/why_ale.htm
    http://www.sapdevelopment.co.uk/training
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    Go through the following Steps For ALE/IDOC
    ALE IDOC
    Sending System(Outbound ALE Process)
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode  BD64 ? Create Model View
    Tcode  BD82 ? Generate partner Profiles & Create Ports
    Tcode  BD64 ? Distribute the Model view
    Message Type MATMAS
    Tcode BD10 ? Send Material Data
    Tcode WE05 ? Idoc List for watching any Errors
    Receiving System(Inbound ALE )
    Tcode SALE ? for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 ? Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 ? Idoc List for inbound status codes
    ALE IDOC Steps
    Sending System(Outbound ALE Process)
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Create Model View
    Tcode BD82 !V Generate partner Profiles & Create Ports
    Tcode BD64 !V Distribute the Model view
    This is Receiving system Settings
    Receiving System(Inbound ALE )
    Tcode SALE ?3 for
    a) Define Logical System
    b) Assign Client to Logical System
    Tcode SM59-RFC Destination
    Tcode BD64 !V Check for Model view whether it has distributed or not
    Tcode BD82 -- Generate partner Profiles & Create Ports
    Tcode BD11 Getting Material Data
    Tcode WE05 !V Idoc List for inbound status codes
    Message Type MATMAS
    Tcode BD10 !V Send Material Data
    Tcode WE05 !V Idoc List for watching any Errors
    1)a Goto Tcode SALE
    Click on Sending & Receiving Systems-->Select Logical Systems
    Here Define Logical Systems---> Click on Execute Button
    go for new entries
    1) System Name : ERP000
    Description : Sending System
    2) System Name : ERP800
    Description : Receiving System
    press Enter & Save
    it will ask Request
    if you want new request create new Request orpress continue for transfering the objects
    B) goto Tcode SALE
    Select Assign Client to Logical Systems-->Execute
    000--> Double click on this
    Give the following Information
    Client : ERP 000
    City :
    Logical System
    Currency
    Client role
    Save this Data
    Step 2) For RFC Creation
    Goto Tcode SM59-->Select R/3 Connects
    Click on Create Button
    RFC Destination Name should be same as partner's logical system name and case sensitive to create the ports automatically while generating the partner profiles
    give the information for required fields
    RFC Destination : ERP800
    Connection type: 3
    Description
    Target Host : ERP000
    System No:000
    lan : EN
    Client : 800
    User : Login User Name
    Password:
    save this & Test it & RemortLogin
    3)
    Goto Tcode BD64 -- click on Change mode button
    click on create moduleview
    short text : xxxxxxxxxxxxxx
    Technical Neme : MODEL_ALV
    save this & Press ok
    select your just created modelview Name :'MODEL_ALV'.
    goto add message type
    Model Name : MODEL_ALV
    sender : ERP000
    Receiver : ERP800
    Message type :MATMAS
    save & Press Enter
    4) Goto Tcode BD82
    Give Model View : MODEL_ALV
    Partner system : ERP800
    execute this by press F8 Button
    it will gives you sending system port No :A000000015(Like)
    5) Goto Tcode BD64
    seelct the modelview
    goto >edit>modelview-->distribute
    press ok & Press enter
    6)goto Tcode : BD10 for Material sending
    Material : mat_001
    Message Type : MATMAS
    Logical System : ERP800
    and Execute
    7)goto Tcode : BD11 for Material Receiving
    Material : mat_001
    Message Type : MATMAS
    and Execute --> 1 request idoc created for message type Matmas
    press enter
    Here Master Idoc set for Messge type MATMAS-->press Enter
    1 Communication Idoc generated for Message Type
    this is your IDOC
    Change Pointers
    I know how to change the description of a material using ALE Change Pointers.
    I will give the following few steps
    1) Tcode BD61---> check the change pointers activated check box
            save and goback.
    2) Tcode BD50--->  check the MATMAS check box save and comeback.
    3) Tcode BD51--->  goto IDOC_INPUT_MATMAS01 select the checkbox save and comeback.
    4) Tcode BD52--->  give message type : matmas press ok button.
       select all  what ever you want and delete remaining fields.
       save & come back.
    5) 5) go to Tcode MM02 select one material and try to change the description and save it
       it will effects the target systems material desciption will also changes
    6) goto Tcode SE38 give program Name is : RBDMIDOC and Execute
       give Message type : MATMAS and Executte
    ALE/IDOC Status Codes/Messages
    01 Error --> Idoc Added
    30 Error --> Idoc ready for dispatch(ALE Service)
    then goto SE38 --> Execute the Program RBDMIDOC
    29 Error --> ALE Service Layer
    then goto SE38 --> Execute the Program RSEOUT00
    03 Error --> Data Passed to Port ok
    then goto SE38 --> Execute the Program RBDMOIND
    12 Error --> Dispatch ok
    Inbound Status Codes
    50 Error --> It will go for ALE Service Layer
    56 Error --> Idoc with Errors added
    51 Error --> Application Document not posted
    65 Error --> Error in ALE Service Layer
    for 51 or 56 Errors do the following steps
    goto WE19 > give the IDOC Number and Execute>
    Press on Inbound function Module
    for 65 Error --> goto SE38 --> Execute the Program RBDAPP01 then your getting 51 Error
    Thanks & regards
    Sreenivasulu P

  • IDOC: Material master data views

    I create a material with an IDOC. The IDOC only contains basic data (i.e: segments E1MARAM and E1MAKTM).
    However when I look at the material in MM03, I see all the data views.
    Is this do to missing config in SPRO -> Material master configuration
    I just want views that have data from IDOC

    Hi,
    You can check the partner profile for that partner.As my understanding in your case reduced idoc is created  and that is used in the partner profile.May be that reduced idoc contains only the basic data segment only.
    Thanks and regards,
    shyla

  • Ale / Idoc Customer master

    hi all,
    i am working with ale/idoc .
    from one client i am sending customer master data using DEBMAS
    I have checked in IDOC
    for contact person
    it is not picking fax number and email
    and telephone number it is picking from KNA1 table
    reagrds,
    mohd.

    Hi,
    the data you try to distribute, even if related to customer master data, does not belong to it.
    It belongs to the Business Address Services (BAS).
    As a result, to distribute it you need to distribute ADR*MAS idocs types too.
    According to the fields you try to distribute, idocs types ADR2MAS and ADR3MAS are definitively necessary.
    You should look at [note 384462|https://service.sap.com/sap/support/notes/384462] and [note 306275 - Transferring address data|https://service.sap.com/sap/support/notes/306275].
    Best regards
    Alain

  • IDOC: Material master (Extend Plants)

    I used LSMW IDOC option to migrate material master data (MATMAS):
    - Basic views
    - Description
    - Costing
    - Plant Stock
    I want to extend the plant view (Plant Stock). What change do I do to original LSMW to extend plant?
    How do I specify that I am extending?
    Is it that function code at the beginning of IDOC?

    You can do this by writing a program:
    REPORT  zdmmm_mm_multiplant NO STANDARD PAGE HEADING
            MESSAGE-ID zdmmm
            LINE-SIZE 255.
                    TABLE DECLARATION                                   *
    TABLES: mara,          "General Material Data
            mard,          "Storage location data
            mdma,          "MRP data for material
            marc.          "Plant Data for Material
    include zdmmmr_dev00160_mm_multi_top.
    include zdmmmr_dev00160_mm_multi_f00.
                   AT SELECTION-SCREEN                                  *
    AT SELECTION-SCREEN.
      IF NOT s_matnr[] IS INITIAL.
    *Subroutine to perform the Material Number validation
        PERFORM sub_validate_matnr.
      ELSEIF p_ersda IS INITIAL.
        MESSAGE e003   .
      ENDIF.
      IF NOT s_werks[] IS INITIAL.
    Subroutine to perform the plant validation
        PERFORM sub_validate_plant.
      ENDIF.
                    START-OF-SELECTION
    START-OF-SELECTION.
    *To retrive all possible material numbers that have to be
    *extended.
      PERFORM sub_get_mara.
    *To retrieve all possible plants to which the material needs
    *to be extended.
      IF s_werks IS INITIAL.
        PERFORM sub_get_werks.
      ENDIF.
    *For retrieving Procurement status data from T134.
      PERFORM sub_get_pstat.
    *To determine the plants to which the Materials have
    *already been extended.
      PERFORM sub_get_marc.
    *To determine all Storage Locations for individual Plants.
      PERFORM sub_get_t001l.
    *To retrieve company code
      PERFORM sub_get_t001k.
    *To determine the storage locations and plants to which the Material
    *has already extended.
      PERFORM sub_get_mard.
    *To determine the MRP Areas to which the materials need to be extended.
      PERFORM sub_get_mdlv.
    *To determine the MRP Areas to which the materials already been extended.
      PERFORM sub_get_mdma.
    *To retrieve the MRP Area related data from customized table.
      PERFORM sub_get_zdmmm_mrp_area.
    *TO retrieve the Scalabilty info
      PERFORM sub_get_scalability.
    *For extending Material to Plant, all possible Storage Location and corresponding MRP Area .
      PERFORM sub_mat_extn.
    *For creating success and error log.
      PERFORM sub_create_log.
    *Text elements
    001 Material/Plant Selection
    002 No data found for given Selection.
    003 Reference material is not maintained
    004 Material is already extended to the plant
    006 Material extended for MRP Area
    007 Successfully extended
    008 Already extended
    009 Not a seviceable storage location,cannot be extended to MRP Area
    *Selection texts
    P_ERSDA         Date
    S_MATNR         Material Number
    S_WERKS         Extend to Plant
    *Messages
    Message class: ZDMMM
    *000   & & & &
    *001   The material no. does not exist
    *002   The plant does not exists.
    *003   Enter either material no. or Creation date
    *&  Include           ZDMMMR_MM_MULTI_TOP                     *
                              Types
    *Type declaration to hold material no.
    TYPES: BEGIN OF ty_matnr,
             matnr      TYPE matnr,                  "Material Number
             mtart      TYPE mtart,                  "Material Type
             ersda      TYPE ersda,                  "Creation date
             mbrsh      TYPE mbrsh,                  "Industry Sector
             vkorg      TYPE vkorg,                  "Sales Organization
             vtweg      TYPE vtweg,                  "Distribution Channel
             mtartz     TYPE zmtart,                 "Material Type (Customized)
            END OF ty_matnr.
    *Type declaration to hold plant.
    TYPES: BEGIN OF ty_plant,
             werks      TYPE werks_d,                 "Plant
             bwkey      TYPE bwkey,                   "Valuation area
           END OF ty_plant.
    *Type declaration to hold data from marc.
    TYPES: BEGIN OF ty_marc,
             matnr      TYPE matnr,                   "Material Number
             werks      TYPE werks_d,                 "Plant
             bwkey      TYPE bwkey,
           END OF ty_marc.
    *Type declaration to hold data from mard.
    TYPES: BEGIN OF ty_mard,
             matnr      TYPE matnr,                   "Material Number
             werks      TYPE werks_d,                 "Plant
             lgort      TYPE lgort_d,                 "Storage Location
             mtart      TYPE mtart,                   "Material Type
           END OF ty_mard.
    *Type declaration to hold data from t001l.
    TYPES: BEGIN OF ty_sloc,
              werks     TYPE werks_d,                 "Plant
              lgort     TYPE lgort_d,                 "Storage Location
           END OF ty_sloc.
    *Type declaration to hold data from mdlv.
    TYPES: BEGIN OF ty_mdlv,
              berid     TYPE berid,                   "MRP Area
              werzg     TYPE werks_d,                 "Plant
              ortzg     TYPE lgort_d,                 "Storage Location
           END OF ty_mdlv.
    *Type declaration to hold data from custom table ZDMMM_MRP_AREA.
    TYPES: BEGIN OF ty_refmdma,
               zmtart    TYPE zdmmm_mrp_area-zmtart,   "Material Type (Customized)
               zwerks    TYPE zdmmm_mrp_area-zwerks,   "Plant
               zberid    TYPE zdmmm_mrp_area-zberid,   "MRP Area
               zdismm    TYPE zdmmm_mrp_area-zdismm,   "MRP Type
               zeisbe    TYPE zdmmm_mrp_area-zeisbe,   "Safety Stock
               zdisls    TYPE zdmmm_mrp_area-zdisls,   "Lot Size
               zdispo    TYPE zdmmm_mrp_area-zdispo,   "MRP Controller
               zfxhor    TYPE zdmmm_mrp_area-zfxhor,   "Plant Delivery Time (In days)
           END OF ty_refmdma.
    *Type declaration to hold data for success log.
    TYPES: BEGIN OF ty_succ,
               mat(18)   TYPE c,                        "Material
               plant(8) TYPE c,                        "Plant
               sloc(15)  TYPE c,                        "Storage Location
               comm(150) TYPE c,                        "Comments
            END OF ty_succ.
    *Type declaration to hold data for error log.
    TYPES: BEGIN OF ty_error,
              mat(18)   TYPE c,                         "Material
              plant(8) TYPE c,                         "Plant
              sloc(15)  TYPE c,                         "Storage Location
              comm(150) TYPE c,                         "Comments
            END OF ty_error.
    *Type declaration for holding data from mvke
    TYPES: BEGIN OF ty_mvke,
             matnr      TYPE matnr,                       "Material Number
             vkorg      TYPE vkorg,                       "Sales Org
             vtweg      TYPE vtweg,                       "Distribution Channel
           END OF ty_mvke.
    *Type declaration for holding data from qmat
    TYPES: BEGIN OF ty_qmat,
                   matnr type matnr,
                   werks type werks_d,
                   art TYPE qmat-art,
                   ppl TYPE qmat-ppl,
                   spezueber TYPE qmat-spezueber,
                   conf TYPE qmat-conf,
                   tls TYPE qmat-tls,
                   app TYPE qmat-app,
                   mer TYPE qmat-mer,
                   insmk TYPE qmat-insmk,
                   ave TYPE qmat-ave,
                   stichprver TYPE qmat-stichprver,
                   dynregel TYPE qmat-dynregel,
                   sproz TYPE qmat-sproz,
                   hpz TYPE qmat-hpz,
                   dyn TYPE qmat-dyn,
                   mpb TYPE qmat-mpb,
                   mst TYPE qmat-mst,
                   ein TYPE qmat-ein,
                   mpdau TYPE qmat-mpdau,
                   chg TYPE qmat-chg,
                   qkzverf TYPE qmat-qkzverf,
                   qpmat TYPE qmat-qpmat,
                   kzprfkost TYPE qmat-kzprfkost,
                   aufnr_co TYPE qmat-aufnr_co,
                   aktiv TYPE qmat-aktiv,
                   apa TYPE qmat-apa,
                   afr TYPE qmat-afr,
                   mma TYPE qmat-mma,
                   feh TYPE qmat-feh,
                   prfrq TYPE qmat-prfrq,
                   nkmpr TYPE qmat-nkmpr,
         END OF ty_qmat.
    *Type declaration for MARA and MARC data for reference material
    TYPES: BEGIN OF ty_ref_data,
             matnr      TYPE matnr,                       "Material Number
             ladgr      TYPE ladgr,                       "Loading Group
             bklas      TYPE bklas,                       "Valuation class
             peinh      TYPE peinh,                       "Price unit
             losgr      TYPE losgr,                       "Costing Lot Size
             hkmat      TYPE hkmat,                       "Material Origin
             herkl      TYPE herkl,                       "Country Of Origin
             dismm      TYPE dismm,                       "MRP Type
             dispo      TYPE dispo,                       "MRP Controller
             fxhor      TYPE fxhor,                       "Planned delivery time (In days)
             disls      TYPE disls,                       "Lot size
             fhori      TYPE fhori,                       "Scheduling Margin Key for Floats
             magrv      TYPE magrv,
             vhart      TYPE vhart,
             ergew      TYPE ergew,
             ervol      TYPE ervol,
             fuelg      TYPE fuelg,
             stfak      TYPE stfak,
             gewto      TYPE gewto,
             volto      TYPE volto,
             prctr      TYPE prctr,
             kzgvh      TYPE kzgvh,
             stawn      TYPE stawn,
             mtver      TYPE mtver,
             casnr      TYPE casnr,
             gpnum      TYPE gpnum,
             steuc      TYPE steuc,
             herkr      TYPE herkr,
             mownr      TYPE mownr,
             mogru      TYPE mogru,
             prenc      TYPE prenc,
             preno      TYPE preno,
             prend      TYPE prend,
             itark      TYPE itark,
             bstme      TYPE bstme,
             vabme      TYPE vabme,
             nrfhg      TYPE nrfhg,
             mfrgr      TYPE mfrgr,
             ekwsl      TYPE ekwsl,
             webaz      TYPE webaz,
             insmk      TYPE insmk,
             kzkri      TYPE kzkri,
             usequ      TYPE usequ,
             kordb      TYPE kordb,
             mprof      TYPE mprof,
             ekgrp      TYPE ekgrp,
             disgr      TYPE disgr,
             maabc      TYPE maabc,
             minbe      TYPE minbe,
             lfrhy      TYPE lfrhy,
             bstmi      TYPE bstmi,
             bstma      TYPE bstma,
             bstfe      TYPE bstfe,
             mabst      TYPE mabst,
             losfx      TYPE losfx,
             lagpr      TYPE lagpr,
             ausss      TYPE ausss,
             takzt      TYPE takzt,
             rdprf      TYPE rdprf,
             bstrf      TYPE bstrf,
             megru      TYPE megru,
             sobsl      TYPE sobsl,
             kzech      TYPE kzech,
             lgpro      TYPE lgpro,
             vspvb      TYPE vspvb,
             rgekz      TYPE rgekz,
             lgfsb      TYPE lgfsb,
             fabkz      TYPE fabkz,
             eprio      TYPE eprio,
             schgt      TYPE schgt,
             plifz      TYPE plifz,
             mrppp      TYPE mrppp,
             eisbe      TYPE eisbe,
             lgrad      TYPE lgrad,
             eislo      TYPE eislo,
             rwpro      TYPE rwpro,
             shflg      TYPE shflg,
             shzet      TYPE shzet,
             shpro      TYPE shpro,
             periv      TYPE periv,
             auftl      TYPE auftl,
             strgr      TYPE strgr,
             vrmod      TYPE vrmod,
             vint2      TYPE vint2,
             umref      TYPE umref,
             prgrp      TYPE prgrp,
             vint1      TYPE vint1,
             miskz      TYPE miskz,
             prwrk      TYPE prwrk,
             mtvfp      TYPE mtvfp,
             wzeit      TYPE wzeit,
             kzpsp      TYPE kzpsp,
             stdpd      TYPE stdpd,
             perkz      TYPE perkz,
             altsl      TYPE altsl,
             kausf      TYPE kausf,
             sbdkz      TYPE sbdkz,
             kzbed      TYPE kzbed,
             ahdis      TYPE ahdis,
             kzaus      TYPE kzaus,
             ausdt      TYPE ausdt,
             nfmat      TYPE nfmat,
             sauft      TYPE sauft,
             sfepr      TYPE sfepr,
             mdach      TYPE mdach,
             dplfs      TYPE dplfs,
             dplpu      TYPE dplpu,
             dplho      TYPE dplho,
             tempb      TYPE tempb,
             raube      TYPE raube,
             behvo      TYPE behvo,
             stoff      TYPE stoff,
             abcin      TYPE abcin,
             ccfix      TYPE ccfix,
             wesch      TYPE wesch,
             etiar      TYPE etiar,
             etifo      TYPE etifo,
             xgchp      TYPE xgchp,
             maxlz      TYPE maxlz,
             lzeih      TYPE lzeih,
             mhdrz      TYPE mhdrz,
             mhdhb      TYPE mhdhb,
             iprkz      TYPE dattp,
             rdmhd      TYPE rdmhd,
             mhdlp      TYPE mhdlp,
             brgew      TYPE brgew,
             ntgew      TYPE ntgew,
             volum      TYPE volum,
             voleh      TYPE voleh,
             groes      TYPE groes,
             xmcng      TYPE xmcng,
             loggr      TYPE loggr,
             sernp      TYPE serail,
             serlv      TYPE serlv,
             fprfm      TYPE fprfm,
             ausme      TYPE ausme,
             qmata      TYPE qmatauth,
             kzdkz      TYPE kzdkz,
             prfrq      TYPE prfrq,
             rbnrm      TYPE rbnr,
             qmpur      TYPE qmpur,
             ssqss      TYPE ssqss,
             qzgtp      TYPE qzgtyp,
             qssys      TYPE qssys,
             bwtty      TYPE bwtty,
             eklas      TYPE eklas,
             qklas      TYPE qklas,
             verpr      TYPE verpr,
             stprs      TYPE stprs,
             zkprs      TYPE dzkprs,
             zkdat      TYPE dzkdat,
             bwprs      TYPE bwprs,
             bwprh      TYPE bwprh,
             bwps1      TYPE bwps1,
             bwph1      TYPE bwph1,
             vjbws      TYPE vjbws,
             vjbwh      TYPE vjbwh,
             abwkz      TYPE abwkz,
             bwpei      TYPE bwpei,
             xlifo      TYPE xlifo,
             mypol      TYPE mypool,
             ncost      TYPE ck_no_costing,
             ekalr      TYPE ck_ekalrel,
             hrkft      TYPE hrkft,
             kosgr      TYPE ck_kosgr,
             awsls      TYPE awsls,
             mmsta      TYPE mmsta,
             mmstd      TYPE mmstd,
             stlal      TYPE stlal,
             stlan      TYPE stlan,
             plnnr      TYPE plnnr,
             aplal      TYPE plnal,
             plnty      TYPE plnty,
             sobsk      TYPE ck_sobsl,
             zplpr      TYPE dzplpr,
             zplp1      TYPE dzplp1,
             zpld1      TYPE dzpld1,
             zplp2      TYPE dzplp2,
             zpld2      TYPE dzpld2,
             zplp3      TYPE dzplp3,
             zpld3      TYPE dzpld3,
             lvolg      TYPE lvolg,
             diskz      TYPE diskz,
             lsobs      TYPE lsobs,
             lminb      TYPE lminb,
             lbstf      TYPE lbstf,
             lgpbe      TYPE lgpbe,
          END OF ty_ref_data.
    *Type declaration for holding data from mdma
    TYPES: BEGIN OF ty_mdma,
            matnr       TYPE mdma-matnr,                   "Material Number
            berid       TYPE mdma-berid,                   "MRP Area
            werks       TYPE mdma-werks,                   "Plant
          END OF ty_mdma.
    *Type declaration for holding Company code data
    TYPES: BEGIN OF ty_bukrs,
            bwkey       TYPE bwkey,                         "Valuation Area
            bukrs       TYPE bukrs,                         "Company code
          END OF ty_bukrs.
    *Type declaration for holding T001w Data
    TYPES: BEGIN OF ty_t001w,
            werks       TYPE werks_d,                       "Plant
            bwkey       TYPE bwkey,                         "Valuation Area
          END OF ty_t001w.
    *Type declaration for holding T134 Data
    TYPES: BEGIN OF ty_t134,
            mtart       TYPE mtart,                         " Material type
            pstat       TYPE pstat,                         "Condensed status display
          END OF ty_t134.
    Type declaration for Holding TWLAD data
    TYPES: BEGIN OF ty_twlad,
             werks    TYPE werks_d,
             lgort    TYPE lgort_d,
             adrnr    TYPE adrnr,
            END OF ty_twlad.
    *Type declaration for holding ADRC data
    TYPES: BEGIN OF ty_adrc,
             adrnr    TYPE adrnr,   "Address number
             sort2    TYPE ad_sort2,   "Search Term
           END OF ty_adrc.
    TYPES: BEGIN OF ty_dev00160,
             pkey    TYPE zkey,    "parameter key
             item    TYPE zitem,   "Item No
             value   TYPE zvalue,
           END OF ty_dev00160.
                             Constants
    CONSTANTS: c_header(1) TYPE c  VALUE 'H',     "Header
               c_true(1)   TYPE c  VALUE 'X',     "value = x
               c_v(1)      TYPE c  VALUE 'V',     "Sales View
               c_e(1)      TYPE c  VALUE 'E',     "Purchasing View
               c_d(1)      TYPE c  VALUE 'D',     "MRP View
               c_p(1)      TYPE c  VALUE 'P',     "Forecasting View
               c_a(1)      TYPE c  VALUE 'A',     "Work Scheduling view
               c_l(1)      TYPE c  VALUE 'L',     "Storage View
               c_q(1)      TYPE c  VALUE 'Q',     "Quality View
               c_b(1)      TYPE c  VALUE 'B',     "Accounting
               c_g(1)      TYPE c  VALUE 'G',     "Costing View
               c_f(1)      TYPE c  VALUE 'F',     "PRT View
               c_k(1)      TYPE c  VALUE 'K'.     "Basic View
                              Internal tables
    *Internal table to hold material no and material type
    DATA: i_matnr  TYPE STANDARD TABLE OF ty_matnr INITIAL SIZE 0.
    *Internal table to hold plant
    DATA: i_plant   TYPE STANDARD TABLE OF ty_plant INITIAL SIZE 0.
    *Internal table to hold marc data
    DATA: i_marc   TYPE STANDARD TABLE OF ty_marc INITIAL SIZE 0.
    *Internal table to hold marc data
    DATA: i_tmarc   TYPE STANDARD TABLE OF ty_marc INITIAL SIZE 0.
    *Internal table to hold mard data
    DATA: i_mard   TYPE STANDARD TABLE OF ty_mard INITIAL SIZE 0.
    *Internal table to hold t001l data
    DATA: i_sloc TYPE STANDARD TABLE OF ty_sloc INITIAL SIZE 0.
    *Internal table to hold MRP Area
    DATA: i_mdlv  TYPE STANDARD TABLE OF ty_mdlv INITIAL SIZE 0.
    *Internal table to hold already extended MRP Area
    DATA: i_mdma  TYPE STANDARD TABLE OF ty_mdma INITIAL SIZE 0.
    *Internal table to hold MRP Area data from customized table
    DATA: i_refmdma TYPE STANDARD TABLE OF ty_refmdma INITIAL SIZE 0.
    *Internal table to hold success messages
    DATA: i_succ TYPE STANDARD TABLE OF ty_succ INITIAL SIZE 0.
    *Internal table to hold error messages
    DATA: i_error TYPE STANDARD TABLE OF ty_error INITIAL SIZE 0.
    *Internal table to hold mvke data
    DATA: i_mvke   TYPE STANDARD TABLE OF ty_mvke INITIAL SIZE 0.
    *Internal table for company code data
    DATA: i_bukrs TYPE STANDARD TABLE OF ty_bukrs INITIAL SIZE 0.
    *Internal table for T001W data
    DATA: i_t001w TYPE STANDARD TABLE OF ty_t001w INITIAL SIZE 0.
    *Internal table for T134 data
    DATA: i_t134 TYPE STANDARD TABLE OF ty_t134 INITIAL SIZE 0.
    *Internal table for TWLAD data
    DATA: i_twlad  TYPE STANDARD TABLE OF ty_twlad INITIAL SIZE 0.
    *Internal table for ADRC data
    DATA: i_adrc  TYPE STANDARD TABLE OF ty_adrc INITIAL SIZE 0.
    *Internal table for dev00160 data
    DATA: i_dev00160  TYPE STANDARD TABLE OF ty_dev00160 INITIAL SIZE 0.
    *Internal table for qmat data
    DATA: i_qmat  TYPE STANDARD TABLE OF ty_qmat INITIAL SIZE 0.
                              Work areas
    *Work Area for Internal table i_mara
    DATA: wa_matnr     TYPE ty_matnr.
    *Work Area for Internal table i_werks
    DATA: wa_plant     TYPE ty_plant.
    *Work Area for Internal table i_marc
    DATA: wa_marc      TYPE ty_marc.
    *Work Area for Internal table i_t001l
    DATA: wa_sloc      TYPE ty_sloc.
    *Work Area for Internal table i_mdlv
    DATA: wa_mdlv      TYPE ty_mdlv.
    *Work Area for Internal table i_bukrs
    DATA: wa_bukrs     TYPE ty_bukrs.
    *Work Area for Internal table i_refmdma.
    DATA: wa_refmdma   TYPE ty_refmdma.
    *Work Area for Internal table i_succ
    DATA: wa_succ      TYPE ty_succ.
    *Work Area for Internal table i_error
    DATA: wa_error     TYPE ty_error.
    *Work Area for Internal table i_selfields
    DATA: wa_selfields TYPE sdibe_massfields.
    *Work Area for Internal table i_mvke
    DATA: wa_mvke      TYPE ty_mvke.
    *Work Area for Internal table i_ref_data
    DATA: wa_ref_data  TYPE ty_ref_data.
    *Work Area for internal table I_t001w
    DATA: wa_t001w    TYPE ty_t001w.
    *Work Area for internal table I_t001w
    DATA: wa_twlad    TYPE ty_twlad.
    *Work Area for internal table I_t134
    DATA: wa_t134    TYPE ty_t134.
    WOrk Area for ADRC Table
    DATA: wa_adrc    TYPE ty_adrc.
    WOrk Area for MARD Table
    DATA: wa_mard    TYPE ty_mard.
    *Work Area for Internal table i_mvke
    DATA: wa_dev00160      TYPE ty_dev00160.
    *Work Area for Internal table i_mvke
    DATA: wa_qmat      TYPE ty_qmat.
                    SELECTION SCREEN                                    *
    SELECTION-SCREEN : BEGIN OF BLOCK b_001
                       WITH FRAME
                       TITLE text-001 .         "Start of selection-screen
    SELECT-OPTIONS:     s_matnr FOR mara-matnr.            "Material Number
    PARAMETERS :        p_ersda LIKE mara-ersda.           "Creation Data
    SELECT-OPTIONS:     s_werks FOR marc-werks NO INTERVALS.       "Plant
    SELECTION-SCREEN : END OF BLOCK b_001 .   "End of Selection-screen
    *&  Include           ZDMMMR_MM_MULTI_F00                     *
    *&      Form  sub_validate_matnr
          Subroutine for validating material number
    FORM sub_validate_matnr .
      SELECT matnr            "Material Number
             mtart            "Material Type
             ersda            "Creation date
             mbrsh            "Industry Sector
      FROM mara               "Table for General Material Data
      INTO TABLE i_matnr
      WHERE matnr IN s_matnr.
    *If no material is found an error message is given
      IF sy-subrc <> 0.
        MESSAGE e001.
      ENDIF.
    ENDFORM.                    " sub_validate_matnr
    *&      Form  sub_validate_plant
          Subroutine to validate Plant
    FORM sub_validate_plant .
      SELECT werks            "Plant
             bwkey            "Valuation area
      FROM t001w              "Table for Plants/Branches
      INTO TABLE i_plant
      WHERE werks IN s_werks.
    *If no plant is found an error message is given
      IF sy-subrc NE 0.
        MESSAGE e002.
      ENDIF.
    ENDFORM.                    " sub_validate_plant
    *&      Form  sub_get_mara
    *Determine all the materials that need to be extended to new plants,
    *storage locations and MRP areas
    FORM sub_get_mara .
      IF NOT s_matnr[] IS INITIAL.
        SORT i_matnr BY matnr.
        IF p_ersda IS NOT INITIAL.
          DELETE i_matnr WHERE ersda NE p_ersda.
        ENDIF.
      ELSE.
    *If only Creation Date is given
        SELECT    matnr              "Material No.
                  mtart              "Material Type
                  ersda              "Creation date
                  mbrsh              "Industry Sector
        FROM mara                    "Table for General Material Data
        INTO  TABLE i_matnr
        WHERE ersda EQ p_ersda.
        IF sy-subrc EQ 0.
          SORT i_matnr BY matnr.
        ELSE.
          MESSAGE i000 WITH 'No data found for given Selection.'(002).
          LEAVE LIST-PROCESSING.
        ENDIF.
      ENDIF.
    Subroutine to get data from mvke.
      PERFORM sub_get_mvke.
      LOOP AT i_matnr INTO wa_matnr.
        CLEAR wa_mvke.
        READ TABLE i_mvke INTO wa_mvke WITH KEY matnr = wa_matnr-matnr
    BINARY SEARCH.
        IF sy-subrc EQ 0.
          wa_matnr-vkorg = wa_mvke-vkorg.
          wa_matnr-vtweg = wa_mvke-vtweg.
        ENDIF.
        IF wa_matnr-mtart = 'AD01'.
          wa_matnr-mtartz = 'AD01'.
        ELSE.
          wa_matnr-mtartz = 'NAD01'.
        ENDIF.
        MODIFY i_matnr FROM wa_matnr TRANSPORTING vkorg vtweg mtartz.
      ENDLOOP.
    ENDFORM.                    " sub_get_mara
    *&      Form  sub_get_werks
    *Determine all the plants to which the Materials need to be extended
    FORM sub_get_werks .
      SELECT   werks            "Plant
               bwkey            "Valuation Area
      FROM t001w                "Check table for Plants/Branches
      INTO  TABLE i_plant.
      IF sy-subrc EQ 0.
        SORT i_plant BY werks.
      ENDIF.
    ENDFORM.                    " sub_get_werks
    *&      Form  sub_get_marc
    *Determine the status of the materials with respect to which plants
    *they have already been extended to
    FORM sub_get_marc .
      CHECK i_matnr[] IS NOT INITIAL.
      SELECT     m~matnr        "Material Number
                 m~werks        "Plant
                 t~bwkey
      INTO TABLE i_marc
      FROM marc AS m               "Table for Plant Data for Material
      INNER JOIN t001w AS t
      ON mwerks = twerks
      FOR ALL ENTRIES IN i_matnr
      WHERE matnr EQ i_matnr-matnr.
      IF sy-subrc EQ 0.
    *Append the plants that have been extended to
    to the list of plants to which they have to be extended
    only when no plants are given in the selection screen
        IF s_werks IS INITIAL.
          LOOP AT i_marc INTO wa_marc.
            wa_plant-werks = wa_marc-werks.
            wa_plant-bwkey = wa_marc-bwkey.
            APPEND wa_plant TO i_plant.
            CLEAR wa_plant.
          ENDLOOP.
          SORT i_plant BY werks bwkey.
          DELETE ADJACENT DUPLICATES FROM i_plant
          COMPARING werks bwkey.
        ENDIF.
        SORT i_marc BY matnr werks.
    *Retrieve the Valutaion Area for the plants to which the material
    *has already been extended.
        SELECT werks          "Plant
               bwkey          "Valuation area
        INTO TABLE i_t001w
        FROM t001w            "Table for Plants/Branches
        FOR ALL ENTRIES IN i_marc
        WHERE  werks = i_marc-werks.
    *If selection succeed.
        IF sy-subrc EQ 0.
    Sort by Plant
          SORT i_t001w BY werks.
        ENDIF.
      ENDIF.
    *Copy the content of MARC into a temporary internal table
      i_tmarc[] = i_marc[].
      DELETE ADJACENT DUPLICATES FROM i_tmarc
             COMPARING matnr.
    *Retrieving Inspection type - material parameters (QMAT)
    *data
      SELECT       matnr          "Material Number
                   werks          "Plant
                   art            "Inspection Type
                   ppl            "Inspection with Task List
                   spezueber      "Inspect with Material Specification
                   conf           "Inspection Specifications from
                                  " Configuration
                   tls            "Inspection Specifications from Batch
                                  " Determination
                   app            "Automatic Specification Assignment
                   mer            "nspect by Characteristics
                   insmk          "Post to Inspection Stock
                   ave            "Automatic Usage Decision Planned
                   stichprver     "Sampling Procedure
                   dynregel       "Dynamic Modification Rule
                   sproz          "Inspection Percentage
                   hpz            "100% Inspection
                   dyn            "Skips Allowed
                   mpb            "Enter the Sample Manually
                   mst            "Trigger Sample Calculation Manually
                   ein            "Serial Number Management Possible
                   mpdau          "Average Inspection Duration
                   chg            "Control of Inspection Lot Creation (Lot
                                  "Summary)
                   qkzverf        "Procedure for Calculating Quality Score
                   qpmat          "Allowed Share of Scrap (Percent) in
                                   "Inspection Lot
                   kzprfkost      "Record Appraisal Costs in Individual QM
                                  "Order
                   aufnr_co       "Order Number for Recording Appraisal
                                   "Costs
                   aktiv          "Inspection Type - Material Combination is
                                   "Active
                   apa            "Preferred Inspection Type
                   afr            "Inspection for Handling Unit
                   mma            "Field Not Used as of 3.0       Field
                                   "Reserved for SAP
                   feh            "Field Not Used as of 3.0       Field
                                  "Reserved for SAP
                   prfrq          "Field Not Used as of 3.0       Field
                                   "Reserved for SAP
                   nkmpr          "Field Not Used as of 3.0       Field
                                  "Reserved for SAP
          INTO TABLE i_qmat
          FROM qmat               "Table of "Inspection type - material
                                  "parameters"
          FOR ALL ENTRIES IN i_tmarc
          WHERE matnr = i_tmarc-matnr "Material no. of temporary internal
                                       "table
          AND   werks = i_tmarc-werks. "Plant of temporary internal table
    *If selection succeed
      IF sy-subrc EQ 0.
        SORT i_qmat BY matnr.
      ENDIF.
    ENDFORM.                    " sub_get_marc
    *&      Form  sub_get_mard
    Determine the storage locations for the Plants i_plant.
    FORM sub_get_mard .
      CHECK i_marc[] IS NOT INITIAL.
      SELECT matnr           "Material Number
             werks           "Plant
             lgort           "Storage Location
      FROM mard              "Table for Storage Location Data for Material
      INTO TABLE i_mard
      FOR ALL ENTRIES IN i_marc
      WHERE matnr EQ i_marc-matnr
      AND werks EQ i_marc-werks.
    *If selection succeed
      IF sy-subrc EQ 0.
    *Sort internal table by Material no , Plant and Storage Location
        SORT i_mard BY matnr werks lgort .
      ENDIF.
    ENDFORM.                    " sub_get_mard
    *&      Form  sub_get_t001l
    Determine the storage locations for the Plants i_plant.
    FORM sub_get_t001l .
      CHECK i_plant[] IS NOT INITIAL.
      SELECT     werks               "Plant
                 lgort               "Storage Location
      FROM t001l                     "Check table for Storage Location
      INTO TABLE i_sloc
      FOR ALL ENTRIES IN i_plant
      WHERE werks EQ i_plant-werks.
    *If selection succeed
      IF sy-subrc EQ 0.
    *Sort by Plant and Storage Location
        SORT i_sloc BY werks lgort.
       For all the storage location get the Storage Location Address
    *Number
        SELECT werks   "Plant
               lgort   "Storage Location
               adrnr   "Address Number
         FROM twlad    "Table of 'Determination of Address from Plant and
                       "Storage Location'
         INTO TABLE i_twlad
         FOR ALL ENTRIES IN i_sloc
         WHERE werks = i_sloc-werks
         AND   lgort = i_sloc-lgort.
    *If selection succeed
        IF sy-subrc EQ 0.
    *Sort by Plant, Storage Location and Address number
          SORT i_twlad BY werks lgort adrnr.
    For all address numbers retrieved get the search term
          SELECT addrnumber  "Address number
                 sort2       "Search Term 2
          INTO TABLE i_adrc
          FROM adrc          "Table of 'Addresses (Business Address
                             "Services)'
          FOR ALL ENTRIES IN i_twlad
          WHERE addrnumber = i_twlad-adrnr.
          IF sy-subrc EQ 0.
            SORT i_adrc BY adrnr.
          ENDIF.
        ENDIF.
      ENDIF.
    ENDFORM.                    " sub_get_t001l
    *&      Form  sub_get_mdlv
    Determine the MRP Areas to which the materials need to be extended.
    FORM sub_get_mdlv .
      CHECK i_sloc[] IS NOT INITIAL.
      SELECT     berid                "MRP Area
                 werzg                "Plant
                 ortzg                "Receiving Storage Location
      FROM mdlv                       "Table for Customizing MRP Area
      INTO TABLE i_mdlv
      FOR ALL ENTRIES IN i_sloc
      WHERE werzg EQ i_sloc-werks
      AND   ortzg EQ i_sloc-lgort.
    *If selection succeed.
      IF sy-subrc EQ 0.
    *Sort by Plant and Storage Location
        SORT i_mard BY werks lgort.
      ENDIF.
    ENDFORM.                    " sub_get_mdlv
    *&      Form  sub_get_zdmmm_mrp_area
    Determine required fields w.r.t Plant and MRP Area from customized
    *table
    FORM sub_get_zdmmm_mrp_area .
      CHECK i_mdlv[] IS NOT INITIAL.
    *Retrieving MRP data from Customized table
      SELECT    zmtart                "Material Type
                zwerks                "Plant
                zberid                "MRP Area
                zdismm                "MRP Type
                zeisbe                "Safety Stock
                zdisls                "Lot Size
                zdispo                "Mrp Controller
                zfxhor                "Planned Delivery Time (In Days)
      FROM zdmmm_mrp_area             "Customized table for MRP Area wrt
                                       "plant and mat type.
      INTO TABLE i_refmdma
      FOR ALL ENTRIES IN i_mdlv
      WHERE zberid = i_mdlv-berid
      AND zwerks = i_mdlv-werzg.
    *If selection succeed
      IF sy-subrc <> 0.
    *Sort by MRP Area and Plant
        SORT i_refmdma BY zberid zwerks.
      ENDIF.
    ENDFORM.                    " sub_get_zdmmm_mrp_area
    *&      Form  sub_mat_extn
    For extending Material to Plant, all possible Storage Location and
    corresponding MRP Area .
    FORM sub_mat_extn .
    *Local variable declaration
      DATA: l_index TYPE sytabix.       "For storing sy-tabix
      DATA: l_counter TYPE i VALUE 0.   "For formatting Error log.
      DATA: l_sloc_extend TYPE c.       "Flag for Extending the material
      DATA: wa_dpop LIKE dpop.          "For sending as a exporting
      "parameter
      DATA: wa_mdma LIKE mdma.          "For sending as a exporting
      "parameter
      DATA: l_stat  TYPE c.             "For checking the Storage Location
      "is Seviceable or not.
      DATA: wa_bapireturn1 TYPE bapiret1. "Return Work area of
      "'MD_MRP_LEVEL_CREATE_DATA'
    *No material is selected.
      CHECK i_matnr[] IS NOT INITIAL.
      SORT i_plant BY werks.
      SORT i_marc BY matnr werks.
      SORT i_mard BY matnr werks lgort.
    *For extending the material to Plant Storage Location and possible MRP
    *Area
      LOOP AT i_matnr INTO wa_matnr.
        CLEAR wa_marc.
      Checking whether Reference Material  Exists or not
        READ TABLE i_marc INTO wa_marc WITH KEY matnr = wa_matnr-matnr
       BINARY SEARCH.
      If no reference material exists..populate data for error log.
        IF sy-subrc NE 0.
          CLEAR wa_error.
          PERFORM material_convert USING wa_matnr-matnr
                                   CHANGING wa_error-mat.
          wa_error-comm = 'Reference material is not maintained'(003).
          APPEND wa_error TO i_error.
          CLEAR wa_error.
          CONTINUE.
        ENDIF.
      For retrieving the reference data
        PERFORM sub_retrieve_refdata.
        LOOP AT i_plant INTO wa_plant.
          READ TABLE i_marc INTO wa_marc WITH KEY matnr = wa_matnr-matnr
                                                  werks = wa_plant-werks
                                                  BINARY SEARCH.
          IF sy-subrc EQ 0.
        

  • Hi, IDOC Material Master upload

    Hi
    I am working on LSMW IDOC Method for MAterial Master
    when i process the idocs.. the idocs are generated and are not getting processed showing 51 - Idocs are not processesd as the idoc packets has errors..
    i am not able to debug it.. can anyone help me how to find the error and locate the particular segment..
    if any one had faced such error previously can you help me out in solving this..
    Thanks in advance
    Guhapriyan

    Hi Guhapriyan,
    I think you might be in the wrong forum, but since I am reading here goes. One or more of the idocs in the packet fails, so all will fail. You can eliminate this by setting the packet size to 1 when processing the idocs in LSMW. Alternately, use BD87 to view the idocs and reprocessthe failed ones. They will process individually so you can locate the error messages. MATMAS idocs will generate an success/failure log which you can drill to directly from the idoc in BD87 by double clicking the idoc status record or via trans SLG1. You can also capture the idoc number and process/debug from WE19 but should not need to unless you have implemented CMODs or BADIs on the MATMAS idoc.
    Hope that is of some help,
    -Lew

  • NEED ALE IDOC MATERIAL

    PLZ CAN ANYBODY SEND ME GOOD MATERIAL ON ALE IDOCS
    PLZ NO LINKS
    I HAVE THE LINKS I JUST NEED GOOD PPTS STEP BY STEP
    POINTS ASSURED FOR GOOD MATERIAL
    MY MAIL ID is [email protected]

    Refer this material..
    Data Creation in Idoc
    IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an
    asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.
    While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.
    IDoc is a intermediate document to exchange data between two SAP Systems.
    *IDocs are structured ASCII files (or a virtual equivalent).
    *Electronic Interchange Document
    *They are the file format used by SAP R/3 to exchange data with foreign systems.
    *Data Is transmitted in ASCII format, i.e. human readable form
    *IDocs exchange messages
    *IDocs are used like classical interface files
    IDOC types are templates for specific message types depending on what is the business document, you want to exchange.
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    FOr testing you can use WE19.
    How to create idoc?
    *WE30 - you can create a IDOC type
    For more information in details on the same along with the examples can be viewed on:
    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
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30 )
    Create Message Type ( WE81 )
    Assign Idoc Type to Message Type ( WE82 )
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    Check these out..
    Re: How to create IDOC
    Check below link. It will give the step by step procedure for IDOC creation.
    http://www.supinfo-projects.com/cn/2005/idocs_en/2/
    ALE/ IDOC
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.docs
    go trough these links.
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...
    1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.
    2.IDOCs are independent of the sending and receiving systems.
    3.IDOCs are independent of the direction of data exchange.
    The two available process for IDOCs are
    Outbound Process
    Inbound Process
    AND There are basically two types of IDOCs.
    Basic IDOCs
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extended IDOCs
    Extending the functionality by adding more segments to existing Basic IDOCs.
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    imp links
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    www.sappoint.com
    --here u can find the ppts and basic seetings for ALE
    http://sappoint.com/presentation.html
    www.sapgenie.com
    http://www.sapgenie.com/ale/index.htm
    WE30 - you can create a IDOC type.
    An IDOC with data, will have to be triggered by the application that is trying to send out the data.
    Try this..Hope this will help.
    Steps to configuration(Basis) >>
    1. Create Logical System (LS) for each applicable ALE-enabled client
    2. Link client to Logical System on the respective servers
    3. Create background user, to be used by ALE(with authorizaton for ALE postings)
    4. Create RFC Destinations(SM59)
    5. Ports in Idoc processing(WE21)
    6. Generate partner profiles for sending system
    The functional configuration(Tcode: SALE)
    • Create a Customer Distribution Model (CDM);
    • Add appropriate message types and filters to the CDM;
    • Generate outbound partner profiles;
    • Distribute the CDM to the receiving systems; and
    • Generate inbound partner profiles on each of the clients.
    Steps to customize a new IDoc >>>
    1. Define IDoc Segment (WE31)
    2. Convert Segments into an IDoc type (WE30)
    3. Create a Message Type (WE81)
    4. Create valid Combination of Message & IDoc type(WE82)
    5. Define Processing Code(WE41 for OUT / WE42 for IN)
    6. Define Partner Profile(WE20)
    Important Transaction Codes:
    SALE - IMG ALE Configuration root
    WE20 - Manually maintain partner profiles
    BD64 - Maintain customer distribution model
    BD71 - Distribute customer distribution model
    SM59 - Create RFC Destinations
    BDM5 - Consistency check (Transaction scenarios)
    BD82 - Generate Partner Profiles
    BD61 - Activate Change Pointers - Globally
    BD50 - Activate Change Pointer for Msg Type
    BD52 - Activate change pointer per change.doc object
    BD59 - Allocation object type -> IDOC type
    BD56 - Maintain IDOC Segment Filters
    BD53 - Reduction of Message Types
    BD21 - Select Change Pointer
    BD87 - Status Monitor for ALE Messages
    BDM5 - Consistency check (Transaction scenarios)
    BD62 - Define rules
    BD79 - Maintain rules
    BD55 - Defining settings for IDoc conversion
    WEDI - ALE IDoc Administration
    WE21 - Ports in Idoc processing
    WE60 - IDoc documentation
    SARA - IDoc archiving (Object type IDOC)
    WE47 - IDoc status maintenance
    WE07 - IDoc statistics
    BALE - ALE Distribution Administration
    WE05 - IDoc overview
    BD87 - Inbound IDoc reprocessing
    BD88 - Outbound IDoc reprocessing
    BDM2 - IDoc Trace
    BDM7 - IDoc Audit Analysis
    BD21 - Create IDocs from change pointers
    SM58 - Schedule RFC Failures
    Basic config for Distributed data:
    BD64: Maintain a Distributed Model
    BD82: Generate Partner Profile
    BD64: Distribute the distribution Model
    Programs
    RBDMIDOC – Creating IDoc Type from Change Pointers
    RSEOUT00 – Process all selected IDocs (EDI)
    RBDAPP01 - Inbound Processing of IDocs Ready for Transfer
    RSARFCEX - Execute Calls Not Yet Executed
    RBDMOIND - Status Conversion with Successful tRFC Execution
    RBDMANIN - Start error handling for non-posted IDocs
    RBDSTATE - Send Audit Confirmations
    FOr testing you can use WE19.
    You can directly create an iDoc using some transaction like...
    Use TCODE bd10 - to Send Data
    and TCODE bd11 - to Get Data
    and you can check the IDoc List using TCODE we02.
    As you want step by step procedure.
    1. Define Logical System and Assign Logical System
    TCODE sale
    2. Define RFC
    TCODE sm59
    3. Define Port
    TCODE we21
    4. Define Partner Profile
    TCODE we20
    5. Define Distribution Model
    TCODE bd64
    6. Send Data
    TCODE bd10
    7. Get Data
    TCODE bd11
    8. IDoc List
    TCODE we02
    There are basically two types of IDOCs.
    Basic IDOCs
    Extended IDOCs
    Idoc Components
    Basic Idoc
    Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.
    Extension Idoc
    Extending the functionality by adding more segments to existing Basic IDOCs.
    Creation of IDoc
    To Create Idoc we need to follow these steps:
    Create Segment ( WE31)
    Create Idoc Type ( WE30)
    Create Message Type ( WE81)
    Assign Idoc Type to Message Type ( WE82)
    Creating a Segment
    Go to transaction code WE31
    Enter the name for your segment type and click on the Create icon
    Type the short text
    Enter the variable names and data elements
    Save it and go back
    Go to Edit -> Set Release
    Follow steps to create more number of segments
    Create IDOC Type
    Go to transaction code WE30
    Enter the Object Name, select Basic type and click Create icon
    Select the create new option and enter a description for your basic IDOC type and press enter
    Select the IDOC Name and click Create icon
    The system prompts us to enter a segment type and its attributes
    Choose the appropriate values and press Enter
    The system transfers the name of the segment type to the IDOC editor.
    Create IDOC Type
    Follow these steps to add more number of segments to Parent or as Parent-child relation
    Save it and go back
    Go to Edit -> Set release
    Create Message Type
    Go to transaction code WE81
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter
    Click New Entries to create new Message Type
    Fill details
    Save it and go back
    Assign Message Type to IDoc Type
    Go to transaction code WE82
    Change the details from Display mode to Change mode
    After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.
    Click New Entries to create new Message Type.
    Fill details
    Save it and go back
    u can also check all these links related to idocs
    http://www.allsaplinks.com/idoc_sample.html
    http://www.allsaplinks.com/
    http://www.sap-img.com/
    http://www.sappoint.com/abap.html
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseCategory/0,295197,sid63_tax296858_idx0_off50,00.html
    http://sap.ittoolbox.com/documents/popular-q-and-a/extending-a-basic-idoc-type-2358
    http://help.sap.com/saphelp_47x200/helpdata/en/dc/6b7eee43d711d1893e0000e8323c4f/frameset.htm
    Reward if it is usful,

  • ALE/IDOC material

    Hi Experts,
    I m new into ALE/IDOC technology and wht to know in depth and Full fledge. plz suggest me some documents.
    Thanx in advance

    Hi Abdul,
    Check this matter.
    1)EDI
    Electronic Data Interchange
    Cross-company exchange of electronic data (for example business documents) between domestic and international business partners who use a variety of hardware, software, and communication services. The data involved is formatted according to predefined standards. In addition to this, SAP ALE technology is available for data exchange within a company.
    Refer
    http://www.erpgenie.com/sapedi/index.htm
    2) ALE
    A means of creating and operating distributed applications.
    Application Link Enabling (ALE) guarantees a distributed, but integrated, R/3 installation. This involves business-controlled message exchange using consistent data across loosely linked SAP applications.
    Applications are integrated using synchronous and asynchronous communication - not by using a central database.
    ALE consists of the following layers:
    Application services
    Distribution services
    Communication services
    Refer
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    Check this link ALE and EDI
    Types of RFC.
    RFC:
    Remote Function Call (RFC) is the standard SAP interface for communication between SAP systems. The RFC calls a function to be executed in a remote system.
    Synchronous RFC:
    The first version of RFC is synchronous RFC (sRFC). This type of RFC executes the function call based on synchronous communication, which means that the systems involved must both be available at the time the call is made.
    Transactional RFC (tRFC) and Queued RFC (qRFC). tRFC is used mainly to transfer ALE Intermediate Documents (IDocs).
    Transactional RFC:
    If an error occurs during a synchronous remote function call, the system cannot tell at what point the error occurred (most crucially, whether the function module was actually processed in R/3 before the operation failed). Restarting a failed call is therefore a dangerous thing to do, since you risk duplicating a completed function call.
    To alleviate this problem, you can use transactional RFC, which guarantees that each function call you issue will only be executed once, even if you submit it repeatedly to the R/3 System. The system implements this safeguard by assigning a unique transaction ID (TID) to each transaction that you submit. When you attempt to process the transaction, the system checks whether that TID has already been processed. If it has, the transaction is ignored.
    Queued RFC:
    When you use transactional RFC, you cannot guarantee the order in which the function calls will be processed in the system (it is quite possible that one call might overtake another). For cases where you need to specify a particular processing order, you can use queued RFC, which is an extension of transactional RFC. In qRFC, you place each function call in a logical queue. A function call cannot be executed until all of its predecessors in the queue have been processed. Queued RFC calls are processed asynchronously
    For more information on RFC, please go through the link.
    http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5b6a85b11d6b28500508b5d5211/content.htm
    In simple words, ALE is used within the organization and EDI is used betn. the business partners.
    For eg: in ALE, when you want other branches of your company to have the same data as your main branch. You transport the data through ALE methodology.
    Whereas, EDI is used for communication betn ur co. & bank or co. & transport co., etc.
    If the other end does not have SAP, then a middle layer like MERCATOR is used to convert SAP data to non-SAP data and vice-versa.
    The basic difference is that ALE is the SAP technology for communications and you do not have to depend on 3rd party sofywares for the communication. EDI is the technology which requires you to define/create a sub-system that enables data transfers and these subsystems are 3rd party tools.
    THe various types of RFCs used in the technology are
    1. Synchronous RFC
    2. Asynchronous RFC
    3. Transactional RFC (tRFC)
    You can refer these links for ALE and EDI.
    http://www.onestopsap.com/interview-Question/ale/
    http://www.onestopsap.com/interview-Question/edi/
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • ALE for material master (matmas)

    HI Experts
    When a material master description is changed, i need to get a change pointer triggered. For this puroose, in BD52, which table field i need to map?
    In addition to this, why MATERIAL-MARA-KEY is required in BD52?
    Thanks
    ramSiva

    hello marias,
    for material descriptio you should use:
    MATERIAL     DMAKT     MAKTX
    for the second question, field "KEY" is a reference for new reccords,
    hope it helps,

  • ALE IDoc : Vendor Master : Cremas: Inbound IDocs are bypassing the Customiz

    Hi,
    Create Vendor master inbound IDocs - CREMAS - are overridding the customizing settings.
    For example for a particular vendor group  a number range is set in customizing.
    When we try to create a vendor through XK01 which does not fall in a particular number range as set in customising for a particular vendor group, we get a error message and creation is terminated.
    But if the same vendor is created via standard idoc CREMAS, vendor is created without any errors bypassing the customizing settings.
    So can anybody help me in this. Is there any customising setting that we need to do explicitly for Vendor IDocs. Or any other setting in standard IDoc.
    Thanks in advance.

    Hi,
    1. If your vendor changes should be updated from one system to other system through ALE, we need to active the change pointers.
    2. Change points can be activate through Tcode SALE
    3. After activating change points and your distribution model is ready, you can execute the program RBDMIDOC to genarate the IDOCs.
    4. Normally this program will be executed in the background
    5. And as you said, you have to do some validations before sending IDOCs. For this you can Filters and rules in the DM.
    OR you can write the code in user-exists of outbound posting program.
    Rewards if this info is useful.
    Thanks,

  • Document for ALE-IDOC

    Hi All,
    I m new to ALE-IDCO.
    Can u plz give me  documents or link to the document related to ALE-IDOC.
    Is there any Video or E-learning for  avilable for learning ALE-IDOC?
    Thanks & Regards
    Sachin

    http://www.sdn.sap.com/irj/sdn/ale
    ALE configuration procedure
    ALE/IDOC Material
    ALE Idoc pdf
    thanks
    anurag

  • ALE IDOC Transfering Material Master From One Client to Another Client

    I am using ALE Idoc transfering material master from one client to another client with MATMAS msgtype the details of Idoc received on receiver side is showing message i.e no Idoc is selected at receiving side after passing partner number in WE02 transaction.
    As I am new to ALE/IDOCS , I am transferring material master from one client to another client with in same system on IDES using ALE/Idocs the details of IDOC received on receiver side is showing message i.e no IDOC is selected at receiving side after passing partner number in WE02 transaction and showing current status 51 instead of 53  i.e no details of IDOC is received at receiver side  using MATMAS Message-Type. It is <removed by moderator>
    Kindly provide solution.
    Naveen
    Message was edited by: Naveen Grover
    Message was edited by: Manish Kumar : Subject and formatting changed

    Hello Naveen,
    If the connection is available (test with SM59 + Connection identifier),
    after choosing your Connection you can test the connection:
    you might find the idocs with the daate when they where sent in SM58:
    The message says in this case there was no service, there might also be other errors like "wrong password" and so on.
    After solving the error, you can restart sending the idoc from this screen.
    Hope this helps .
    Regards,
    Gerlinde

  • Issue: Sending material master using ALE-IDOC.

    Hi all,
    I am sending the material master data from one server to another.All the fields getting transported along with creator(field ERNAM) of the material.When viewed from WE05 the field is having the same data as original creator of the material in sending system.But when i view data in receiving system for field MARA-ERNAM the field is having the USER NAME giver in RFC-DESTINATION.can anybody guide so that the creator from IDOC is updated in database and not the creator given in RFC
    destination.
    Thank you.
    Edited by: sanu debu on Jun 30, 2009 9:35 AM

    Hi,
    Hope you are using some middleware to transfer the Idoc to other system, check the mapping details from the middleware side whethere the field mapped correclty.

  • ALE:Material Master Data Distribution

    Hi
    I am new to ALE Material Master Data Distribution and if the questions are incorrectly worded, please accept my apologies. It is due to lack of knowledge.
    I am doing Material Master Data distribution and I am using standard basic type MATMAS03. The standard TCode MM01, MM02 has SAP tables and 3 custom tables.
    I have turned the active on using BD61 and change pointers to message type.
    Q: Is the change pointer, applicable to entire material master? i.e. if I change a field in Z table or standard material tables, can an IDOC be created for the entire material record?
    Q: What is the function of BD52? Does this override the option Activate Change pointers for message type? Does it mean, if the changes are made to those fields in BD52 a change pointer is created?
    Q: If I change Z table only, will there be a change pointer created? If not, how could I accomplish this using BD52.
    Q When do we use the enhancement MGV00001?
    Also, If you could add anything in addition to above queries, it will be helpful to me and I appreciate it.
    With regards,
    William

    Thank you Sudhakar.
    Your tips are good, but, I was not able to get the problem resolved.
    Let me explain what I have done based on your tips.
    1.  MATMAS uses MATMAS03. The basic type has NOT been modified to have z fields yet.
    2.  Using BD52, i have created the following fields
         MATERIAL    ZEMM_MARA_TECH   IM_ADVISORY_CODE
         MATERIAL    ZEMM_MARA_TECH   KEY.
    3.  Modified the MMR for IM_ADVISORY_CODE.
    I did not see a change pointer for this change.
    Q:  When I created above entry using BD52, was asking the table name. The table name is stored in TCD0B. What TCode is available the entries in TCDOB. For the time being, i created using SQL.
    Q. Is there a follow up configuration required to capture the changes?
    I will award the points in a couple of days time, even if I do not get the solution, because you have spent your precious time for the community. I will wait for a couple of days for other suggestions and close the Problem.

Maybe you are looking for