Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SE38 - ABAP Редактор => Тема розпочата: Паганель від Березень 30, 2009, 08:24:34 ПП

Назва: Ошибка в FM (the line type of the table must be statically defined)
Відправлено: Паганель від Березень 30, 2009, 08:24:34 ПП
Тут вот пришлось переделывать один ФМ, получилось что нужно два почти одинаковых цикла только с разными 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.


В чем траблы? как обойти?
Назва: Re: Ошибка в FM (the line type of the table must be statically defined)
Відправлено: гуэст від Березень 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.
Назва: Re: Ошибка в FM (the line type of the table must be statically defined)
Відправлено: Паганель від Березень 31, 2009, 02:35:09 ПП
Цитата: гуэст від Березень 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 циклами естественно с полным дублированием кода, что не есть красиво, и веротность ошибки больше  :)
Назва: Re: Ошибка в FM (the line type of the table must be statically defined)
Відправлено: Паганель від Квітень 03, 2009, 04:48:18 ПП
Теперь получаю другую ошибку
When using "WITH HEADER LINE", the line type cannot be a table type. a
table type.


Хотя нигде не использую WITH HEADER LINE  ..... 
Назва: Re: Ошибка в FM (the line type of the table must be statically defined)
Відправлено: Паганель від Квітень 03, 2009, 04:52:22 ПП
Ссори, разобрался, перемудрил с обьявлением



TYPES  bapiret_tab TYPE STANDARD TABLE OF bapirettab.  " <<<<< вот тут

FORM do_post
  TABLES
.........
    "xi_bapiret_tab TYPE bapiret_tab  " Не правильно
    xi_bapiret_tab TYPE bapirettab.    " Достаточно было указать