Code:
What happened?
Error in ABAP application program.
The current ABAP program "Z_PB_PRUFEN" had to be terminated because one of the
statements could not be executed.
This is probably due to an error in the ABAP program.
Unable to perform database selection fully.
record.
What can you do?
If the error occurs in debugging mode, you should first run the process
without debugging activated.
If the error persists outside debugging, you must check the application
program more closely.
No error requiring recovery has occurred.
Print out the error message (using the "Print" function)
and make a note of the actions and input that caused the
error.
To resolve the problem, contact your SAP system administrator.
You can use transaction ST22 (ABAP Dump Analysis) to view and administer
termination messages, especially those beyond their normal deletion
date.
is especially useful if you want to keep a particular message.
Error analysis
An exception occurred. This exception will be dealt with in more detail
below. The exception, assigned to the class 'CX_SY_OPEN_SQL_DB', was not
caught, which
led to a runtime error. The reason for this exception is:
One of the database selections included a database commit.
The selection was then supposed to continue. Before a
database commit, however, all outstanding database selections must be
concluded.
.
Possible causes in the application program:
Within a loop (SELECT/LOOP/EXEC SQL), one of the following
statements is used:
- MESSAGE (apart from MESSAGE S...)
- COMMIT WORK
- CALL DIALOG
- CALL TRANSACTION
- SUBMIT
- BREAK-POINT
- WAIT
.
In debugging mode, a program sometimes triggers
a "COMMIT WORK" during the database selection. As a result
this termination may also occur in debugging mode with a correct
program.
A "COMMIT WORK" during debugging may be due to the following reasons:
1. A program or screen was regenerated
and updated in the database.
2. Each user needs a private process in debugging mode, but
the number of available processes is restricted. If this
limit is exceeded, each debugging step then requires a
"COMMIT WORK".
.
The error occurred in a statement that accesses the table "CRMD_ORDERADM_H ".
Code:
86 IF lv_flag_cursor NE 'X'.
87
88 FETCH NEXT CURSOR lv_cursor INTO TABLE lt_orderadm_h PACKAGE SIZE 1000.
>>>>> IF sy-subrc <> 0.
90 CLOSE CURSOR lv_cursor.
91 lv_flag_cursor = 'X'.
92 ELSE.
93 PERFORM prufung TABLES lt_orderadm_h
94 lt_ergebnis.
95 i_lll = i_lll + 1.
96
97 ENDIF.
98
99 i_lll = 11111.
100 EXIT.
101
102
103
104 ENDIF.
я так понимаю что система сама делает коммит и вылетает в дамп, типо попытка открыть курсор который уже открыт, если да то как можно данное поправить