Migrare i dati con il sistema Migration Object Cockpit i dati con il... · Web view12/09/2019 Enzo...
Transcript of Migrare i dati con il sistema Migration Object Cockpit i dati con il... · Web view12/09/2019 Enzo...
12/09/2019
Migrare i dati con il sistema Migration Object Cockpit
Enzo Grasseni
SommarioBase..................................................................................................................................................................2
Export / import...............................................................................................................................................15
Migration Object Modeler..............................................................................................................................17
Avanzato.........................................................................................................................................................18
Import Processing.......................................................................................................................................18
Generated ABAP Objects............................................................................................................................19
further Tips.................................................................................................................................................23
Documentazione............................................................................................................................................23
BaseSi tratta di un sistema che si basa su applicazioni in browser
Utilizzare la transazione LTMC
Effettuare il login
Selezionare Crea
Inserire il nome del progetto di migrazione
e confermare con Crea
Selezionare l'oggetto che si vuole importare
Qualora si volessero ulteriori dettagli relativi all'oggetto di import selezionare la voce Visualizzare
Attenzione alle dipendenze
nell'esempio deve esistere l'anagrafica materiale
Per avviare il processo selezionare l'oggetto dalla colonna Nome
Si avrà il messaggio in figura a cui rispondere OK
Scaricate il template
ATTENZIONE IL TEMPLATE E' IN FORMATO XML MA POTRETE APRIRLO CON EXCEL
Sono presenti vari fogli
Il primo descrive le istruzioni e le specifiche del documento, il secondo il tracciato record gli altri i dati da riempire.
ATTENZIONE SONO PRESENTI COLONNE E RIGHE NASCOSTE CON I NOMI DEI CAMPI TECNICI
Una volta completati i dati per le varie viste importate i dati
(1) selezionare il file
(2) breve descrizione
(3) descrizione estesa
(4) upload del file
Il sistema opera un primo controllo del file e presenta gli errori rilevati
Correggere il file XML con le indicazioni ricevute
Impotato il file questo dovrà essere attivato
Selezionare la posizione ed attivare
Avviare la procedura di trasferimento
Confermare con OK
Sono previste quattro fasi per l'import:
1) validazione dei dati
2) conversione dei valori
3) simulazione dell'importazione
4) importazione
......
Chiudere per analizzare i risultati ed eventualmente passare alla fase successiva
Nella fase conversione valori si devono precisare i riferimenti tra quanto presente sul file, che si ritiene essere riferito al sistema legacy e quanto presente in S/4Hana.
Selezionate le posizioni
(1) selezionare le posizioni
(2) dato presente nel file XML
(3) dato presente in S/4Hana
(4) eventualmente selezionarlo con il match code
(5) confermare
(6) Salvare
Altro esempio:
Ripetere l'operazione per tutti i campi di cui è necessario creare le tabelle di transcodifica.
Completato il mapping selezionare Continuare
Si passerà alla fase simulazione
In questa fase è facile trovare errori
Analizzarli e risolverli sul file XML
Selezionare annulla
Selezionare la posizione ed il pulsante Eliminare
Importare il nuovo file, attivare ed avviare il rilevamento
Ripetere l'operazione fino alla completa risoluzione dei problemi.
Selezionare Continuare per passare all'importazione
Al termine selezionare Terminare
Lo stato finale sarà Concluso
Export / import
Può essere necessario esportare le regole di import da un sistema ad un altro.
Selezionare il progetto
pulsante Apri
per questo si deve utilizzare la funzione:
Verrà esportato un file compresso
Migration Object Modeler
Quanto abbiamo visto nel capito precedete è orientato all'utilizzo semplificato, questo si basa una serie di strutture più complesse che possono essere analizzate e modificata con la transazione LTMOM
Qui possono essere visualizzati gli oggetti modello ed i progetti creati
Esempio:
Con il pulsante matita si può accedere alla modifica.
Rimandiamo al prossimo capito per ulteriori approfondimenti tecnici.
Avanzato
Ad uso e consumo per chi ha necessità di un processo avanzato, il capitolo è volutamente in inglese.
Import ProcessingIt 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.
Generated ABAP ObjectsThe 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_500000000000003INCLUDE /1LT/LS4H500000000000003U02.“/1LT/S4HOLC_500000000000003INCLUDE /1LT/LS4H500000000000003U03.“/1LT/S4HOLO_500000000000003INCLUDE /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 areaCLEAR _WA_HEADER.LOOP AT _IT_S_MARA INTO _WA_S_MARA.CLEAR _actual._actual-sstruct1 = ‘S_MARA’._actual-sddicname = ”.* CONVERSION: Init receiver work areaCLEAR _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 routinePERFORM _BEGIN_OF_RECORD_0001_.* CONVERSION: call field processing routineIF _FLG_SKIP_REC_ = FALSE.PERFORM _CONVERT_0001_.ENDIF.* BWP: Increment record countHEADER_NO = HEADER_NO + 1.
IF _FLG_SKIP_REC_ = FALSE.
…
FORM _CONVERT_0002_.*— RECEIVER: NOAPPLLOGPERFORM _RULE_MOVE_OPUSING_WA_VI0001_NOAPPLLOG-NOAPPLLOG‘X’.ENDFORM.FORM _CONVERT_0003_.*— RECEIVER: FUNCTIONPERFORM _RULE_MOVE_OPUSING_WA_T01_HEADDATA-FUNCTION‘INS’.*— RECEIVER: IND_SECTORPERFORM _RULE_CVT_MBRSH_SUSING_WA_T01_HEADDATA-IND_SECTOR_WA_S_MARA-MBRSH.*— RECEIVER: MATL_TYPEPERFORM _RULE_CVT_MTART_SUSING_WA_T01_HEADDATA-MATL_TYPE_WA_S_MARA-MTART.*— RECEIVER: BASIC_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING_WA_T01_HEADDATA-BASIC_VIEW_WA_S_MARA_CUST-INDICATOR_K.*— RECEIVER: SALES_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING_WA_T01_HEADDATA-SALES_VIEW_WA_S_MARA_CUST-INDICATOR_V.*— RECEIVER: PURCHASE_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING
_WA_T01_HEADDATA-PURCHASE_VIEW_WA_S_MARA_CUST-INDICATOR_E.*— RECEIVER: MRP_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING_WA_T01_HEADDATA-MRP_VIEW_WA_S_MARA_CUST-INDICATOR_D.*— RECEIVER: FORECAST_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING_WA_T01_HEADDATA-FORECAST_VIEW_WA_S_MARA_CUST-INDICATOR_P.*— RECEIVER: WORK_SCHED_VIEWPERFORM _RULE_SET_X_IF_NOT_INIT_SUSING_WA_T01_HEADDATA-WORK_SCHED_VIEW_WA_S_MARA_CUST-INDICATOR_A.*— RECEIVER: PRT_VIEWPERFORM _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 TipsStructure 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_idiv_activity_type = cl_dmc_act_rec=>…
for Material Views Check Note
2145027 – FAQ: Maintenance status in data transfer
Documentazione
Presentazione
https://www.sap.com/documents/2017/07/26113ac0-c47c-0010-82c7-eda71af511fa.html
Formazione
https://blogs.sap.com/2017/02/28/getting-started-with-the-s4hana-migration-cockpit-onpremise/
Note SAP
Check CA-GTF-MIG / SV-CLD-MIG for predefined content problem, check CA-LT-MC for tools problem.use the expert search https://launchpad.support.sap.com/#/mynotes?tab=SearchWorking with Staging Tables see Blog https://blogs.sap.com/2018/03/13/working-with-staging-tables-in-s4hana-migration-cockpit-onpremise/
https://blogs.sap.com/2018/09/27/s4hana-1809-migration-cockpit-release-news-a-few-other-hints/Updated Newsletter with best practices on S/4HANA Migration Cockpit
for the creation of additional Migration Objects
https://blogs.sap.com/2017/06/20/discover-the-s4hana-migration-cockpit-migration-object-modeler-onpremise-nltmom/In generalehttps://blogs.sap.com/2017/02/28/getting-started-with-the-s4hana-migration-cockpit-onpremise/VideoS4HANA Migration Cockpit(LTMC) demoSAP HANA Academy - S/4HANA RIG: Migration Cockpit and Migration Object ModelerCustom Template fields from LTMOMSAP S/4HANA Migration Cockpit