Show TOC

Assignment Between Structure and Single Field VLocate this document in the navigation structure

*-------------------------------------------------------------* MOVE: structure <-> single field                            *-------------------------------------------------------------

report ZCH_UNIEXP_9.

* types: begin of T_VALUE_WA,*          TABNAME(30)     type c,*          DUMMY_ALIGN     type f,*          CONTAINER(1000) type c,*        end of T_VALUE_WA,*        T_VALUE_LIST type table of T_VALUE_WA.

* data:  L_VALUES   type T_VALUE_LIST,*        L_VALUE_WA type T_VALUE_WA,*        L_D010SINF type D010SINF,*        L_CO2MAP   type CO2MAP.

* L_VALUE_WA-TABNAME   = 'D010SINF'.* L_D010SINF-DATALG    =  41.

* L_VALUE_WA-CONTAINER =  L_D010SINF.   <---- Unicode error

* append L_VALUE_WA to L_VALUES.

* L_VALUE_WA-TABNAME   = 'CO2MAP'.* L_CO2MAP-ID          =  42.

* L_VALUE_WA-CONTAINER = L_CO2MAP.      <---- Unicode error

* append L_VALUE_WA to L_VALUES.

* Pass L_VALUES to processing routine ...

* Do something

* data: L_DFIES_TAB type table of DFIES.

* field-symbols: <DT>       type DFIES,*                <VALUE_WA> type T_VALUE_WA,*                <f>.

* clear L_VALUES_WA.* loop at L_VALUES assigning <VALUE_WA>.

*   call function 'DDIF_NAMETAB_GET'*    exporting*      tabname = <VALUE_WA>-TABNAME*    tables*      DFIES_TAB = L_DFIES_TAB.

*   loop at L_DFIES_TAB assigning <DT>.*     assign <VALUE_WA>-CONTAINER+<DT>-OFFSET(<DT>-INLEN)*     to <F> type <DT>-INTTYPE.*     write  <F>.*   endloop.* endloop.

* After using (Unicode enabled) new reference technique * and EXPORT TO DATA BUFFER:

types: begin of T_VALUE_WA,         TABNAME(30)     type c,         XWA             type xstring,         CONTAINER(1000) type c,       end of T_VALUE_WA,

T_VALUE_LIST type table of T_VALUE_WA.

data:  L_VALUES   type T_VALUE_LIST,       L_VALUE_WA type T_VALUE_WA,       L_D010SINF type D010SINF,       L_CO2MAP   type CO2MAP.

L_D010SINF-DATALG  =  41.L_VALUE_WA-TABNAME = 'D010SINF'.export WA from L_D010SINF to data buffer L_VALUE_WA-XWA.append L_VALUE_WA to L_VALUES.

L_CO2MAP-ID        =  42.L_VALUE_WA-TABNAME = 'CO2MAP'.export WA from L_CO2MAP to data buffer L_VALUE_WA-XWA.append L_VALUE_WA to L_VALUES.

* Pass L_VALUE to processing routine ...* Do something

data: DREF     type ref to data,      L_NUMBER type i,      L_TYPE   type c.

field-symbols: <WA>   type any,               <COMP> type any.

clear L_VALUE_WA.

loop at L_VALUES into L_VALUE_WA.  create data DREF type (L_VALUE_WA-TABNAME).  assign DREF->* to <WA>.  import WA to <WA> from data buffer L_VALUE_WA-XWA.  describe field <WA> type L_TYPE components L_NUMBER.    do L_NUMBER times.    assign component SY-INDEX of structure <WA> to <COMP>.    write <COMP>.  enddo.endloop.