Modifying of material type

Hi,
I have created one material in MM01.
Selected material type is Rawmaterial,but I need to change this into finished goods type.
How to change the material type and aswell as valuation class for that particular material.

Hi
Before changing material type please ensure that there are no open PR/PO/contracts /Scheduling agreements .In case if any one of them exists then you need to set deletion indicator for all such open PR/PO/contracts /Scheduling agreements .
First Goto Transcation code MMAM - This tcode is for changing the material type from ROH to FERT and not valuation class.
If you change the material type in MMAM transaction automatically the valuation class will be changed in material master. The system will take the changed material type valuation class which was created for that material type.
Second Goto T code MM02 - Accounting View 1 - This tcode is to change the valuation class directly.
Whether you can or cannot change the valuation class directly without changing the material type depends on your own company img settings.
If you want to change the valuation class, there may be because of one or more of the following already exist for the material:
1) Valuated stocks in the current period or in the previous period.
2) Open purchase orders may be there.
3) Production orders  which a goods movement has already taken place.
For this first you have to do the following:
If valuated stocks already exist, you can change the valuation class only:
a) Post the stocks of the material to an interim account.
b) Change the valuation class in the material master record.
c) Post the stocks of the material back to their original account.
If open purchase orders already exist, you can only change the valuation class if you first flag the corresponding purchase order items for deletion.
If production orders exist for which a goods movement has already taken place, you can only change the valuation class if you first set the status of the production orders to deleted
By this you can keep the same material type as FG and can assign the proper valuation class.
Regards

