quinta-feira, 26 de setembro de 2019

Getting started with the S/4Hana Migration Cockpit (OnPremise)

Overview

The S/4HANA Migration Cockpit is available from S/4HANA Release 1610 in the OnPremise Version.
As it is the first Version, i don’t have too much expectations, but i am sure we will see very interesting updates in the future.
Basically, it is a Web Based Tools to migrate Legacy Data into S/4HANA. It allows to Download predefined Excel Sheet-Templates, so you can “easily” extract legacy data into this format and upload in S/4HANA by using the Migration Cockpit. Basic Mapping Functionality is provided (e.g. Map Unit of Measure Codes and so on) but don’t expect too much here yet.
Target group seems to be smaller and medium businesses (SMB). The handling of the Import Process and Validations are made very easy (“cloud style”)
To Import the Data, the SAP Standard BAPIs are used. There is an error Log provided with information on Warnings or Errors.
As there is already a number of Standard Objects Available (see below)
for the creation of additional Migration Objects see also my Blog
Update 28.9.2017: Added 1709 Standard Content Migration Object List

Transaction Codes

LTMC Migration Cockpit
LTMOM Migration Object Modeler

url for migration cockpit:

SAP Notes:
Check CA-GTF-MIG / SV-CLD-MIG for predefined content problem, check CA-LT-MC for tools problem.

Existing Documentation

Added 6.7.2017:
Overview Presentation: SAP S/4HANA Migration Cockpit
Interactive Click Demo:




SAP Help
Best Practice Explorer S/4Hana OnPremise, Data Management:
Data Migration to S/4HANA from File (BH5)
Data Migration to S/4HANA Enhancements (BH4)
02/2019: Updated Newsletter with best practices on S/4HANA Migration Cockpit:

Migration Objects

Update 30.1.2018: check out new note 2596400 – Which Migration Object is available in the Migration Cockpit currently https://launchpad.support.sap.com/#/notes/2596400 
Business Object NameAreaBusiness Object TypeMigration Cockpit Object NameTechnical Object Name
Activity TypesCOMaster dataMigration of Activity types (FILE2S4)SIF_LSTAR_CREATE
Cost CenterCOMaster dataMigration of Cost centers (FILE2S4)SIF_KOSTL_MASTER
Activity PriceCOMaster dataMigration of Activity prices (FILE2S4)SIF_ACT_PRICE
Internal OrderCOTransactional dataMigration of Activity prices (FILE2S4)SIF_INTORDER
Profit CenterFIMaster dataMigration of Profit centers (FILE2S4)SIF_PRCTR_MASTER
Bank Master DataFIMaster dataMigration of Banks (FILE2S4)SIF_BANK_MASTER
Customer MasterFI, SDMaster dataMigration of Customer (FILE2S4)SIF_CUSTOMER
Vendor MasterFI, MM-PURMaster dataMigration of Vendor (FILE2S4)SIF_VENDOR
Customer Open ItemsFITransactional dataMigration of Customer open items (FILE2S4)SIF_AR_OPEN_ITEM
Vendor Open ItemsFITransactional dataMigration of Vendor open items (FILE2S4)SIF_AP_OPEN_ITEM
Fixed Asset incl. BalancesFI-AAMaster data + Transactional dataMigration of Fixed assets (FILE2S4)SIF_FIXED_ASSET
G/L Account BalancesFITransactional dataMigration of G/L balances (FILE2S4)SIF_GL_OPEN_ITEM
G/L Account Open ItemsFITransactional dataMigration of G/L open items (FILE2S4)SIF_GL_OPEN_ITEM
Exchange RateFIMaster dataMigration of Exchange rates (FILE2S4)SIF_EXCH_RATE
Inventory BalancesMM-IMTransactional dataMigration of Material inventory balances (FILE2S4)SIF_INVENTORYBAL
Material MasterLO-MDMaster dataMigration of Materials (FILE2S4)SIF_MATERIAL
Material Long textsLO-MDMaster dataMigration of Material long texts (FILE2S4)SIF_MAT_LONGTEXT
Material ConsumptionsLO-MDMaster dataMigration of Consumptions (FILE2S4)SIF_MAT_CONSUMP
Purchasing Info RecordMM-PURMaster dataMigration of Purchasing info records (FILE2S4)SIF_PURCH_INFREC
Purchase OrderMM-PURTransactional dataMigration of Purchase orders (only open) (FILE2S4)SIF_PURCH_ORDER
Pricing ConditionsSD, CO, MM-PURMaster data
Migration of Pricing conditions (FILE2S4)
(Currently Cloud Only)
SIF_CONDITIONS
Contracts (Purchasing)MM-PURTransactional dataMigration of Purchasing contracts (FILE2S4)SIF_CONTRACTS
Source ListMM-PURTransactional dataMigration of Source lists (FILE2S4)SIF_SOURCE_LIST
Sales OrderSDTransactional dataMigration of sales orders (only open) (FILE2S4)SIF_SALES_ORDER
BatchesQM, SD, PP-PIMaster dataMigration of Batches (FILE2S4)SIF_BATCHES
Bill of Material (BOM)PPMaster dataMigration of Bill of materials (FILE2S4)SIF_BOM
Work CenterPP, QMMaster dataMigration of Work centers (FILE2S4)SIF_WORK_CNTR
EquipmentPMMaster dataMigration of Equipment (FILE2S4)SIF_EQUIPMENT
Equipment Task ListPMMaster dataMigration of Equipment task lists (FILE2S4)SIF_EAM_TASKLIST
Functional LocationPMMaster dataMigration of Functional locations (FILE2S4)SIF_FUNC_LOC
CharacteristicsCAMaster dataMigration of Characteristics (FILE2S4)SIF_CHARACT
ClassesCAMaster dataMigration of Classes (FILE2S4)SIF_CLASS

