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

Часовой пояс: 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 часа


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

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


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

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