В SAP є таблица ztbl1 . Корегування окремих полів таблиці відбувається не в SAP а в зовнішній системі і кожен раз передаеться RFC функциєю в SAP яка корегує значення полів таблиці.Корегування полів в зовнішній системі відбувається декількома користувачами одночасно .
Підскжіть , як правильно зробити що б поля таблиці SAP корегувались коректно !
RFC функція має приблино такий вигляд :
FUNCTION ZZ2.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" TABLES
*" ITABB STRUCTURE ZS02
*" RETURN STRUCTURE BAPIRET2
*"----------------------------------------------------------------------
* передана ЗОВНІ ІНФОРМАЦІ itabb-equnr - КЛЮЧ ; vn-НОВЕ ЗНАЧЕННЯ ПОЛЯ
loop at itabb.
* читаємо таблицю ztbl1 по ключу itabb-equnr
select * from ztbl1 where equnr = itabb-equnr.
* корегуємо поля vn dsys fsys таблиці ztbl1
update ztbl1 set vn = itabb-vn dsys = sy-datum fsys = SY-uname
where equnr = itabb-equnr .
IF sy-subrc = 0.
commit work.
ELSE.
rollback work.
return-TYPE = 'E'.
return-id = 'Помилка'.
return-MESSAGE = 'Cталася помилка ' .
append return.
ENDIF.
exit.
endselect.
endloop.
ENDFUNCTION.