Object List in 1709:
Business Object NameAreaBusiness Object TypeMigration Cockpit Object NameTechnical Object Name
Activity TypeCOMaster dataActivity typeSIF_LSTAR_CREATE
Cost CenterCOMaster dataCost centerSIF_KOSTL_MASTER
Activity PriceCOMaster dataActivity priceSIF_ACT_PRICE
Internal OrderCOTransactional dataInternal orderSIF_INTORDER
Profit CenterFIMaster dataActivity priceSIF_PRCTR_MASTER
Bank Master DataFIMaster dataBankSIF_BANK_MASTER
CustomerFI, SDMaster dataCustomerSIF_CUSTOMER
CustomerFI, SDMaster dataCustomer – extend existing record by new organizational levelsSIF_CUST_EXTEND
SupplierFI, MM-PURMaster dataSupplierSIF_VENDOR
SupplierFI, MM-PURMaster dataSupplier – extend existing record by new organizational levelsSIF_VEND_EXTEND
Accounts Receivable (Customer) Open ItemFITransactional dataAccounts receivable (Customer) open itemSIF_AR_OPEN_ITEM
Accounts Payable (Vendor) Open ItemFITransactional dataAccounts payable (Vendor) open itemSIF_AP_OPEN_ITEM
Fixed AssetFI-AAMaster data + Transactional dataFixed asset incl. balancesSIF_FIXED_ASSET
G/L Account BalanceFITransactional dataG/L balanceSIF_GL_BALANCES
G/L Account Open/Line ItemFITransactional dataG/L open/line itemSIF_GL_OPEN_ITEM
Exchange RateFIMaster dataExchange rateSIF_EXCH_RATE
Inventory BalanceMM-IMTransactional dataMaterial inventory balanceSIF_INVENTORYBAL
Material MasterLO-MDMaster dataMaterialSIF_MATERIAL
Material MasterLO-MDMaster dataMaterial long textSIF_MAT_LONGTEXT
Material MasterLO-MDMaster dataMaterial consumptionSIF_MAT_CONSUMP
Material MasterCOMaster dataExceptional case: Material Price Chng for global currenciesSIF_MATPRICE_CHG
Material MasterMDMaster dataMaterial – extend existing record by new organizational levelsSIF_MAT_EXTEND
Material MasterCA-CLFMaster dataMaterial classificationSIF_CLF_MAT
Material MasterQMMaster dataMaterial inspection type *SIF_INSP_TYPE
Material MasterSLL-LEGMaster dataMaterial – Commodity codeSIF_MAT_COMMCODE
Purchasing Info RecordMM-PURMaster dataPurchasing info record with conditionsSIF_PURCH_INF_V2
Purchasing Info RecordMM-PURMaster dataPurchasing info recordSIF_PURCH_INFREC
Purchase OrderMM-PURTransactional dataPurchase order (only open PO)SIF_PURCH_ORDER
Pricing ConditionSD, CO, MM-PURMaster dataPricing conditionSIF_CONDITIONS
Contracts (Purchasing)MM-PURTransactional dataPurchasing contractSIF_CONTRACTS
Scheduling AgreementMM-PURTransactional dataScheduling AgreementSIF_SCHED_AGRMNT
Source ListMM-PURTransactional dataSource listSIF_SOURCE_LIST
Sales OrderSDTransactional dataSales order (only open SO)SIF_SALES_ORDER
Sales ContractSDTransactional dataSales contractSIF_SD_CONTRACT
BatchQM, SD, PP-PIMaster dataBatch (if Batch is unique at material level)SIF_BATCHES
Bill of Material (BOM)PPMaster dataBill of materialSIF_BOM
Work CenterPP, QMMaster dataWork centerSIF_WORK_CNTR
RoutingPPMaster dataRoutingSIF_ROUTING
EquipmentPMMaster dataEquipmentSIF_EQUIPMENT
Functional LocationPMMaster dataFunctional locationSIF_FUNC_LOC
Maintenance Task ListPMMaster dataEquipment task listSIF_EQUI_TL
Maintenance Task ListPMMaster dataFunctional location task listSIF_FLOC_TL
Maintenance Task ListPMMaster dataGeneral task listSIF_GENMT_TL
Maintenance PlanPMMaster dataMaintenance planSIF_MAINT_PLAN_2
CharacteristicCAMaster dataCharacteristicSIF_CHARACT
ClassCAMaster dataClassSIF_CLASS
Commercial Project Management (CPM)CA-CPDMaster dataCPM projectSIF_PROJECT
Inspection methodQMMaster dataInspection methodSIF_INSP_METHOD
Master inspection characteristicQMMaster dataMaster inspection characteristicSIF_MSTR_CHAR
QM catalog code group/codeQMMaster dataQM catalog code group/codeSIF_QM_CATALOG
Inspection PlanQMMaster dataInspection planSIF_INSP_PLAN
QM selected setQMMaster dataQM selected setSIF_SELECTED_SET
QM selected set codeQMMaster dataQM selected set codeSIF_SELSET_CODE
TRM – Financial TransactionFI-FSCM-TRM-TMTransactional dataTRM – Foreign exchange spot/forward transaction – contractSIF_TR_FX_TR
TRM – Financial TransactionFI-FSCM-TRM-TMTransactional dataTRM – Foreign exchange swap – contractSIF_TR_FX_SWAP
TRM – Financial TransactionFI-FSCM-TRM-TMTransactional dataTRM – Interest rate instrumentSIF_TR_IR_INSTR
TRM – Financial TransactionFI-FSCM-TRM-TMTransactional dataTRM – Interest rate swapSIF_TR_IRDE_SWAP

