Я создаю структуру типов с тремя компонентами, один из которых - тип ref для данных.Затем я создал таблицу типов этой структуры.
Проблема в том, как мне добавить данные в эту таблицу?
Это для нового отчета, который я пишу, чтобы ускорить мой ежедневный прием.В ней я всегда должен читать таблицу, в которой есть три компонента, и я всегда знаю два из них.
В ней всегда будет три компонента, но только один из них будет обнаружен во время обработки.
Таким образом, в настоящее время я использую всю таблицу типа ref to data.Затем во время обработки я выясняю тип этой структуры, которая мне нужна, и создаю свою таблицу в соответствии с ней.
Проблема здесь заключается в том, что при этом, хотя я знаю два компонента, весьitab будет динамическим, поэтому я должен использовать его в методах, экспортирующих / импортирующих тип ref в данные, что неудобно.
Приведенный ниже метод всегда возвращает табличный тип ref для данных, который является полностью динамическим (типссылка на данные), но структура таблицы всегда будет выглядеть следующим образом:
- компонент 1 -> тип pc261.
- компонент 2 -> тип pay99_international.
- compoment 3 -> ну, это всегда загадка хе-хе
methods get_payroll
importing it_rgdir type hrpy_tt_rgdir
returning value(rt_value) type ref to data.
method get_payroll.
field-symbols: <lt_payroll> type standard table.
create data rt_value type standard table of (mv_py_struct_type).
assign rt_value->* to <lt_payroll>.
...
endmethod.
Мое намерение состояло в том, чтобы получить возвращаемое значение с другим типом, известным типом, с которым я могу использовать два известных компонентаболее просто.
У меня была идея создать тип с только неизвестным полем в качестве ссылки на данные, чем иметь его таблицу.
Таким образом, я мог бы использовать его внутри методов без необходимости работать так "динамично", что, хотя и прекрасно работает, довольно сложно понять только при чтении кода.
types begin of gty_s_generic_payroll.
types evp type pc261.
types inter type pay99_international.
types nat type ref to data.
types end of gty_s_generic_payroll.
types gty_t_generic_payroll type table of gty_s_generic_payroll.
Проблема в том, как мне использовать itab типа gty_t_generic_payroll, как объявлено выше?
Мне нужно как-то создать компонент 3, но я понятия не имею, как это сделать ...
В конце у меня есть общий символ поля, то есть таблица типов, в которой есть два известных компонента + третий, который был обнаружен во время обработки.
Так как я могу передать содержимое этого символа поля в тип таблицы gty_t_generic_payroll?
data lt_payroll type ref to data.
field-symbols <lt_payroll> type any table.
lt_payroll = mo_payroll->get_payroll( lt_rgdir ). "this will return type ref to data
assign lt_payroll->* to <lt_payroll>.
сейчас <lt_payroll>
имеет все необходимые мне значения, но это динамическая таблица,Я не могу использовать, например, <lt_payroll>[1]-inter
, хотя я знаю, что он существует.
Поэтому я должен каким-то образом передать все содержимое другой переменной типа gty_t_generic_payroll, чтобы я мог хотя бы использоватькомпоненты inter и evp без необходимости продолжать динамическую работу, что довольно трудно
Тем не менее, у меня полностью динамическая таблица работает нормально, мне просто нужно было передать ее другому типу типа gty_t_generic_payroll.Понятия не имею, как поступить.