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,
LucaI 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,
RanjeetHi,
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 youDear,
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 appreciatedYou 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,
samsonHi 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 ZhangHi
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,
PawanHi,
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. -
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,
JeetuHi 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,
SiddharthHi
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 ÖhrlingThanks 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 -
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
-
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
-
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