New 04/12/2017:
Nice: Sample Migration Templates (Excel Examples)
(currently for S/4HANA Cloud only but still helpful)

FAQ Note on Migration Cockpit


Migration Process

In the first Screen you can create or open a Migration Project.

then you can activate one or multiple migration objects

Now Open the Migration Object
you can look at the documentation of the migration object
you can Download an Excel Template.

Now fill the Excel with you data

and Upload into the Migration Cockpit

select and activate the File

now start Transfer (migrate to S/4 Hana):
First the Data is validated

when finished 100 %, click on close
now you can see the notifications (warnings/error messages):
Choose next to perform the Value Mappings (Convert Values)

if a value from the excel sheet is found for the first time, you have to confirm or add a value mapping:
enter a new Value (EV_xxx) and/or click on confirm

now click on next for the simulation and then next for the import (same procedure as validation)

all actions are performed in background (as a batch-job/SM37), but you can wait until process is finished 100 % and then immediately see the results or let it run in background and come back later.


Excel Format

The Excel Templates are in XML Format
it looks like this
<?xml version=”1.0″?>
<?mso-application progid=”Excel.Sheet”?>
<Workbook xmlns=”urn:schemas-microsoft-com:office:spreadsheet”
xmlns:o=”urn:schemas-microsoft-com:office:office”
xmlns:x=”urn:schemas-microsoft-com:office:excel”
xmlns:dt=”uuid:C2F41010-65B3-11d1-A29F-00AA00C14882″
xmlns:ss=”urn:schemas-microsoft-com:office:spreadsheet”
xmlns:html=”http://www.w3.org/TR/REC-html40″>
<DocumentProperties xmlns=”urn:schemas-microsoft-com:office:office”>
<Title>MATERIAL</Title>
<Author>HHE</Author>
<LastAuthor>Heiko Herrmann</LastAuthor>
<Created>2017-01-03T00:00:00Z</Created>
<LastSaved>2017-02-08T14:11:35Z</LastSaved>
<Company>HHE</Company>
<Version>16.00</Version>
</DocumentProperties>
<CustomDocumentProperties xmlns=”urn:schemas-microsoft-com:office:office”>
<APPLICATION dt:dt=”string”>SLO</APPLICATION>
<OBJECT_NAME dt:dt=”string”>MATERIAL</OBJECT_NAME>
<VERSION dt:dt=”string”>S4CORE 101  – 06.01.2017</VERSION>
<SYSTEM dt:dt=”string”>EAD / 700</SYSTEM>
<LANGUAGE dt:dt=”string”>D</LANGUAGE>
</CustomDocumentProperties>
<OfficeDocumentSettings xmlns=”urn:schemas-microsoft-com:office:office”>
<AllowPNG/>
<Colors>


