Using BAPI to Migrate Material Master - BAPI`s in SAP _ SAPNuts
-
Upload
ashish-mohapatra -
Category
Documents
-
view
115 -
download
13
description
Transcript of Using BAPI to Migrate Material Master - BAPI`s in SAP _ SAPNuts
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 1/10
You are here / SAPNuts / / Courses /courses/ / SAP Cross Applications /courses/SAPCrossApplications.html / BAPI`s in SAP /courses/SAPCrossApplications/bapisinsap.html / Using BAPI to Migrate Material Master
SAPNuts.com on google play https://play.google.com/store/apps/details?id=com.sapnutsweb.com.sapnuts_web
https://play.google.com/store/apps/details?id=com.sapnutsweb.com.sapnuts_web
Using BAPI to Migrate Material MasterLast Updated: March 3rd 2014 by Admin
Material Master Data migration using BAPI.The below example explains of using BAPI for migrating material master into SAP System using a flat file.
Before using a BAPI to update a table/transaction, you should know about below two function modules.BAPI_TRANSACTION_COMMITIt is a Function module, which is used update database after all transactions in a LUW are completed.BY callingthis all the related tables for that transaction will be updated. We must use this if we dont have any errorsin BAPI call.
BAPI_TRANSACTION_ROLLBACKIt is a function module which is used to roll back all the changes if there are any errors in BAPI call. If there areany errors in BAPI call, we must roll back all changes.
Requirement: Migrate material master with basic data from a flat file.txt tab delimited separated by tab using BAPI method.
Available file format is below:
+
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 2/10
Input Screen:
Follow below steps to migrate material master using BAPI from a flat file.
1. Upload flat file to an internal table.2. Loop through internal table and pass data to BAPI.
Upload flat file to internal table
TYPES:BEGINOFTY_MARA,"internaltableasperflatfilestructureMATNRTYPEMARAMATNR,MTARTTYPEMARAMTART,MBRSHTYPEMARAMBRSH,MATKLTYPEMARAMATKL,MEINSTYPEMARAMEINS,MAKTXTYPEMAKTMAKTX,ENDOFTY_MARA.DATA:IT_MARATYPETABLEOFTY_MARA,WA_MARATYPETY_MARA.**selectionscreenPARAMETERS:P_FILETYPERLGRAPFILENAME."fileinput
ATSELECTIONSCREENONVALUEREQUESTFORP_FILE."f4helopforfileinputPERFORMFILE_HELP.
ATSELECTIONSCREENONHELPREQUESTFORP_FILE."F1helpforfileinputMESSAGE'Pleasepressf4toselectfile'TYPE'I'.STARTOFSELECTION.DATA:LV_FILETYPESTRING.LV_FILE=P_FILE."toavoidtypeconflictCALLFUNCTION'GUI_UPLOAD'"uploadflatfileEXPORTINGFILENAME=LV_FILEFILETYPE='ASC'HAS_FIELD_SEPARATOR='X'*HEADER_LENGTH=0*READ_BY_LINE='X'*DAT_MODE=''*CODEPAGE=''*IGNORE_CERR=ABAP_TRUE
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 3/10
*REPLACEMENT='#'*CHECK_BOM=''*VIRUS_SCAN_PROFILE=*NO_AUTH_CHECK=''*IMPORTING*FILELENGTH=*HEADER=TABLESDATA_TAB=IT_MARA"internaltable*CHANGING*ISSCANPERFORMED=''*EXCEPTIONS*FILE_OPEN_ERROR=1*FILE_READ_ERROR=2*NO_BATCH=3*GUI_REFUSE_FILETRANSFER=4*INVALID_TYPE=5*NO_AUTHORITY=6*UNKNOWN_ERROR=7*BAD_DATA_FORMAT=8*HEADER_NOT_ALLOWED=9*SEPARATOR_NOT_ALLOWED=10*HEADER_TOO_LONG=11*UNKNOWN_DP_ERROR=12*ACCESS_DENIED=13*DP_OUT_OF_MEMORY=14*DISK_FULL=15*DP_TIMEOUT=16*OTHERS=17.IFSYSUBRC0.*ImplementsuitableerrorhandlinghereENDIF.FORMFILE_HELP.CALLFUNCTION'KD_GET_FILENAME_ON_F4'"getfilenameonF4help*EXPORTING*PROGRAM_NAME=SYSTREPID*DYNPRO_NUMBER=SYSTDYNNR*FIELD_NAME=''*STATIC=''*MASK=''*FILEOPERATION='R'*PATH=CHANGINGFILE_NAME=P_FILE*LOCATION_FLAG='P'*EXCEPTIONS*MASK_TOO_LONG=1*OTHERS=2.
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 4/10
IFSYSUBRC0.*ImplementsuitableerrorhandlinghereENDIF.ENDFORM."FILE_HELP
Loop through internal table and pass data to BAPI
*BAPIdeclarationsDATA:WA_HEADDATATYPEBAPIMATHEAD,WA_CLIENTDATATYPEBAPI_MARA,WA_CLIENTDATAXTYPEBAPI_MARAX.DATA:IT_MATERIALDESCRIPTIONTYPETABLEOFBAPI_MAKT,WA_MATERIALDESCRIPTIONTYPEBAPI_MAKT.DATA:IT_RETURNTYPETABLEOFBAPIRET2,WA_RETURNTYPEBAPIRET2.LOOPATIT_MARAINTOWA_MARA.WA_HEADDATAMATERIAL=WA_MARAMATNR."materialnoWA_HEADDATAIND_SECTOR=WA_MARAMBRSH."industrysectorWA_HEADDATAMATL_TYPE=WA_MARAMTART."materialtypeWA_HEADDATABASIC_VIEW='X'."basicviewWA_CLIENTDATAMATL_GROUP=WA_MARAMATKL."materialgroupWA_CLIENTDATABASE_UOM=WA_MARAMEINS."baseUnitOfmeasureWA_CLIENTDATAXMATL_GROUP='X'."passingmaterialgroupWA_CLIENTDATAXBASE_UOM='X'."passingbaseunitofmeasure
WA_MATERIALDESCRIPTIONLANGU='EN'."englishlanguageWA_MATERIALDESCRIPTIONLANGU_ISO='EN'."ISOlanguageWA_MATERIALDESCRIPTIONMATL_DESC=WA_MARAMAKTX."materialdescriptionsAPPENDWA_MATERIALDESCRIPTIONTOIT_MATERIALDESCRIPTION.CLEARWA_MATERIALDESCRIPTION.**Create/updatematerialsusingBAPI_MATERIAL_SAVEDATACALLFUNCTION'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA=WA_HEADDATACLIENTDATA=WA_CLIENTDATACLIENTDATAX=WA_CLIENTDATAX*PLANTDATA=WA_PLANTDATA*PLANTDATAX=WA_PLANTDATAX*FORECASTPARAMETERS=*FORECASTPARAMETERSX=*PLANNINGDATA=*PLANNINGDATAX=*STORAGELOCATIONDATA=WA_STORAGELOCATIONDATA*STORAGELOCATIONDATAX=WA_STORAGELOCATIONDATAX*VALUATIONDATA=*VALUATIONDATAX=*WAREHOUSENUMBERDATA=*WAREHOUSENUMBERDATAX=*SALESDATA=WA_SALESDATA*SALESDATAX=WA_SALESDATAX
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 5/10
*STORAGETYPEDATA=*STORAGETYPEDATAX=*FLAG_ONLINE=''*FLAG_CAD_CALL=''*NO_DEQUEUE=''*NO_ROLLBACK_WORK=''IMPORTINGRETURN=WA_RETURNTABLESMATERIALDESCRIPTION=IT_MATERIALDESCRIPTION*UNITSOFMEASURE=IT_UNITSOFMEASURE*UNITSOFMEASUREX=IT_UNITSOFMEASUREX*INTERNATIONALARTNOS=*MATERIALLONGTEXT=IT_MATERIALLONGTEXT*TAXCLASSIFICATIONS=IT_TAXCLASSIFICATIONS*RETURNMESSAGES=IT_RETURN*PRTDATA=*PRTDATAX=*EXTENSIONIN=*EXTENSIONINX=.IFWA_RETURNTYPE='E'.CALLFUNCTION'BAPI_TRANSACTION_ROLLBACK'.WRITE:/WA_HEADDATAMATERIAL,'isnotcreated'COLOR3.ELSE.CALLFUNCTION'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT='X'.IFSYSUBRCEQ0.WRITE:/WA_HEADDATAMATERIAL,'iscreated'COLOR5.ENDIF.ENDIF.ENDLOOP.
Final code will be
REPORTZSAPN_MATERIAL_BAPI.*BAPIdeclarationsDATA:WA_HEADDATATYPEBAPIMATHEAD,WA_CLIENTDATATYPEBAPI_MARA,WA_CLIENTDATAXTYPEBAPI_MARAX.DATA:IT_MATERIALDESCRIPTIONTYPETABLEOFBAPI_MAKT,WA_MATERIALDESCRIPTIONTYPEBAPI_MAKT.DATA:IT_RETURNTYPETABLEOFBAPIRET2,WA_RETURNTYPEBAPIRET2.TYPES:BEGINOFTY_MARA,"internaltableasperflatfilestructureMATNRTYPEMARAMATNR,MTARTTYPEMARAMTART,MBRSHTYPEMARAMBRSH,MATKLTYPEMARAMATKL,
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 6/10
MEINSTYPEMARAMEINS,MAKTXTYPEMAKTMAKTX,ENDOFTY_MARA.DATA:IT_MARATYPETABLEOFTY_MARA,WA_MARATYPETY_MARA.**selectionscreenPARAMETERS:P_FILETYPERLGRAPFILENAME."fileinput
ATSELECTIONSCREENONVALUEREQUESTFORP_FILE."f4helopforfileinputPERFORMFILE_HELP.
ATSELECTIONSCREENONHELPREQUESTFORP_FILE."F1helpforfileinputMESSAGE'Pleasepressf4toselectfile'TYPE'I'.
STARTOFSELECTION.DATA:LV_FILETYPESTRING.LV_FILE=P_FILE."toavoidtypeconflictCALLFUNCTION'GUI_UPLOAD'"uploadflatfileEXPORTINGFILENAME=LV_FILEFILETYPE='ASC'HAS_FIELD_SEPARATOR='X'*HEADER_LENGTH=0*READ_BY_LINE='X'*DAT_MODE=''*CODEPAGE=''*IGNORE_CERR=ABAP_TRUE*REPLACEMENT='#'*CHECK_BOM=''*VIRUS_SCAN_PROFILE=*NO_AUTH_CHECK=''*IMPORTING*FILELENGTH=*HEADER=TABLESDATA_TAB=IT_MARA"internaltable*CHANGING*ISSCANPERFORMED=''*EXCEPTIONS*FILE_OPEN_ERROR=1*FILE_READ_ERROR=2*NO_BATCH=3*GUI_REFUSE_FILETRANSFER=4*INVALID_TYPE=5*NO_AUTHORITY=6*UNKNOWN_ERROR=7*BAD_DATA_FORMAT=8*HEADER_NOT_ALLOWED=9*SEPARATOR_NOT_ALLOWED=10*HEADER_TOO_LONG=11
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 7/10
*UNKNOWN_DP_ERROR=12*ACCESS_DENIED=13*DP_OUT_OF_MEMORY=14*DISK_FULL=15*DP_TIMEOUT=16*OTHERS=17.IFSYSUBRC0.*ImplementsuitableerrorhandlinghereENDIF.LOOPATIT_MARAINTOWA_MARA.WA_HEADDATAMATERIAL=WA_MARAMATNR."materialnoWA_HEADDATAIND_SECTOR=WA_MARAMBRSH."industrysectorWA_HEADDATAMATL_TYPE=WA_MARAMTART."materialtypeWA_HEADDATABASIC_VIEW='X'."basicviewWA_CLIENTDATAMATL_GROUP=WA_MARAMATKL."materialgroupWA_CLIENTDATABASE_UOM=WA_MARAMEINS."baseUnitOfmeasureWA_CLIENTDATAXMATL_GROUP='X'."passingmaterialgroupWA_CLIENTDATAXBASE_UOM='X'."passingbaseunitofmeasure
WA_MATERIALDESCRIPTIONLANGU='EN'."englishlanguageWA_MATERIALDESCRIPTIONLANGU_ISO='EN'."ISOlanguageWA_MATERIALDESCRIPTIONMATL_DESC=WA_MARAMAKTX."materialdescriptionsAPPENDWA_MATERIALDESCRIPTIONTOIT_MATERIALDESCRIPTION.CLEARWA_MATERIALDESCRIPTION.**Create/updatematerialsusingBAPI_MATERIAL_SAVEDATACALLFUNCTION'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA=WA_HEADDATACLIENTDATA=WA_CLIENTDATACLIENTDATAX=WA_CLIENTDATAX*PLANTDATA=WA_PLANTDATA*PLANTDATAX=WA_PLANTDATAX*FORECASTPARAMETERS=*FORECASTPARAMETERSX=*PLANNINGDATA=*PLANNINGDATAX=*STORAGELOCATIONDATA=WA_STORAGELOCATIONDATA*STORAGELOCATIONDATAX=WA_STORAGELOCATIONDATAX*VALUATIONDATA=*VALUATIONDATAX=*WAREHOUSENUMBERDATA=*WAREHOUSENUMBERDATAX=*SALESDATA=WA_SALESDATA*SALESDATAX=WA_SALESDATAX*STORAGETYPEDATA=*STORAGETYPEDATAX=*FLAG_ONLINE=''*FLAG_CAD_CALL=''*NO_DEQUEUE=''
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 8/10
*NO_ROLLBACK_WORK=''IMPORTINGRETURN=WA_RETURNTABLESMATERIALDESCRIPTION=IT_MATERIALDESCRIPTION*UNITSOFMEASURE=IT_UNITSOFMEASURE*UNITSOFMEASUREX=IT_UNITSOFMEASUREX*INTERNATIONALARTNOS=*MATERIALLONGTEXT=IT_MATERIALLONGTEXT*TAXCLASSIFICATIONS=IT_TAXCLASSIFICATIONS*RETURNMESSAGES=IT_RETURN*PRTDATA=*PRTDATAX=*EXTENSIONIN=*EXTENSIONINX=.IFWA_RETURNTYPE='E'.CALLFUNCTION'BAPI_TRANSACTION_ROLLBACK'.WRITE:/WA_HEADDATAMATERIAL,'isnotcreated'COLOR3.ELSE.CALLFUNCTION'BAPI_TRANSACTION_COMMIT'EXPORTINGWAIT='X'.IFSYSUBRCEQ0.WRITE:/WA_HEADDATAMATERIAL,'iscreated'COLOR5.ENDIF.ENDIF.ENDLOOP.FORMFILE_HELP.CALLFUNCTION'KD_GET_FILENAME_ON_F4'"getfilenameonF4help*EXPORTING*PROGRAM_NAME=SYSTREPID*DYNPRO_NUMBER=SYSTDYNNR*FIELD_NAME=''*STATIC=''*MASK=''*FILEOPERATION='R'*PATH=CHANGINGFILE_NAME=P_FILE*LOCATION_FLAG='P'*EXCEPTIONS*MASK_TOO_LONG=1*OTHERS=2.IFSYSUBRC0.*ImplementsuitableerrorhandlinghereENDIF.ENDFORM."FILE_HELP
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 9/10
2015 SAPNuts.com. Contribute /data/ Terms /site/terms/ About /site/about/ Contact /site/contact/ Feedback
Ask a Question ?
TestingDownload the flat file https://docs.google.com/file/d/0B5cU7rtWrKNlczFHRHBEOFROWFE/edit and test theabove program.
Was this lesson helpful to you? Yes No 25 People out of 29 think this lesson helpful
Creating BAPI and Business Object /courses/SAPCrossApplications/bapisinsap/creatingbapi.htmlPrevious Chapter
Next Lesson ALEIDOCS Development /courses/SAPCrossApplications/aleidocsdevelopment.html
Lesson Navigation
Lessons under SAP Cross Applications
SAP Usefil Links
SAP Cross Applications Introduction /courses/SAPCrossApplications/sapcrossapplications.html
RFC Development /courses/SAPCrossApplications/rfcdevelopment.html
ALEIDOCS Development /courses/SAPCrossApplications/aleidocsdevelopment.html
SAP ABAP Interview Questions /faq/?area=Core%20ABAP
SAP Web Dynpro ABAP interview Questions /faq/?area=WebDynpro%20ABAP
SAP Community Documents /docs/
SAP Certification Exams /certification/
SAP ABAP Tutorials /tutorials/
BAPI`s in SAP /courses/SAPCrossApplications/bapisinsap.html
-
5/4/2015 UsingBAPItoMigrateMaterialMasterBAPI`sinSAP| SAPNuts
https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 10/10