В системе есть пример реализации для этого бади, класс примера: CL_EX_BADI_EAM_STRUCTURE_LIST можете сами посмотреть.
В общем, как Вы и советовали, сделал реализацию BADI_EAM_STRUCTURE_LIST, получился Enhancement Implementation ZEAML_BADI_EAM_STRUCTURE_LIST, реализующий класс ZBADI_EAML_STRUCTURE_LIST, который скопировал все методы с класса BADI_EAML_STRUCTURE_LIST. Как Вы и говорили там есть реализованный пример работы с транспортными средствами, которые также отображаются в структурной транзакции IH01. Если я правильно понимаю код примера, то там передаётся всё содержимое таблицы FLEET вместе с Z полями в field-symbols и структуру ct_objects.
data: ls_object type ihie_s_object,
ls_object_fleet type ihie_s_object_equi,
ls_object_equi type ihie_s_object_equi,
ls_objects like line of ct_objects,
ls_fleet type fleet,
ls_equi type equi.
*--- Container for UNICODE
field-symbols: <x_container> type x,
<x_structure> type x.
ls_object = iv_predecessor.
case ls_object-objty.
when ihie_c_objty_equi.
ls_object_equi = iv_predecessor.
*--- Fleet object?
call function 'OBJECT_NUMBER_READ_IE'
exporting
equnr = ls_object_equi-equnr
importing
objnr = ls_equi-objnr
exceptions
object_not_found = 1
others = 2.
select single * from equi into ls_equi
where objnr = ls_equi-objnr.
loop at ls_equi.
endloop.
if sy-subrc = 0.
ls_object_fleet-objty = gc_objty_equi.
ls_object_fleet-equnr = ls_object_equi-equnr.
ls_objects-object = ls_object_equi-equnr.
*
*--- move fleet data into data container of object.
assign ls_objects-data to <x_container> casting.
assign ls_equi to <x_structure> casting.
<x_container> = <x_structure>.
*
append ls_objects to ct_objects.
endif.
when others.
endcase.
Но данный пример реализации не работает, потому как в транзакции IH01 Z-овские поля так и не появились. Не понятно что там нужно дальше докручивать?
Полазив в Debug выяснил что есть такая структура RIHEQUI, содержимое которой передаётся в транзакцию IH01. Расширил эту структуру добавив в неё дополнительную структуру с одним полем Название местоположения. В транзакции IH01 в выборе полей это поле появилось, но конечно же оно пустое. Вот как мне передать в это поле значение?