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

commit work - не работает? (4,6)



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Igor_34_rus
Специалист
Специалист



Joined: 08 Apr 2009
Posts: 75

PostPosted: Sat Nov 13, 2010 5:30 pm    Post subject: commit work - не работает? (4,6) Reply with quote

Добрый день! Помогите разобраться...
есть задание из заказа удалить позицию и на её место(с тем же номером) создать другую позицию.

Дошёл до такой последовательности
1) удаляю позицию ('BAPI_CUSTOMERINQUIRY_CHANGE')
2) запоминаю изменения ('BAPI_TRANSACTION_COMMIT' / wait = 'X' )
3) запоминаю изменения (commit work and wait.)
4) жду ( WAIT UP TO 100 SECONDS.)
5) добавляю новую строку ('BAPI_CUSTOMERINQUIRY_CHANGE')
5.1) проверяю "return[]" на наличие ошибок("E")
6) запоминаю изменения ('BAPI_TRANSACTION_COMMIT' / wait = 'X' )
6.1) выдаёт ошибку "E S& 150 Успешное выполнение обновления не удалось."


При том, если указать в п.6 указать другой номер позиции то сохраняет без проблем(удаляет всегда на ура!).
От номера позиции не зависит(тоесть не то что не разрешат сохранять, например 10 позицию, а просто любую).



Например делаю по 020 позиции(ошибка - 020 удалена) если второй раз работать по 010 позиции:
и изменить номер на 020(например) то 010 удалит, а 020 создаст
не менять номер(оставить 010) удалит 010 и выдаст ошибку...
Back to top
View user's profile Send private message
vga
Мастер
Мастер


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

PostPosted: Sat Nov 13, 2010 5:52 pm    Post subject: Reply with quote

Напишите свой FM, внутри которого будете вызывать
1) удаляю позицию ('BAPI_CUSTOMERINQUIRY_CHANGE')
2) запоминаю изменения ('BAPI_TRANSACTION_COMMIT' / wait = 'X' )

и запускайте его как:
CALL FUNCTION func STARTING NEW TASK taskname.

3) не нужен.

Насчет синхронизации (пункт. 4 ) вам нужно подумать.
Решения есть более красивые Wink

_________________
Молитва - это запрос разработчику на изменение кода программы.
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 Nov 15, 2010 3:05 pm    Post subject: Разобрался Reply with quote

*внутри комитта стоит "CALL FUNCTION 'RV_MESSAGE_UPDATE' IN UPDATE TASK"


Извиняюсь...
просто не мог подумать, что bapi принимает без проверки данные....
дамп был на строке
"INSERT (OBJECT) FROM TABLE DA_XVBPAI."
а я, по ошибке, передавал записи с одинаковым ключом


и замена/удаление можно делать одним вызовом БАПИ
Back to top
View user's profile Send private message
garycor
Участник
Участник



Joined: 13 Dec 2010
Posts: 2

PostPosted: Mon Dec 13, 2010 11:50 am    Post subject: а можно пример? Reply with quote

Добрый день! а можно пример удаления/добавления позиции одним вызовом бапишки?
Back to top
View user's profile Send private message
Igor_34_rus
Специалист
Специалист



Joined: 08 Apr 2009
Posts: 75

PostPosted: Mon Dec 13, 2010 12:21 pm    Post subject: Reply with quote

если нужна именно замена позиции, одной бапишкой нельзя... можно одним комментом делать.
1) читаю данные документа
2) мапинг считанных данных - данных бапи
3) удалить позицию
4) добавить, при этом (inquiry_item_inx-updateflag = ''.)
4.1) у меня почему-то слетает склад. и отдельной строкой дописываю его

потом коммит

код в 1,500 строк... большой что бы тут выкладывать
Back to top
View user's profile Send private message
garycor
Участник
Участник



Joined: 13 Dec 2010
Posts: 2

PostPosted: Mon Dec 13, 2010 12:48 pm    Post subject: Reply with quote

а можно тогда на [email protected] выслать?
я так же пробую делать
первый раз срабатывает (нам надо менять VGBEL/VGPOS)
а на второй раз ругается на VBFA почему-то
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.