Similar Messages

  • Modifying standard material type configuration provided by SAP

    I was recently involved in a discussion regarding whether or not to modify sap provided material types (e.g. FERT)
    My position was that SAP provided material type configuration should not be modified, instead a z-version of the standard material type should be copied over to a z-version or a y-version (FERT copied as ZFRT), configurations changes made the z-version. My position was based on the following considerations:-
    Reference to the original
    Possible implication at the time of future releases or upgrades - In Some of my previous projects this was a reason why the standard material type configurations were never touched
    Hence I am curious to know if there a more current or correct position on this topic.

    Hi Jose,
    You are absolutely correct that standard material type should not be changed as you can always reference to the original if you want to create a new material type by copying the old ones. I too have seen ZFRT and FERT.
    I go by creating a Z one, as I have always the option to reference the original Material Type. As the above members have already replied the same.
    It is very easy to check the material type like FERT, ROH etc. However, say you have changed the settings for standard material type like FHMI, LEIH, VERP etc and you want to create a new material type by referencing any of the above, you will need to check client 000 (as referred by Jurgen) to check what Pricing control it have S or V. What Item Category is in original. What selection of views are there in original etc. you always have a better edge to check from the originals if you do not change them.

  • Modifying selection screen for  adding  material type in report ME2L / ME2N

    Dear Friends ,
                        I want to add Material type as another selection criteria for the report ME2L.
    How can i manage it using customising or ABAP enhancements ?
    I do fine various enhancement point in its coding but not getting exact clue for managing this .
    Thanks in advance.

    Hello....
    The program for the t-code ME2L is RM06EL00
    In this we have the following portion
    Parameter und Select-Options                        *
    After this we have a couple of Select-options and parameters
    followed by includes
    INCLUDE fm06lcs1.
    INCLUDE fm06lcs3.
    INCLUDE fm06lcs4.
    INCLUDE fm06lcs2.
    You can write the select-options/parameters in any of these includes
    Fot this..click on the spiral icon-> go to any include
    click on "EDIT"(from the top menu) -> "Enhancement operations" -> "show implicit Ehhancement options" -> click on "RM06EL00"(report name)
    A different coloured line appears at the bottom of the include.
    Place your cursor on this line ..Right click -> "Ehhancement Implementation" -> Create ...give names according to customer name space and write your code here ...then activate it.....
    Please also note that this selection must be filtered somewhere..so search the code for the tables that may contain this field and see if an "ENHANCEMENT-SECTION" or point/spot is available
    Pls check , revert and reward if helpful
    Regards
    Byju

  • Authorization for material type and material views

    Hello all,
    I would need to restrict a user group, in creation (MM01) and modification of material master, based of type material and material views.
    The authorization, for each user should be:
    - view, modify and create of all views, except accounting (B) for type material ZFER;
    - view, modify and create of all views for type material ZOFF.
    I tried to create 2 roles in PFCG with the following authorization objects:
    1) M_MATE_MAR (Material Master: Material Types)  ACTVT = *, BEGRU = ZFER and M_MATE_STA (Maintenance Statuses) ACTVT = *, STATM = A,C, D, E, F, G,K, L, P, Q, S, V, X, Z (excluding B)
    2) ) M_MATE_MAR  ACTVT = *, BEGRU = ZFER and M_MATE_STA ACTVT = *, STATM = B
    but the effect is to be authorized, to all view for material type ZFER and ZOFF.
    I have already updated the authorization group of the type materials (OMS2).
    Is there a solution for this problem?
    (component version SAP ECC 6.0)
    Thanks.
    Regards,
    Luca

    I tried to create 2 roles in PFCG with the following authorization objects: 1) M_MATE_MAR (Material Master: Material Types) ACTVT = *, BEGRU = ZFER and M_MATE_STA (Maintenance Statuses) ACTVT = *, STATM = A,C, D, E, F, G,K, L, P, Q, S, V, X, Z (excluding B) 2) ) M_MATE_MAR ACTVT = *, BEGRU = ZFER and M_MATE_STA ACTVT = *, STATM = B
    - Are both these roles assigned to the same user? then your purpose is not solved, It is more or less like giving full authorization.
    - One role should be
    M_MATE_MAR (Material Master: Material Types) ACTVT = *, BEGRU = ZFER and M_MATE_STA (Maintenance Statuses) ACTVT = *, STATM = A,C, D, E, F, G,K, L, P, Q, S, V, X, Z (excluding B) for view, modify and create of all views, except accounting (B) for type material ZFER. This should be assigned to one user
    - Second role should be
    M_MATE_MAR ACTVT = *, BEGRU = ZOFF and M_MATE_STA ACTVT = *, STATM = * for view, modify and create of all views for type material ZOFF. This role should be assigned to the second user.
    Regards,
    Subbu

  • One material type assign with multiple valuation class

    Dear All,
    One material type assign with the multiple valuation class.it is possible.what is defuclty for that.
    pls, explan.
    Regards,
    Ranjeet

    Hi,
    ABC 3040 - spare mach BSX ( G/ L )- Goto OBYC and double click on the transaction key BSX and enter your chart of account proceed
    val modifier(0001)-val class 3040--G/L account
    XYZ 3041 - spare mach BSX ( G/ L )-Goto OBYC and double click on the transaction key BSX and enter your chart of account proceed
    val modifier(0001)-val class 3041--G/L account
    ABC 3040 - store consumable GBB ( G/ L )-Goto OBYC and double click on the transaction key GBB nter your chart of account proceed
    val modifier(0001)-Account modifier VBR-Valuaiton class 3040-G/L Account(cr)-G/L Account (Dr)
    ABC 3040 - repair and maintanance GBB ( G/ L )-Goto OBYC and double click on the transaction key GBB nter your chart of account proceed
    val modifier(0001)-Account modifier VBR-Valuaiton class 3041-G/L Account(cr)-G/L Account (Dr)
    Regards,
    Deepak.

  • Uploading data in MM01 for different material types

    Hi,
    I have a doubt regarding uploading the data in MM01 for different material types.
    Generally in MM01, we have different views for different material types. The number of views will vary depending upon the material type that we select.
    I have a scenario, where in to upload the data, I have a flat file that consists of data for different message types. So, how to upload the data in such case.
    Can anyone help me on the same by providing explanation or sample code...? What would be the possible ways to upload data in such scenario.
    That would be of great help.
    Thanks & Regards,
    Pradeep.

    See the below code and use FM SELECTION_VIEWS_FIND..
    REPORT zjpmuim306 NO STANDARD PAGE HEADING LINE-SIZE 250 MESSAGE-ID
    zjpm001.
    *&   I N B O U N D  V I A   A B A P : Batch input Session method     *
    *&   Development ID: IM_DD_306_LJP                                   *
    *&   Report        : ZJPMUIM306                                      *
    *&   The Purpose of the Object is to interface Create Input Record   *
    *&   for SAP Migration from the Material master of BPCS All the      *
    *&   information received at BPCS is collected into a single record. *
    *&   By using session method upload data from file ,one item is
    *&   created for one record                                          *
    *&   Change Log:                                                     *
    *&   Init       Who              Date         Text                   *
    *&  MALIKDH1   Seshu Reddy    26-07-2003   Initial Version           *
                             Constants                                   *
    CONSTANTS:c_vkorg(4) type c value 'JP20',        " Sales Organization
              c_vtweg(2) type c value 'TR' ,         " Distribution Channel
              c_werks(4) Type c value 'JP01' ,       " Plant
              c_viewlist(15) VALUE 'KDEALBSZXVPCFQG'," View list
              c_scm_view TYPE msichtausw-dytxt VALUE 'SCM View',
              c_sd_view TYPE msichtausw-dytxt VALUE 'SD View',
              c_seq_code(2) VALUE 'Z1',              " Sequential Code
              c_keep(1) TYPE c VALUE  'X',           " Keep
              c_group LIKE apqi-groupid VALUE 'IM306', " Session Name
              c_tcode  LIKE tstc-tcode VALUE 'MM02',  " Transaction Code
              c_blank(1) VALUE ' ',                   " Blank
              c_intls(1) VALUE 'N'.                  " Logistic Status
                  Variables                                      *
    DATA: g_flag1(1),  " Variable to hold
          g_flag(1),   " Variable to hold
          g_file LIKE rlgrap-filename VALUE
         'C:\Documents and Settings\seshur\Desktop\HCLT123.CSV'. " File name
           Internal tables/ Work area                           *
    Internal Table for Delimter
    DATA : BEGIN OF t_delim OCCURS 0,
           text(1000),
           END OF t_delim.
    Internal table for BDC processing
    DATA : t_bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
    Internal table for holding the data which has to be uploaded.
    DATA: BEGIN OF t_bpcs OCCURS 0,
          matnr(15) TYPE c,  " material no
          dosage(40) TYPE c, " Dosage form(Local)
          appearance(40) TYPE c, " Appearance
          idcode(6) TYPE c,     " Identification Code
          prostformno(10) TYPE c, "SOP
          weitab(7) TYPE c,    " Weight/tablet
          uom1(2) TYPE c,     " UOM of Carton
          uom2(2) TYPE c,     " UOM of Case
          carsize(14) TYPE c, " Carton size
          cassize(14) TYPE c, " Case size
          rupqty(11) TYPE c,  " Round up
          abvname(3) TYPE c,  " Product short name
          END OF t_bpcs.
    *Internal table for t_bpcs
    DATA: BEGIN OF t_mdata OCCURS 0,
          matnr  LIKE marc-matnr, " Material number
          zzjp_dos_frm LIKE marc-zzjp_dos_frm, " Dosage form(Local)
          zzjp_aprn LIKE marc-zzjp_aprn, " Appearance
          zzjp_con_id LIKE marc-zzjp_con_id," Identification Code
          zzjp_nyu_sop LIKE marc-zzjp_nyu_sop,"SOP
          zzjp_wei_tab(10) type c , " Weight/tablet
          zzjp_bio  LIKE marc-zzjp_bio,"Biologics Indicator
          zzjp_itf LIKE marc-zzjp_itf, " ITF code
          zzjp_car(2) type c, " UOM of Carton
          zzjp_cas(2) type c, " UOM of Case
          zzjp_car_size(11) type c," Carton size
          zzjp_cas_size(11) type c, " Case size
          zzjp_rupqty(11) type c,  " Round up
          zzjp_init_ls LIKE marc-zzjp_init_ls, " Logistic Status
          zzjp_re1 LIKE marc-zzjp_re1, "Document type(Local)
          zzjp_re2 LIKE marc-zzjp_re2, "Report type
          zzjp_re3 LIKE marc-zzjp_re3, "Shipping report type
          zzjp_pro_id LIKE mvke-zzjp_pro_id," Product output sequence
          zzjp_bu_id LIKE mvke-zzjp_bu_id, " Business unit indicator
          zzjp_abv_name LIKE mvke-zzjp_abv_name," Product short name
          zzjp_abv_id1 LIKE mvke-zzjp_abv_id1," Product short name output
          zzjp_abv_id2 LIKE mvke-zzjp_abv_id2," Product short name internal
          zzjp_spl_id LIKE mvke-zzjp_spl_id,  " Sample internal order
          END OF t_mdata.
    Internal table for Mara Table
    DATA: BEGIN OF t_mara OCCURS 0,
          matnr LIKE mara-matnr,  " material Number
          vpsta LIKE mara-vpsta,  " Maintenance status of complete material
          pstat like mara-pstat,  " Maintenance status
          END OF t_mara.
    Internal table for Material Master View Selection Screens
    DATA: BEGIN OF t_bildtab OCCURS 0.
            INCLUDE STRUCTURE mbildtab.
    DATA: END OF t_bildtab.
    internal table for T_bildtab
    DATA: t_bildtab_dup LIKE t_bildtab OCCURS 0 WITH HEADER LINE.
    *Work area for T_bildtab internal table(Views Selection)
    DATA: BEGIN OF w_data,
          flag1 type c,
          anzd70 TYPE i,
          field1(20) type c,
          field2(20) type c,
          field3(20) type c,
          field4(20) type c,
          count(2) TYPE c,
          END OF w_data.
                Main Processing                           *
    START-OF-SELECTION.
    Store data from file into internal table
      PERFORM f_uplaod_data.
    Transfer the uploaded data into t_mdata internal Table
      PERFORM f_process_data.
    Selecting The views based on Material number
      PERFORM f_view_list.
    Open a BDC Session
      PERFORM f_bdc_open.
    *Selecting the fields from mara table
      SELECT matnr
             vpsta
             pstat
        FROM mara
      INTO TABLE t_mara
      FOR ALL ENTRIES IN t_mdata
      WHERE matnr = t_mdata-matnr.
      SORT t_mara BY matnr.
      SORT t_mdata BY matnr.
    Transfer the uploaded data into BDCDATA structure
      PERFORM f_process_bdc.
    Close The BDC Session
      PERFORM f_close_group.
    *&      Form  F_VIEW_LIST                                             *
             Routine to used for Calling the function module            *
              Selection_views_find                                      *
    FORM f_view_list.
      CALL FUNCTION 'SELECTION_VIEWS_FIND'
           EXPORTING
                bildsequenz     = c_seq_code
                pflegestatus    = c_viewlist
           TABLES
                bildtab         = t_bildtab
           EXCEPTIONS
                call_wrong      = 1
                empty_selection = 2
                OTHERS          = 3.
      IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " F_VIEW_LIST
    *&      Form  f612_view_sort                                          *
      Routine to used for Selecting The views based on Material Number  *
    FORM f612_view_sort.
      t_bildtab_dup[] = t_bildtab[].
    Reading the Internal table t_mara
      READ TABLE t_mara WITH KEY matnr = t_mdata-matnr.
      TRANSLATE t_mara-pstat USING ' $'.
      CLEAR: w_data-flag1, w_data-anzd70.
      LOOP AT t_bildtab_dup.
        IF t_bildtab_dup-pstat CA t_mara-pstat.
          w_data-anzd70 = w_data-anzd70 + 1.
          IF t_bildtab_dup-kzanz IS INITIAL.
            t_bildtab_dup-kzanz = 'X'.
            w_data-flag1 = 'X'.
            MODIFY t_bildtab_dup.
          ENDIF.
        ELSE.
          IF NOT t_bildtab_dup-kzanz IS INITIAL.
            CLEAR t_bildtab_dup-kzanz.
            w_data-flag1 = 'X'.
            MODIFY t_bildtab_dup.
          ENDIF.
        ENDIF.
      ENDLOOP.
      TRANSLATE t_mara-pstat USING '$ '.
      IF NOT w_data-flag1 IS INITIAL.
        SORT t_bildtab_dup BY kzanz DESCENDING idxbd ASCENDING.
      ENDIF.
    *Reading The internal table for T_bildtab_dup
      READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
      IF t_bildtab_dup-kzanz = 'X'.
        WRITE sy-tabix TO w_data-count.
        w_data-count = w_data-count + 2.
        IF w_data-anzd70 > 18.
          w_data-count = w_data-count - 18.
        ENDIF.
        CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field1.
        CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field2.
      ENDIF.
      READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
      IF t_bildtab_dup-kzanz = 'X'.
        WRITE sy-tabix TO w_data-count.
        IF w_data-anzd70 > 18.
              w_data-count = w_data-count + 2.
          w_data-count = w_data-count - 18.
        ENDIF.
        CONCATENATE 'MSICHTAUSW-DYTXT(' w_data-count ')' INTO w_data-field3.
        CONCATENATE 'MSICHTAUSW-KZSEL(' w_data-count ')' INTO w_data-field4.
      ENDIF.
    ENDFORM.                    " f612_view_sort
    *&      Form  f_uplaod_data                                           *
    Routine to used for Uploading the data from file to Internal table *
    FORM f_uplaod_data.
      CALL FUNCTION 'WS_UPLOAD'
           EXPORTING
                filename                = g_file
                filetype                = 'DAT'
           TABLES
                data_tab                = t_delim
           EXCEPTIONS
                conversion_error        = 1
                file_open_error         = 2
                file_read_error         = 3
                invalid_type            = 4
                no_batch                = 5
                unknown_error           = 6
                invalid_table_width     = 7
                gui_refuse_filetransfer = 8
                customer_error          = 9
                OTHERS                  = 10.
      IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF t_bpcs IS INITIAL.
        LOOP AT t_delim.
          SPLIT t_delim-text AT ',' INTO t_bpcs-matnr
                                         t_bpcs-dosage
                                         t_bpcs-appearance
                                         t_bpcs-idcode
                                         t_bpcs-prostformno
                                         t_bpcs-weitab
                                         t_bpcs-uom1
                                         t_bpcs-uom2
                                         t_bpcs-carsize
                                         t_bpcs-cassize
                                         t_bpcs-rupqty
                                         t_bpcs-abvname.
          APPEND t_bpcs.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f_uplaod_data
    *&      Form  F_BDC_OPEN
          Routine  to create BDC Session to be processed
    FORM f_bdc_open.
      CALL FUNCTION 'BDC_OPEN_GROUP'
           EXPORTING
                client              = sy-mandt
                group               = c_group
                keep                = c_keep
                user                = sy-uname
           EXCEPTIONS
                client_invalid      = 1
                destination_invalid = 2
                group_invalid       = 3
                group_is_locked     = 4
                holddate_invalid    = 5
                internal_error      = 6
                queue_error         = 7
                running             = 8
                system_lock_error   = 9
                user_invalid        = 10
                OTHERS              = 11.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
      MESSAGE S000 WITH 'Batch input session is created successfully'(T02).
      ENDIF.
    ENDFORM.                    " F_BDC_OPEN
    *&      Form  F_PROCESS_BDC
          Processing of BDCDATA Structure
    FORM f_process_bdc.
      LOOP AT t_mdata.
        PERFORM f612_view_sort.
        PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0060'.
        PERFORM f_bdc_field USING 'BDC_CURSOR'
                                      'RMMG1-MATNR'.
        PERFORM f_bdc_field USING 'BDC_OKCODE'
                                      '=AUSW'.
        PERFORM f_bdc_field USING 'RMMG1-MATNR'
                                      t_mdata-matnr.
        PERFORM f_bdc_dynpro USING 'SAPLMGMM' '0070'.
        PERFORM f_bdc_field USING 'BDC_CURSOR'
                                  'MSICHTAUSW-DYTXT(01)'.
        IF w_data-anzd70 > 18.
          PERFORM f_bdc_field       USING 'BDC_OKCODE'
                                      '=P+'.
          PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '0070'.
          PERFORM f_bdc_field  USING 'BDC_OKCODE' '/00'.
        ENDIF.
    reading the t_bildtab internal table
        READ TABLE t_bildtab_dup WITH KEY dytxt = c_scm_view.
        IF t_bildtab_dup-kzanz = 'X'.
          PERFORM f_bdc_field       USING 'BDC_CURSOR'
                                        w_data-field1.
          PERFORM f_bdc_field       USING w_data-field2 'X'.
          g_flag = 'X'.
        ENDIF.
    reading the t_bildtab internal table
        READ TABLE t_bildtab_dup WITH KEY dytxt = c_sd_view.
        IF sy-subrc EQ 0.
          g_flag = 'X'.
        ENDIF.
        IF t_bildtab_dup-kzanz = 'X'.
          PERFORM f_bdc_field       USING 'BDC_CURSOR'
                                        w_data-field3.
          PERFORM f_bdc_field       USING w_data-field4 'X'.
          g_flag1 = 'X'.
        ENDIF.
        IF g_flag = 'X' AND g_flag1 = 'X'.
          PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '0080'.
          PERFORM f_bdc_field       USING 'BDC_CURSOR'
                                        'RMMG1-VTWEG'.
          PERFORM f_bdc_field       USING 'BDC_OKCODE'
                                        '=ENTR'.
          PERFORM f_bdc_field       USING 'RMMG1-WERKS'
                                        c_werks.
          PERFORM f_bdc_field       USING 'RMMG1-VKORG'
                                        c_vkorg.
          PERFORM f_bdc_field       USING 'RMMG1-VTWEG'
                                        c_vtweg.
          CLEAR g_flag.
          CLEAR g_flag1.
        ELSE.
          IF g_flag = 'X'.
            PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '0080'.
            PERFORM f_bdc_field       USING 'RMMG1-WERKS'
                                        c_werks.
            PERFORM f_bdc_field      USING 'BDC_OKCODE' '/00'.
          ELSE.
            IF g_flag1 = 'X'.
              PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '0080'.
              PERFORM f_bdc_field       USING 'BDC_CURSOR'
                                            'RMMG1-VTWEG'.
              PERFORM f_bdc_field       USING 'RMMG1-WERKS'
                                          c_werks.
              PERFORM f_bdc_field       USING 'RMMG1-VKORG'
                                            c_vkorg.
              PERFORM f_bdc_field       USING 'RMMG1-VTWEG'
                                            c_vtweg.
              PERFORM f_bdc_field       USING 'BDC_OKCODE'
                                             '=ENTR'.
            ENDIF.
          ENDIF.
        ENDIF.
    *Processing of SCM View
        PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '4000'.
        PERFORM f_bdc_field       USING 'BDC_CURSOR' 'MARC-ZZJP_DOS_FRM'.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_DOS_FRM'
                                      t_mdata-zzjp_dos_frm.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_APRN'
                                      t_mdata-zzjp_aprn.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_CON_ID'
                                      t_mdata-zzjp_con_id.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_NYU_SOP'
                                      t_mdata-zzjp_nyu_sop.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_WEI_TAB'
                                      t_mdata-zzjp_wei_tab.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_CAR'
                                      t_mdata-zzjp_car.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_CAS'
                                      t_mdata-zzjp_cas.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_CAR_SIZE'
                                      t_mdata-ZZJP_CAR_SIZE.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_CAS_SIZE'
                                      t_mdata-ZZJP_CAS_SIZE.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_RUPQTY'
                                       t_mdata-ZZJP_RUPQTY.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_BIO'
                                      t_mdata-zzjp_bio.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_ITF'
                                      t_mdata-zzjp_itf.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_INIT_LS'
                                      t_mdata-zzjp_init_ls.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_RE1'
                                      t_mdata-zzjp_re1.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_RE2'
                                      t_mdata-zzjp_re2.
        PERFORM f_bdc_field       USING 'MARC-ZZJP_RE3'
                                      t_mdata-zzjp_re3.
        PERFORM f_bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
    *Processing of SD View
        PERFORM f_bdc_dynpro      USING 'SAPLMGMM' '4000'.
        PERFORM f_bdc_field       USING 'BDC_CURSOR' 'MVKE-ZZJP_PRO_ID'.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_PRO_ID'
                                      t_mdata-zzjp_pro_id.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_BU_ID'
                                      t_mdata-zzjp_bu_id.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_ABV_NAME'
                                      t_mdata-zzjp_abv_name.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_ABV_ID1'
                                      t_mdata-zzjp_abv_id1.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_ABV_ID2'
                                      t_mdata-zzjp_abv_id2.
        PERFORM f_bdc_field       USING 'MVKE-ZZJP_SPL_ID'
                                      t_mdata-zzjp_spl_id.
        PERFORM f_bdc_field      USING 'BDC_OKCODE' '/00'.
        PERFORM f_bdc_dynpro      USING 'SAPLSPO1' '0300'.
        PERFORM f_bdc_field       USING 'BDC_OKCODE'
                                      '=YES'.
    perform f_bdc_insert.
    REFRESH T_BDCDATA.
      ENDLOOP.
    ENDFORM.                    " F_PROCESS_BDC
    *&      Form  f_bdc_dynpro
      p_prog is the program name to which data is passed                *
      p_dyno is the screen number to which the data is passed
        Routine for populating the BDCDATA structure with the
        Screen related information
    FORM f_bdc_dynpro USING    p_prog
                               p_dyno.
      t_bdcdata-program  = p_prog.
      t_bdcdata-dynpro   = p_dyno.
      t_bdcdata-dynbegin = 'X'.
      APPEND t_bdcdata.
      CLEAR t_bdcdata.
    ENDFORM.                    " F_bdc_dynpro
    *&      Form  F_BDC_FIELD
          p_fnam is the field name to which value is passed
          p_fval is the field value which is passed
       p_fnam is the field name to which value is passed
       p_fval is the field value which is passed
    FORM f_bdc_field USING    p_fnam
                              p_fval.
      t_bdcdata-fnam = p_fnam.
      t_bdcdata-fval = p_fval.
      APPEND t_bdcdata.
      CLEAR t_bdcdata.
    ENDFORM.                    " F_bdc_field
    *&      Form  F_PROCESS_DATA                                          *
         Routine to used for moving data from T_bpcs internal table to  *
         t_mdata Internal Table                                         *
    FORM f_process_data.
      LOOP AT t_bpcs.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
                  input  = t_bpcs-matnr
             IMPORTING
                  output = t_mdata-matnr.
        MOVE t_bpcs-dosage TO t_mdata-zzjp_dos_frm.
        MOVE t_bpcs-appearance TO t_mdata-zzjp_aprn.
        MOVE t_bpcs-idcode  TO t_mdata-zzjp_con_id.
        MOVE t_bpcs-prostformno TO t_mdata-zzjp_nyu_sop.
        MOVE t_bpcs-weitab TO t_mdata-zzjp_wei_tab.
        MOVE c_blank TO t_mdata-zzjp_bio.
        MOVE c_blank TO t_mdata-zzjp_itf.
        MOVE t_bpcs-uom1 TO t_mdata-zzjp_car.
        MOVE t_bpcs-uom2 TO t_mdata-zzjp_cas.
        MOVE t_bpcs-carsize TO t_mdata-zzjp_car_size.
        MOVE t_bpcs-cassize TO t_mdata-zzjp_cas_size.
        MOVE t_bpcs-rupqty TO t_mdata-zzjp_rupqty.
        MOVE c_intls TO t_mdata-zzjp_init_ls.
        MOVE c_blank TO t_mdata-zzjp_re1.
        MOVE c_blank TO t_mdata-zzjp_re2.
        MOVE c_blank TO t_mdata-zzjp_re3.
        MOVE c_blank TO t_mdata-zzjp_pro_id.
        MOVE c_blank TO t_mdata-zzjp_bu_id.
        MOVE t_bpcs-abvname TO t_mdata-zzjp_abv_name.
        MOVE c_blank TO t_mdata-zzjp_abv_id1.
        MOVE c_blank TO t_mdata-zzjp_abv_id2.
        MOVE c_blank TO t_mdata-zzjp_spl_id.
        APPEND t_mdata.
      ENDLOOP.
    ENDFORM.                    " F_PROCESS_DATA
    *&      Form  f_bdc_close
          Routine to close the BDC Session
    FORM f_close_group.
      CALL FUNCTION 'BDC_CLOSE_GROUP'
           EXCEPTIONS
                not_open    = 1
                queue_error = 2
                OTHERS      = 3.
      IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                    " f_close_group
    *&      Form  f_bdc_insert
         routine to input batch data into the Transaction MM02 from the
         session created
    FORM f_bdc_insert.
    CALL FUNCTION 'BDC_INSERT'
             EXPORTING
                  tcode            = c_tcode
             TABLES
                  dynprotab        = t_bdcdata
             EXCEPTIONS
                  internal_error   = 1
                  not_open         = 2
                  queue_error      = 3
                  tcode_invalid    = 4
                  printing_invalid = 5
                  posting_invalid  = 6
                  OTHERS           = 7.
        IF sy-subrc <> 0.
             MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    ENDFORM.                    " f_bdc_insert
    Reward Points if it is useful
    Thanks
    Seshu

  • Material type number range question

    I want to have an interval for which I could have external naming both for numbers and for letters. I want to have the option to name the material eg 111111111 or aabbccddg or aa11bb11nnn.
    I have created a group, I have a for external numbering  - from 00000000001 to 9999999999, but I cannot create another line for 00000000000a to zzzzzzzzzzz.
    How can I do it??
    Is it possible?
    Thank you

    Dear,
    Go to transaction code MMNR create number range depends on ur material type.
    Enter the number range AAAA0000 - Z9999999.
    And select the External number range flag.
    path: img>log general>material master>basic setting>material types>define number range for material types
    For Internal Number range Standard SAP does not support for maintaining "Alphanumeric" number range. For that please consult to the ABAPu2019r.
    Internal number assignment:
    If your company uses nonmnemonic keys, you do not enter a material number when creating a material master record. Instead, the system assigns a consecutive number to the material. This number is visible when you maintain the material master record.
    Further options are provided by the following SAP Enhancements:
    SAP Enhancement MGA00002
    This enhancement contains three customer exits that you can use for the following purposes:
    To modify material numbers entered externally by users, for example, by appending a check digit. To assign material numbers internally by customer programs
    SAP Enhancement MGA00003
    This enhancement allows you to edit the display of material numbers as required. For example, a material is assigned the number 123.
    With this enhancement, you can define that the material number is displayed with, for example, the prefix MAT-, even though the number in the database is still 123.
    I hope it will work for you.
    Regards,
    R.Brahmankar

  • Material Type Configuration and Creating Z configured Material Types

    All-
    Every solution architect I have contacted has told us that itu2019s standard practice to create copies of standard SAP material types (and all other configuration) and then update configuration to make the object client specific rather than just modifying SAP standard.  You do that because when SAP delivers upgrades they may update standard configuration keys and that can cause disruptions.  We talked to some folks at SAP who told us the same thing.
    My Client had previously agreed to this but now some of their IT resources have pushed back with their primary argument being u201Cthis hasnu2019t affected us for the last 15 years so we want to continue with what we haveu201D i.e. modifying configuration and customizing the SAP delivered material types.  Theyu2019ve also found some SAP documentation that says itu2019s fine to do it either way.  I donu2019t have the depth of technical knowledge to get into all of the arguments for / against this.
    Request u2013 Can anyone point us to a position paper or document that states why we suggest this (reasons, pros, consu2026) or someone that could provide us with the expertise to clearly state why and what the consequences are if they donu2019t?  Or if this is really just something that is suggest based upon the potential for problems and they can do whatever they want?
    Any information would be greatly appreciated

    You obviously can modify a lot of standard objects because the config. option is there.
    The main reason not to is because they act as models e.g. what is the SAP standard model for configuration of a Traded material (in the given Solution, Country etc.).  If you have copied the std and modified the Z version you can always refer back to the std if you run in to unexpected difficulties. If you've modified the std, you have no model to refer to.  If you modify the std and it then doesn't do what you want or you hit an issue of some form, you pretty much have to figure out why yourself because SAP would probably charge you.
    Material Types in particular involve a huge potential number of fields (900+) and complex field selection.
    If you do modify a standard, at least document exactly what changes were made so you and subsequent support personnel can understand how the object has been modified. 'Small' modifications of objects you may well have no future issue with, 'big' modifications of big objects could well come back to haunt you.
    Regards,
    Nick

  • Plz can someone tell me where can I define the material type?

    Hi All,
    I want to create a new group of material, there is a material type should be specified. I want to use my own. plz can someone tell me where can i define it?
    thanks and regards,
    samson

    Hi Samson,
    U can create a new material type using the tcode OMS2 and then copy the material type which u need to modify and then define the name of the new material type and make the required changes which u want for that material type and save it.
    Hope it wud have answered ur question
    reward if useful
    Shawn

  • Control the authorization base on material type level

    Dear Experts,
    We want to control some users only can create or modify the material base on material type level .
    For instance , user A only can modify the 'ROH' type material , he can not maintain any 'FERT' type material .
    I set the authorization object 'M_MATE_MAR' in the user A's profile , but it doesn't work .....
    System : SAP4.7 x 200
    DB : oracle9i
    Has someone can tell me it is possibile to control the maintain authorization base on material type level ?
    Or give me some suggestions.....
    Many thanks
    Best Regards,
    Carlos Zhang

    Hi
    Yes this works & the authorisation object found by you is also correct.
    For the object - M_MATE_MAR
    Maintain the activity 01,02,03
    Maintain the authorisation group  - each material type can be assigned to an authorisation group. In OMS2 , you can assign the authorisation groups to the material type.
    For E.g if the material type is ROH- enter the authorisation group as ROH.
    Ensure that the user does not have this object, As If this object is present in any other role with authorisation group as * then the * will overirde any value.
    Thanks & Regards
    Kishore
    Edited by: Kishore Kumar Chiluka on Jun 13, 2008 11:18 AM

  • Both material groups and material types in search while creating SC

    Hi Guys,
    While creating a shopping cart ,when we are searching for materials that have been replicated in SRM we can search the material based on various parameters like Product ID ,Category ID etc.In SRM the Category ID is normally the material group.Now we want to search the material based on both,material group as well as material type.But i can have only one of these as my category.2 hierarchies R3MATCLASS and R3PRODSTYP exist in the system.But i do i make it work so that i can see both the material type as well as material group while selecting materials to shop.Is it possible??
    Thanks in advance.
    Regards,
    Pawan

    Hi,
    What do you want to see exactly in the Selection screen fro the Product search???In the Std screen,you already have the field called PRODUCT TYPE where you can enter '01'(hierarchy) and  '02'(Services).
    But if you want the field HIERARCHY in the selection screen,then you need to modify the Std search help exit(BBP_F4IF_SHLP_EXIT_PRODUCT_GEN) attached to the Std Product search help(BBPH_PRODUCT)  for  the SHOP tarscn
    You will need to create a Z search help exit(Z FM) and attach that to the Std Product search help given above.In the Z exit,you need to write the logic to display the reqd fields in the Selection screen.
    BR,
    Disha.
    Pls reward points for useful answers.

  • Material type not getting displayed in the cube........

    Hi,
    In my infocube material type for one of the material is not getting displayed.
    When I check in the content of the cube for this material all the fileds are getting displayed except material type.
    However it is present in the material master data from which it is put into the update rules to populate in the cube.
    Its getting displayed for some other materials , so we cant say that mapping is wrong or problem with update rules.
    Can some body let me know what could be the reason.
    Thanks,
    Jeetu

    Hi Jeetu,
    can you check in your cube if you have for one material, entries with AND entries without the MATL_TYPE? If this is the case then you were loading transactional data before having the corresponding material master data.
    You should adapt your scenario:
    - first do not use the standard attribute derivation during your URules: performance is very bad.
    - implement a start routine filling an internal table with your material and MATL_TYPE for all entries of material in your datapackage.
    - implement an update routine on the MATL_TYPE with a READ on this internal table an raise an ABORT = 4 if the MATL_TYPE is initial or the material in not found.
    Now to fix your situation you'll have to reload your cube or alternatively just reload your missing MATL_TYPE MATERIAL from your cube itself and selective delete those which are empty.
    hope this helps...
    Olivier.

  • Mandatory fields With reference to Material types

    Dear Gurus,
    I need to make few fields as mandatory with reference to material types while creation of the material master data.
    For example:
    For Semi finished and Finished Schedule margin key is required(mandatory)
    For Raw Materials Schedule margin key is optional.
    Regards,
    Siddharth

    Hi
    find  following step to make field mandatory for material type
    Follow the stpes for making field as optional, required entry
    1 click the tab ,(Which is u want to be Required entry )and get the field name by pressing F1 key and then
    2.Go to T.Code: OMSR and enter that field name and get Selection Group
    once you get selection group and field name
    3 Use t.Code: OMS2 and click your material type and in next screen check Field reference ( you have assigned for material type; example :;For ROH material type the Field reference is ROH
    3. Use T.code:OMS9,, Double Click your Field Reference and select field selection Group , & select round box of Required Entry or optional and save
    check following link you will get clear idea [How to configure the fields required for each Material type ?;
    Regards
    Kailas ugale

  • SAP report for movement type and material type

    Hi!
    I would like to use a standard SAP report to give me a list of all the movement types (much like MB51) but instead of material I would like to select on Material type e.g. ROH. The result should for example be a list of the movement types 501 on material type ROH.
    It is urgent, if you could help me I would be very greatful!
    Sincerely
    Anders Öhrling

    Thanks for your answer!
    I have managed to join the two tables and created a report that will work, except that the amounts in local currency that is given by movement type 201 is not negative (as in MB51). I need all movement types that generate a debit must be shown as a negative value. Wo when I summarize all the movement types I end up with the value of 101 minus 201.
    Is that possible without ABAP programming?
    Sincerely Anders Öhrling

  • Issue to make mandatory field(SELD/BBD and Date of manufactor)in migo for particular Material type and material Number starting with'1' series.

    Hi friend,
    i have issue regarding mandatory  self life field (SELD/BBD and Date of manufactor)in migo for Batch Tab for particular Material start with '1' Series and material type.
    i want to make mandatory above field during GR from migo..any one let me know exit or badi for that to full fill this goal..
    Regard's,
    shaikh Khalid.

    Hi Shaikh
    First of all Thread is not closed seconldy as a good practice if you have resolved your issue kindly document it here so that it may help someone in future
    Nabheet

Maybe you are looking for

  • Cant access icloud account

    my hotmail account got hacked and i had to change my apple id to my yahoo account  , the only probem is now i cant access my icloud account because its asking me to sign in under my hotmail account that i cant even access some body help plz

  • Site Cache - Large Site - Unbearable

    I have a large site, around 25,000 pages. With site cache enabled, DM8 takes 2 1/2 hours or more when changing a template to update files and save site cache (around a 158MB file...). Is there any way around this, apart from breaking the site into mu

  • Bridge as Image Viewer

    Is it possible to use Bridge as a general image viewer? Can I make it, in Windows-speak, the default image viewer for various types of image formats? If I cannot now, I would like to recommend this capability. Often now I find myself needing to view

  • What is  the basic requirement to learn EP(Development)? Please advise

    Hi Gurus, This is my serious concern. I am an ABAPer with 4+ years of experience. I am from IT background also. I would like to know what is  the basic requirement to learn EP (Development)? Is Java required? If so, is it J2EE and which version of it

  • Is there an easy way to toggle between an Apple ID and a cell phone number in Messages?

    My son has an iPod but just a regular cell phone. We communicate a lot through texts/Messages but he doesn't always have a wifi connection on his iPod so sometimes, he is only reachable through his cell phone number and other times through his Apple