You create one or more batch input sessions and have the following problems.
1. You have created very large session and the database returns errors.
ORACLE: ORA1562 "failed to extend rollback segment"
followed by ORA1556 ORA1547 ORA1631 ORA1628
INFORMIX: INF134 "ISAM error: no more locks"
caused by INF246 INF271
INF458 "long transaction aborted"
2. You create several sessions in one program and your program crashes. As a result, all preceeding sessions are lost.
1. The database transaction contained too many modifications.
2. Your data was not yet stored in the database.
The function modules
BDC_OPEN_GROUP,
BDC_INSERT
BDC_CLOSE_GROUP
do --- NOT --- perform a COMMIT WORK.
The background processing does not automatically perform a COMMIT WORK. The COMMIT WORK is only executed automatically after a dialog step in online processing.
Perform a COMMIT WORK after a certain number of transactions which you have defined in the session. This COMMIT WORK terminates the database transaction. The number of modified objects per transaction is reduced and made permanent in smaller packages.
Example: Perform COMMIT WORK after 100 transactions.
TRANS_COUNT = TRANS_COUNT + 1.
CALL FUNCTION 'BDC_INSERT' .....
IF TRANS_COUNT EQ 100.
COMMIT WORK.
ENDIF.
Additional key words
ORA1562 ORA1556 ORA1547 ORA1631 ORA1628
INF134 ISAM134 INF246 INF271 INF458
No comments:
Post a Comment