Текущее время: Ср, май 14 2025, 10:40

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: CALL FUNCTION 'OPEN_FORM' проблемы с экспортом.
СообщениеДобавлено: Чт, мар 24 2005, 12:09 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 23 2005, 18:56
Сообщения: 145
Откуда: Dnepr
Доброе время суток.
Возникла проблема при составлении отчета.
Суть вот в чем.
Report собирает данные из таблиц в одну, потом передает их печатной форме и я получаю список товара.
Но выводится на печать только последняя строка в таблице.
Вернее, заголовок таблицы, как я выяснил при отладке, а сама таблица исчезает.
Огромнейшая просьба подсказать, как правильно экспортировать данные в форму, дабы выводились все строки таблицы.
И прошу прощения за, может быть, непрофессиональное изложение проблемы.

_________________
Если все кажется легким, это безошибочно доказывает, что работник весьма мало искусен и работа выше его разумения
--
С этим мальчиком будьте поласковее, вы имеете дело с легко возбудимым гаденышем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CALL FUNCTION 'OPEN_FORM' проблемы с экспортом.
СообщениеДобавлено: Чт, мар 24 2005, 13:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Nesteroff написал(а):
Доброе время суток.
Возникла проблема при составлении отчета.
Суть вот в чем.
Report собирает данные из таблиц в одну, потом передает их печатной форме и я получаю список товара.
Но выводится на печать только последняя строка в таблице.
Вернее, заголовок таблицы, как я выяснил при отладке, а сама таблица исчезает.
Огромнейшая просьба подсказать, как правильно экспортировать данные в форму, дабы выводились все строки таблицы.
И прошу прощения за, может быть, непрофессиональное изложение проблемы.


Ты хоть бы привел кусок программы печати где выводишь таблицу.
А вообще, в формуляре у тебя должен быть определен текстовый элемент который выводит позицию твоей таблицы (например PRINT_ITEM), и соответственно в программе печати ты должен сделать что-то типа:

Code:
  loop at tab. " где tab - твоя таблица
      call function 'WRITE_FORM'
         exporting  element = 'PRINT_ITEM'
                              type = 'BODY'
                          window = 'MAIN'.
  endloop.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 24 2005, 13:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 23 2005, 18:56
Сообщения: 145
Откуда: Dnepr
...

_________________
Если все кажется легким, это безошибочно доказывает, что работник весьма мало искусен и работа выше его разумения
--
С этим мальчиком будьте поласковее, вы имеете дело с легко возбудимым гаденышем.


Последний раз редактировалось Nesteroff Чт, мар 24 2005, 13:44, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 24 2005, 13:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 23 2005, 18:56
Сообщения: 145
Откуда: Dnepr
Code:
FORM OUT_DATA.

CALL FUNCTION 'OPEN_FORM'
EXPORTING
   DEVICE                            = 'PRINTER'
   LANGUAGE                          = SY-LANGU
   EXCEPTIONS
   CANCELED                          = 1
   DEVICE                            = 2
   FORM                              = 3
   OPTIONS                           = 4
   UNCLOSED                          = 5
   MAIL_OPTIONS                      = 6
   ARCHIVE_ERROR                     = 7
   INVALID_FAX_NUMBER                = 8
   MORE_PARAMS_NEEDED_IN_BATCH       = 9
   SPOOL_ERROR                       = 10
   OTHERS                            = 11 .
IF SY-SUBRC NE 0 AND SY-SUBRC NE 1.
message i008(zmss01) with sy-subrc.
exit.
ELSEIF SY-SUBRC EQ 1.
EXIT.
ENDIF.

CALL FUNCTION 'START_FORM'
EXPORTING
   FORM                   = 'ZJ_OUT_VALUT'.
IF SY-SUBRC NE 0.
message i009(zmss01) with sy-subrc.
exit.
ENDIF.

CALL FUNCTION 'WRITE_FORM'
EXPORTING
   ELEMENT                        = 'TABLE_NUMBERED_HEADER'
   FUNCTION                       = 'SET'
   TYPE                           = 'BODY'
   WINDOW                         = 'MAIN'.

CALL FUNCTION 'WRITE_FORM'
EXPORTING
   ELEMENT                        = 'ITEM_LINE'
   FUNCTION                       = 'APPEND'
   TYPE                           = 'BODY'
   WINDOW                         = 'MAIN'.

LOOP AT TVBAP.
ENDLOOP.

  CALL FUNCTION 'WRITE_FORM'
       EXPORTING
            ELEMENT = 'TOTAL_BLOCK'
            WINDOW  = 'MAIN'
       EXCEPTIONS
            ELEMENT = 1
            WINDOW  = 2.

CALL FUNCTION 'END_FORM'.
CALL FUNCTION 'CLOSE_FORM'.

ENDFORM.

Вот, собственно, и передача данных формуляру.
Этого куска достаточно?

_________________
Если все кажется легким, это безошибочно доказывает, что работник весьма мало искусен и работа выше его разумения
--
С этим мальчиком будьте поласковее, вы имеете дело с легко возбудимым гаденышем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 24 2005, 13:49 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Так а чего не так-то?
Один раз вызываешь

Code:
CALL FUNCTION 'WRITE_FORM'
EXPORTING
   ELEMENT                        = 'ITEM_LINE'
   FUNCTION                       = 'APPEND'
   TYPE                           = 'BODY'
   WINDOW                         = 'MAIN'.


Она тебе один раз и печатает.
Если нужно, чтобы печатала каждую строку таблицы TVBAP, нужно

Code:
LOOP AT TVBAP.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
   ELEMENT                        = 'ITEM_LINE'
   FUNCTION                       = 'APPEND'
   TYPE                           = 'BODY'
   WINDOW                         = 'MAIN'.
ENDLOOP.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 24 2005, 15:13 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, мар 23 2005, 18:56
Сообщения: 145
Откуда: Dnepr
Все верно. Эт я заработался, не иначе. Loop не туда поставил и удивляюсь...:shock:
Спасибо за внимание и помощь.
Сорри, что побеспокоил :oops:.

_________________
Если все кажется легким, это безошибочно доказывает, что работник весьма мало искусен и работа выше его разумения
--
С этим мальчиком будьте поласковее, вы имеете дело с легко возбудимым гаденышем.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB