Posted: Tue Sep 02, 2008 11:30 am Post subject: Очистка ALV
Доброе утро очередного трудового дня!
Пытаюсь очистить буфер/кеш ALV... чтоб при его перегенерации не оставались старые данные... пробовал использовать BALVBUFDEL...но результатов не дало Можно ли это реализовать как-то иначе? _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
У меня в ALV выводится результат ряда select'ов. При переходе "назад" и задании новых параметров ново сформировавшиеся данные идут в "хвост" ALV, после предыдущих. С рефрешем сейчас попробую...
Параллельно хотел бы еще такой вопрос спросить...
REUSE_ALV_GRID_DISPLAY выводит саму ALV через прожку SAPLKKBL.
С ее собственным гуи статусом и 500м экраном. Соответственно там свои кнопки "Обработка текста", "Локальный файл", "Получатель сообщения" и т.д. Нажимая их у ся получая вылет на вчерашнее GETWA_NOT_ASSIGNED, Field symbol has not yet been assigned.
Code:
2881 endif.
2882 when 012.
2883 if gs_out_flags-slave ne 'X'
>>>>> assign <fm12> to <field>.
2885 gs_fc = gs_mfc12.
2886 else.
2887 assign <fs12> to <field>.
т.е. как я понимаю их надо каким-то образом описать в моем field-catalog'e или как? _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Age: 190 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Sep 02, 2008 12:53 pm Post subject:
rudeman wrote:
У меня в ALV выводится результат ряда select'ов. При переходе "назад" и задании новых параметров ново сформировавшиеся данные идут в "хвост" ALV, после предыдущих.
Наверно таблицу itab не очищаете перед заполнением?
Code:
FREE itab.
Падение скорей всего связано с тем, что Вы field-catalog не полностью заполнили. Не все поля с описанием типов данных заполнены.
Я вам советовал в прошлой ветке использовать ФМ 'REUSE_ALV_FIELDCATALOG_MERGE'.
Обычно filed-catalog строят с помощью стандарных ФМ, а далее модифицируют, если что-то нужно подправить. Как правило изменяют названия столбцов, выходную длину, показывать или нет, но типы данных не трогают.
Last edited by vga on Tue Sep 02, 2008 1:03 pm; edited 1 time in total
Я ставил clear... с free стало обновляться ) _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Last edited by rudeman on Tue Sep 02, 2008 1:07 pm; edited 2 times in total
READ_REPORT_LINE_TOO_LONG
The ABAP program lines are wider than the internal table.
364 * try.
>>>> read report l_prog_tab_local into l_abap_source.
366 * catch cx_sy_read_src_line_too_long into ex_too_long.
367 * endtry.
368 check sy-subrc eq 0.
vga wrote:
rudeman wrote:
Я ставил clear... с free стало обновляться )
Для удаления записей из таблицы нужно использовать FREE или REFRESH.
Запомню, спасибо _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
READ_REPORT_LINE_TOO_LONG
The ABAP program lines are wider than the internal table.
364 * try.
>>>> read report l_prog_tab_local into l_abap_source.
366 * catch cx_sy_read_src_line_too_long into ex_too_long.
367 * endtry.
368 check sy-subrc eq 0.
Вы в отладчике посмотрели, my_fieldcatalog сформировался ФМ REUSE_ALV_FIELDCATALOG_MERGE ?
нужно обязательно добиться, чтобы сформировался.
Параметру I_INCLNAME =
нужно передать имя инклюда программы, где определена itab.
но там есть поля, которые не всегда заполняются... может изза этого проблема...
Code:
Параметру I_INCLNAME =
нужно передать имя инклюда программы, где определена itab.
Ну я его формирую в самой проге и передаю g_repid равный sy-repid по сути... _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
data: begin of itab occurs 0,
pernr like PA0290-pernr,
ebeln like ekpo-ebeln,
ebelp like ekpo-ebelp,
pyord like pyordh-pyord,
seri0 like pa0290-seri0,
nomer like pa0290-nomer,
datbg like pa0290-datbg,
passl like pa0290-passl,
txz01 like EKPO-txz01,
meins like ekpo-meins,
menge like ekpo-menge,
name1 like adrc-name1,
name2 like adrc-name2,
post_code1 like adrc-post_code1,
city1 like adrc-city1,
street like adrc-street,
house_num1 like adrc-house_num1,
paval like t001z-paval,
bankn like t012K-bankn,
bankl like t012-bankl,
nachn like PA0002-NACHN,
vorna like PA0002-VORNA,
lifnr like EKKO-lifnr,
rbetr like pyordh-rbetr,
end of itab.
Но SELECT'ы в поля
Code:
txz01 like EKPO-txz01,
meins like ekpo-meins,
menge like ekpo-menge,
lifnr like EKKO-lifnr,
rbetr like pyordh-rbetr,
идут в случае установки галочек на экране.. а если галочек нет, то поля пустые... вроде при формировании каталога я сделал
Code:
* if pyordh-pyord NE ''.
* V_POSNR = V_POSNR + 1.
* V_FIELDCAT-JUST = 'L'.
* V_FIELDCAT-FIELDNAME = 'RBETR'.
* V_FIELDCAT-SELTEXT_L = 'Сумма во внутренней валюте'.
* V_FIELDCAT-OUTPUTLEN = 13.
* V_FIELDCAT-COL_POS = V_POSNR.
* APPEND V_FIELDCAT TO MY_FIELDCATALOG.
* endif.
чтоб оно не формировалось, если галочки не стоят... но видимо есть записи в которых это поле пустое... _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Убрал эти поля, которые могут быть пустыми...
стандартные кнопки ALV всеравно не работают...с той же ошибкой... _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
*КУЧА МАТОВ* жаль нет такого смайла... при использовании
REUSE_ALV_FIELDCATALOG_MERGE нельзя чтоб длинна строк кода была больше 72... потому и не работала функция... _________________ Приятно когда программа из стадии "Блин, она не компилится!" переходит в стадию "Блин, она не работает!"
Age: 190 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Sep 02, 2008 2:38 pm Post subject:
rudeman wrote:
*КУЧА МАТОВ* жаль нет такого смайла... при использовании
REUSE_ALV_FIELDCATALOG_MERGE нельзя чтоб длинна строк кода была больше 72... потому и не работала функция...
Хм, она не может строить фиелдкаталог при использовании локальных типов - это известное ограничение. А где у вас длина строк больше 72 была?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.