Skip to Content
0
Former Member
Feb 03, 2012 at 09:59 PM

DUMP DATA_LENGTH_0 "CX_SY_RANGE_OUT_OF_BOUNDS"

1657 Views

Buenas compañeros, me esta apareciendo este DUMP, alguien me podría dar una mano ?, he estado buscando notas para solucionarlo pero no he podido encontrar una, les agradezco desde ya quien me pueda dar alguna información.

Errores tiempo ejec. DATA_LENGTH_0

Excepción CX_SY_RANGE_OUT_OF_BOUNDS

Fecha y hora 03.02.2012 04:01:06

Texto breve

Invalid partial field access: Length 0

¿Qué ha sucedido?

Error in the ABAP Application Program

The current ABAP program "SAPLSO03" had to be terminated because it has come across a statement that unfortunately cannot be executed.

¿Qué puede hacer?

Note down which actions and inputs caused the error.

To process the problem further, contact you SAP system administrator.

Using Transaction ST22 for ABAP Dump Analysis, you can look at and manage termination messages, and you can also keep them for a long time.

Anál.errores

An exception occurred that is explained in detail below.

The exception, which is assigned to class 'CX_SY_RANGE_OUT_OF_BOUNDS', was not caught in procedure "CHECK_DOUBLE_BYTE_CHAR" "(FORM)", nor was it propagated by a RAISING clause.

Since the caller of the procedure could not have anticipated that the exception would occur, the current program is terminated.

The reason for the exception is:

In the executed program "SAPLSO03", the system attempted to access the field "LV_LINE" using the length 0.

However, a partial field access with the length specification 0 is not allowed.

Notas para corregir errores

Use a positive length specification if a part of the field "LV_LINE" is to be accessed.

If the error occurred in your own ABAP program or in an SAP program you modified, try to remove the error.

If the error occures in a non-modified SAP program, you may be able to find an interim solution in an SAP Note.

If you have access to SAP Notes, carry out a search with the following keywords:

"DATA_LENGTH_0" "CX_SY_RANGE_OUT_OF_BOUNDS"

"SAPLSO03" or "LSO03F03"

"CHECK_DOUBLE_BYTE_CHAR"

Entorno sistema

SAP-Release 701

SAP kernel....... 701

created (date)... "Jul 3 2011 22:11:09"

create on........ "Linux GNU SLES-9 ppc64 cc4.1.2"

Database version. "SQLDBC 7.6.6.020 CL 243176 "

Patch level. 150

Patch text.. " "

Database............. "MaxDB 7.6, MaxDB 7.7, MaxDB 7.8"

SAP database version. 701

Operating system..... "Linux 2.6"

Memory consumption

Roll.... 16192

EM...... 20949240

Heap.... 0

Page.... 172032

MM Used. 3367608

MM Free. 819640

Usuario y transacción

Transaction......... "SBWP "

Transactions ID..... "4F297872C2B6155CE1000000AC10017D"

Program............. "SAPLSO03"

Screen.............. "SAPLSO03 0300"

Screen line......... 2

Info posición de cancelación

Termination occurred in the ABAP program "SAPLSO03" u2013 in "CHECK_DOUBLE_BYTE_CHAR".

The main program was "SAPLSO33 ".

In the source code you have the termination point in line 461 of the (Include) program "LSO03F03".

The termination is caused because exception "CX_SY_RANGE_OUT_OF_BOUNDS" occurred in procedure "CHECK_DOUBLE_BYTE_CHAR" "(FORM)", but it was neither handled locally nor declared in the RAISING clause of its signature.

The procedure is in program "SAPLSO03 "; its source code begins in line 450 of the (Include program "LSO03F03 ".

Detalle código fuente

Lín. Txt.fte.

431 write: text-122. "Page

432 pos_page_no = sy-linsz - 3.

433 position pos_page_no.

434 write: sy-pagno.

435 * ULINE. "yxu090197

436 write: / output_str. "yxu090197

437 write: / . "yxu090197

438 if sy-pagno <> 1.

439 skip.

440 endif.

441 endform.

442 *&----


*

443 *& Form CHECK_DOUBLE_BYTE_CHAR

444 *&----


*

445 * text

446 *----


*

447 * -->P_OBJCONT text

448 * -->P_DOUBLE_BYTE text

449 *----


*

450 form CHECK_DOUBLE_BYTE_CHAR tables objcont

451 changing linesz.

452

453 data lv_line type soli.

454 data lv_len type i.

455 data lv_string type string.

456 data lv_offset type i.

457 data lv_mod type i.

458

459 loop at objcont[] into lv_line.

460 lv_offset = lv_line(3).

>>>> lv_string = lv_line+5(lv_offset).

462 lv_len = cl_abap_list_utilities=>dynamic_output_length( lv_string ).

463 if lv_len > linesz.

464 lv_mod = linesz mod 2.

465 if lv_mod = 0.

466 linesz = linesz / 2.

467 else.

468 linesz = ( linesz - 1 ) / 2.

469 endif.

470 exit.

471 endif.

472 endloop.

473

474 endform. " CHECK_DOUBLE_BYTE_CHAR