Combination of two material master data fields

Hello,
is there a possibility to combine two fields in the material master data?
I want to combine the "do not cost" in view Costing 1 with the "price control".
In case of price control = "V" I want to set the "do not cost" flag and in case of price control = "S" I want to delete the flag automatically.
Is it possible to combine these fields?
Thank you for any answer & regards
Britta

Hi Britta,
Try the user-exit: MGA00001
I think you should be able to manage with it. Check & revert.
Regards,
Vivek

Similar Messages

  • MM - Material master data - move standard field to another view

    Hi everyone,
    ÉCC 6.0 - release 7.0.
    I've been adding many custom fields in Material master data MM01/02/03. Now I got a problem because we have to use a standard field in another view.
    The field MARA-HERKL is set up to 'SV'(attribute V_130F-PSTAT):
    Warehouse management = S
    Sales = V
    I want to add 'K - Basic data' in this field's attribute at OSMR Tcode , but this attribute is disactivated. I can not change this value.
    I've check this note 306966 that mention: You cannot create new entries and delete entries in client 000. This client contains only the entries delivered by SAP which are used for distinguishing customer-specific fields and SAP standard during the maintenance of the other clients.
    Is there any problem whether I delete this field and afterwards create it with the new values?
    I'm not in client 000. So, I want to just make sure I will do a legal change.
    thank you in advance,
    Alexandre

    None tips, Closed.

  • Report to display material master data changes

    Hi,
    Is there a standard report available to display all changes to material master data over a specified time frame i.e all changes made alst week,all chnages made today.
    Please suggest.
    Thanks in advance.

    Hi!
    Appart from MM04, you can also have a look at MM03 or MM02:
    1. Goto MM02 or MM03 transactions and enter the material.
    2. Select the relevant views for which you want to have the details.
         In the Bar menu follow the path Environment -> Display changes.
    Here you will get the list of changes done to the fields with Old and
    New values.
    Appart from these two tools, there is not any other report provided in the standard for this target.
    I hope this helps!
    Esther.

  • Requirement in conversion of material master data

    i have a requirement in conversion of material master data, what do i need to do in this, do i need to use the LSMW or BDC for this scenario can any one help me in this issue.

    Hi Rocky,
    You can go for either of these two methods.Conversion in the sense you are going to create one upload program for MM01 and will upload the data using the program
    But I suggest go for BDC.Because in LSMW you can not capture all the views for material master.
    I am writing steps(BDC recording) for this.Just follow if helpful:
    1.Go to SHDB t-code.
    2.Press NEW RECORDING
    3.enter recording name,Transaction code(MM01) and then press Start recording.
    This will take you to the transaction MM01,please enter the test data given by your functional consultant.Also select the views that required by client.
    4.After recording save it.
    5.After saving press program button from the menu.
    6.This will take you SE38 with the recording code.
    7.Then you do as per normal BDC program,declare internal table and map with the uploaded fields.
    Shout me for further clarification.
    Reward if helpful.
    Thank you.

  • Message Type for Material Master Data Changes

    Hi all
    I'm managing Message Types for Material Master Data extraction from R\3 system to BW system, in order to load on BW only the changes done to some fields of MARA table that are delta relevant.
    Now from R/3 BD50 Transaction I can see that there is a message type that refer to changes done on MARA fields: RS0044.
    I would like to replace this message type with another one (RS0020) in order to align different systems.
    Now changes to material master data in R/3 system are recorder with both message types but only those with RS0044 message type are processed and loaded into BW system.
    So I would like to know:
    1. How is the message type related to the DataSource 0material?
    2. is it possible to replace a message type for BW?
    3. if yes, how can I do it?
    Thanks in advance.
    Elisa
    mail: [email protected]

    Hi Oscar!
    At the moment I'm using Delta queue of 0MATERIAL. I know that in the queue there are all the new and changed records.
    But I would like to be able not to load all the changed records, but only those that refer to some fields of MARA table.
    E.g. if the gross weight of a material is modified I don't want to load this change on BW with Delta loading .
    I've seen that from R/3 Transaction BD52 you can set only delta relevant fields referred to a specific message type and to delete the other fields.
    As I'm able to do this directly in the Development system and Test System, I haven't got the authorization of doing it in the Production system.
    That's why I need to include this setting in a CR and then ask to transport it from Test to Production system.
    But message types referred to MARA field changes are different between the two systems.
    And it seems they are automatically created.
    Is it true?
    Thanks
    Elisa

  • Copy Material Master data - cannot copy "Proportion/Prod.Unit" view

    Hello,
    When I try to create material master data using the "Copy from..." option, data from the "Proportion/Prod.Unit" view is not copied to the new material. We are using SAP for Mill products.
    Any clues?
    Regards,
    Joao

    Hello Joao,
    There are two things, which have to be done :
    The first thing of course is, that for the field MARA-KZWSM the field    
    "Propose Field Content from the Reference" must be set in transaction    
    OMSR.                                                                               
    The second is, that the user have to enter this screen, because if he    
    don't display this screen, then it is technically not possible to        
    copy the reference values.                                               
    (To copy this data from the reference material you have to go to the     
    subscreen SAPLMWSM 8030 and press enter).                               
    Regards,
    Mauro

  • SCM master data fields

    Hi SCM folks,
    Can anybody send me the master data fields used in supply chain management.
    I am very new to SCM.
    Or else send me the names of the tables containing master data. I am working on some modelling part of MDM where they are going to be used.
    Thanks and Regards
    Devinderpal yadav

    Hi Devinderpal,
    SCM uses a lot many fields which are relevant to different Runs e.g. SNP, Deployment, TLB, CTM, PPDS, TPVS etc.
    I am giving the names of some of the master data tables which are mostly used.
    Table Name     Description
    /SAPAPO/MARM     Units of Measure
    /SAPAPO/MATKEY     Product
    /SAPAPO/MATLOC     Location product
    /SAPAPO/MATLOTSZ     Lot Sizes & Days' Supplies for Material Master
    /SAPAPO/MATLSIM     Location Product with Planning Version
    /SAPAPO/MATMAP     Mapping Table for Products
    /SAPAPO/MATPRIO     Product Priority Time & Version-Dependent
    /SAPAPO/MATRELH     Product/Location Product Hierarchies
    /SAPAPO/MATRQ     Demand Profile for the Material Master
    /SAPAPO/MATTXT     Material Descriptions
    /SAPAPO/SNP01     SNP: Demand Profile
    /SAPAPO/SNP02     SNP: Supply profile
    /SAPAPO/SNP04     Profile of Priorities Classes for Customer Demand
    /SAPAPO/SNP11     SNP: Deployment profile
    /SAPAPO/TMCNV     Data for product number conversion
    /SAPAPO/TWHMATGR     Definition Table for Warehouse Material Group
    /SAPAPO/APPLOCS     Location Master: Relevant location types for application
    /SAPAPO/LOC     Locations
    /SAPAPO/LOCMAP     Mapping Table for Locations
    /SAPAPO/LOCPROF     Version-Dependent Location Profile for Penalty Determination
    /SAPAPO/LOCT     Locations Short Text
    /SAPAPO/LOCVER     Location: Version-Dependent Fields
    /SAPAPO/EDITQUAN     Capacity Profile: Resource Bucket Capacity
    /SAPAPO/EDITTIME     Capacity Profile: Resource Time Capacity
    /SAPAPO/RESCAP     Capacity Profile: Resource Time Capacity
    /SAPAPO/RESDIM     Dimensions and Capacity of a Resource
    /SAPAPO/RESDOWN     Resource Downtime
    /SAPAPO/RESSELP     User Settings - Resource
    /SAPAPO/RESVERS     Versions Resource Capacity
    /SAPAPO/RESVERST     Texts Version Resource Capacity
    /SAPAPO/RES_HEAD     Resource Header Data
    /SAPAPO/RES_INTR     Resource Rates
    /SAPAPO/RES_TXT     Resources Short Text
    /SAPAPO/ACTREL     Production Process Model: Activity Relationships
    /SAPAPO/COMP     Production Process Model: Components
    /SAPAPO/MODE     Production process model: mode
    /SAPAPO/PLAN     Production Process Model: Plans
    /SAPAPO/PLANACTT     Production Process Model: Planning Activities
    /SAPAPO/PLANOPR     Operations in Plan
    /SAPAPO/REQCAP     Production process model: resources
    /SAPAPO/TDPP     Time-Dependent Process Parameters
    /SAPAPO/PLAN_GEN     PP/DS to SNP/PPM Generation
    /SAPAPO/PLAN_MOD     Modes Combination of PP/DS for an SNP/PPM
    /SAPAPO/PPDS_GEN     PP/DS to SNP/PPM Generation
    /SAPAPO/PPDS_MOD     Modes Combination of PP/DS for an SNP/PPM
    /SAPAPO/TR     Transportation Lanes
    /SAPAPO/TRM     Means of Transport for Transportation Lanes
    /SAPAPO/TRMCARR     Transportation Service Provider at Transportation Lanes
    /SAPAPO/TRMLDIDU     Table for Asynchronous Calculation of Distance and Duration
    /SAPAPO/TRPMOD     Assignment of Sources of Supply for Model
    /SAPAPO/TRPROD     Sources of Supply
    /SAPAPO/TRPRODM     Means of Transport for Transportation Lanes, Prod.-Specific
    /SAPAPO/TRQTAH     Quota Arrangement Header
    /SAPAPO/TRQTAP     Quota Arrangement Item
    /SAPAPO/TRTYPE     Means of Transport
    /SAPAPO/TRTYPRES     Means of Transport - Transport Resource
    /SAPAPO/TR_MS_QH     Dummy Table for Mass Maintenance
    /SAPAPO/TR_MS_TL     Dummy Table for Mass Maintenance
    /SAPAPO/DEPSET     Deployment Settings
    /SAPAPO/DSNP_OPR     SNP: Deployment Optimizer Profile
    /SAPAPO/SCZPRF     SNP Profiles for Days' Supply, Safety Stock, and Target Stck
    /SAPAPO/SNP03     SNP: Transport Load Builder Profile
    /SAPAPO/SNP04_TD     Time-Based Cost Profilees in Material Master
    /SAPAPO/SNP05     SNP: Optimizer Profile
    /SAPAPO/SNP08     SNP: Key figures
    /SAPAPO/SNP08T     SNP: Key figure description
    /SAPAPO/SNP09     SNP: Assign Category Group to Key Figure
    /SAPAPO/SNP10     Global Category Settings for SNP/Deployment/TLB
    /SAPAPO/SNP12     SNP: Lot Size Profile for Transportation Lanes
    /SAPAPO/SNP13     SNP: External Order Type
    /SAPAPO/SNP14     SNP: Name of Cost Functions for SNP Optimizer
    /SAPAPO/SNP15     Supply Network Planning: Cost Function for SNP Optimizer
    /SAPAPO/SNPBOUD1     SNP optimizer: Limit profile: Limits
    /SAPAPO/SNPBOUND     SNP Optimizer: Bound Profile: Names
    /SAPAPO/SNPCOSPA     SNP: Profile of Cost Multipliers
    /SAPAPO/SNPCOST     SNP: Aggregated Costs of Optimizer Calls
    /SAPAPO/SNPOPKEY     SNP Optimizer: Log Table Conversion
    /SAPAPO/SNPOPLOG     SNP Optimizer: Input Table Log
    /SAPAPO/SNPOPMES     Supply Network Planning Optimizer: Error Messages
    /SAPAPO/SNPOPRES     SNP Optimizer: Optimizer Results Log
    /SAPAPO/SNPOPSE1     SNP Optimizer: Selected Fields
    /SAPAPO/SNPOPSE2     SNP Optimizer: Selected Products
    /SAPAPO/SNPOPT     Internal SNP Optimizer Settings
    /SAPAPO/SNPTLB     Settings for Interactive TLB Planning
    Do reward points if helpful,
    Regards,
    Manjit

  • 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.

  • About material master data batch input

    hello
        i wrote a batch input for material master data. but it can't work ,i can't use it to create material.hope someone help me!thanks.code is below.
    report z_mat_batchinput no standard page heading
          line-size 255 message-id YB.
           mat batch input
    include bdcrecx1.
    include .
    tables: mara,marm,MARC,MARD,T134,NRIV,T006A,T023,T001W,T001L,
            TVKO,TVTW,T025,TTGR,TLGR,TVKWZ,T006.
    data: DIMID like t006-DIMID.
    data: flag, K, tmp.
    DATA: X TYPE I.
    ************ÉÏÔØÎļþÄÚ±í************************
    data: begin of record occurs 0,
            MATNR(018),        " ÎïÁϺÅ
            MTART(004),        " ÎïÁÏÀàÐÍ
    **generaldata1**
            MAKTX(040),        " ÎïÁÏÃèÊö
           EAKTX(040),        " Ó¢ÎÄÃèÊö
            MEINS(003),        " »ù±¾¼ÆÁ¿µ¥Î»
            MATKL(009),        " ÎïÁÏ×é
            BISMT(018),        " ¾ÉÎïÁϺÅ
           EXTWG(018),        " ÍⲿÎïÁÏ×é
           SPART(002),        " ²¿ÃÅ
            MTPOS_MARA(004),   " ÆÕͨÏîÄ¿Àà±ð×é
            BRGEW(017),        " ëÖØ
            GEWEI(003),        " ÖØÁ¿µ¥Î»
            NTGEW(017),        " ¾»ÖØ
            VOLUM(017),        " Ìå»ý
            VOLEH(003),        " Ìå»ýµ¥Î»
            GROES(032),        " Á¿¸Ù
            MAGRV(004),        " ÎïÁÏ×éµÄ°ü×°Îï
    **generaldata2**
            NORMT(018),        " ¹¤Òµ±ê×¼ÃèÊö
            FERTH(018),        " ÀàÐÍ
            WRKST(048),        " ¹æ¸ñ
    **generaldata1**
           EAN11(018),        " ²úÆ·±íʶÂë
    **generaldata2**
           ZEIAR(003),        " ÎĵµÀàÐÍ£¬ºÏÀí´¢±¸ÖÜתÆÚ
            WERKS(004),        " ¹¤³§
            VKORG(004),        " ÏúÊÛ×éÖ¯
            VTWEG(002),        " ·ÖÏúÇþµÀ
    **salesorg 1**
           VRKME(003),        " ÏúÊÛµ¥Î»
           VMREN(006),        " ÏúÊÛµ¥Î»×ª»»Òò×Ó
           VMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
            SPART(002),        " ²úÆ·×é
            DWERK(004),        " ½»»õ¹¤³§
            TAXKM(001),        " ÎïÁÏË°·ÖÀà
    **salesorg 2**
            KONDM(002),        " ÎïÁ϶¨¼Û×é
            KTGRM(002),        " ¿ÆÄ¿ÉèÖÃ×é
           MVGR1(003),                                         " ÎïÁÏ×é 1
           MVGR2(003),                                         " ÎïÁÏ×é 2
            MTPOS(004),        " ÏîÄ¿Àà±ð×é
           VERSG(001),        " ÎïÁÏͳ¼Æ×é
    **ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý**
            MTVFP(002),        " ¿ÉÓÃÐÔ¼ì²é
            XCHPF(001),        " Åú´Î¹ÜÀí
           YCHPF(001),        " ÅúÁ¿¹ÜÀí
            TRAGR(004),        " ÔËÊä×é
            ladgr(004),        " ×°ÔØ×é
    **pur**
           BSTME(003),        " ¶©µ¥µ¥Î»
           UMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           UMREN(006),        " ¶©µ¥µ¥Î»×ª»»Òò×Ó
           WEBAZ(003),        " ÊÕ»õ´¦Àíʱ¼ä
            EKGRP(003),        " ²É¹º×é
          LGORT(004),        " ¿â´æµØ
    **Ò»°ã¹¤³§Êý¾Ý/²Ö´¢1**
           AUSME(003),        " ·¢»õµ¥Î»
           UMREJ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           UMREF(006),        " ·¢»õµ¥Î»×ª»»Òò×Ó
           XCHPF(001),        " ÅúÁ¿¹ÜÀí
    **MRP 1**
           DISGR(004),        " MRP×é
            DISMM(002),        " MRPÀàÐÍ
           FXHOR(003),        " ¼Æ»®µÄʱ½ì
            DISPO(003),        " MRP¿ØÖÆÕß
            DISLS(002),        " ÅúÁ¿
            MAABC(001),        " ABC±êʶ
           BSTFE(018),        " ¹Ì¶¨ÅúÁ¿´óС
    **MRP 2**
           RESKZ(001),        " »ñÈ¡ÀàÐÍ
            BESKZ(001),        " ²É¹ºÀàÐÍ
           SOBSL(002),        " ÌØÊâ²É¹ºÀà
           LGPRO(004),        " ·¢»õ²Ö´¢µØµã
           RGEKZ(001),        " ·´³å
            PLIFZ(003),        " ¼Æ»®½»»õʱ¼ä
           VEBAZ(003),        " ÊÕ»õ´¦Àíʱ¼ä
            DZEIT(008),        "×ÔÖÆÉú²ú
            FHORI(003),        " ¼Æ»®±ß¼ÊÂë
           EISBE(018),        " °²È«¿â´æ
    **MRP 3**
            PERKZ(001),        " ÆÚ¼ä±êʶ
            STRGR(002),        " ²ßÂÔ×é
           VRMOD(001),        " ÏûºÄģʽ
           VINT1(003),        " ÄæÏòÏûºÄÆÚ¼ä
           VINT2(003),        " ÏòÇ°ÏûºÄÆÚ¼ä
            NTVFP(002),        " ¿ÉÓÃÐÔ¼ì²é
    **MRP 4**
           SAUFT(001),        " Öظ´ÖÆÔì±êÖ¾
           SFEPR(004),        " Öظ´Éú²ú²ÎÊýÎļþ
    **¹¤×÷¼Æ»®**
           FEVOR(003),        " Éú²úµ÷¶ÈÔ±
           FRTME(003),        " Éú²úµ¥Î»
           SMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           SMREN(006),        " Éú²úµ¥Î»×ª»»Òò×Ó
           UEETK(001),        " ÎÞÏÞÖƹýÁ¿½»»õ
    **»á¼Æ 1**
            BKLAS(004),        " ÆÀ¹ÀÀà
           BWTTY(001),        " ¹À¼Û·ÖÀà
            VPRSV(001),        " ¼Û¸ñ¿ØÖÆ
            PEINH(006),        " ¼Û¸ñµ¥Î»
            VERPR(015),        " Òƶ¯Æ½¾ù¼Û
            STPRS(015),        " ±ê×¼¼Û
    **»á¼Æ 2**
           BWPRH(014),        " ÉÌÒµ¼Û¸ñ 1
    **³É±¾ 1**
           LOSGR(018),        " ÅúÁ¿³É±¾ºËËã
    **³É±¾ 2**
           ZPLP1(014),        " ¼Æ»®¼Û¸ñ 1
           ZPLD1(010),        " ¼Æ»®ÈÕÆÚ 1
    **qm**
            ART1(8),            "¼ìÑéÀàÐÍ1
            AKTIV1(1),          "ÒѼ¤»î
            QMPUR(1),             "¼¤»î²É¹ºÖÐµÄ QM
            SSQSS(8),          "QM ¿ØÖÆÂë¡¢
           QMATV(8),          "QM¼ìÑéÉèÖÃ
           ART2(8),            "¼ìÑéÀàÐÍ2
           AKTIV2(6),          "ÒѼ¤»î
           ART3(8),            "¼ìÑéÀàÐÍ3
           AKTIV3(6),          "ÒѼ¤»î
          end of record.
    ************ÏÂÔظñʽ/´íÎóÎļþÄÚ±í**************
    data: begin of record1 occurs 0,
            MATNR(018),        " ÎïÁϺÅ
            MTART(008),        " ÎïÁÏÀàÐÍ
    **»ù±¾Êý¾Ý1**
            MAKTX(040),        " ÎïÁÏÃèÊö
           EAKTX(040),        " Ó¢ÎÄÃèÊö
            MEINS(013),        " »ù±¾¼ÆÁ¿µ¥Î»
            MATKL(009),        " ÎïÁÏ×é
            BISMT(018),        " ¾ÉÎïÁϺÅ
           EXTWG(018),        " ÍⲿÎïÁÏ×é
           SPART(002),        " ²¿ÃÅ
            MTPOS_MARA(004),   " ÆÕͨÏîÄ¿Àà±ð×é
            BRGEW(017),        " ëÖØ
            GEWEI(008),        " ÖØÁ¿µ¥Î»
            NTGEW(017),        " ¾»ÖØ
            VOLUM(017),        " Ìå»ý
            VOLEH(008),        " Ìå»ýµ¥Î»
            GROES(032),        " Á¿¸Ù
            MAGRV(014),        " ÎïÁÏ×éµÄ°ü×°Îï
    **»ù±¾Êý¾Ý2**
            NORMT(018),        " ¹¤Òµ±ê×¼ÃèÊö
            FERTH(018),        " ÀàÐÍ
            WRKST(048),        " ¹æ¸ñ
    **»ù±¾Êý¾Ý1**
           EAN11(018),        " ²úÆ·±íʶÂë
    **»ù±¾Êý¾Ý2**
           ZEIAR(003),        " ÎĵµÀàÐÍ£¬ºÏÀí´¢±¸ÖÜתÆÚ
            WERKS(004),        " ¹¤³§
            VKORG(008),        " ÏúÊÛ×éÖ¯
            VTWEG(008),        " ·ÖÏúÇþµÀ
    **ÏúÊÛ×éÖ¯ 1**
           VRKME(003),        " ÏúÊÛµ¥Î»
           VMREN(006),        " ÏúÊÛµ¥Î»×ª»»Òò×Ó
           VMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
            SPART(006),        " ²úÆ·×é
            DWERK(008),        " ½»»õ¹¤³§
            TAXKM(010),        " ÎïÁÏË°·ÖÀà
    **ÏúÊÛ×éÖ¯ 2**
            KONDM(010),        " ÎïÁ϶¨¼Û×é
            KTGRM(010),        " ¿ÆÄ¿ÉèÖÃ×é
           MVGR1(003),                                         " ÎïÁÏ×é 1
           MVGR2(003),                                         " ÎïÁÏ×é 2
            MTPOS(010),        " ÏîÄ¿Àà±ð×é
           VERSG(001),        " ÎïÁÏͳ¼Æ×é
    **ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý**
            MTVFP(010),        " ¿ÉÓÃÐÔ¼ì²é
            XCHPF(008),        " Åú´Î¹ÜÀí
           YCHPF(001),        " ÅúÁ¿¹ÜÀí
            TRAGR(006),        " ÔËÊä×é
            ladgr(006),        " ×°ÔØ×é
    **²É¹º**
           BSTME(003),        " ¶©µ¥µ¥Î»
           UMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           UMREN(006),        " ¶©µ¥µ¥Î»×ª»»Òò×Ó
           WEBAZ(003),        " ÊÕ»õ´¦Àíʱ¼ä
            EKGRP(006),        " ²É¹º×é
          LGORT(004),        " ¿â´æµØ
    **Ò»°ã¹¤³§Êý¾Ý/²Ö´¢1**
           AUSME(003),        " ·¢»õµ¥Î»
           UMREJ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           UMREF(006),        " ·¢»õµ¥Î»×ª»»Òò×Ó
           XCHPF(001),        " ÅúÁ¿¹ÜÀí
    **MRP 1**
           DISGR(004),        " MRP×é
            DISMM(009),        " MRPÀàÐÍ
           FXHOR(003),        " ¼Æ»®µÄʱ½ì
            DISPO(011),        " MRP¿ØÖÆÕß
            DISLS(004),        " ÅúÁ¿
            MAABC(007),        " ABC±êʶ
           BSTFE(018),        " ¹Ì¶¨ÅúÁ¿´óС
    **MRP 2**
           RESKZ(001),        " »ñÈ¡ÀàÐÍ
            BESKZ(008),        " ²É¹ºÀàÐÍ
           SOBSL(002),        " ÌØÊâ²É¹ºÀà
           LGPRO(004),        " ·¢»õ²Ö´¢µØµã
           RGEKZ(001),        " ·´³å
            PLIFZ(012),        " ¼Æ»®½»»õʱ¼ä
           VEBAZ(003),        " ÊÕ»õ´¦Àíʱ¼ä
            DZEIT(008),        "×ÔÖÆÉú²ú
            FHORI(010),        " ¼Æ»®±ß¼ÊÂë
           EISBE(018),        " °²È«¿â´æ
    **MRP 3**
            PERKZ(008),        " ÆÚ¼ä±êʶ
            STRGR(006),        " ²ßÂÔ×é
           VRMOD(001),        " ÏûºÄģʽ
           VINT1(003),        " ÄæÏòÏûºÄÆÚ¼ä
           VINT2(003),        " ÏòÇ°ÏûºÄÆÚ¼ä
            NTVFP(010),        " ¿ÉÓÃÐÔ¼ì²é
    **MRP 4**
           SAUFT(001),        " Öظ´ÖÆÔì±êÖ¾
           SFEPR(004),        " Öظ´Éú²ú²ÎÊýÎļþ
    **¹¤×÷¼Æ»®**
           FEVOR(003),        " Éú²úµ÷¶ÈÔ±
           FRTME(003),        " Éú²úµ¥Î»
           SMREZ(006),        " »ù±¾µ¥Î»×ª»»Òò×Ó
           SMREN(006),        " Éú²úµ¥Î»×ª»»Òò×Ó
           UEETK(001),        " ÎÞÏÞÖƹýÁ¿½»»õ
    **»á¼Æ 1**
            BKLAS(006),        " ÆÀ¹ÀÀà
           BWTTY(001),        " ¹À¼Û·ÖÀà
            VPRSV(008),        " ¼Û¸ñ¿ØÖÆ
            PEINH(008),        " ¼Û¸ñµ¥Î»
            VERPR(015),        " Òƶ¯Æ½¾ù¼Û
            STPRS(015),        " ±ê×¼¼Û
    **»á¼Æ 2**
           BWPRH(014),        " ÉÌÒµ¼Û¸ñ 1
    **³É±¾ 1**
           LOSGR(018),        " ÅúÁ¿³É±¾ºËËã
    **³É±¾ 2**
           ZPLP1(014),        " ¼Æ»®¼Û¸ñ 1
           ZPLD1(010),        " ¼Æ»®ÈÕÆÚ 1
    **ÖÊÁ¿¹ÜÀí**
            ART1(8),            "¼ìÑéÀàÐÍ1
            AKTIV1(6),          "ÒѼ¤»î
            QMPUR(010),             "¼¤»î²É¹ºÖÐµÄ QM
            SSQSS(8),          "QM ¿ØÖÆÂë¡¢
           QMATV(8),          "QM¼ìÑéÉèÖÃ
           ART2(8),            "¼ìÑéÀàÐÍ2
           AKTIV2(6),          "ÒѼ¤»î
           ART3(8),            "¼ìÑéÀàÐÍ3
           AKTIV3(6),          "ÒѼ¤»î
          end of record1.
    selection-screen begin of block 0 with frame title text-001.
    selection-screen begin of line .
    selection-screen position 1.
    parameters: test like rkec1-test .
    selection-screen
      comment 3(4) text-004 for field test.
    selection-screen position 26.
    parameters: oldfile like rlgrap-filename.
    selection-screen
      comment 9(17) text-003 for field oldfile.
    selection-screen: end of line.
    selection-screen begin of line.
    selection-screen position 1.
    parameters: dnldflag like rkec1-test default 'X'.
    selection-screen
      comment 3(4) text-005 for field dnldflag.
    selection-screen position 26.
    parameters: outfile like rlgrap-filename .
    selection-screen
      comment 9(17) text-006 for field outfile.
    selection-screen: end of line.
    selection-screen end of block 0 .
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-002.
    selection-screen begin of line.
    selection-screen position 1.
    PARAMETERS: GEN1 LIKE RKEC1-TEST.
    selection-screen
      comment 3(9) text-007 for field GEN1.
    selection-screen position 26.
    PARAMETERS: GEN2 LIKE RKEC1-TEST.
    selection-screen
      comment 28(9) text-008 for field GEN2.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen position 1.
    PARAMETERS: SALORG1 LIKE RKEC1-TEST.
    selection-screen
      comment 3(21) text-009 for field SALORG1.
    selection-screen position 26.
    PARAMETERS: SALORG2 LIKE RKEC1-TEST.
    selection-screen
      comment 28(21) text-010 for field SALORG2.
    selection-screen position 51.
    PARAMETERS: SALPLANT LIKE RKEC1-TEST.
    selection-screen
      comment 53(19) text-011 for field SALPLANT.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen position 1.
    PARAMETERS: PURCHASE LIKE RKEC1-TEST.
    selection-screen
      comment 3(21) text-012 for field PURCHASE.
    selection-screen position 26.
    PARAMETERS: PLTSTRG1 LIKE RKEC1-TEST.
    selection-screen
      comment 28(21) text-018 for field PLTSTRG1.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen position 1.
    PARAMETERS: MRP1 LIKE RKEC1-TEST.
    selection-screen
      comment 3(4) text-013 for field MRP1.
    selection-screen position 13.
    PARAMETERS: MRP2 LIKE RKEC1-TEST.
    selection-screen
      comment 15(4) text-014 for field MRP2.
    selection-screen position 26.
    PARAMETERS: MRP3 LIKE RKEC1-TEST.
    selection-screen
      comment 28(4) text-015 for field MRP3.
    selection-screen position 37.
    PARAMETERS: MRP4 LIKE RKEC1-TEST.
    selection-screen
      comment 39(4) text-016 for field MRP4.
    selection-screen position 51.
    PARAMETERS: PLANTSTR LIKE RKEC1-TEST.
    selection-screen
      comment 53(8) text-017 for field PLANTSTR.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen position 1.
    PARAMETERS: QAU LIKE RKEC1-TEST.
    selection-screen
      comment 3(8) text-023 for field QAU.
    selection-screen position 13.
    PARAMETERS: ACC1 LIKE RKEC1-TEST.
    selection-screen
      comment 15(5) text-019 for field ACC1.
    selection-screen position 26.
    PARAMETERS: ACC2 LIKE RKEC1-TEST.
    selection-screen
      comment 28(5) text-020 for field ACC2.
    selection-screen position 37.
    PARAMETERS: COR1 LIKE RKEC1-TEST.
    selection-screen
      comment 39(5) text-021 for field COR1.
    selection-screen position 51.
    PARAMETERS: COR2 LIKE RKEC1-TEST.
    selection-screen
      comment 53(5) text-022 for field COR2.
    selection-screen end of line.
    SELECTION-SCREEN END OF BLOCK 1.
    at selection-screen on value-request for oldfile.
      call function 'KD_GET_FILENAME_ON_F4'
           EXPORTING
                mask      = ',Îı¾Îļþ(ÖƱí·û·Ö¸ô),*.txt'
                static    = 'X'
           CHANGING
                file_name = oldfile.
    at selection-screen on value-request for outfile.
      call function 'KD_GET_FILENAME_ON_F4'
           EXPORTING
                mask      = ',Microsoft Excel¹¤×÷²¾,*.xls'
                static    = 'X'
           CHANGING
                file_name = outfile.
    initialization.
    ******µÃµ½ÎļþĿ¼*******
      call function 'WS_QUERY'
           EXPORTING
                query  = 'CD'
           IMPORTING
                return = outfile.
      if sy-subrc <> 0.
        message e005 with outfile.
      endif.
      oldfile = outfile.
      concatenate outfile 'mat_fat' into outfile.
    *ÅúÊäÈëĬÈÏÃû³Æ
      group = 'MATBATCHIN'.
    start-of-selection.
      if dnldflag eq 'X' and not ( outfile is initial ).
        perform download_data.
        stop.
      endif.
      perform upload_data.
      if test = ' '.
    *ÊÓͼ²ÎÊý¼ì²é
        IF ( GEN1 NE 'X' AND GEN2 NE 'X' AND SALORG1 NE 'X'
           AND SALORG2 NE 'X' AND SALPLANT NE 'X'
           AND PURCHASE NE 'X' AND PLTSTRG1 NE 'X'
           AND MRP1 NE 'X' AND MRP2 NE 'X' AND MRP3 NE 'X'
               AND MRP4 NE 'X' AND PLANTSTR NE 'X'
           AND ACC1 NE 'X' AND ACC2 NE 'X'
           AND COR1 NE 'X' AND COR2 NE 'X' and qau ne 'X' ) .
          MESSAGE E000 WITH 'ÇëÑ¡ÔñÐèά»¤ÊÓͼ'.
        ENDIF.
        perform open_group.
        SORT RECORD BY WERKS MATNR.
        loop at record.
          perform bdc_fill.
          perform bdc_transaction using 'MM01'.
          clear: bdcdata.
          refresh: bdcdata.
        endloop.
        perform close_group.
      else.
        perform file_check.
      endif.
    end-of-selection.
    *&      Form  UPLOAD_DATA
          ÉÏÔØÅúÊäÈëÊý¾Ý
    -->  p1        text
    <--  p2        text
    form upload_data.
      call function 'WS_UPLOAD'
           EXPORTING
                filename                = oldfile
                filetype                = 'DAT'
           TABLES
                data_tab                = record
           EXCEPTIONS
                conversion_error        = 1
                file_open_error         = 2
                file_read_error         = 3
                invalid_table_width     = 4
                invalid_type            = 5
                no_batch                = 6
                unknown_error           = 7
                gui_refuse_filetransfer = 8
                customer_error          = 9
                others                  = 10.
      if sy-subrc <> 0.
        message E000 with 'ÇëÊäÈëÉÏÔØÎļþ'.
      endif.
      read table record with key MATNR = '**'.
      if sy-tabix lt 1.
        message E000 with 'ÉÏÔØÎļþÎļþÍ·ÓëÊý¾ÝÖ®¼äÎÞ**'.
      endif.
      delete record from 1 to sy-tabix.
    endform.                               " UPLOAD_DATA
    *&      Form  BDC_FILL
          ÅúÊäÈë
    -->  p1        text
    <--  p2        text
    form bdc_fill.
      data: N type I,
            M type I,
            S_MATNR(018),
            test(1) type N.
      PERFORM BDC_FILL_INITALSCR.    "³õʼÆÁÄ»
      tmp = '0'.
      condense record-matnr no-gaps.
      test =  record-matnr(1).
      if test <> ''.
        M = STRLEN( RECORD-MATNR ).
        M = 18 - M.
        DO M TIMES.
          CONCATENATE '0' RECORD-MATNR INTO S_MATNR.
          RECORD-MATNR = S_MATNR.
        ENDDO.
      endif.
    **ÅжÏÎïÁÏ»ù±¾ÊÓͼÊÇ·ñÒѾ±»Î¬»¤¹ý**
      SELECT SINGLE * FROM MARA WHERE MATNR = RECORD-MATNR.
      IF SY-SUBRC NE 0.
        K = '0'.
      Else.
        condense MARA-PSTAT no-gaps.
        N = strlen( mara-pstat ).
        M = 0.
        record-meins = mara-meins.
        do N times.
          K = MARA-PSTAT+M.
          IF K = 'K'.
            EXIT.
          ENDIF.
          M = M + 1.
        enddo.
      ENDIF.
      IF ( ( GEN1 EQ 'X' OR GEN2 EQ 'X' ) AND SALORG1 NE 'X'
         AND SALORG2 NE 'X' AND SALPLANT NE 'X'
         AND PURCHASE NE 'X' AND PLTSTRG1 NE 'X'
         AND MRP1 NE 'X' AND MRP2 NE 'X' AND MRP3 NE 'X'
             AND MRP4 NE 'X' AND PLANTSTR NE 'X'
         AND ACC1 NE 'X' AND ACC2 NE 'X'
         AND COR1 NE 'X' AND COR2 NE 'X' and qau ne 'X' ) .
        IF K EQ 'K'.
          perform bdc_dynpro      using 'SAPLMGMM' '0070'.
          perform bdc_field       using 'BDC_CURSOR'
                                        'MSICHTAUSW-DYTXT(15)'.
          perform bdc_field       using 'BDC_OKCODE'
                                        '/N'.
        ELSE.
          PERFORM BDC_FILL_CHOICEVIEW.   "Ñ¡ÔñÊÓͼ
        ENDIF.
      ELSE.
        PERFORM BDC_FILL_CHOICEVIEW.   "Ñ¡ÔñÊÓͼ
        PERFORM BDC_FILL_ORGVIEW.      "×éÖ¯¼¶±ð
      ENDIF.
      TRANSLATE record-MEINS TO UPPER CASE.
    TRANSLATE record-BSTME TO UPPER CASE.
    TRANSLATE record-VRKME TO UPPER CASE.
    TRANSLATE record-FRTME TO UPPER CASE.
    TRANSLATE record-AUSME TO UPPER CASE.
      if gen1 eq 'X'.
        IF K NE 'K'.
          PERFORM GENERALDATA1.
        ENDIF.
      endif.
      if gen2 eq 'X'.
        IF K NE 'K'.
          perform generaldata2.
        ENDIF.
      endif.
      if salorg1 eq 'X'.
        perform salorg1.
      endif.
      if salorg2 eq 'X'.
        perform salorg2.
      endif.
      if salplant eq 'X'.
        perform salplant.
      endif.
      if purchase eq 'X'.
        perform purchasedata.
      endif.
      if mrp1 eq 'X'.
        perform MRP1.
      endif.
      if mrp2 eq 'X'.
        perform MRP2.
      endif.
      if mrp3 eq 'X'.
        perform MRP3.
      endif.
      if mrp4 eq 'X'.
        perform MRP4.
      endif.
      if PLANTSTR eq 'X'.
        perform PLANTSTR.
      endif.
      if PLTSTRG1 eq 'X'.
        perform PLTSTRG1.
      endif.
      if qau eq 'X'.
        perform qualitydata.
      endif.
      if ACC1 eq 'X'.
        perform ACC1DATA.
      endif.
      if ACC2 eq 'X'.
        perform ACC2DATA.
      endif.
      if COR1 eq 'X'.
        perform COR1DATA.
      endif.
      if COR2 eq 'X'.
        perform COR2DATA.
      endif.
      perform BDC_SAVE.
    endform.                               " BDC_FILL
    *&      Form  GENERALDATA1
          Ò»°ãÊý¾Ý 1
    -->  p1        text
    <--  p2        text
    form generaldata1.
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE'
                                    "'=ZU01'.
                                    '/00'.
      perform bdc_field       using 'MAKT-MAKTX'
                                    record-MAKTX.       " ÎïÁÏÃèÊö
      perform bdc_field       using 'MARA-MEINS'
                                    record-MEINS.       " »ù±¾¼ÆÁ¿µ¥Î»
      perform bdc_field       using 'MARA-MATKL'
                                    record-MATKL.       " ÎïÁÏ×é
      perform bdc_field       using 'MARA-BISMT'
                                    record-BISMT.
    perform bdc_field       using 'MARA-EXTWG'
                                   record-EXTWG.
    perform bdc_field       using 'MARA-SPART'
                                   record-SPART.
      perform bdc_field       using 'MARA-MTPOS_MARA'
                                    record-MTPOS_MARA.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARA-GROES'.
      perform bdc_field       using 'MARA-BRGEW'
                                    record-BRGEW.
      if record-gewei = '' and ( salorg1 = 'X' or salorg2 = 'X'
                           or salplant = 'X' ).
        perform bdc_field       using 'MARA-GEWEI'
                                      'KG'.              " ÖØÁ¿µ¥Î»
      else.
        perform bdc_field       using 'MARA-GEWEI'
                                      record-GEWEI.      " ÖØÁ¿µ¥Î»
      endif.
      perform bdc_field       using 'MARA-NTGEW'
                                    record-NTGEW.
      perform bdc_field       using 'MARA-VOLUM'
                                    record-VOLUM.
      perform bdc_field       using 'MARA-VOLEH'
                                    record-VOLEH.
      perform bdc_field       using 'MARA-GROES'
                                    record-GROES.
    condense record-EAN11 no-gaps.
    if record-EAN11 <> ''.
       perform bdc_field       using 'MARA-EAN11'
                                     record-EAN11.
       perform bdc_field       using 'MARA-NUMTP'
                                     'HT'.
    endif.
      perform bdc_field       using 'MARA-MAGRV'
                                    record-MAGRV.
    perform bdc_dynpro      using 'SAPLMGMM' '4300'.
    perform bdc_field       using 'BDC_OKCODE'
                                   '=ZU02'.
    condense record-EAKTX no-gaps.
    if record-EAKTX <> ''.
       perform bdc_field       using 'SKTEXT-SPRAS(2)'
                                     'EN'.
       perform bdc_field       using 'SKTEXT-MAKTX(2)'
                                     record-EAKTX.
    endif.
    perform bdc_dynpro      using 'SAPLMGMM' '4300'.
    perform bdc_field       using 'BDC_OKCODE'
                                   '=MAIN'.
    if record-meins <> 'PAK'.
       perform bdc_field       using 'SMEINH-UMREN(05)'
                                     '1'.
       perform bdc_field       using 'SMEINH-MEINH(05)'
                                     'PAK'.
       perform bdc_field       using 'SMEINH-UMREZ(05)'
                                     '1'.
    endif.
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
    endform.                               " GENERALDATA
    *&      Form  generaldata2
          Ò»°ãÊý¾Ý 2
    -->  p1        text
    <--  p2        text
    FORM generaldata2.
      perform bdc_dynpro      using 'SAPLMGMM' '4004'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      perform bdc_field       using 'MAKT-MAKTX'
                                    record-MAKTX.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARA-NORMT'.
      condense record-ferth no-gaps.
      if record-ferth <> ''.
        perform bdc_field       using 'MARA-FERTH'
                                      record-FERTH.
      endif.
      perform bdc_field       using 'MARA-NORMT'
                                    record-NORMT.
      perform bdc_field       using 'MARA-WRKST'
                                    record-WRKST.
    perform bdc_field       using 'MARA-ZEIAR'
                                   record-ZEIAR.
    ENDFORM.                    " generaldata2
    *&      Form  salorg1
          ÏúÊÛ×éÖ¯ 1
    -->  p1        text
    <--  p2        text
    FORM salorg1.
      condense RECORD-SPART no-gaps.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'MAKT-MAKTX'
                                    RECORD-MAKTX.     " ÎïÁÏÃèÊö
      IF K NE 'K'.
        perform bdc_field       using 'MARA-MEINS'
                                      record-MEINS.   " »ù±¾¼ÆÁ¿µ¥Î»
      ENDIF.
      perform bdc_field       using 'MARA-SPART'
                                    record-SPART.     " ²úÆ·×é
      perform bdc_field       using 'MVKE-DWERK'
                                    record-DWERK.     " ½»»õ¹¤³§
      PERFORM BDC_FIELD       USING 'MG03STEUER-TAXKM(01)'
                                    RECORD-TAXKM.     " ÎïÁÏË°·ÖÀà
    condense RECORD-VRKME no-gaps.
    IF RECORD-MEINS <> RECORD-VRKME and RECORD-VRKME <> ''.
       perform bdc_field       using 'MVKE-VRKME'
                                     record-VRKME.     " ÏúÊÛµ¥Î»
       select single * from MARM where matnr = record-matnr
                     and meinh = record-vrkme.
       if SY-SUBRC NE 0.
         tmp = 'W'.
         select single * from t006 where MSEHI = record-meins.
         if t006-DIMID = 'AAAADL'.
           DIMID = ''.
         else.
           DIMID = t006-DIMID.
         endif.
         select single * from t006 where MSEHI = record-vrkme.
         if dimid <> t006-DIMID.
           PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0510'.
           PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                         '=ENTR'.
           perform bdc_field       using 'RMMZU-UMREN'
                                         record-VMREN.  "ÏúÊÛµ¥Î»×ª»»Òò×Ó
           perform bdc_field       using 'RMMZU-UMREZ'
                                         record-VMREZ.  "»ù±¾µ¥Î»×ª»»Òò×Ó
           PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
           PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                         '/00'.
         endif.
       endif.
    ENDIF.
      perform bdc_dynpro      using 'SAPLMGMM' '4200'.
      perform bdc_field       using 'BDC_OKCODE'      " µ÷ÓÃË°Àà×ÓÆÁÄ»
                                    '/00'.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'      " ·µ»ØÏúÊÛ×éÖ¯ 1ÆÁÄ»
                                    '/00'.
    ENDFORM.                                                    " salorg1
    *&      Form  salorg2
          ÏúÊÛ×éÖ¯ 2
    -->  p1        text
    <--  p2        text
    FORM salorg2.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                    'MVKE-KTGRM'.
    PERFORM BDC_FIELD       USING 'MVKE-VERSG'
                                   RECORD-VERSG.     " ÎïÁÏͳ¼Æ×é
      PERFORM BDC_FIELD       USING 'MVKE-KTGRM'
                                    RECORD-KTGRM.     " ¿ÆÄ¿ÉèÖÃ×é
      PERFORM BDC_FIELD       USING 'MVKE-KONDM'
                                    RECORD-KONDM.     " ÎïÁ϶¨¼Û×é
      perform bdc_field       using 'MVKE-MTPOS'
                                    RECORD-MTPOS.     " ÏîÄ¿Àà±ð×é
    PERFORM BDC_FIELD       USING 'MVKE-MVGR1'
                                   RECORD-MVGR1.               " ÎïÁÏ×é 1
    PERFORM BDC_FIELD       USING 'MVKE-MVGR2'
                                   RECORD-MVGR2.               " ÎïÁÏ×é 2
    ENDFORM.                                                    " salorg2
    *&      Form  salplant
          ÏúÊÛ£ºÒ»°ã/¹¤³§Êý¾Ý
    -->  p1        text
    <--  p2        text
    FORM salplant.
      PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
      PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                    '/00'.
      select single * from marc where matnr = record-matnr
                                  and werks = record-werks.
      if SY-SUBRC NE 0  OR  MARC-MTVFP = ''.
        PERFORM BDC_FIELD       USING 'MARC-MTVFP'
                                      RECORD-MTVFP.     " ¿ÉÓÃÐÔ¼ì²é
      endif.
      PERFORM BDC_FIELD       USING 'MARA-TRAGR'
                                      RECORD-TRAGR.   " ÔËÊä×é
      PERFORM BDC_FIELD       USING 'MARC-LADGR'
                                    RECORD-LADGR.     " ×°ÔØ×é
      perform bdc_field       using 'MARC-XCHPF'
                                    record-XCHPF.     " ÅúÁ¿¹ÜÀí
    ENDFORM.                    " salplant
    *&      Form  PURCHASEDATA
          ²É¹ºÊý¾Ý
    -->  p1        text
    <--  p2        text
    form purchasedata.
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
      perform bdc_field       using 'BDC_CURSOR'
                                    'MARC-WEBAZ'.
      perform bdc_field       using 'MAKT-MAKTX'
                                    record-MAKTX.
      IF K NE 'K'.
        perform bdc_field       using 'MARA-MEINS'
                                      record-MEINS.     " »ù±¾¼ÆÁ¿µ¥Î»
        perform bdc_field       using 'MARA-MATKL'
                                      record-MATKL.     " ÎïÁÏ×é
      ENDIF.
    condense RECORD-BSTME no-gaps.
    IF RECORD-MEINS <> RECORD-BSTME and RECORD-BSTME <> ''.
       perform bdc_field       using 'MARA-BSTME'
                                     record-BSTME.     " ¶©µ¥µ¥Î»
       select single * from MARM where matnr = record-matnr
                     and meinh = record-bstme.
       if SY-SUBRC NE 0 and
             ( record-vrkme <> record-bstme or tmp <> 'W' ).
         tmp = 'W'.
         select single * from t006 where MSEHI = record-meins.
         if t006-DIMID = 'AAAADL'.
           DIMID = ''.
         else.
           DIMID = t006-DIMID.
         endif.
         select single * from t006 where MSEHI = record-bstme.
         if dimid <> t006-DIMID.
           PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0510'.
           PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                         '=ENTR'.
           perform bdc_field       using 'RMMZU-UMREN'
                                         record-UMREN.  "¶©µ¥µ¥Î»×ª»»Òò×Ó
           perform bdc_field       using 'RMMZU-UMREZ'
                                         record-UMREZ.  "»ù±¾µ¥Î»×ª»»Òò×Ó
           PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4000'.
           PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                         '/00'.
         endif.
       endif.
    ENDIF.
      perform bdc_field       using 'MARC-EKGRP'
                                    record-EKGRP.       " ²É¹º×é
    perform bdc_field       using 'MARC-WEBAZ'
                                   record-WEBAZ.       " ÊÕ»õ´¦Àíʱ¼ä
    endform.                               " PURCHASEDATA
    *&      Form  MRP1
          text
    -->  p1        text
    <--  p2        text
    FORM MRP1.
      perform bdc_dynpro      using 'SAPLMGMM' '4000'.
      perform bdc_field       using 'BDC_OKCODE'
                                    '/00'.
    perform bdc_field       using 'MAKT-MAKTX'
                                   record-MAKTX.       " ÎïÁÏÃèÊö
    IF K NE 'K'.
       perform bdc_field       using 'MARA-MEINS'
                                     record-MEINS.     " »ù±¾µ¥Î»
    ENDIF.
    perform bdc_field       using 'MARC-DISGR'
                                   record-DISGR.       " MRP×é
      perform bdc_field       using 'MARC-MAABC'
                                    record-MAABC.       " ABC±êʶ
      perform bdc_field       using 'MARC-DISMM'
                                    record-DISMM.       " MRPÀàÐÍ
    perform bdc_field       using 'MARC-FXHOR'
                                   record-FXHOR.       " ¼Æ»®µÄʱ½ì
      perform bdc_field       using 'MARC-DISPO'
                                    record-DISPO.       " MRP¿ØÖÆÕß
      perform bdc_field       using 'MARC-DISLS'
                                    record-DISLS.       " ÅúÁ¿
    perform bdc_field       using 'MARC-BSTFE'
                   

    Here is a sample program which creates a material with the bare minmal fields,  this will get you started.
    report zrich_0003 .
    data: headdata type bapimathead.
    data: clientdata type bapi_mara.
    data: clientdatax type bapi_marax.
    data: descdata type table of BAPI_MAKT with header line.
    data: return type  bapiret2 .
    data: returnm type table of bapi_matreturn2 with header line.
    data: xmara type mara.
    parameters: p_matnr type mara-matnr.
    headdata-material        = p_matnr.
    headdata-ind_sector      = 'M'.
    headdata-matl_type       = 'FERT'.
    headdata-basic_view = 'X'.
    clientdata-BASE_UOM   = 'EA'.
    clientdatax-BASE_UOM   = 'X'.
    clientdata-old_mat_no = 'Old Material'.
    clientdatax-old_mat_no = 'X'.
    clientdata-division = '00'.
    clientdatax-division = 'X'.
    descdata-LANGU = sy-langu.
    descdata-MATL_DESC = 'This is the description'.
    append descdata.
    call function 'BAPI_MATERIAL_SAVEDATA'
      exporting
        headdata                   = headdata
        clientdata                 = clientdata
        clientdatax                = clientdatax
    *   PLANTDATA                  =
    *   PLANTDATAX                 =
    *   FORECASTPARAMETERS         =
    *   FORECASTPARAMETERSX        =
    *   PLANNINGDATA               =
    *   PLANNINGDATAX              =
    *   STORAGELOCATIONDATA        =
    *   STORAGELOCATIONDATAX       =
    *   VALUATIONDATA              =
    *   VALUATIONDATAX             =
    *   WAREHOUSENUMBERDATA        =
    *   WAREHOUSENUMBERDATAX       =
    *   SALESDATA                  =
    *   SALESDATAX                 =
    *   STORAGETYPEDATA            =
    *   STORAGETYPEDATAX           =
    importing
       return                     = return
      tables
        MATERIALDESCRIPTION        = descdata
    *   UNITSOFMEASURE             =
    *   UNITSOFMEASUREX            =
    *   INTERNATIONALARTNOS        =
    *   MATERIALLONGTEXT           =
    *   TAXCLASSIFICATIONS         =
        returnmessages             = returnm
    *   PRTDATA                    =
    *   PRTDATAX                   =
    *   EXTENSIONIN                =
    *   EXTENSIONINX               =
    check sy-subrc  = 0.
    Regards,
    Rich Heilman

  • Sales order does not extract plant information from material master data

    Hi experts,
    I have created a sales order. However, the plant in the shipping tab can only be manually entered.
    I have made the check:
    the customer material master data does not have the plant info.
    the customer master data does not have it either.
    It is defined in the material master data: sales:general/plant
    But the sales order did not extract this information. Why does this happen?
    Thank you in advance.
    Best regards,
    Fan

    Hello Friend,
    As right stated by you,
    The Plant will be copied from the master data to the sales order, if not it should be manually entered
    The Sequence System will search for the Plant is as follow..
    1. Customer material infor record, If it was not maintained then it will search in
    2. Customer master, if the entre was not maintained in the SHIPPING TAB
    3. Finally it will search in the Material master in the Sales organisation data 1 in the field DELVERING PLANT field.
    So please search whether the entry was maintained in that field at the sales:sales organisation data 1.
    This might be the issue.
    Please revert if you want further details
    regards,
    santosh

  • Authorization Material Master data

    Hello,
    vould you tell me if it's possible to restrict changing Material master data according to material type ?
    Thank's

    Hi,
    Use authorization object M_MATE_MAR - Material type authorization for material master records
    This object determines whether a user is authorized to maintain the material master record for a specific material type.
    Defined fields
    Fields      Possible values         Meaning
    ACTVT       01                      User may create data.
                02                      User may change data.
                03                      User may display data.
                06                      User may flag data for deletion.
    BEGRU                               Here you must specify the
                                        authorization groups from table
                                        T134 for which the materials
                                        concerned may be processed.

  • Set default value for price unit when creating material master data

    HI: Every
    could you tell me how to use user-exit or else ways to set default value(such as 1000) for field "Price unit" (MBEW-PEINH) when creating material master data(MM01)?
    I have try to use Exit:EXIT_SAPLMGMU_001. However, this way cannot respones it.
    thanks
    Henry

    Hi: Ihave find out a solution
    Use BADI: BADI_MATERIAL_REF
    SPROlogistics general enhancement supplement or change default data (industry)
    And then creating a Implementation Name
    Double click method: CREATE_MATERIAL
    And then write code as below:
    method IF_EX_MATERIAL_REFERENCE~CREATE_MATERIAL.
              c_mbew-peinh = '1000' .
    endmethod.
    However, SAP still store '1000' in database evenif we change the default value such as 100 when we use TCode MM01.
    in additional, we still use MM02 to change the default value such as '100'
    can anybody tell me how to do?
    thanks
    Henry

  • How to modify  industry sector of material master data

    dear all:
    i have already created a material master data using a wrong industry sector through tcode MM01.
    and i have created BOM&ROUTTING for this material.
    now ,i want to modify the  industry sector of  this  material.
    what should i do for this case?
    thank you!
    best regards!

    Hi,
    Industry sector is at client level & once you create the material you can't change the industry sector.
    However, if you have debug rights then you can change it directly in the table MARA with field MBRSH.
    Hope your query get resolved.
    Thanx

  • Create a specific user profile to Material master data

    Dear colleagues.
    We need create on R/3 4.6 a specific user profile for material master data, to create or modify (MM01/MM02) only the following views: 'Sales org. data 1', 'Sales org. data 2' and 'Sales:General/Plant data'. The problem is that when I use the SAP gui functions, I can create the profile, but also with the views 'Foreign trade: Export data' and 'Sales text'. Someone know how create this profile without this last two views? Thanks.

    See:
    http://technet.microsoft.com/en-us/library/cc262327(v=office.15).aspx#create
    And a more complex, in-depth example leveraging MMS:
    http://www.sharepointsteve.com/2010/10/making-custom-user-profile-properties-searchable-in-sharepoint-2010/
    Trevor Seward
    Follow or contact me at...
    &nbsp&nbsp
    This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.

  • QM at Material Master Data

    Dear gurus,
    We work with SAP Retail version, SAP ECC 6.0. I have activated QM Control on client level.
    However when I try to tick QM at Material Master Data, an error occurs:
    'Message no. M3831 Plants exist in which you have not specified a control key'.
    How can I specify a control key in all plants? Could you show me a path?
    With best rgds, Azat

    Hi
    'Message No.QV508. No entries found', though I filled the fields with existing material, plant and QM Control Key.
    for this message say for Plant X Where you want to maintain Control key & plant Y where that material already exists.
    Now go to plant Y enter control key 0000 .It may haapen that for plant y there is no Qm view.in this case you may have to create/maintain it through MM01.
    Now go to Plant X ...
    Message will not appear.
    or
    do it through MM17
    Regards
    Sujit

Maybe you are looking for

  • Firefox wont open webpage when linked from another program

    When linking from other programs, a new firefox window will open, but displaying a blank page instead of loading the page. I checked for firefox being the default web browser, but I cant figure out what other options may be important. It actually sta

  • Please help: Extra Line Space after bolded word

    I am in the process of editing a book manuscript in MS Word 2010, and there is an annoying problem that I cannot solve. I have tampered with all the line spacing options, but I'm at a loss. When I bold a word, it introduces an extra little line space

  • How can i remove the apple watch app

    this is yet another app i will never use, how can i remove it?

  • Is it possible to bypass keystroke to browser?

    I have a page with java applet. I want users to be able to press F11 to maximize their browser. Unfortunately, when focus is on applet, F11 doesn't work (Java handles it and doesn't pass it to browser). Is there a way to make F11 work? Actually, I do

  • HI I am very confused on clustering concept in oracle.

    HI I am not femiliar with clustering concept in oracle.could any one advise me of the good link /webpage which explains clustering and cluster tables simple with examples? many thanks. regards Sp