Sap-abap-copying-internal-tables
提供:Dev Guides
SAP ABAP-内部テーブルのコピー
ヘッダー行を持つ内部テーブルからレコードを読み取ると、そのレコードはテーブル自体からヘッダー行に移動します。 これが、プログラムが使用するヘッダー行です。 新しいレコードを作成するときにも同じことが当てはまります。 これは、新しいレコードがテーブル本体自体に送信され、そこから送信されるヘッダー行です。
レコードをコピーするには、SELECTステートメントを使用してテーブルからすべてのレコードを選択し、MOVEステートメントを使用して、元のテーブルから新しい内部テーブルに名前が対応するフィールドにレコードを移動します。
MOVEステートメントの構文は次のとおりです-
例
上記のコードは、次の出力を生成します-
選択ループは、MOVEステートメントを使用してテーブルのフィールド間でデータを移動し、各フィールドを1つずつ埋めます。 上記の例では、MOCステートメントを使用して、ZCUSTOMERS1テーブルの内容を内部テーブルの対応するフィールドに移動しました。 このアクションは、1行のコードで実行できます。 MOVECORRESPONDINGステートメントを使用できます。
MOVE-CORRESPONDINGステートメントの構文は次のとおりです-
ZCUSTOMERS1のフィールドからitab01の対応するフィールドにデータを移動するようにシステムに指示します。
例
上記のコードは、次の出力を生成します-
これは、両方のフィールド名が一致するという事実によって可能になります。 このステートメントを使用する場合、両方のフィールドに一致するデータ型と長さがあることを確認する必要があります。 ここでは、以前にLIKEステートメントを使用して行われました。