2007 Apr 24 10:18 AM
Hi Folks,
Users getting the frequent dumps in production systems. actaully we observed that dumps are coming when the users accessing the MFBF transaction manually when the batch job was running for backflush and NRIV (number ranges) table is getting locked.
The dump details is:
ABAP/4 runtime error DBIF_RSQL_SQL_ERROR
Occurred on 16.04.2007 at 15:57:10
-
>> Short dump has not been completely stored. It is too big.
-
SQL error 60 occurred when accessing table "NRIV ".
-
What happened?
-
The database system detected a deadlock and avoided it by rolling back
your transaction.
-
Information on where termination occurred
-
The termination occurred in the ABAP/4 program "SAPLSNR3" in
"READ_NRIV".
The main program was "SAPLBARM".
The termination occurred in line 231
of the source code of program "LSNR3F01" (when calling the editor 2310).
The error occurred during batch input processing
-
Source code extract
-
002010 NRIV-TOYEAR = BNRIV-TOYEAR.
002020 G_FOUND = YES.
002030 WHEN 4.
002040 WHEN OTHERS.
002050 G_ERROR_IN_BUFFER = YES.
002060 ENDCASE.
002070 ENDIF.
002080
002090 IF BUFFER_ACTIVE = NO OR G_ERROR_IN_BUFFER = YES.
002100 * Die Pufferversion ist nicht aktiv oder es wurde bereits
002110 * ein Fehler im Puffer oder NrKreisServer festgestellt.
002120 * Gⁿltiges NrKreisIntervall mit Bis-GeschΣftsjahr aus der
002130 * DB ermitteln
002140 *
002150 SELECT * FROM NRIV WHERE OBJECT = P_OBJECT
002160 AND SUBOBJECT = P_SUBOBJECT
002170 AND NRRANGENR = P_NR_RANGE_NR
002180 AND TOYEAR >= P_TOYEAR
002190 ORDER BY PRIMARY KEY.
002200 G_FOUND = YES.
002210 EXIT.
002220 ENDSELECT.
002230 ENDIF.
002240
002250 IF G_FOUND = YES.
002260 * Intervall lesen, um zu sperren
002270 SELECT SINGLE FOR UPDATE * FROM NRIV WHERE
002280 OBJECT = NRIV-OBJECT
002290 AND SUBOBJECT = NRIV-SUBOBJECT
002300 AND NRRANGENR = NRIV-NRRANGENR
-
> AND TOYEAR = NRIV-TOYEAR.
002320 IF SY-SUBRC <> 0.
002330 MESSAGE E751 RAISING INTERVAL_NOT_FOUND WITH P_OBJECT
002340 P_NR_RANGE_NR.
002350 ENDIF.
002360 ELSE.
002370 MESSAGE E751 RAISING INTERVAL_NOT_FOUND WITH P_OBJECT
002380 P_NR_RANGE_NR.
002390 ENDIF.
002400 ENDIF.
002410
002420 IF NRIV-EXTERNIND <> SPACE.
002430 MESSAGE E752 RAISING NUMBER_RANGE_NOT_INTERN.
002440 ENDIF.
002450
002460 * LΣnge (maximale Anzahl Stellen) der Nummern berechnen
002470 G_NR_LENGTH = STRLEN( NRIV-FROMNUMBER ).
002480
002490 * Nummern in numerische Felder fⁿr spΣtere Berechnungen ⁿbernehmen
002500 ASSIGN NRIV-FROMNUMBER(G_NR_LENGTH) TO <G_F>.
-
Contents of system fields
-
SY field contents..................... SY field contents.....................
-
-
-
-
SY-SUBRC 0 SY-INDEX 1
SY-TABIX 1 SY-DBCNT 1
SY-FDPOS 32 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
-
Chosen variables
-
Any help will get full points.
Regards
TAJUDDIN
Hi Folks,
Users getting the frequent dumps in production systems. actaully we observed that dumps are coming when the users accessing the MFBF transaction manually when the batch job was running for backflush and NRIV (number ranges) table is getting locked.
The dump details is:
ABAP/4 runtime error DBIF_RSQL_SQL_ERROR
Occurred on 16.04.2007 at 15:57:10
-
>> Short dump has not been completely stored. It is too big.
-
SQL error 60 occurred when accessing table "NRIV ".
-
What happened?
-
The database system detected a deadlock and avoided it by rolling back
your transaction.
-
Information on where termination occurred
-
The termination occurred in the ABAP/4 program "SAPLSNR3" in
"READ_NRIV".
The main program was "SAPLBARM".
The termination occurred in line 231
of the source code of program "LSNR3F01" (when calling the editor 2310).
The error occurred during batch input processing
-
Source code extract
-
002010 NRIV-TOYEAR = BNRIV-TOYEAR.
002020 G_FOUND = YES.
002030 WHEN 4.
002040 WHEN OTHERS.
002050 G_ERROR_IN_BUFFER = YES.
002060 ENDCASE.
002070 ENDIF.
002080
002090 IF BUFFER_ACTIVE = NO OR G_ERROR_IN_BUFFER = YES.
002100 * Die Pufferversion ist nicht aktiv oder es wurde bereits
002110 * ein Fehler im Puffer oder NrKreisServer festgestellt.
002120 * Gⁿltiges NrKreisIntervall mit Bis-GeschΣftsjahr aus der
002130 * DB ermitteln
002140 *
002150 SELECT * FROM NRIV WHERE OBJECT = P_OBJECT
002160 AND SUBOBJECT = P_SUBOBJECT
002170 AND NRRANGENR = P_NR_RANGE_NR
002180 AND TOYEAR >= P_TOYEAR
002190 ORDER BY PRIMARY KEY.
002200 G_FOUND = YES.
002210 EXIT.
002220 ENDSELECT.
002230 ENDIF.
002240
002250 IF G_FOUND = YES.
002260 * Intervall lesen, um zu sperren
002270 SELECT SINGLE FOR UPDATE * FROM NRIV WHERE
002280 OBJECT = NRIV-OBJECT
002290 AND SUBOBJECT = NRIV-SUBOBJECT
002300 AND NRRANGENR = NRIV-NRRANGENR
-
> AND TOYEAR = NRIV-TOYEAR.
002320 IF SY-SUBRC <> 0.
002330 MESSAGE E751 RAISING INTERVAL_NOT_FOUND WITH P_OBJECT
002340 P_NR_RANGE_NR.
002350 ENDIF.
002360 ELSE.
002370 MESSAGE E751 RAISING INTERVAL_NOT_FOUND WITH P_OBJECT
002380 P_NR_RANGE_NR.
002390 ENDIF.
002400 ENDIF.
002410
002420 IF NRIV-EXTERNIND <> SPACE.
002430 MESSAGE E752 RAISING NUMBER_RANGE_NOT_INTERN.
002440 ENDIF.
002450
002460 * LΣnge (maximale Anzahl Stellen) der Nummern berechnen
002470 G_NR_LENGTH = STRLEN( NRIV-FROMNUMBER ).
002480
002490 * Nummern in numerische Felder fⁿr spΣtere Berechnungen ⁿbernehmen
002500 ASSIGN NRIV-FROMNUMBER(G_NR_LENGTH) TO <G_F>.
-
Contents of system fields
-
SY field contents..................... SY field contents.....................
-
-
-
-
SY-SUBRC 0 SY-INDEX 1
SY-TABIX 1 SY-DBCNT 1
SY-FDPOS 32 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
-
Chosen variables
-
Any help will get full points.
Regards
TAJUDDIN
2007 Apr 24 10:21 AM
search for any Notes given by SAP to customers .
service.sap.com/notes
Regards
prabhu
2007 Apr 24 1:59 PM
Hi Prabhu,
This problem is in 3.1i for which there is no SAP note. Notes are available for 4.6c.
Is there any possibility that we can modify the SAP note of 4.6c and implement in 3.1i?
Regards
TAJUDDIN