<Row ss:AutoFitHeight=”0″>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>D1-100011-02</Data></Cell>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>EN</Data></Cell>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>ASF1400</Data></Cell>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>E</Data></Cell>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>9999</Data></Cell>
<Cell ss:Index=”7″ ss:StyleID=”s79″><Data ss:Type=”String”>X</Data></Cell>
<Cell ss:Index=”9″ ss:StyleID=”s79″><Data ss:Type=”String”>98</Data></Cell>
<Cell ss:Index=”11″><Data ss:Type=”String”>01</Data></Cell>
<Cell ss:StyleID=”s79″><Data ss:Type=”String”>PCE</Data></Cell>
<Cell ss:Index=”14″ ss:StyleID=”s79″><Data ss:Type=”String”>10</Data></Cell>

you can find several documentations in the internet:

i faced problems with ‘SPACE’ for empty columns, they should be <null> otherwise the ss:Index gets confused and the Values are linked to the wrong columns when importing into the migration cockpit, even if they are in correct order

Import Processing

It helps if you are familiar with the Standard BAPI Structures and SAP Input Data (for example how to create a material master)
Abap Skills are not required, but ABAP Debugging skills are useful for the Root Cause Analysis in cases where the Error Log isn’t enough.


The BAPI used for the Data Inport can be found in Transaction LTMOM
you can also see how the input fields are mapped.
currently i was not able to change the standard mappings, i can only add customer fields.

you can set an external Breakpoint (external as the import is always performed by a batch job)
here you can also save the data (after mapping/conversion) as testdata for SE37 (right click on toolbox)  if you need to do some troubleshooting

in some cases i added an ‘implicit enhancement’ at begin of function (ABAP Enhancement Concept) in the importing BAPI to change the conversion.
(quick and dirty?)

Generated ABAP Objects

The Migration Cockpit generates ABAP Function Modules for the Conversion and the Import.
These can be Debugged (or maybe even “enhanced”?)
if you come from LSMW or other ABAP Migration Tools you will find yourself familiar shortly.

