MODIFY itab [FROM workarea] 
            [INDEX Index]
            [TRANSPORTING fieldlist | (field_with_fieldname)
              [WHERE condition]].
Ändern von Datensätzen einer internen Tabelle. Dieses Kommando dient nur zum Ändern. Das Einfügen von neuen Datensätzen wie beim MODIFY-Kommando für Datenbanktabellen ist nicht möglich! Die Daten werden entweder der Kopfzeile der Tabelle oder einem mit dem Zusatz FROM anzugebenden Arbeitsbereich entnommen. Mit dem Zusatz TRANSPORTING kann eine Auswahl der zu übertragenden Felder erfolgen, alle nicht in der Feldliste aufgeführten Felder werden nicht vom Arbeitsbereich in die Tabelle transportiert. Die Felder können als Konstante oder dynamisch angegeben werden.
Der oder die zu bearbeitenden Datensätze können auf unterschiedliche Weise festgelegt werden. Ohne INDEX- oder WHERE-Zusatz kann das Kommando nur innerhalb einer LOOP-Schleife über eine interne Tabelle benutzt werden. Geändert wird in diesem Fall der gerade aktuelle Datensatz. Außerhalb von LOOP-Schleifen wird ein einzelner Datensatz durch die Angabe der Datensatznummer mit INDEX identifiziert. Dieser Index kann beispielsweise bei einer vorangegangenen READ-Anweisung ermittelt werden. Der WHERE-Zusatz ermöglicht einen Massen-Update der internen Tabelle. In allen Datensätzen der internen Tabelle, die der Bedingung genügen, werden die mit TRANSPORTING benannten Felder auf den aktuellen Wert der entsprechenden Felder des Arbeitsbereiches oder der Kopfzeile gesetzt. Da sich dadurch identische Feldinhalte in mehreren Datensätzen ergeben, ist der Einsatz der TRANSPORTING-Option zwingend erforderlich.