Текущее время: Пт, июл 18 2025, 10:45

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Чт, авг 09 2007, 19:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
На новом ABAP-ядре параметры TABLES функциональных модулей стали OBSOLETE.
При этом табличный тип не может быть использован в качестве параметра (import/export) метода бизнес-объекта, т.е. не будет создана полноценная BAPI (останется всего-лишь rfc- функциональным модулем).
Может кто решил для себя этот вопрос - в какой секции передавать таблицы?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Чт, авг 09 2007, 20:34 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
V® написал:
На новом ABAP-ядре параметры TABLES функциональных модулей стали OBSOLETE.
При этом табличный тип не может быть использован в качестве параметра (import/export) метода бизнес-объекта, т.е. не будет создана полноценная BAPI (останется всего-лишь rfc- функциональным модулем).
Может кто решил для себя этот вопрос - в какой секции передавать таблицы?

либо по-старинке - истользовать TABLES
либо на новый манер - делать бизнес-объекты с использованием ABAP-OO (через классы)

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Чт, авг 09 2007, 21:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
sy-uname написал(а):
либо по-старинке - истользовать TABLES
либо на новый манер - делать бизнес-объекты с использованием ABAP-OO (через классы)

Спасибо за Ваш ответ.
По старинке есть еще один небольшой минус. Например, при генерации web-service поверх BAPI ее табличный (TABLES) параметр RETURN (н-р типа BAPIRET2) доступен также на импорт. Некрасиво.
Насчет нового подхода, если возможно, напишите немного подробнее.
Для бизнес-объекта (того, что создается через транзакцию SWO1), в качестве метода могу выбрать лишь функцию, API и пр., но но не метод класса (SE24). Возможно речь идет о чем-то другом?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Пт, авг 10 2007, 00:00 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
V® написал:
Спасибо за Ваш ответ.
По старинке есть еще один небольшой минус. Например, при генерации web-service поверх BAPI ее табличный (TABLES) параметр RETURN (н-р типа BAPIRET2) доступен также на импорт. Некрасиво.
Спорный момент - TABLES по определению является изменяемым параметром. К тому-же ведь никто не запрещает _накапливать_ сообщения из ряда последовательно вызываемых BAPI
Цитата:
Насчет нового подхода, если возможно, напишите немного подробнее.
Для бизнес-объекта (того, что создается через транзакцию SWO1), в качестве метода могу выбрать лишь функцию, API и пр., но но не метод класса (SE24). Возможно речь идет о чем-то другом?
Нет, речь именно о SWO1

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Пт, авг 10 2007, 10:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
V® написал:
На новом ABAP-ядре параметры TABLES функциональных модулей стали OBSOLETE.
...
Кстати, а что это за ядро и в чём проявляется OBSOLETE?
Просто сейчас ещё раз просмотрел справку - TABLES объявлены устаревшыми только для perform
Цитата:
Note
Use of table parameters in the interface for subroutines is obsolete but a large number of subroutines have not yet been converted to appropriately typed USING or CHANGING parameters, so that they must still be supplied with data by the TABLES addition to the PERFORM statement.

Для CF подобных примечаний не наблюдается.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Пт, авг 10 2007, 10:10 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
sy-uname написал(а):
Спорный момент - TABLES по определению является изменяемым параметром. К тому-же ведь никто не запрещает _накапливать_ сообщения из ряда последовательно вызываемых BAPI

Идея как раз, похоже, обратная у SAPа - отделить мух от котлет, т.е. разделить входные и выходные табличные параметры BAPI.
Но у меня затык в использовании табличных типов именно в параметрах методов БО (объявленных в секциях BAPI import/export; при имплементации API-функции в БО).
Возможно, я что-то недосмотрел. Если кто подскажет, буду признателен.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Параметры tables в функциях стали obsolete. Как быть?
СообщениеДобавлено: Пт, авг 10 2007, 10:21 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
sy-uname написал(а):
Кстати, а что это за ядро и в чём проявляется OBSOLETE?
Просто сейчас ещё раз просмотрел справку - TABLES объявлены устаревшыми только для perform

Во-первых, идет warning при сохранении BAPI, во-вторых, вот цитата из SAP документа "Programming Guidelines in ..." - "Function modules. Guidelines. Don’t use TABLE parameters in functions-interfaces (there are none in methods). Use ‘ ‘Importing’, ‘Exporting’ parameters in function modules instead."
Версия ABAP-ядра сейчас 7.0


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

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


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

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


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

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