Inbound process for material master
hi abapers,
i have on req my req is iam sending material master from one server to other server..
in inbound side i want to do mapping for materials,
like matetial type 'FERT' in sending system ,in receving side this material type should be 'HAWA'.
like this kind of mapping i need to do., for this i found one badi 'badi_matmas_alv_in'.
In this badi there are 'idoc_control' and 'idoc_data' exporting parameters and in changing parametes 'material tables' are there, now i did mapping passed values to different tables .
upto now is fine but probelms what i face is
1. The changed records are not updating in database.
so how the cding should should be done in inbound side ,,
any other exits or any sol's plaese let me know..
thanks prabhu,
here i found one exit 'MGV00001'
in that there two fm's 'EXIT_SAPLMV02_002' Enhancements in Material Master: IDoc - Post
here i want testing this by putting break point init .and going to we19 giving the idoc no executing in begguing mode in foreground,
but here this exit is not triggering, see below code of idoc_input_matmas01.
PERFORM CHECK_USER_EXIT TABLES T_EDIDD " zu 3.1H
USER_SEGMENTS
USING CURRENT_TABIX.
LOOP AT USER_SEGMENTS.
REFRESH T_RES_FIELDS.
SY-SUBRC = 0.
CALL CUSTOMER-FUNCTION '002'
EXPORTING
MESSAGE_TYPE = IDOC_CONTRL-MESTYP
F_CUST_SEGMENT = USER_SEGMENTS
TABLES
RES_FIELDS = T_RES_FIELDS
CHANGING
F_MARA_UEB = I_MARA_UEB
EXCEPTIONS
APPLICATION_ERROR = 1
OTHERS = 2.
IF SY-SUBRC NE 0.
APPLICATION_SUBRC = SY-SUBRC.
PERFORM HANDLE_ERROR
TABLES
IDOC_CONTRL
IDOC_STATUS
RETURN_VARIABLES
T_MERRDAT
T_IDOC_MATNR "JH/4.0C/KPr100004993
USING
APPLICATION_SUBRC
CHANGING
WORKFLOW_RESULT.
EXIT.
ENDIF.
APPEND_RESFIELDS COUNTER-TRANC.
ENDLOOP.
here it is checking user segments table ,and when i exexuted this code it show empty,for this reason it is not going to the exit.
just see it and help me..
Similar Messages
-
Release process for Material Master, Vendor master creation
Hi Sap Gurus,
We currently have a business process where in a particular User / Dep't collects the field values for Master data creation. the requirement is untill an verifier (releasing authority) releases it, the material must not be put to use.
is there an release process which could be built for Master data creation in SAP, please suggest how to go about to meet this requirement.
some Options iam thinking are.
Locking or Blocking for use Initiallly by the creator, and the verifier Unlocks or Releases it.
1) Say the creater creates and locks the material master after creation. but i did not find any authorization object for Locking / blocking the material separately,so the is problem what if the initial user creates the material and did not Lock the same, this is the issue with this solution
can this be configured / automated that, with the Creator User ID, the material getting created always gets to the Locked status / Blocked status.
and the same material is Unlocked by the Verifier User ID.
Please suggest how this can be done with Fool proof solution, May be with Standard or slight development if required
Thanks and regards
Priya SThanks for your quick reply rahul,
But the Issue is there should be 2 People for the complete creation of Material master. one should place the values and the other should verify the value and release.
The material should not be created or put to use untill the it is released by the Verifier.
and i could not find any authorization object resticting the creator for blocking or locking the material master, with out actually creating the same.
( the creator should only have the authorization for blocking or Locking the material, or when ever the material is getting created by the Creator it should go to the Locked status or Blocked status)
The releaser can then go and release the same. wold expect the nearest possibility with out big development.
and if it is a development please explain the same.
Thanks and regards,
Priya S -
Approval for Material Master Creation !
Dear All ,
My requirement is to have approval process for Material master. is it possible.?
My Client is expecting approval process same like PO ( release strategy )
Is there any standard approval process for every masters which are created as part of MM transactions.
Can it be achieved by means of any workflow.?
Thanks
JinoyHi,
Yes it can be achieved by Work flow & also through the Enterprise Portal development.
If you have Workflow consultant you can take a help in setting up the approval for Material master creation.
If you want high fund & centralization of Material master you can go for EP development but Cost & effort will be on higher side.
Discuss with your Workflow consultant he will help you.
rgds
gsc -
SRM and MDM for material master in SRM contracts for multiple R/3
Dear all,
my question is:
We are implementing SRM 4.0 in classic scenario with multiple R/3 back-end and we want to set-up Global Outline Agreements in SRM in a multi-backend environment where the Material Master are not harmonized.
We heard that MDM and COntent Integraton can be a solution.
Then detailled question is:
Can we have 2 material numbers (e.g. ABC and XYZ) in 2 different R/3 systems refering the same product.
Have the mapping done in MDM (Content Integrator?) to a third material number:123
Replicating the material master 123 to SRM from MDM(?)
Create global Outline Agreements in SRM for Material Master 123.
Distribute the GOA as Outline Agreement to R/3 system 1 with the translation to ABC and to R/3 system 2 with the translation XYZ, all of that during the distribution step (or another).
Have the call-offs quantities correct on 123 in SRM and BW?
IF yes, how is it working, do you have some documentation discribing the scenario and the config steps to do?
Thanks in avanceHello RD,
That's a good question.
You are on the right way. MDM is the tool for you.
But..
Content Integrator (CI) was first developped for Shell, to address the need of cross-referencing of material/supplier/category IDs, for:
- reporting purpose (actual Spend Analysis)
- mapping purpose (send of XML PO)
CI was later "fusionned" into the new MDM (1.0) solution.
So now, you can not order CI without MDM (even if some SRM slides still present CI).
But mapping API where developped for all inboud/outbound interfaces in SRM, for materials only (good luck for you).
You will find everywhere this piece of code:
Call ECI
CALL FUNCTION 'BBP_PRODUCT_MAP'
TABLES
it_input = lt_mapping_in
et_output = lt_mapping_out
EXCEPTIONS
logsys_not_found = 1
driver_not_found = 2
product_not_found = 3
internal_error = 4
OTHERS = 5.
So it is ok, you have the mapping call, but I don't know if all the rest of the process was really "finalized" (call of API mapping in CI, via XI). I personnaly never used it, but I assume it should work.
I my opinion your process is supported by SAP:
- Extract materials from both R/3 and consolidate them as a single product in MDM.
- Distribute this product into SRM.
- Maintain contracts on those products.
- Distribute them to R/3 (The ECI call is also used during contract distribution).
- Call offs corrects in SRM and BW
For MDM documentation, look at netweaver area of service.sap.com.
For MDM/SRM integration, look at SRM 4.0 spend analysis:
https://websmp206.sap-ag.de/~sapdownload/011000358700004424262004E/GlobalSpendOverview.ppt
For SRM contract distribution, call-offs, BW, look at SRM in details in service.sap.com/srm/SRM4.0:
https://websmp206.sap-ag.de/~sapdownload/011000358700001966382004E/contracten.ppt
For SRM5.0, see online help on help.sap.com.
Rgds
Christophe -
Hi ,
I am developing the BI program for Material Master (MM01) and change MM02(Both create and change).
Can you let me know how do i select particular views before creating/changing the material .
Is there any specific function module available to do this ..
If you help me with any sample coding ,that would be great.
Thanks
Raj& Description : This program is used to create material
*& master (tcode MM01) . Material data is available in tab delimited *
*& flat file. *
*& The Following is the flat file Structure: *
MATNR(018) "Material Number
MBRSH(001) "Industry Sectory
MTART(004) "Material Type
WERKS(004) "Plant
LGORT(004) "Storage Location
MAKTX(040) "Material Text
MEINS(003) "Basic Unit of Measurement
MATKL(009) "Material Group
PRDHA(018), "Product Hierarchy
MTPOS_MARA(004), "General Item Categoy Group
ZEINR(022) "Document
ZEIVR(002) "Doc Version
SPART(002) "Division
DWERK(004) "Delivery Plant
TAXKM(001) "Tax
KTGRM(002) "Account Assignemnt Group
MTPOS_MARA(004), "General. Item Category Group
MTPOS(004), "Item Category Group
MTVFP(002) "Availability check
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
s_ltex1(40), "Sales Text line 1
s_ltex2(40), "Sales Text line 2
s_ltex3(40), "Sales Text line 3
s_ltex4(40), "Sales Text line 4
s_ltex5(40), "Sales Text line 5
s_ltex6(40), "Sales Text line 6
**/ End of changes by Anoop for Sales Text Date: 17 feb 2004
**/ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
po_ltex1(40), "Purchase Order Text line 1
po_ltex2(40), "Purchase Order Text line 2
po_ltex3(40), "Purchase Order Text line 3
po_ltex4(40), "Purchase Order Text line 4
po_ltex5(40), "Purchase Order Text line 5
po_ltex6(40), "Purchase Order Text line 6
MAKTX(040) "Sales text
EKGRP(003) "Purchasing Group
DISMM(002) "MRP Type
DISPO(003) "MRP Controller
DISLS(002) "Lot Size
EKGRP(003) "Purchasing group
BSTFE(017) "Fixed Lot Size
BESKZ(001) "Procurement Type
LGPRO(004) "Prod. Storage Location
DZEIT(003) "In house production
PLIFZ(003) "Planned Delivery Time
FHORI(003) "Sch. Margin Key
STRGR(002) "Planning Strategy Group
MTVFP(002) "Availabilty Check
SBDKZ(001) "Ind/Collective
SERNP(004) "Serial Number Profile
LGPBE(010) "Storage Bin
GROES(032) "Size and Dimension
WEBAZ(003) "GR Processing Time
BKLAS(004) "Valuation Class
VPRSV(001) "Price Control
VERPR(015) "Moving Average Price
STPRS(015) "Standard Price
MYPOL(004) "LIFO Pool
EKALR(001) "With Qty structure
HKMAT(001) "Material Origin
ZPLP1(014) "Planned Price 1
ZPLD1(010) "Planned Price Date 1
*Include
INCLUDE bdcrecx1.
*Variables
DATA : v_filename TYPE string,
v_flag(1) TYPE c,
v_counter(2) TYPE c,
v_lines TYPE i,
v_count TYPE i VALUE 0.
*Selection-screen
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETER : filename LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETER : v_basic1 TYPE checkbox,
v_basic2 TYPE checkbox,
v_sales1 TYPE checkbox,
v_sales2 TYPE checkbox,
v_salesg TYPE checkbox,
v_salest TYPE checkbox,
v_purcha TYPE checkbox,
Begin of changes by Anoop Date: 18 feb 2004.
v_potext TYPE checkbox,
*End of changes by Anoop Date: 18 feb 2004
v_mrp1 TYPE checkbox,
v_mrp2 TYPE checkbox,
v_mrp3 TYPE checkbox,
v_mrp4 TYPE checkbox,
v_wrksch TYPE checkbox,
v_gplnt1 TYPE checkbox,
v_gplnt2 TYPE checkbox,
v_qality TYPE checkbox,
v_acct1 TYPE checkbox,
v_acct2 TYPE checkbox,
v_testi TYPE checkbox,
v_cost2 TYPE checkbox.
SELECTION-SCREEN END OF BLOCK blk2.
SELECTION-SCREEN END OF BLOCK blk1.
*/ Comments given are the view names that have been incorporated into
the BDC for the transaction MM01.
**Internal Tables
DATA: BEGIN OF record,
*/ Basic Data 1..
data element: MATNR
matnr_001(018), "Material Number
data element: MBRSH
mbrsh_002(001), "Industry Sectory
data element: MTART
mtart_003(004), "Material Type
data element: WERKS_D
werks_019(004), "Plant
data element: LGORT_D
lgort_020(004), "Storage Location
*DATA ELEMENT : vkorg
vkorg(004), "Sales Organisation
*DATA ELEMENT : VTWEG
vtweg(002), "Distribution channel
data element: MAKTX
maktx_021(040), "Material Text
data element: MEINS
meins_022(003), "Basic Unit of Measurement
data element: MATKL
matkl_023(009), "Material Group
data element: PRODH_D
prdha_015(018),
data element: MTPOS_MARA
mtpos_mara_016(004),
data element: MTPOS_MARA
MTPOS_MARA_024(004),
*/ Basic Data 2...
data element: DZEINR
zeinr_026(022), "Document
data element: DZEIVR
zeivr_027(002), "Doc Version
data element: MEINS
MEINS_029(003),
*/ Sales : Sales Org. Data 1
data element: SPART
spart_020(002),
data element: DWERK_EXT
dwerk_021(004),
data element: TAXKM
taxkm_01_024(001),
*/ Sales : Sales Org. Data 2
data element: KTGRM
ktgrm_033(002),
data element: MTPOS_MARA
mtpos_mara_034(004),
data element: MTPOS
mtpos_035(004),
*/ Sales : General Plant/Data
data element: MTVFP
mtvfp_040(002),
data element: PRCTR
prctr_041(007),
*/ Sales Text
*/commented by Anoop
data element: MAKTX
maktx_041(040),
*/commented up to here by Anoop
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
s_ltex1(40),
s_ltex2(40),
s_ltex3(40),
s_ltex4(40),
s_ltex5(40),
s_ltex6(40),
*/ End of changes by Anoop for Sales Text Date: 17 feb 2004
*/ Purchasing..
data element: EKGRP
ekgrp_030(003),
data element: MEINS
MEINS_033(003),
data element: EKGRP
EKGRP_034(003),
*/ Begin of changes by Anoop for Purchase Order Text Date: 17 feb 2004
*/ Purchase Order Text
po_ltex1(40),
po_ltex2(40),
po_ltex3(40),
po_ltex4(40),
po_ltex5(40),
po_ltex6(40),
*/ MRP1..
data element: DISMM
dismm_035(002), "MRP Type
data element: DISPO
dispo_036(003), "MRP Controller
data element: DISLS
disls_037(002), "Lot Size
data element : EKGRP
ekgrp(003),
data element: MEINS
MEINS_039(003),
data element: EKGRP
EKGRP_040(003),
data element: DISMM
DISMM_041(002),
data element: DISPO
DISPO_042(003),
data element: DISLS
DISLS_043(002), "Proc. Type
data element: BSTFE
bstfe_044(017),
*/ MRP2..
data element: BESKZ
beskz_046(001),
data element: LGPRO
lgpro_047(004),
data element: DZEIT
dzeit_048(003),
data element: PLIFZ
plifz_049(003),
data element: FHORI
fhori_050(003),
data element: PERKZ
PERKZ_052(001),
*/ MRP3..
data element: STRGR
strgr_053(002),
data element: MTVFP
mtvfp_054(002),
*/ MRP4
data element: SBDKZ
sbdkz_056(001),
data element: MEINS
MEINS_058(003),
data element: LGPRO
LGPRO_059(004),
*/ Work Scheduling
data element: SERAIL
sernp_060(004),
data element: DZEIT
DZEIT_061(003),
data element: MEINS
MEINS_063(003),
*/ Plant Data/Str1
data element: LGPBE
lgpbe_064(010),
data element: DATTP
IPRKZ_065(001),
*/ Plant Data/Str2
data element: GROES
groes_067(032),
data element: SERAIL
SERNP_068(004),
data element: MEINS
MEINS_070(003),
*/ Quality Management
data element: WEBAZ
webaz_071(003),
data element: MEINS
MEINS_073(003),
*/ Accounting 1
data element: BKLAS
bklas_074(004),
data element: VPRSV
vprsv_075(001),
data element: PEINH
PEINH_076(006),
data element: VERPR
verpr_077(015),
data element: STPRS
stprs_078(015),
*/ Accounting 2
data element: MYPOOL
mypol_080(004),
data element: MEINS
MEINS_082(003),
*/ Cost Estimate 1.
data element: CK_EKALREL
ekalr_083(001),
data element: HKMAT
hkmat_084(001),
data element: CK_LOSGR
LOSGR_085(017),
*/ Costing 2..
data element: DZPLP1
zplp1_087(014),
data element: DZPLD1
zpld1_088(010),
data element: BKLAS
BKLAS_089(004),
data element: VPRSV
VPRSV_090(001),
data element: PEINH
PEINH_091(006),
data element: VERPR
VERPR_092(015),
data element: STPRS
STPRS_093(015),
END OF record.
*/ Begin of changes by Anoop Date: 17 feb 2004
*/ intermediate internal table for Sales Text and Purchase Order Text
*DATA: BEGIN OF s_tab OCCURS 0,
matnr LIKE mara-matnr,
s_ltex1 LIKE makt-maktx,
s_ltex2 LIKE makt-maktx,
s_ltex3 LIKE makt-maktx,
s_ltex4 LIKE makt-maktx,
s_ltex5 LIKE makt-maktx,
s_ltex6 LIKE makt-maktx,
END OF s_tab.
*DATA: BEGIN OF po_tab OCCURS 0,
matnr LIKE mara-matnr,
po_ltex1 LIKE makt-maktx,
po_ltex2 LIKE makt-maktx,
po_ltex3 LIKE makt-maktx,
po_ltex4 LIKE makt-maktx,
po_ltex5 LIKE makt-maktx,
po_ltex6 LIKE makt-maktx,
END OF po_tab.
*/ End of changes by Anoop Date: 17 feb 2004
DATA : itab LIKE record OCCURS 0 WITH HEADER LINE.
DATA : ok_code(5) TYPE c.
*AT SELECTION-SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
field_name = filename
CHANGING
file_name = filename.
*START-OF-SELECTION
START-OF-SELECTION.
v_filename = filename.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_filename
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = itab.
*/ Begin of changes by Anoop Date: 17 feb 2004
LOOP AT itab.
move itab-s_ltext+0(40) to itab-s_ltex1.
move itab-s_ltext+40(40) to itab-s_ltex2.
move itab-s_ltext+80(40) to itab-s_ltex3.
move itab-s_ltext+120(40) to itab-s_ltex4.
move itab-s_ltext+160(40) to itab-s_ltex5.
move itab-s_ltext+200(40) to itab-s_ltex6.
move itab-po_ltext+0(40) to itab-po_ltex1.
move itab-po_ltext+40(40) to itab-po_ltex2.
move itab-po_ltext+80(40) to itab-po_ltex3.
move itab-po_ltext+120(40) to itab-po_ltex4.
move itab-po_ltext+160(40) to itab-po_ltex5.
move itab-po_ltext+200(40) to itab-po_ltex6.
modify itab.
ENDLOOP.
*/ End of changes by Anoop Date: 17 feb 2004
DELETE itab WHERE matnr_001 = ' '.
DESCRIBE TABLE itab LINES v_lines.
PERFORM open_group.
LOOP AT itab.
v_count = v_count + 1.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0060'.
IF v_count = v_lines.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
ENDIF.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RMMG1-MATNR'
itab-matnr_001.
PERFORM bdc_field USING 'RMMG1-MBRSH'
itab-mbrsh_002.
PERFORM bdc_field USING 'RMMG1-MTART'
itab-mtart_003.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0070'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(17)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=P+'.
TRANSLATE itab-mtart_003 TO UPPER CASE.
*/ IF the data to be uploaded is of Material type 'Trading Goods'
the following view selection
IF itab-mtart_003 = 'HAWA'.
PERFORM view_sel3.
ENDIF.
*/ IF the data to be uploaded is of Material type 'Finished Goods'
the following view selection
IF itab-mtart_003 = 'FERT'.
PERFORM view_sel1.
ENDIF.
*/ IF the data to be uploaded is of Material type 'Semi-Finished Goods'
the following view selection
IF itab-mtart_003 = 'HALB'.
PERFORM view_sel2.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMGMM' '0080'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T001L-LGOBE'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_field USING 'RMMG1-WERKS'
itab-werks_019.
PERFORM bdc_field USING 'RMMG1-LGORT'
itab-lgort_020.
PERFORM bdc_field USING 'RMMG1-VKORG'
itab-vkorg.
PERFORM bdc_field USING 'RMMG1-VTWEG'
itab-vtweg.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
IF v_basic1 = 'X'.
*/ Basic Data 1
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-MATKL'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
PERFORM bdc_field USING 'MARA-PRDHA'
itab-prdha_015.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
itab-mtpos_mara_016.
perform bdc_field using 'MARA-MTPOS_MARA'
itab-MTPOS_MARA_024.
ENDIF.
IF v_basic2 = 'X'.
*/ Basic Data 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4004'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-ZEIVR'.
PERFORM bdc_field USING 'MARA-ZEINR'
itab-zeinr_026.
PERFORM bdc_field USING 'MARA-ZEIVR'
itab-zeivr_027.
ENDIF.
IF itab-vkorg(004) <> ' '.
IF v_sales1 = 'X'.
*/ Sales : Sales Org. Data 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-SPART'
itab-spart_020.
PERFORM bdc_field USING 'MVKE-DWERK'
itab-dwerk_021.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
****perform bdc_field using 'MVKE-SKTOF'
record-SKTOF_023.
IF itab-taxkm_01_024 <> ' '.
PERFORM bdc_field USING 'BDC_CURSOR'
'MG03STEUER-TAXKM(01)'.
PERFORM bdc_field USING 'MG03STEUER-TAXKM(01)'
itab-taxkm_01_024.
*/ After entering tax another screen in which no data has to be *
populated
PERFORM bdc_dynpro USING 'SAPLMGMM' '4200'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM bdc_field USING 'MAKT-MAKTX'
record-maktx_021.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARA-SPART'
itab-spart_020.
PERFORM bdc_field USING 'MVKE-DWERK'
itab-dwerk_021.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
ENDIF.
IF v_sales2 = 'X'.
*/ Sales : Sales Org. Data 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
*/commented by Anoop
*/ itab-maktx_041.
*/commented up to here by Anoop
*/ Begin of changes by Anoop Date: 17 feb 2004
itab-maktx_021.
*/ End of changes by Anoop Date: 17 feb 2004
PERFORM bdc_field USING 'BDC_CURSOR'
'MVKE-MTPOS'.
PERFORM bdc_field USING 'MVKE-KTGRM'
itab-ktgrm_033.
IF itab-mtpos_mara_034 <> ' '.
PERFORM bdc_field USING 'MARA-MTPOS_MARA'
itab-mtpos_mara_034.
ENDIF.
IF itab-mtpos_035 <> ' '.
PERFORM bdc_field USING 'MVKE-MTPOS'
itab-mtpos_035.
ENDIF.
ENDIF.
IF v_salesg = 'X'.
*/ Sales : General/Plant Data
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
***perform bdc_field using 'MARA-GEWEI'
record-GEWEI_039.
PERFORM bdc_field USING 'MARC-MTVFP'
itab-mtvfp_040.
IF itab-prctr_041 <> ' '.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-PRCTR'.
PERFORM bdc_field USING 'MARC-PRCTR'
itab-prctr_041.
ENDIF.
ENDIF.
IF v_salest = 'X'.
*/ Sales Text
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
IF itab-mtart_003 = 'HAWA' OR itab-mtart_003 = 'HALB'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP09'.
ok_code = '=SP09'.
ELSEIF itab-mtart_003 = 'FERT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SP12'.
ok_code = '=SP12'.
ENDIF.
*/commented by Anoop
PERFORM bdc_field USING 'MAKT-MAKTX'
*/ itab-maktx_041.
*/commented up to here by Anoop
*/ Begin of changes by Anoop for Sales Text Date: 17 feb 2004
PERFORM bdc_field USING 'BDC_OKCODE' '=LTEX'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXLINE(02)' .
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA' .
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-s_ltex1.
perform bdc_field using 'RSTXT-TXLINE(03)' itab-s_ltex2.
perform bdc_field using 'RSTXT-TXLINE(04)' itab-s_ltex3.
perform bdc_field using 'RSTXT-TXLINE(05)' itab-s_ltex4.
perform bdc_field using 'RSTXT-TXLINE(06)' itab-s_ltex5.
perform bdc_field using 'RSTXT-TXLINE(07)' itab-s_ltex6.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES' .
*/ End of changes by Anoop for Sales Text Date: 17 feb 2004
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
ENDIF.
ENDIF.
IF v_purcha = 'X' AND ok_code = '=SP09'.
CLEAR ok_code.
*/ Purchasing
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'SP11'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-EKGRP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp_030.
PERFORM bdc_field USING 'MARA-MATKL'
itab-matkl_023.
perform bdc_dynpro using 'SAPLMGMM' '4000'.
perform bdc_field using 'BDC_OKCODE'
'ENTR'.
perform bdc_field using 'MAKT-MAKTX'
itab-maktx_021.
perform bdc_field using 'MARA-MEINS'
itab-meins_022.
perform bdc_field using 'MARC-EKGRP'
itab-ekgrp_030.
perform bdc_field using 'BDC_CURSOR'
'MARC-DISMM'.
perform bdc_field using 'MARC-DISMM'
itab-DISMM_035.
perform bdc_field using 'MARC-DISPO'
itab-DISPO_036.
perform bdc_field using 'MARC-DISLS'
itab-DISLS_037.
ENDIF.
*/ Begin of changes by Anoop for Purchase Order Text Date: 18 feb 2004
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
IF v_potext = 'X' .
CLEAR ok_code.
*Purchase Order Text
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '=LTEX'.
PERFORM bdc_dynpro USING 'SAPLSTXX' '1100'.
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXLINE(02)' .
PERFORM bdc_field USING 'BDC_OKCODE' '=TXBA' .
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-po_ltex1.
perform bdc_field using 'RSTXT-TXLINE(03)' itab-po_ltex2.
perform bdc_field using 'RSTXT-TXLINE(04)' itab-po_ltex3.
perform bdc_field using 'RSTXT-TXLINE(05)' itab-po_ltex4.
perform bdc_field using 'RSTXT-TXLINE(06)' itab-po_ltex5.
perform bdc_field using 'RSTXT-TXLINE(07)' itab-po_ltex6.
PERFORM bdc_field USING 'RSTXT-TXLINE(02)' itab-po_ltex1 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(03)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(03)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(03)' itab-po_ltex2 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(04)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(04)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(04)' itab-po_ltex3 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(05)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(05)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(05)' itab-po_ltex4 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(06)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(06)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(06)' itab-po_ltex5 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(07)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(07)' '*'.
PERFORM bdc_field USING 'RSTXT-TXLINE(07)' itab-po_ltex6 .
PERFORM bdc_field USING 'BDC_CURSOR' 'RSTXT-TXPARGRAPH(08)'.
PERFORM bdc_field USING 'RSTXT-TXPARGRAPH(08)' '*'.
PERFORM bdc_dynpro USING 'SAPLSPO1' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE' '=YES' .
PERFORM bdc_dynpro USING 'SAPLMGMM' '4040'.
PERFORM bdc_field USING 'BDC_OKCODE' '/00'.
endif.
*/ End of changes by Anoop for Purchase Order Text Date: 18 feb 2004
IF v_mrp1 = 'X'.
*/ MRP 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'ENTR'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp_030.
PERFORM bdc_field USING 'MARC-DISMM'
itab-dismm_035.
PERFORM bdc_field USING 'MARC-DISPO'
itab-dispo_036.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-DISLS'.
PERFORM bdc_field USING 'MARC-DISLS'
itab-disls_037.
IF itab-ekgrp <> ' '.
PERFORM bdc_field USING 'MARC-EKGRP'
itab-ekgrp.
ENDIF.
PERFORM bdc_field USING 'MARC-BSTFE'
itab-bstfe_044.
ENDIF.
IF v_mrp2 = 'X'.
*/ MRP 2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARC-BESKZ'
itab-beskz_046.
PERFORM bdc_field USING 'MARC-LGPRO'
itab-lgpro_047.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-DZEIT'.
PERFORM bdc_field USING 'MARC-DZEIT'
itab-dzeit_048.
PERFORM bdc_field USING 'MARC-PLIFZ'
itab-plifz_049.
PERFORM bdc_field USING 'MARC-FHORI'
itab-fhori_050.
ENDIF.
IF v_mrp3 = 'X'.
*/ MRP 3
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
perform bdc_field using 'MARC-PERKZ'
itab-PERKZ_052.
PERFORM bdc_field USING 'MARC-STRGR'
itab-strgr_053.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM bdc_field USING 'MARC-MTVFP'
itab-mtvfp_054.
ENDIF.
IF v_mrp4 = 'X'.
*/ MRP 4
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-SBDKZ'.
PERFORM bdc_field USING 'MARC-SBDKZ'
itab-sbdkz_056.
ENDIF.
IF v_wrksch = 'X'.
*/ WORK SCHEDULES
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-SERNP'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-LGPRO'
itab-lgpro_047.
PERFORM bdc_field USING 'MARC-SERNP'
itab-sernp_060.
PERFORM bdc_field USING 'MARC-DZEIT'
itab-dzeit_048.
ENDIF.
IF v_gplnt1 = 'X'.
*/ PLANT DATA/STR1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARD-LGPBE'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARD-LGPBE'
itab-lgpbe_064.
perform bdc_field using 'MARA-IPRKZ'
itab-IPRKZ_065.
ENDIF.
IF v_gplnt2 = 'X'.
*/ PLANT DATA/STR2
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARA-GROES'.
PERFORM bdc_field USING 'MARA-GROES'
itab-groes_067.
PERFORM bdc_field USING 'MARC-SERNP'
itab-sernp_060.
ENDIF.
IF v_qality = 'X'.
*/ QUALITY MANAGEMENT
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=PB01'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-WEBAZ'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-WEBAZ'
itab-webaz_071.
Addition done by Hymavathi on 24-01-2005
PERFORM bdc_dynpro USING 'SAPLQPLS' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMQAM-ARGUMENT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=NEU'.
PERFORM bdc_dynpro USING 'SAPLQPLS' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RMQAM-AKTIV(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=WEIT'.
PERFORM bdc_field USING 'RMQAM-ART(01)'
'01'.
PERFORM bdc_field USING 'RMQAM-AKTIV(01)'
'X'.
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'BDC_CURSOR'
'MARC-WEBAZ'.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'MARC-WEBAZ'
itab-webaz_071.
End Of Addition Done By Hymavathi
ENDIF.
IF v_acct1 = 'X'.
*/ ACCOUNTING 1
PERFORM bdc_dynpro USING 'SAPLMGMM' '4000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'MAKT-MAKTX'
itab-maktx_021.
PERFORM bdc_field USING 'MARA-MEINS'
itab-meins_022.
PERFORM bdc_field USING 'BDC_CURSOR'
'MBEW-STPRS'.
PERFORM bdc_field USING 'MBEW-BKLAS'
itab-bklas_074.
PERFORM bdc_field USING 'MBEW-VPRSV'
-
Problem with mass IDoc for Material Master
Hi All,
Can anyone suggest a solution to work with mass IDocs for Material master?
We have DEBMDM and CREMDM as mass capable IDocs for Customer and Vendor. How do we get mass Material Master IDocs from R/3 in a single XML file?
Also the standard Material repository supplied with SAP MDM 5.5 SP3 doesn't have any XSD definition for MATMDM. Can anyone throw some light on this problem?
Regards
PoojaHello Pooja:
The standard way to do it is to generate a single file containing multiple idocs (And for the sake of performance, I suggest you stick to this technique).
In the case of material master, everything is straight forward. In the case of customer and vendor master, when data flows from R/3 to MDM no idoc conversion needs to be performed by XI.
However, for the case of customer and vendor master, when data flows from MDM to R/3, XI needs to separate the data in CREMDM to CREMAS and ADRMAS in order for R/3 to be able to process the idocs; as well as separate the data in DEBMDM to DEBMAS and ADRMAS.
The good thing is that you do not need to worry about all this mappings and conversions in XI. The only thing you need to do in XI is to import the standard business content for SAP MDM 5.5 into XI.
Hope this helps.
Regards,
Jorge. -
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 -
LSMW FOR MATERIAL MASTER USING BAPI_MATERIAL_SAVEDATA -Adding Custom Fields
Hi Gurus,
I'm developing LSMW for Material Master Upload using BAPI method.
Object:BUS1001006
BAPI:BAPI_MATERIAL_SAVEDATA
MESSAGE TYPE: MATMAS_BAPI
BASIC TYPE : MATMAS_BAPI03.
There is a requirement to use/map a custom field. Upon research custom field can be added to the parameter EXTENSIONIN and EXTENSIONINX, but I have no Idea on how to do it with LSMW. Please advise what approach is needed.
Thanks and Regards,
JayHi Gurus,
I got the following code below.
The custom field won't get updated.... Please advise on what should I do... I've checked different forums and still can't come up with the solution... Please advise..
REPORT ztest_extend_matmas1.
STRUCTURE
TABLES:
bapimathead, "Headerdata
bapi_mara, "Clientdata
bapi_marax, "Clientdatax
bapi_marc, "Plantdata
bapi_marcx, "Plantdatax
bapi_makt, "Material description
bapiparex, "Extensionstruktur
bapiparexx,
bapiret2. "Return messages
DATA:
bapi_te_mara LIKE bapi_te_mara,
bapi_te_marax LIKE bapi_te_marax,
v_file TYPE string.
INTERNAL TABLE
*to store the output data
DATA:BEGIN OF it_material_number OCCURS 0.
INCLUDE STRUCTURE bapimatinr.
DATA:END OF it_material_number.
*for materialtext
DATA:BEGIN OF it_materialdesc OCCURS 0.
INCLUDE STRUCTURE bapi_makt .
DATA:END OF it_materialdesc.
*für z-feld
DATA:BEGIN OF it_bapiparex OCCURS 0.
INCLUDE STRUCTURE bapiparex.
DATA:END OF it_bapiparex.
*für z-feldx
DATA:BEGIN OF it_bapiparexx OCCURS 0.
INCLUDE STRUCTURE bapiparexx.
DATA:END OF it_bapiparexx.
*to return messages
DATA:BEGIN OF it_return2 OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA:END OF it_return2.
DATA:BEGIN OF it_return OCCURS 0.
INCLUDE STRUCTURE bapiret1.
DATA:END OF it_return.
DATA
lt_messages TYPE bapiret2_t.
PROCESSING
*bapimathead-material = it_material_number-material.
bapimathead-material = '100-2520'.
bapimathead-ind_sector = 'P'.
bapimathead-matl_type = 'AEM'.
bapimathead-basic_view = 'X'.
bapimathead-purchase_view = 'X'.
bapimathead-inp_fld_check = 'I'.
*bapimathead-BASIC_VIEW = 'X'.
*bapimathead-SALES_VIEW = 'X'.
*bapimathead-PURCHASE_VIEW = 'X'.
*bapimathead-MRP_VIEW = 'X'.
*bapimathead-FORECAST_VIEW = 'X'.
*bapimathead-WORK_SCHED_VIEW = 'X'.
*bapimathead-PRT_VIEW = 'X'.
*bapimathead-STORAGE_VIEW = 'X'.
*bapimathead-WAREHOUSE_VIEW = 'X'.
bapi_mara-matl_group = '0001'.
bapi_mara-old_mat_no = '100-251'.
bapi_mara-base_uom = 'ST'.
bapi_marax-matl_group = 'X'.
bapi_marax-old_mat_no = 'X'.
bapi_marax-base_uom = 'X'.
bapi_marc-plant = '1000'.
bapi_marcx-plant = '1000'.
it_materialdesc-langu = 'EN'.
it_materialdesc-matl_desc = 'DESC'.
APPEND it_materialdesc.
*bapi_te_mara-material = it_material_number-material.
bapimathead-material = '100-2520'.
*bapi_te_mara-zzforst = '4148'.
bapi_te_mara-material = '100-2520'.
bapi_te_mara-zzmar_field1 = '4148'.
*bapi_te_marax-material = it_material_number-material.
bapimathead-material = '100-2520'.
*bapi_te_marax-zzforst = 'X'.
bapi_te_marax-material = '100-2520'.
bapi_te_marax-zzmar_field1 = 'X'.
it_bapiparex-structure = 'BAPI_TE_MARA'.
it_bapiparex-valuepart1 = bapi_te_mara.
APPEND it_bapiparex.
it_bapiparexx-structure = 'BAPI_TE_MARAX'.
it_bapiparexx-valuepart1 = bapi_te_marax.
APPEND it_bapiparexx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = bapimathead
clientdata = bapi_mara
clientdatax = bapi_marax
plantdata = bapi_marc
plantdatax = bapi_marcx
IMPORTING
return = it_return2
TABLES
materialdescription = it_materialdesc
extensionin = it_bapiparex
extensioninx = it_bapiparexx
returnmessages = lt_messages.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
THanks and Regards,
Jay
Edited by: jhayyy on May 17, 2011 6:54 AM -
OCM process for material revision update
Hi
Does anyone knows OCM process for material revision update?
from what i saw OCM is not working for ECM which has only revision update.
Is there any work around to update the production order?
Thanks.Hi
Read PP master data indeed update the revision, but i need to do the update in a mass process, and not for each order separably
in addition there are some other advantages to OCM, like the ability to change even if suborder (of collective order) is already confirmed, which can't be done with read master data. -
Step by step instruction for Using LSMW Recoding method for Material Master
Guys,
Can some one explain step by step procedure for uploading the materials master data to R/3 by using LSMW Recoding method. By the time you reply I will go through the rule of uploading the data..
Thanks guys,
Dhanu.Hi,
The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems into an R/3 System.
The LSM Workbench covers the following steps:
(1)Read the legacy data from one or several files (e.g. spreadsheet tables, sequential files)
(2)Convert the data from source format to target format
(3)Import the data using standard interfaces (Batch Input, Direct Input, BAPI, IDoc).
The Steps for LSME are:
Example: Customer Master upload:
LSMW to Update Customer Master Records with Transaction Recording
Call Legacy System Migration Workbench by entering transaction code LSMW. Every conversion task is grouped together as Project / Subproject / Object structure. Create a Project called LSMW_DEMO and a Subproject as CUSTOMERS and Object as CUST_REC
Step 1: Maintain Object attributes
In this example, you will be updating the customer master records with the help of recording a transaction (XD02). Choose radio button Batch Input Recording and click on the recording overview icon to record the R/3 transaction. Enter the Recording name as XD02_REC, the description as Customer Master Updates Recording, and the transaction code as XD02.
Step 2. Maintain Source Structures
Give a name and a description to the source structure
Step 3. Maintain Source Fields
In this step, you need to list what fields are present in the source structure. The easiest way is to click on u2018Table Maintenanceu2019 icon to enter Fieldname, Type and Length for each field
Step 4: Maintain Structure Relations
Execute a step to u2018Maintain Structure Relationsu2019. Since, there is only one Source and Target Structure, the relationship is defaulted automatically.
Step 5: Maintain field mapping and conversion rules
Field RF02D-D0310 represents that you chose u2018Sales viewu2019 for the customer Master screen accordingly its value should be set to X. Keep your cursor on field RF02D-D0310 and click on Constant rule icon to choose the constant value of u2018Xu2019.
If your source file already has the field value, you choose rule u2018Source Fieldu2019.
Keep cursor on field u2018KUNNRu2019 and click on u2018Assign Source fieldu2019 icon to choose source field CUSTOMER from structure XD02S
Step 6: Maintain fixed values, translations, user-defined routines
You can also maintain re-usable translations and user-defined routines, which can be used across conversion tasks. In this case, that step is not required.
Step 7: Specify files
In this step, we define how the layout of the input file is. The input file is a [Tab] delimited with the first row as field names. It is present on my PC (local drive) as C:\XD02.txt.
Step 8: Assign files
Execute step u2018Assign Filesu2019 and the system automatically defaults the filename to the source structure.
Step 9: Read data
In this step, LSMW reads the data from the source file (from your PCu2019s local drive). You have the option to read only selected rows and convert data values to Internal format.
Step 10: Display read data
This step is optional. If required, you can review the field contents for the rows of data read.
Step 11: Convert data
This is the step that actually converts the source data (in source format) to a target format. Based on the conversion rules defined, source fields are mapped to target fields.
Step 12: Display Converted data
Again this is an optional step to view how the source data is converted to internal SAP format
Step 13: Create batch input session
Once the source data is converted in an internal format, you can create a batch session to process updates.
Step 14: Run Batch Input Session
You can execute the BDC session by Run Batch input session. Executing a batch input session is a standard SM35 transaction for managing BDC sessions. Once you have successfully executed the batch input session, the customer master records are updated in the system. You can confirm this by viewing the customer master records (XD03).
Follow the link for material master
http://www.sap123.com/showthread.php?t=98
Regards,
Biju K -
Creation of New T Code for Material Master
HI,
I have to create a new T Code for Material Master Change i.e. for MM02, with writing restrictions to few fields. How to achieve this?
Thanks and Regards,
Hari Prasad.Hi Hariprasad,
If restricting certain fields using field selection option is not suitable for you, you can go ahead with the option Screen Variend
Also refer the link
[https://wiki.sdn.sap.com/wiki/display/Snippets/Transaction%20Variant%20-%20A%20Step%20by%20Step%20Guide%20for%20Creation] -
Issue in LSMW for material master using standard input program RMDATIND!!
Hello guys,
I have a issue in LSMW for material master.
I have a custom field in MARA table. which I want to add in my LSMW.
I added the field in BMMH1 structure. I'm passing the value to this field, But it is not populated in the table when I run it.
Is there anything else I need to do apart from addition of field in the structure BMMH1.
Thanks in advance for your help.
Regards,
Sumeet....see oss note 44410, it gives you a step by step overview.
https://service.sap.com/sap/support/notes/44410 -
BAPI for Material master update
Hello,
I need to upload and change data to the classification screen of Material master (MM01/02). I am thinking of using BAPI_CHARACT_CREATE and BAPI_CHARACT_CHANGE. Can we use BAPI_MATERIAL_SAVEDATA to upload and change characteristic data for material master(MM01/02)?
Can anybody provide me some sample code for mass upload and mass change of characteristic data to material master?
Thanks in advance
Rajesh.Hi Rajesh,
You can use standard SAP program <b>RCCLBI03</b> to do mass upload.
Please check the program documentation for more information.
Also you can take a look this BAPI/FM.
<b>BAPI_OBJCL_CREATE
BAPI_OBJCL_CHANGE
CLVF_INSERT_AUSP
CLVF_UPDATE_AUSP
CLVF_VB_INSERT_CLASSIFICATION</b>
Hope this will help.
Regards,
Ferry Lianto
Please reward points if helpful. -
Uploading sales text and Purchase order text for material master
Hi,
I have created, material master with LSMW byt not updated SALES TEXT and Purchase order text with LSMW now i want to uplaod the sales and po text for material master can you give some link or ref. code to upload the text i have near 1000 items for which i want to uplaod text when i have done the recording with SHDB i have not found filed in recording.
regards,
zafarHi,
I have made the code in se38
as below but still it is not working
REPORT ZTEST_TEXT.
data: headerl like thead occurs 0 with header line.
data itab3 like tline occurs 0 with header line.
headerl-tdobject = 'MATERIAL'.
headerl-tdname = '00000000000LSMW123'. "(Material : 000000000300000560, Sorg : 0001, Dist channel: 01)
headerl-tdid = 'BEST'.
headerl-tdspras = 'E'.
append headerl.
move '*' to itab3-tdformat.
move 'Testing PO text' to itab3-tdline.
append itab3.
call function 'SAVE_TEXT'
exporting
header = headerl
insert = ' '
savemode_direct = ' '
tables
lines = itab3
exceptions
id = 1
language = 2
name = 3
object = 4
others = 5.
IF SY-SUBRC = 0.
CALL FUNCTION 'COMMIT_TEXT'
EXPORTING
OBJECT = headerl-tdobject
NAME = headerl-tdname.
ENDIF.
break-point.
regards,
zafar -
Table name for material master change
What is the table name for material master change, so that I can get the old values and new values at plant level.
More specific:
I want to check the old values for Re order point and Safety stock in MRP1 and MRP2 fields in material master for many materials. Please help.Use CDPOS and CDHDR table to get the values which were changed.
CDPOS>use fields Change doc. object give in as MATERIAL and in the Table name>MARC
Maybe you are looking for
-
Adobe Encore CS4 unter Windows 7 Problem mit Einlesen von HD Material
Hallo zusammen, habe seit kurzem Windows 7 Ultimate 64bit auf einem zweiten System und teste CS4. Läuft so weit ganz stabil und bei HD deutlich schneller in der Verarbeitung. Wollte mich dann an das Authoring machen und mit Encore ein Bluray Projekt
-
How do i deactivate itunes from a computer that is dead
How do i deactivate itunes from a computer that is dead
-
Audio Tracks do not have sound?
I opened one of my Garageband projects in Logic and found out that none of my audio tracks have sound when played. The software instruments work just fine, and nothing is soloed or muted. Pretty sure audio is routed to the right output as well. What
-
In my folder "Pictures" - the same picture figure more than once
When I move pictures from my iPhone to Iphoto my MacBook Pro, I get this problem.... My photos below Finder - > Pictures , appears twice and sometimes more than twice. This also happens to my pictures from music albums. It's annoying , since I now ha
-
I also tried starting Safe Mode and disabling add-ons. No joy. Several attempts and downloading and installing had same result over a couple of weeks. All other computer functions ok, Firefox 3.6xx works fine.