Armann's blog
Welcome to my Blog

Armann's blog

Грабли

Thu Oct 16, 2008 10:58 am

[ Working Currently: Working  ]

Забавный язык ABAP... работаю с ним уже больше 4-х лет, а все меня периодически удивляет.
Никогда бы не подумал, что после команды
EXPORT obj1 TO MEMORY ID 'ZMEM_ID'.
такая команда
IMPORT obj3 FROM MEMORY ID 'ZMEM_ID'.
не сработает, пусть хоть трижды одинаковы MEMORY ID и четырежды - структура obj1 и obj3.
А сработает только такой вариант:
IMPORT obj1 FROM MEMORY ID 'ZMEM_ID'.
т.е. если вы экспортировали переменную с именем obj1 - то будьте добры и импортировать в переменную с точно таким же именем.
Полдня убил на такую фигню...


>>>More posts from this category: Работа

The Trackback URL for this entry is:

http://www.sapnet.ru/trackback.php?e=35

Page 2 of 307   Goto page Previous  1, 2, 3, ... 305, 306, 307  Next

Author Message
John Doe
Модератор

Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар
View Blog

PostPosted: Fri Oct 17, 2008 10:30 am    Post subject:    

Все самописное, в экзитах точно нет.

Quote:
А может не устанавливается при каких-то условиях в транзакции xxxx?
Оно либо ставится, либо нет - по условию. Но засада в том, что я вижу в дебагере как ставится, после этого заканчивается транзакция (выход там без LEAVE PROGRAM, просто команд больше нет), вовзращаюсь в метод БО (не выходя из дебагера) и считываю пустое значение... Shocked
Back to top View user's profile Send private message
r00xus
Участник

Joined: 30 Mar 2010
Posts: 8



PostPosted: Mon Dec 06, 2010 11:48 am    Post subject:    

нет это никакие не грабли Smile. ABAP отрабатывает корректно. вам не приходило в голову что под одним ID можно заслать в память несколько объектов и совершенно естественно что при импорте система как-то должна их различать и делает она это конечно же по имени вот пример:

Code:
* таблица 1
DATA BEGIN OF obj1 OCCURS 0.
DATA f1(1).
DATA f2(2).
DATA f3(3).
DATA END OF obj1.
* таблица 2
DATA BEGIN OF obj2 OCCURS 0.
DATA f1(1).
DATA f2(2).
DATA f3(3).
DATA f4(4).
DATA END OF obj2.
* заполняем первую табличку
obj1-f1 = 'a'.
obj1-f2 = 'aa'.
obj1-f3 = 'aaa'.
APPEND obj1.
obj1-f1 = 'b'.
obj1-f2 = 'bb'.
obj1-f3 = 'bbb'.
APPEND obj1.
* заполняем вторую табличку
obj2-f1 = 'a'.
obj2-f2 = 'aa'.
obj2-f3 = 'aaa'.
obj2-f4 = 'aaaa'.
APPEND obj2.
obj2-f1 = 'b'.
obj2-f2 = 'bb'.
obj2-f3 = 'bbb'.
obj2-f4 = 'bbbb'.
APPEND obj2.
obj2-f1 = 'c'.
obj2-f2 = 'cc'.
obj2-f3 = 'ccc'.
obj2-f4 = 'cccc'.
APPEND obj2.
* экспортируем 2 таблицы в память под одним ID
EXPORT obj1 obj2 TO MEMORY ID 'MEM_ID1'.
* очищаем таблицы
CLEAR: obj1, obj2, obj1[], obj2[].
* импортируем
IMPORT obj1 obj2 FROM MEMORY ID 'MEM_ID1'.
* очищаем область памяти
FREE MEMORY ID 'MEM_ID1'.
Back to top View user's profile Send private message
wnckwend
Участник

Joined: 25 Aug 2014
Posts: 0
Location: rafael (fletaport) garcia bouved veracruz 9 subsotano c Madrid Spain 28036


PostPosted: Wed Aug 27, 2014 7:35 pm    Post subject:    

Back to top View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger ICQ Number
wnckwend
Участник

Joined: 25 Aug 2014
Posts: 0
Location: rafael (fletaport) garcia bouved veracruz 9 subsotano c Madrid Spain 28036


PostPosted: Sun Dec 07, 2014 11:27 pm    Post subject:    

Back to top View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger ICQ Number
wnckwend
Участник

Joined: 25 Aug 2014
Posts: 0
Location: rafael (fletaport) garcia bouved veracruz 9 subsotano c Madrid Spain 28036


PostPosted: Fri Dec 19, 2014 10:08 am    Post subject:    

Back to top View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger ICQ Number
Display posts from previous:   

Russian ABAP Developer's Club Forum Index -> Blogs -> Armann's blog -> Грабли