SAPфорум.RU
https://sapboard.ru/forum/

Добавить поле в таблицу
https://sapboard.ru/forum/viewtopic.php?f=13&t=28013
Страница 1 из 1

Автор:  apetrenko [ Пт, авг 03 2007, 15:11 ]
Заголовок сообщения:  Добавить поле в таблицу

HI


Есть
Code:
DATA  Table TYPE TABLE OF zMyTable WITH HEADER LINE.



Нужно добавить туда поле. Которое жить будет только во внутренней таблице временно.

куда смотреть?

Автор:  ROKO [ Пт, авг 03 2007, 15:19 ]
Заголовок сообщения:  Re: Добавить поле в таблицу

apetrenko написал:
HI


Есть
Code:
DATA  Table TYPE TABLE OF zMyTable WITH HEADER LINE.



Нужно добавить туда поле. Которое жить будет только во внутренней таблице временно.

куда смотреть?


сюда :D :

Code:
DATA: BEGIN wa_table.
           INCLUDE STRUCTURE  TYPE zMyTable.
DATA: my_field type coep-wogbtr001
          , END OF wa_table.
 
DATA: Table like table of wa_table.
         

Автор:  Пономарев Артем [ Пт, авг 03 2007, 15:27 ]
Заголовок сообщения: 

Примерно так:

Code:
TYPES:
  BEGIN OF abap_compdescr,
    length    TYPE i,
    decimals  TYPE i,
    type_kind TYPE char1,
    name      TYPE char30,
  END OF abap_compdescr.

FIELD-SYMBOLS: <l_struct> TYPE abap_compdescr,
                         <t_tab>  TYPE ANY TABLE.

DATA: l_line  TYPE REF TO cl_abap_structdescr,
          it_struct TYPE TABLE OF abap_compdescr,
          wa_fcat TYPE lvc_s_fcat,
          it_fcat TYPE lvc_t_fcat,
          table TYPE REF TO data.

l_line ?= cl_abap_typedescr=>describe_by_data( p_data = ваша таблица ).

it_struct[] = l_line->components[].

loop at it_struct assigning <l_struct>.

  //тут заполняешь it_fcat данными из <l_struct>

endloop.

//тут добавляешь в it_fcat свое поле

  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_fcat
    IMPORTING
      ep_table        = table.

  ASSIGN table->* TO <t_tab>.

Автор:  sy-uname [ Пт, авг 03 2007, 15:43 ]
Заголовок сообщения: 

Пономарев Артем написал:
Примерно так:

Code:
....

  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_fcat
    IMPORTING
      ep_table        = table.

...


Если тип известен заранее, то лучше делать примерно так, как посоветовал ROKO, т.к. 36 не такое уж и большое число.

Автор:  apetrenko [ Пт, авг 03 2007, 15:51 ]
Заголовок сообщения: 

sy-uname написал(а):
Если тип известен заранее, то лучше делать примерно так, как посоветовал ROKO, т.к. 36 не такое уж и большое число.


пытаюсь так сделать. но его код некомпилится напрямую.
проблемма с Inclede structurе. Что неправильно написано

идею я понял, сейчас пытаюсь найти как правильно написать.



разобрался вообщем. Спсибо.

Автор:  sy-uname [ Пт, авг 03 2007, 16:03 ]
Заголовок сообщения: 

apetrenko написал:
...

пытаюсь так сделать. но его код некомпилится напрямую.
...
Там не код, там идея кода для доработки напильником

в работоспособном виде это может выглядеть так
Code:
DATA: BEGIN OF wa_table.
INCLUDE TYPE zmytable AS zmytable.
DATA: my_field TYPE coep-wogbtr
    , END OF   wa_table.

DATA: table LIKE TABLE OF wa_table.

Автор:  vga [ Пт, авг 03 2007, 16:03 ]
Заголовок сообщения: 

sy-uname написал(а):
т.к. 36 не такое уж и большое число.


sy-uname, а что такое 36 ? Чет не въеду ;-)

Автор:  apetrenko [ Пт, авг 03 2007, 16:07 ]
Заголовок сообщения: 

sy-uname написал(а):
Там не код, там идея кода для доработки напильником


ну так я ж и написал идею я понял..

доработал и все заработало. Спасибо.

Автор:  sy-uname [ Пт, авг 03 2007, 16:12 ]
Заголовок сообщения: 

vga написал(а):
sy-uname, а что такое 36 ? Чет не въеду ;-)

SAP написал(а):
In an internal mode, a maximum of 36 temporary subroutine pools may be created.

Автор:  vga [ Пт, авг 03 2007, 16:13 ]
Заголовок сообщения: 

aaa, Семен Семеныч, вот ты о чем.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/