*&---------------------------------------------------------------------*
*& Report  Z_MOVE_STRUCTURE                                            *
*& Komplexe Typstrukturen                                              *
*&---------------------------------------------------------------------*

REPORT  z_move_structure                   .

* programmlokale Typen,
* die auf eingebaute ABAP-Typen verweisen:
TYPES: surname(20)   TYPE c,
       street(30)    TYPE c,
       zip_code(5)   TYPE n,
       city(30)      TYPE c.

* programmlokale Struktur,
* die auf obige Typen verweist:
TYPES: BEGIN OF adresse1,
         name        TYPE surname,
         plz         TYPE zip_code,
         ort         TYPE city,
         strasse     TYPE street,
       END OF adresse1.

TYPES: BEGIN OF adresse2,
         strasse     TYPE street,
         ort         TYPE city,
         plz         TYPE zip_code,
         BEGIN OF rest,
             name    TYPE surname,
             etwas   TYPE street ,
         END OF rest ,
       END OF adresse2.


DATA liste1 TYPE adresse1 .
DATA liste2 TYPE adresse2 .

liste1-name           = 'Meier' .
liste1-plz            = '53773' .
liste1-ort            = 'Hennef/Sieg' .
liste1-strasse        = 'Kronprinzenstr. 34' .

MOVE-CORRESPONDING liste1 TO liste2 .

WRITE / liste1 .
write / liste2 .
write / liste2-rest-name .