Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => SE38 - ABAP Редактор => Тема начата: Паганель от Март 30, 2009, 08:24:34 pm
-
Тут вот пришлось переделывать один ФМ, получилось что нужно два почти одинаковых цикла только с разными where.
Ну ясен перец, делаю новую форму, весь нужный код выношу в нее, передаю в нее таблички по которым бегать, но тут возникает такая ошибка
Функциональный модуль ZMM_FM_POST
In "LOOP ... WHERE ..." the line type of the table must be statically
defined. statically defined.
Сама форма:
FORM do_post_production
TABLES gt_docs TYPE STANDARD TABLE zmm_production.
"USING ls_agritems TYPE zmm_production.
DATA: ls_agritems TYPE zmm_production
.
LOOP AT gt_docs INTO ls_agritems WHERE gt_docs-SHKZG = 'S' .
... bla-bla-bla
ENDLOOP.
ENDFORM.
В чем траблы? как обойти?
-
Мжет так Вам поможет ?
TYPES zmm_production TYPE STANDARD TABLE OF mkpf.
FORM do_post_production
tables gt_docs TYPE zmm_production.
DATA: ls_agritems like LINE OF gt_docs.
LOOP AT gt_docs INTO ls_agritems WHERE vgart = 'WA' .
ENDLOOP.
ENDFORM.
-
Мжет так Вам поможет ?
TYPES zmm_production TYPE STANDARD TABLE OF mkpf.
FORM do_post_production
tables gt_docs TYPE zmm_production.
DATA: ls_agritems like LINE OF gt_docs.
LOOP AT gt_docs INTO ls_agritems WHERE vgart = 'WA' .
ENDLOOP.
ENDFORM.
2 гуэст Спасибо большое, помогло, а то парился-парился, так и не получилось, сделал 2 циклами естественно с полным дублированием кода, что не есть красиво, и веротность ошибки больше :)
-
Теперь получаю другую ошибку
When using "WITH HEADER LINE", the line type cannot be a table type. a
table type.
Хотя нигде не использую WITH HEADER LINE .....
-
Ссори, разобрался, перемудрил с обьявлением
TYPES bapiret_tab TYPE STANDARD TABLE OF bapirettab. " <<<<< вот тут
FORM do_post
TABLES
.........
"xi_bapiret_tab TYPE bapiret_tab " Не правильно
xi_bapiret_tab TYPE bapirettab. " Достаточно было указать