SAP ABAP - Subroutine

Una subroutine è una sezione di codice riutilizzabile. È un'unità di modularizzazione all'interno del programma in cui una funzione è incapsulata sotto forma di codice sorgente. Si sposta una parte di un programma in una subroutine per ottenere una migliore panoramica del programma principale e per utilizzare la sequenza di istruzioni corrispondente molte volte come illustrato nel diagramma seguente.

Abbiamo il programma X con 3 diversi source code blocks. Ogni blocco ha le stesse istruzioni ABAP. Fondamentalmente, sono gli stessi blocchi di codice. Per rendere questo codice più facile da mantenere, possiamo incapsulare il codice in una subroutine. Possiamo chiamare questa subroutine nei nostri programmi tutte le volte che vogliamo. È possibile definire una subroutine utilizzando le istruzioni Form e EndForm.

Di seguito è riportata la sintassi generale della definizione di una subroutine.

FORM <subroutine_name>.
  
<statements> 
  
ENDFORM.

Possiamo chiamare una subroutine usando l'istruzione PERFORM. Il controllo salta alla prima istruzione eseguibile nella subroutine <subroutine_name>. Quando viene rilevato ENDFORM, il controllo torna all'istruzione che segue l'istruzione PERFORM.

Esempio

Step 1- Vai alla transazione SE80. Apri il programma esistente, quindi fai clic con il pulsante destro del mouse sul programma. In questo caso, è "ZSUBTEST".

Step 2- Seleziona Crea e poi Subroutine. Scrivere il nome della subroutine nel campo e quindi fare clic sul pulsante continua. Il nome della subroutine è "Sub_Display" come mostrato nella seguente schermata.

Step 3- Scrivi il codice in FORM e nel blocco di istruzioni ENDFORM. La subroutine è stata creata con successo.

Dobbiamo includere l'istruzione PERFORM per chiamare la subroutine. Diamo un'occhiata al codice -

REPORT ZSUBTEST. 
PERFORM Sub_Display.

* Form Sub_Display 
* -->  p1 text 
* <--  p2 text 
 
FORM Sub_Display. 
Write: 'This is Subroutine'. 
Write: / 'Subroutine created successfully'. 
ENDFORM.                    " Sub_Display

Step 4- Salvare, attivare ed eseguire il programma. Il codice precedente produce il seguente output:

Subroutine Test:
   
This is Subroutine
  
Subroutine created successfully

Quindi, l'uso delle subroutine rende il programma più orientato alle funzioni. Divide il compito del programma in sotto-funzioni, in modo che ogni sottoprogramma sia responsabile di una sotto-funzione. Il programma diventa più facile da mantenere poiché le modifiche alle funzioni spesso devono essere implementate solo nella subroutine.