Solution PlusCONSULTING

ABAP Sviluppo e integrazione

Il codice che comincia dove finisce lo standard.

La parte ABAP non la diamo in outsourcing: la scriviamo internamente. E il peso di questo lavoro non sta negli sviluppi che restano dentro un solo sistema, ma in ciò che collega SAP a tutto quello che gli sta intorno.

Uno sviluppo è buono se resta comprensibile anche dopo che chi lo ha scritto ha lasciato il progetto.

Quasi tutte le richieste nascono in realtà da due domande: lo standard SAP lo fa già? e se lo fa, perché nessuno lo usa? Quando la risposta è «non lo fa», scriviamo codice. Quando è «non lo usa nessuno», parliamo prima del processo.

Oggi nessun ERP lavora da solo. Accanto c'è un sistema di esecuzione della produzione, un software di laboratorio, un'applicazione di magazzino, un provider di fatturazione elettronica, un'interfaccia bancaria o qualcosa che l'azienda si è costruita da sé. La parte difficile raramente è l'ABAP: è l'accordo fra questi due mondi — quale evento crea quale documento, che cosa succede in caso di errore e quale dei due dice il vero quando non coincidono.

Ogni oggetto che scriviamo rispetta lo standard di denominazione, porta in testata che cosa fa e perché esiste, e viene consegnato con la sua richiesta di trasporto. Invece di seppellire la logica critica nel codice, la portiamo in una tabella: quando cambia un parametro, nessuno avrà bisogno di uno sviluppatore.

Competenze

Che cosa facciamo sul lato ABAP

DEV Sviluppo applicativo

Report, maschere e stampe

I report che qualcuno apre ogni mattina, le maschere di inserimento, le stampe, i job notturni. Diamo forma allo sviluppo partendo da come la persona lavora davvero, progettando la maschera come parte di un flusso di lavoro e non come una necessità tecnica.

Se sia più adatto un approccio a oggetti o uno classico lo decidiamo guardando la base di codice esistente e ciò che il team del cliente riuscirà a mantenere.

Report a lista e interattiviProgrammi di maschera e dialogoStampe e documentiJob in backgroundControlli di autorizzazioneABAP a oggetti
EXT Enhancement

Estendere lo standard

Quando si interviene su un flusso standard, scegliere il punto giusto conta di solito più del codice. Un intervento nel punto sbagliato si rompe al primo aggiornamento; quello fatto nel punto giusto passa anni senza che nessuno se ne accorga.

Ogni regola che può cambiare finisce in una tabella manutenibile invece che nel codice. Le regole che variano per società, paese o gruppo merci si gestiscono così senza uno sviluppatore.

Punti di enhancementIntervento a eventiControllo tramite tabelleMaschere di manutenzioneProgettazione resistente agli aggiornamenti
INT SAP con SAP

Integrazione fra sistemi SAP

Spostare dati fra sistemi SAP diversi dello stesso gruppo, fra società separate o fra il sistema vecchio e quello nuovo durante una transizione. Allineamento dei dati anagrafici, trasferimento documenti e report di riconciliazione ne sono la parte ordinaria.

Ogni flusso che costruiamo è tracciabile: quale documento è partito e quando, quale non è passato e come si rielabora l'errore sono previsti fin dall'inizio. Un documento che sparisce in silenzio è il difetto più costoso che un'interfaccia possa avere.

Trasferimento documenti e anagraficheChiamate a funzione remoteOggetti di interfaccia standardFlussi tramite middlewareReport di riconciliazioneMeccanismi di rielaborazione
NON Sistemi non SAP

Integrazione con applicazioni non SAP

Qui sta il centro di gravità. Facciamo parlare SAP con sistemi di esecuzione della produzione, software di laboratorio, applicazioni di magazzino e logistica, provider di fatturazione elettronica, interfacce bancarie, piattaforme di e-commerce, strumenti di reporting e con ciò che l'azienda si è sviluppata internamente.

Prima di costruire il collegamento scriviamo il contratto: quale evento produce quale documento, come si mappano i campi, che cosa succede quando l'altra parte non risponde e quando un reinvio è sicuro. Un'interfaccia costruita prima di avere queste risposte blocca il business alla prima interruzione.

Sul piano tecnico, se la strada giusta sia un collegamento a servizi, uno scambio di file e cartelle, un collegamento a database o una coda di messaggi lo decide ciò che l'altro sistema sa realmente fare. Autenticazione, cifratura e registrazione fanno sempre parte del perimetro.

Web service (REST e SOAP)Pubblicare e consumare serviziTrasferimento via file e FTPCollegamenti a databaseCode di messaggiMappatura e trasformazione dei campiGestione errori e reinvioAutenticazione e sicurezzaMonitoraggio e log
MIG Dati

Caricamento dati ed elaborazione massiva

Portare i dati dentro al sistema è un problema di ingegneria a sé. Sia nelle migrazioni una tantum sia nei caricamenti notturni cerchiamo le stesse tre cose: validazione, gestione del successo parziale e possibilità di rieseguire da capo.

Invece di caricare i dati grezzi così come arrivano, li facciamo passare prima dai controlli. Tenere fuori un record errato costa sempre meno che ripulirlo dopo.

Caricamento massivo dei datiRegole di validazioneReport degli erroriProgettazione rieseguibileLogica di trasformazioneRiconciliazione dopo il caricamento
PRF Prestazioni e qualità

Ottimizzazione e consegna

Nei sistemi che girano da anni questa è la richiesta più frequente: job che non stanno più nella finestra notturna, maschere che impiegano minuti ad aprirsi, report che rallentano mentre i dati crescono. Misuriamo prima di toccare il codice: ottimizzare senza misurare è tirare a indovinare.

Che il codice lo abbiamo scritto noi o ereditato, lo lasciamo in condizioni tali che un altro team possa mantenerlo. Revisione del codice, standard di denominazione e documentazione non sono per noi un servizio in più: sono il lavoro.

Misurazione e profilazioneOttimizzazione di query e accessiUso di memoria e tabelleRevisione del codiceControllo statico del codiceDocumentazione e consegnaGestione dei trasporti

Ambiente

Release e tecnologie con cui lavoriamo

Non trattiamo ABAP come qualcosa di separato dal resto del processo. Conoscere il flusso di lavoro che il codice tocca è ciò che tiene lo sviluppo al posto giusto.

  • SAP S/4HANA
  • SAP ECC
  • ABAP 7.40 e superiori
  • ABAP a oggetti
  • Web service (REST / SOAP)
  • Servizi OData
  • Oggetti di interfaccia standard
  • Chiamate a funzione remote
  • Middleware e piattaforme di integrazione
  • Trasferimento via file e FTP
  • Collegamenti a database
  • Tecnologie di stampa e moduli
  • Strumenti di caricamento massivo
  • Gestione dei job in background
  • Controllo statico del codice
  • Gestione trasporti e release

Contatti

Due sistemi che non si parlano?

Potete chiederci di analizzare perché un'interfaccia esistente continua a rompersi o perché un programma è diventato lento. Di solito costa meno che riscriverlo da zero.