Ошибка в FM (the line type of the table must be statically defined)

Автор Паганель, Березень 30, 2009, 08:24:34 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Паганель

Тут вот пришлось переделывать один ФМ, получилось что нужно два почти одинаковых цикла только с разными 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.

Паганель

Цитата: гуэст від Березень 31, 2009, 01:51:07 ПП
Мжет так Вам поможет ?

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.    " Достаточно было указать