Текущее время: Пн, июл 28 2025, 14:29

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Global data and 'assign'
СообщениеДобавлено: Чт, апр 12 2007, 19:03 
Начинающий
Начинающий

Зарегистрирован:
Вт, авг 17 2004, 11:57
Сообщения: 23
Как с помощью аssign до внутренней таблицы из другои программы добратся я вроде знаю. вот пример

field-symbols:
<ls_jest_buf> type any table.

assign ('(SAPLBSVA)JEST_BUF[]') to <ls_jest_buf>.
check sy-subrc = 0.
lt_jest[] = <ls_jest_buf>. "now everything is in lt_jest !

А вот до instance как то не получается.
Может сталкивался кто с подобнои проблемои ?

rgrds

_________________
to be a rock and not to roll ... (LZ)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Global data and 'assign'
СообщениеДобавлено: Пт, апр 13 2007, 08:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
butch написал(а):
А вот до instance как то не получается.

Это противоречит постулатам ООП. Группа функций немного похожа на класс и очень невыгодно отличается тем, что у неё одна глобальная область памяти на все вызовы из данной сессии.
Объектов может много и непонятно, к какому именно instance Вы хотите сделать assign. Т.е. обязательно должна быть сссылка на объект. А если есть ссылка, то к аттрибутам класса доступ только через ссылку с учётом области видимости. assign тут вообще никаким боком не пролезет.

Группы функций, наряду с другими анахронизмами, например header line, рано или поздно вымрут, если, конечно, раньше не вымрет SAP.

Вот, например, бизнес-объекты — вроде бы хорошая идея, которая активно развивается, ещё только половина всех BAPI написано. Ну почему бы не реализовать нормально на классах с использованием transaction service? Нет, ведь надо выпендриться, придумать псеводоклассы с макросами вместо методов, из которых вызываются функциональные модули BAPI или даже диалоговые модули. Причём половина BAPI зачем-то закрывают LUW (commit делают очень отдельные экземпляры, в основном встречается rollback).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Global data and 'assign'
СообщениеДобавлено: Пт, апр 13 2007, 10:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
butch написал(а):
А вот до instance как то не получается.
Может сталкивался кто с подобнои проблемои ?

в 4.6x можно было достучаться к локальному классу в соседнем процессе, через локальную куклу,
а теперь кажется все защищено 3 раза. к глобальному наверное проще.


Последний раз редактировалось trop Пт, апр 13 2007, 10:34, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 10:25 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
По большому счету ABAP нельзя назвать языком программирования.
ABAP - это некая совершествующая система конфигурирования, надстройка для управления системой.
Поскольку данные не менялись со времени создания системы, поэтому и ожидать, что система конфигурирования данными избавится от анохранизмов, не стоит.
Когда создавались языки ООП, по большому счету, они были абстрагированы от данных через систему интерфейсов и в этом их универсальность. И вот этой возможности - быть абстрактым языком, оторванным от данных, у ABAP-a нет. В этом он схож на PL/SQL , TSQL.

Поэтому и абаперов назвать программистами в чистом виде тоже нельзя.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 10:29 
Начинающий
Начинающий

Зарегистрирован:
Вт, авг 17 2004, 11:57
Сообщения: 23
Жаль :(
просто очень нужно из EXITa до пари ключеи добраться.
Придеться тогда с буффером шаманить.

спасибо

_________________
to be a rock and not to roll ... (LZ)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 10:32 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
vga написал(а):
Поэтому и абаперов назвать программистами в чистом виде тоже нельзя.


:D :D :D

А как их можно назвать?

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 10:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
И вот этой возможности - быть абстрактым языком, оторванным от данных, у ABAP-a нет.


В 4.7 с точки зрения ООП уже более-менее всё есть.
Я имел в виду, что применить не могут по-человечески.
Например, enjoy транзакция типа ME22N — Красавица, MVC-дизайн используется, можно сказать, последнее слово техники :). Но зачем-то надо было половину функционала в макросы запихнуть (также как и в бизнес-объектах). Может я чего не понимаю конечно в современной архитектуре... Но как минимум смотреть программу в дебаггере становится невозможно, watch point не срабатывает.