Fugr /1LT/S4H500000000000003
INCLUDE /1LT/LS4H500000000000003U01.
“/1LT/S4HIL_500000000000003
INCLUDE /1LT/LS4H500000000000003U02.
“/1LT/S4HOLC_500000000000003
INCLUDE /1LT/LS4H500000000000003U03.
“/1LT/S4HOLO_500000000000003
INCLUDE /1LT/LS4H500000000000003U04.
“/1LT/S4HACS_500000000000003
FUNCTION /1LT/S4HIL_500000000000003.
*”——————————————————————–
*”*”Lokale Schnittstelle:
*”  IMPORTING
*”     VALUE(IM_ALLOG) TYPE  DMC_ALLOG OPTIONAL
*”     VALUE(IM_DEBUG) TYPE  BOOLEAN OPTIONAL
*”     VALUE(IM_DEBUG_LEVEL) TYPE  CHAR1 OPTIONAL
*”     VALUE(IM_TEST_MODE) TYPE  BOOLEAN OPTIONAL
*”     VALUE(IM_ROLLBACK) TYPE  BOOLEAN OPTIONAL
*”     VALUE(IM_VALIDATE) TYPE  BOOLEAN OPTIONAL
*”  EXCEPTIONS
*”      INSERT_IT_ERROR
*”      LOG_ERROR
*”      STOPPED_BY_RULE
*”——————————————————————–
* Project          : ZSIN_MIG_001
* Subproject       : ZSIN_MIG_001
* Migration Object : Z_MATERIAL_001
* Layer            : Conversion layer
* Generated        : 13.02.2017 07:53:07 by SENS_MM
*
* Generate time related processing   = X
* Generate interlinkage processing   = –
* Generate IMPORT FROM MEMORY        = –
* Generate EXPORT TO MEMORY          = –
* Generate LDU initialize            = X
* Generate Call next function module = –

*
*** <__UNIT_0001__> ************************************
*** Targetstructure           : HEADER
*** Primary relation source   : S_MARA
*** Primary relation type     : 1:1
*** Primary relation number   : 0001
********************************************************
* CONVERSION: call BEGIN OF LOOP routine
* CONVERSION: Primary relation read
” init receiver work area
CLEAR _WA_HEADER.
LOOP AT _IT_S_MARA
  INTO _WA_S_MARA
.
CLEAR _actual.
_actual-sstruct1 = ‘S_MARA’.
_actual-sddicname = ”.
* CONVERSION: Init receiver work area
CLEAR _WA_HEADER .
CLEAR l_mapping_error.
* CONVERSION: Init SKIP_TRANSACTION
_FLG_SKIP_TNX_ = FALSE.
* CONVERSION: Increment transaction count
<TNX_COUNT> = <TNX_COUNT> + 1.
* CONVERSION: init SKIP_RECORD flag
_FLG_SKIP_REC_ = FALSE.
ENDIF.
* CONVERSION: call BEGIN OF RECORD routine
PERFORM _BEGIN_OF_RECORD_0001_.
* CONVERSION: call field processing routine
IF _FLG_SKIP_REC_ = FALSE.
PERFORM _CONVERT_0001_.
ENDIF.
* BWP: Increment record count
HEADER_NO = HEADER_NO + 1.
IF _FLG_SKIP_REC_ = FALSE.
FORM _CONVERT_0002_.
*— RECEIVER: NOAPPLLOG
PERFORM _RULE_MOVE_OP
USING
_WA_VI0001_NOAPPLLOG-NOAPPLLOG
‘X’.
ENDFORM.
FORM _CONVERT_0003_.
*— RECEIVER: FUNCTION
PERFORM _RULE_MOVE_OP
USING
_WA_T01_HEADDATA-FUNCTION
‘INS’.
*— RECEIVER: IND_SECTOR
PERFORM _RULE_CVT_MBRSH_S
USING
_WA_T01_HEADDATA-IND_SECTOR
_WA_S_MARA-MBRSH.
*— RECEIVER: MATL_TYPE
PERFORM _RULE_CVT_MTART_S
USING
_WA_T01_HEADDATA-MATL_TYPE
_WA_S_MARA-MTART.
*— RECEIVER: BASIC_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-BASIC_VIEW
_WA_S_MARA_CUST-INDICATOR_K.
*— RECEIVER: SALES_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-SALES_VIEW
_WA_S_MARA_CUST-INDICATOR_V.
*— RECEIVER: PURCHASE_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-PURCHASE_VIEW
_WA_S_MARA_CUST-INDICATOR_E.
*— RECEIVER: MRP_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-MRP_VIEW
_WA_S_MARA_CUST-INDICATOR_D.
*— RECEIVER: FORECAST_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-FORECAST_VIEW
_WA_S_MARA_CUST-INDICATOR_P.
*— RECEIVER: WORK_SCHED_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S
USING
_WA_T01_HEADDATA-WORK_SCHED_VIEW
_WA_S_MARA_CUST-INDICATOR_A.
*— RECEIVER: PRT_VIEW
PERFORM _RULE_SET_X_IF_NOT_INIT_S



