Copiar datos entre tablas internas es una operación muy común. Según lo que necesites, puedes:
Copia total (misma estructura)
Si ambas tablas tienen exactamente los mismos campos, usa la asignación directa:
gt_copy = gt_original.
Copiar con diferentes columnas (CORRESPONDING)
Cuando las estructuras de las tablas no son idénticas, puedes usar CORRESPONDING para copiar solo los campos que coinciden por nombre.
- Se copian los campos con el mismo nombre (y tipo compatible).
- Los campos que no existen en el destino se ignoran.
- Los campos destino sin correspondencia quedan con su valor inicial.
gt_tab2 = CORRESPONDING #( gt_tab1 ).
Mapear columnas con nombres diferentes
Si el campo origen se llama BUKRS (tab1) y el destino COMPANY (tab3), usa MAPPING:
gt_tab3 = CORRESPONDING #( gt_tab1 MAPPING company = bukrs).
Puedes añadir varios mapeos separados por espacio:
gt_tab3 = CORRESPONDING #( gt_tab1 MAPPING company = bukrs
currency = waers ).
Excluir ciertos campos de la copia
Para copiar todos los campos excepto algunos, usa EXCEPT:
gt_tab2 = CORRESPONDING #( gt_tab1 EXCEPT bsart ).
Copia clásica (MOVE-CORRESPONDING)
Antes de ABAP 7.40, la forma estándar era MOVE-CORRESPONDING:
- Copia campos con el mismo nombre (como
CORRESPONDING #( )sin mapeo). - Sigue siendo válida, pero la sintaxis moderna es más compacta y legible.
MOVE-CORRESPONDING gt_param TO gt_param_changes.
Copiar datos entre tablas internas es muy sencillo en ABAP, pero la técnica adecuada depende de cómo sean las estructuras