Или вот например, методы бизнес-объекта не являются методами какого-либо класса. Они спрятаны в программе RBUSxxxx типа S в виде подпрограмм и доступны для редактирования только при помощи специальной транзакции с табличным редактором. Самый смак: методы декларируются макросами: begin_method и end_method. И наследование там как-то по особому реализовано.
Понятно, что это всё автоматически генерируется и ручную правку туда вносить приходится не часто. Но всё же архитектура очень забавная.

Я так понимаю, что когда классы на уровне языка не были реализованы, а индусы не отличали объектов от классов, эти бизнес-объекты и родились вместе с BAPI.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 12:58 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
sibrin написал:
В 4.7 с точки зрения ООП уже более-менее всё есть.
Я имел в виду, что применить не могут по-человечески.
...
Или вот например, методы бизнес-объекта не являются методами какого-либо класса. Они спрятаны в программе RBUSxxxx типа S в виде подпрограмм и доступны для редактирования только при помощи специальной транзакции с табличным редактором. Самый смак: методы декларируются макросами: begin_method и end_method. И наследование там как-то по особому реализовано.
Понятно, что это всё автоматически генерируется и ручную правку туда вносить приходится не часто. Но всё же архитектура очень забавная.

Я так понимаю, что когда классы на уровне языка не были реализованы, а индусы не отличали объектов от классов, эти бизнес-объекты и родились вместе с BAPI.

И SAP R/3 началась не с 4.7 и причём здесь индусы? в те времена оффшорное программирование ещё не так было распространено. Ну не было классов в R/3, а иметь что-то похожее на объекты хотелось.

А переписывать и тестировать кучу кода под новые возможности в каждой версии не так и просто.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 13:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
sy-uname написал(а):
А переписывать и тестировать кучу кода под новые возможности в каждой версии не так и просто.


А я и не говорю, что причины нет, а также, что SAP плохой.
Так, просто размечтался, как могло бы быть...
А индусы, так же как и чукчи, отношения к одноимённым национальностям не имеют.


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Sergo написал:
А как их можно назвать?


Разработчик информационной системы, взаимодействующий с конечными потребителями через набор функциональных интерфейсов. ;-)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 13:38 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
vga написал(а):
Разработчик информационной системы, взаимодействующий с конечными потребителями через набор функциональных интерфейсов. ;-)


Долго как-то произносить :)
Хотя это звучит и еще могущественнее.

А если покороче ?

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 13 2007, 13:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Sergo написал:
А если покороче ?

РИС ВКПЧНФИ или просто абапер.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Global data and 'assign'
СообщениеДобавлено: Пн, апр 16 2007, 11:46 
Специалист
Специалист

Зарегистрирован:
Чт, июн 23 2005, 18:05
Сообщения: 119
sibrin написал:
butch написал(а):
А вот до instance как то не получается.

...Причём половина BAPI зачем-то закрывают LUW (commit делают очень отдельные экземпляры, в основном встречается rollback).


Разные транзакционные модели BAPI в разных версиях:
до 3.1 - 1 BAPI есть 1 LUW - Commit внутри
4.0 - 1 BAPI есть 1 LUW - Commit снаружи (BAPI_TRANSACTION_COMMIT)
4.6 - много BAPI - 1 LUW Commit снаружи (BAPI_TRANSACTION_COMMIT)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 17 2007, 11:26 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, фев 08 2007, 11:44
Сообщения: 52
Sergo написал:
vga написал(а):
Поэтому и абаперов назвать программистами в чистом виде тоже нельзя.


:D :D :D

А как их можно назвать?


ну это уже всем давно известно

программист - это недоучившийся математик,
а абапер - это недоучившийся программист.

:D :D :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 09:05 
Специалист
Специалист

Зарегистрирован:
Вт, авг 17 2004, 08:47
Сообщения: 222
Пол: Мужской
А кто знает как получить локальные данные через assign?


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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