FUNCTION /1LT/S4HOLO_500000000000003.
*”——————————————————————–
*”*”Lokale Schnittstelle:
*”  IMPORTING
*”     VALUE(IM_TEST_MODE) LIKE  EDITSTRUC-CHANGED OPTIONAL
*”     VALUE(IM_BEHAVIOUR) TYPE  NUM1 DEFAULT                    1
*”  EXPORTING
*”     VALUE(ET_MESSAGES) TYPE  DMC_FM_MESSAGES_T
*”  CHANGING
*”     VALUE(CT_PAYLOAD) TYPE  DMC_PAYLOAD_TAB
*”     VALUE(XT_RUN_STAT) TYPE  DMC_T_RUN_STAT OPTIONAL
*”  EXCEPTIONS
*”      COMMUNICATION_FAILURE
*”      SYSTEM_FAILURE
*”      NO_AUTHORIZATION
*”——————————————————————–
* Project          : ZSIN_MIG_001
* Subproject       : ZSIN_MIG_001
* Migration Object : Z_MATERIAL_001
* Layer            : Outer layer out (Function Module)
* Generated        : 13.02.2017 07:53:34 by SENS_MM
*
Job-Controller Functions: (for Debugging purposes)
FORM    EXECUTE_LOAD SAPLDMC_DTL                 LDMC_DTLU25
METHOD             START_ACTIVITY              CL_DMC_WDA_MIG_JOBS===========CP                          CL_DMC_WDA_MIG_JOBS===========CM003

further Tips

Structure XXXX: Number of recipient records generated 0000000000 (or less than in input file)
reason:
the Migration Cockpit is storing all created objects in Table DMC_FM_RESTART, so if your object number, for example material number, is in this table, it will be skipped and not imported again.
you can delete the entry with transaction code se16


also if a job with the name /1LT/LOAD… is scheduled or already running, the import will not start
(but shows no error message)
verify with SE37
Check from ABAP Coding
START_DATA_LOAD (CL_DMC_WDA_MIG_CONTR) CHECK cl_dmc_act_rec=>get_active_and_scheduled_jobs( iv_ext_id        = lv_ext_id
iv_activity_type = cl_dmc_act_rec=>…

for Material Views Check Note
2145027 – FAQ: Maintenance status in data transfer


Open Items

Export Data from R/3 Source System? in the online help there is a remark: In the ABAP-based SAP source system, you have installed the DMIS add-on. You can download the add-on from the SAP Software Download Center at http://support.sap.com/swdc using the following path: Installations and Upgrades  A – Z Index  L  SAP LT Replication Server  SAP LT Replication Server 2.0 .
how can i export the data for the Migration Cockpit?

Best-Practice how to fill the Excel/XML Files with legacy data

The Excel-Templates are very nice, Examples with Best-Practice Data would help understanding how to fill the values.

how to create Additional Mapping Rules like we know this from LSMW?
Create Additional Migration Objects

Create Contact Persons for Customers (i could assign them to the Customer, but i had to to a workaround to create the Contact Person’s Business Partner Number)

Mass/Data, Performance, parallel Processing, memory consumption, limitations…

strangely i could not find any oss notes, nor any blogs, is nobody using the tool yet?

so maybe i will write another Blog…






Nenhum comentário:

Postar um comentário