Remediation del custom code per S/4HANA
Il custom code è allo stesso tempo il punto di forza e il tallone d'Achille delle implementazioni SAP. Da un lato abilita processi specifici del business, dall'altro è l'ostacolo numero uno alla migrazione a S/4HANA. Questa guida ti propone un approccio sistematico per individuare il custom code, stabilire le priorità e portare a termine la remediation, così da affrontare con successo la trasformazione verso S/4HANA.
I numeri reali:
- • Un'azienda media ha tra 50.000 e 200.000 righe di codice ABAP custom
- • Il 30-40% va modificato per essere compatibile con S/4HANA
- • Remediation manuale: 6-12 mesi di lavoro
- • Gli strumenti automatici riducono i tempi a 2-4 mesi
Perché il custom code smette di funzionare in S/4HANA
Il modello dati semplificato di S/4HANA elimina migliaia di tabelle del database, cambia la lunghezza di molti campi e depreca diversi function module. Con ogni probabilità il tuo custom code si appoggia proprio su queste strutture.
Pattern di codice incompatibili
- • Accesso diretto a tabelle obsolete (BSEG, KONV)
- • Uso di function module deprecati
- • Lunghezze dei campi hard-coded (ora cambiate)
- • Letture da tabelle pool/cluster (ora diventate tabelle standard)
- • Enhancement custom dentro codice SAP modificato
Le alternative in S/4HANA
- • CDS view per l'accesso ai dati
- • BAPI e API rilasciate
- • Dimensionamento dinamico dei campi
- • Accesso alle tabelle standard
- • Implementazioni di BAdI (non modifiche)
Fase 1: discovery e assessment
Passo 1: esegui SAP Readiness Check
SAP mette a disposizione lo strumento Readiness Check (transazione SYCM oppure tramite SAP Support Portal).
Passo 2: classifica il custom code
Matrice di classificazione:
Esempio: programma Z di gestione ordini che accede direttamente a BSEG
Esempio: report che usa un FM deprecato: funziona, ma è lento
Esempio: programma di utility usato di rado, con lunghezze dei campi non allineate
Esempio: programmi che non vengono eseguiti da più di 2 anni: meglio cancellarli che correggerli
Fase 2: strategie di remediation
Strategia 1: sostituisci con funzionalità SAP standard
Lo scenario migliore: S/4HANA offre ora una funzionalità standard che sostituisce il tuo custom code.
Esempio:
Programma custom per la gestione del credito → S/4HANA Advanced Credit Management (app Fiori)
Azione: dismetti il custom code e forma gli utenti sulla nuova app Fiori. Nessuno sforzo di remediation.
Strategia 2: refactoring verso le CDS view
Sostituisci l'accesso diretto alle tabelle con le CDS consumption view.
Prima (ECC):
Dopo (S/4HANA):
Strategia 3: aggiorna la lunghezza dei campi
S/4HANA ha esteso i campi chiave da 10 a 40 caratteri. Le lunghezze hard-coded provocano dump.
❌ Codice problematico:
✅ Codice corretto:
Strategia 4: sostituisci i function module deprecati
SAP mette a disposizione il Simplification Database, che elenca gli oggetti deprecati e i relativi sostituti.
Sostituzioni più comuni:
Fase 3: strategia di test
Un approccio di test su più livelli
1. Unit test (ABAP Unit)
Testa ogni programma sottoposto a remediation in isolamento, con dati di esempio
2. Test di integrazione
Esegui i processi di business end-to-end nel sistema di QA
3. Test di performance
Confronta i tempi di esecuzione con la baseline ECC (le CDS dovrebbero essere più veloci!)
4. User Acceptance Test (UAT)
Gli utenti di business verificano che gli output corrispondano alle attese
Strumenti automatici per la remediation
Strumenti nativi SAP
- ATC: code inspector integrato
- Readiness Check 2.0: analisi completa
- Custom Code Migration App: workbench basato su Fiori
Soluzioni di terze parti
- Strumenti di refactoring automatico (assistiti dall'AI)
- Piattaforme di impact analysis
- Analisi dell'utilizzo del codice (per individuare il codice morto)
Best practice e consigli
- 1Parti presto
Avvia la remediation 12-18 mesi prima del go-live previsto. Il collo di bottiglia è sempre il custom code.
- 2Stabilisci priorità rigorose
Correggi solo ciò che è critico per il business. Dismetti il 30-40% di codice inutilizzato.
- 3Documenta tutto
Tieni un tracker della remediation: nome del programma, problema, correzione applicata, tester, stato.
- 4Coinvolgi subito il business
Alcune "correzioni" cambiano il comportamento dei programmi. Ottieni il via libera degli utenti prima della remediation.
- 5Monitora dopo la migrazione
Anche il codice "corretto" può comportarsi diversamente in S/4HANA. SUPtime ne mostra gli effetti a runtime: dump ST22, errori di update SM13 e durata dei job SM37.
Conclusione
La remediation del custom code è la parte più impegnativa, in termini di effort, di una migrazione a S/4HANA, ma è anche un'occasione per modernizzare e semplificare il tuo landscape SAP. Con un'analisi sistematica, priorità ben definite e gli strumenti giusti, puoi trasformare questa sfida in un vantaggio competitivo.
Ti serve aiuto con la migrazione a S/4HANA?
SUPtime non analizza il custom code, ma mostra dove il codice non adeguato fallisce a runtime: dump ST22 con programma e utente, errori di update SM13 e job SM37 più lunghi della loro media.
Parla con i nostri esperti