SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Режим запуска транзакции



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
vetal
Участник
Участник



Joined: 18 Jan 2008
Posts: 44

PostPosted: Fri Aug 22, 2008 11:23 am    Post subject: Режим запуска транзакции Reply with quote

Привет,
если транзакция запускалась в режиме CALL TRANSACTION нужно завешить ее оператором LEAVE.
LEAVE TO TRANSACTION space для моего случая не подходит.

Как узнать, что транзакция запускалась через CALL TRANSACTION, а не из командной строки?
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Fri Aug 22, 2008 12:50 pm    Post subject: Reply with quote

Без разницы. Когда вбиваешь в "командную строку" - в итоге все равно осуществляется CALL TRANSACTION.
Back to top
View user's profile Send private message Blog
mike1
Модератор
Модератор



Joined: 22 Nov 2007
Posts: 82

PostPosted: Fri Aug 22, 2008 12:56 pm    Post subject: Reply with quote

Если транзакция запускалась в режиме CALL TRANSACTION, то sy-calld имеет значение X.
Back to top
View user's profile Send private message
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Fri Aug 22, 2008 1:48 pm    Post subject: Reply with quote

Embarassed
Back to top
View user's profile Send private message Blog
vetal
Участник
Участник



Joined: 18 Jan 2008
Posts: 44

PostPosted: Fri Aug 22, 2008 2:03 pm    Post subject: Reply with quote

Спасибо за ответы.
Ситуация такая, если me22n, me23n запускает пользователь с ограниченными правами, то из badi транзакция перезапускается с нужным варианом транзакции и покидает badi оператором LEAVE TO TRANSACTION space.
Но такой вариант не проходит в alv при щелчке на номере заказа и проваливании в me23n для просмотра документа, потому что назад в alv уже не возвращается, а выходит из программы.

Совет Mike1 подошел идеально. sy-calld при запуске из командной строки пустое. Сделал так

Code:
IF sy-calld IS INITIAL.
  LEAVE TO TRANSACTION space.
ELSE.
  LEAVE.
ENDIF.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 160
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Fri Aug 22, 2008 3:17 pm    Post subject: Reply with quote

vetal wrote:
Code:
IF sy-calld IS INITIAL.
  LEAVE TO TRANSACTION space.
ELSE.
  LEAVE.
ENDIF.


Может это заменить на LEAVE PROGRAM. ?
Back to top
View user's profile Send private message Blog Visit poster's website
Igor_34_rus
Специалист
Специалист



Joined: 08 Apr 2009
Posts: 75

PostPosted: Mon Oct 18, 2010 11:43 am    Post subject: Reply with quote

а есть возможность узнать имя транзакции(программы) из которой вызвали мою?
Back to top
View user's profile Send private message
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Mon Oct 18, 2010 2:10 pm    Post subject: Reply with quote

Igor_34_rus wrote:
а есть возможность узнать имя транзакции(программы) из которой вызвали мою?
SY-CPROG

Last edited by Alex80 on Mon Oct 18, 2010 3:19 pm; edited 2 times in total
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 160
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Mon Oct 18, 2010 2:51 pm    Post subject: Reply with quote

Alex80 wrote:
Igor_34_rus wrote:
а есть возможность узнать имя транзакции(программы) из которой вызвали мою?
SY-CPROG


Вряд ли.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Alex80
Старший специалист
Старший специалист


Age: 44
Joined: 24 Jan 2008
Posts: 129

PostPosted: Mon Oct 18, 2010 3:18 pm    Post subject: Reply with quote

vga wrote:
Alex80 wrote:
Igor_34_rus wrote:
а есть возможность узнать имя транзакции(программы) из которой вызвали мою?
SY-CPROG


Вряд ли.
Сорри Embarassed
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Mon Oct 18, 2010 5:24 pm    Post subject: Reply with quote

vetal wrote:
Спасибо за ответы.
Ситуация такая, если me22n, me23n запускает пользователь с ограниченными правами, то из badi транзакция перезапускается с нужным варианом транзакции и покидает badi оператором LEAVE TO TRANSACTION space.

а не пробовали решать эту задачу напрямую через роли пользователей: разные роли - разные транзакции Wink

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.