开发机还原到一段时间以前,在开发机里产生的请求号是以前用过的编号,释放该请求后,该请求未包含真正要传输的数据。所以真正修改的数据将传不到生产机。现在用程序(因为不知道请求编号调整可以通过什么事物。在SNRO里有吗?)把自动产生的请求编号调到生产机最近用过的编号,然后开发机建请求时会分配编号为大于生产机最近用过的编号。
*&---------------------------------------------------------------------*
*& Report ZDEVK
*&
*&---------------------------------------------------------------------*
*& 只需执行一次
*&
*&---------------------------------------------------------------------*
REPORT zdevk.
*涉及两个数据库表e070a,e070
TABLES: e070a,e070.
*
DATA: t_a LIKE TABLE OF e070a WITH HEADER LINE,t_b LIKE TABLE OF e070 WITH HEADER LINE.
*随便取现在开发机里有的一个请求编号数据
*<
SELECT *
INTO CORRESPONDING FIELDS OF TABLE t_a
FROM e070a
WHERE trkorr = 'DEVK904512'.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE t_b
FROM e070
WHERE trkorr = 'DEVK904512'.
*>
*对取出的数据进行修改,请求编号改为生产机里最大的编号
*<
LOOP AT t_a.
t_a-trkorr = 'DEVK904769'.
MODIFY t_a.
ENDLOOP.
LOOP AT t_b.
t_b-trkorr = 'DEVK904769'.
MODIFY t_b.
ENDLOOP.
*>
*对数据库操作
INSERT e070a FROM TABLE t_a.
IF sy-subrc = 0.
INSERT e070 FROM TABLE t_b.
IF sy-subrc = 0.
WRITE:'OK!'.
ELSE.
WRITE:'NO OK!'.
ENDIF.
ELSE.
WRITE:'NO OK!'.
ENDIF.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10842258/viewspace-592255/ ,如需转载,请注明出处,否则将追究法律责任。