Using BAPI to Migrate Material Master - BAPI`s in SAP _ SAPNuts

10
5/4/2015 Using BAPI to Migrate Material Master BAPI`s in SAP | SAPNuts https://www.sapnuts.com/courses/SAPCrossApplications/bapisinsap/usingbapimaterial.html 1/10 You are here → / SAPNuts ﴾/﴿ / Courses ﴾/courses/﴿ / SAP Cross Applications ﴾/courses/SAP‐Cross‐Applications.html﴿ / BAPI`s in SAP ﴾/courses/SAP‐Cross‐Applications/bapi‐s‐in‐sap.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 Master Last 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_COMMIT It is a Function module, which is used update database after all transactions in a LUW are completed.BY calling this all the related tables for that transaction will be updated. We must use this if we don’t have any errors in BAPI call. BAPI_TRANSACTION_ROLLBACK It is a function module which is used to roll back all the changes if there are any errors in BAPI call. If there are any 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: +

description

upload master data using bapi.

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