У меня проблема, когда не все строки моего элемента управления таблицами отображаются в ABAP 740 SP13.Управление таблицей не отображает все строки
К примеру, у меня есть таблица с этими двумя строками:
Это состояние таблицы, где выполняется этот код:
CALL SCREEN 0300 STARTING AT 10 5
ENDING AT 85 16.
Это идет сразу в мой Процесс до Код выхода:
*----------------------------------------------------------------------*
* PROCESS BEFORE OUTPUT *
*----------------------------------------------------------------------*
PROCESS BEFORE OUTPUT.
MODULE status_0300.
LOOP AT lt_transfer_confirm_tc
INTO ls_transfer_confirm_tc
WITH CONTROL tc_transfer_confirm
CURSOR tc_transfer_confirm-current_line.
MODULE tc_transfer_confirm_get_lines.
ENDLOOP.
, гдеявляется:
MODULE status_0300 OUTPUT.
SET PF-STATUS 'STATUS_0300'.
" Confirm Material Number Count
SET TITLEBAR 'T05'.
ENDMODULE.
и tc_transfer_confirm_get_lines
:
MODULE tc_transfer_confirm_get_lines OUTPUT.
g_tc_transfer_confirm_lines = sy-loopc.
ENDMODULE.
В конце первой итерации цикла в моем ПБА, значение ls_transfer_confirm_tc
совпадает с первой строкой lt_transfer_confirm_tc
таблицы, tc_transfer_confirm-current_line
является 1
и g_tc_transfer_confirm_lines
(в tc_transfer_confirm_get_lines
) установлен в 10
.
Вторая итерация цикла никогда не обрабатывается. Курсор перескакивает с ENDLOOP
(с первой итерации) на строку, указанную CURSOR tc_transfer_confirm-current_line.
(так как это конец инструкции LOOP
) и, наконец, до ENDLOOP
без остановки на линии MODULE tc_transfer_confirm_get_lines
. В конце этого цикла ls_transfer_confirm_tc
является начальным, tc_transfer_confirm-current_line
по-прежнему 1
, а g_tc_transfer_confirm_lines
по-прежнему 10
. Все это время таблица lt_transfer_confirm_tc
все еще имеет две строки в ней, как показано на изображении в верхней части этого вопроса.
На данный момент, на экране отображается следующим образом:
Я не знаю, почему этот цикл не обрабатывает вторую строку моего стола, и поэтому не отображает его на экране.
Спасибо.