08-21-2015 7:11 PM
Runtime Errors TABLE_INVALID_INDEX
Date and Time 21.08.2015 22:50:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Short text
| Error in ABAP/4 statement when processing an internal table.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|What happened?
| Error in the ABAP Application Program
| The current ABAP program "SAPLSTXK" had to be terminated because it has
| come across a statement that unfortunately cannot be executed.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|What can you do? |
| 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. |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Error analysis |
| When changing or deleting one or more lines of the internal table |
| "\PROGRAM=SAPMSSCF\DATA=G_BITMAP_TABL[]" or when inserting in the table |
| "\PROGRAM=SAPMSSCF\DATA=G_BITMAP_TABL[]", 0 was used as |
| the line index. An index less than or equal to zero is not |
| allowed. |
| |
| The error can occur when using the following options: |
| 1. "INDEX idx" for specifying the line number in the table |
| "\PROGRAM=SAPMSSCF\DATA=G_BITMAP_TABL[]" |
| where you want to change, insert or delete. |
| 2. "FROM idx" for specifying the start index when deleting a line |
| area from or inserting a line area into the table |
| "\PROGRAM=SAPMSSCF\DATA=G_BITMAP_TABL[]". |
| 3. "TO idx" for specifying the end index when deleting a line |
| area from or inserting a line area into the table |
| "\PROGRAM=SAPMSSCF\DATA=G_BITMAP_TABL[]". |
| |
| At the time of the termination, the table contained 0 lines. |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|How to correct the error |
| 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: |
| |
| "TABLE_INVALID_INDEX" " "
| "SAPLSTXK" or "LSTXKFRI"
| "RTF_PAR"
|
| If you cannot solve the problem yourself and want to send an error
| notification to SAP, include the following information:
|
| 1. The description of the current problem (short dump)
| To save the description, choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 2. Corresponding system log |
| |
| Display the system log by calling transaction SM21. |
| Restrict the time interval to 10 minutes before and five minutes |
| after the short dump. Then choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 3. If the problem occurs in a problem of your own or a modified SAP |
| program: The source code of the program |
| In the editor, choose "Utilities->More |
| Utilities->Upload/Download->Download". |
| |
| 4. Details about the conditions under which the error occurred or which |
| actions and input led to the error. |
| |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|System environment |
| SAP-Release 700 |
| |
| Application server... "NARASIMHAECC" |
| Network address...... "192.168.100.1" |
| Operating system..... "Windows NT" |
| Release.............. "6.0" |
| Hardware type........ "4x AMD64 Level" |
| Character length.... 16 Bits |
| Pointer length....... 64 Bits |
| Work process number.. 1 |
| Shortdump setting.... "full" |
| |
| Database server... "NARASIMHAECC" |
| Database type..... "MSSQL" |
| Database name..... "ECC" |
| Database user ID.. "ecc" |
| |
| Char.set.... "C" |
| |
| SAP kernel....... 700 |
| created (date)... "Jan 24 2008 01:15:15" |
| create on........ "NT 5.2 3790 Service Pack 1 x86 MS VC++ 14.00" |
| Database version. "SQL_Server_8.00 " |
| |
| Patch level. 144 |
| Patch text.. " " |
| |
| Database............. "MSSQL 7.00.699 or higher, MSSQL 8.00.194" |
| SAP database version. 700 |
| Operating system..... "Windows NT 5.0, Windows NT 5.1, Windows NT 5.2, Windows |
| NT 6.0" |
| |
| Memory consumption |
| Roll.... 16192 |
| EM...... 16759360 |
| Heap.... 0 |
| Page.... 57344 |
| MM Used. 4797008 |
| MM Free. 3579824 |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|User and Transaction |
| |
| Client.............. 800 |
| User................ "SAPUSER" |
| Language key........ "E" |
| Transaction......... "SE71 " |
| Transactions ID..... "959148E58641F118AD74D9718DBAA44E" |
| |
| Program............. "SAPLSTXK" |
| Screen.............. "SAPLSTXX 2102" |
| Screen line......... 5 |
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
|Information on where terminated |
| Termination occurred in the ABAP program "SAPLSTXK" - in "RTF_PAR". |
| The main program was "SAPMSSCF ". |
| |
| In the source code you have the termination point in line 1685 |
| of the (Include) program "LSTXKFRI". |
----------------------------------------------------------------------------------------------------
08-25-2015 7:14 AM
thank u all for ur support and suggestions.
After uninstalling the word i am directly entering to editor window and exexcuted my program succesfully.
08-21-2015 7:18 PM
Are you getting this error while trying to change any forms or only specific form??
08-21-2015 7:23 PM
no sir.
after providing windows
doble cling on one of the window.
Edit menu- text elemetns(f9)
while i was trying to change editor i was getting this error.
08-21-2015 8:55 PM
Can u plz provide the screenshots if possible so that we can understand better??
08-21-2015 8:10 PM
LakshaN,
Please tell us what you tried to do, so we can better understand oks?
A tip... Try in their future posts upload the dump in TXT here oks? It is easier to read and leaves the post cleanest.
Warm regards,
Raphael Pacheco.
08-22-2015 10:10 AM
08-22-2015 9:08 AM
08-23-2015 10:58 AM
Hi,
Application server... "NARASIMHAECC"
Network address...... "192.168.100.1"
Are you able to download and apply OSS Notes on this system using SNOTE (is this system supported by SAP...)? There are quite a few OSS Notes with corrections for SAPLSTXK / LSTXKFRI relevant to SAP_BASIS 700 (more than I would risk trying to hack in via manual repairs), although I see none that fits the symptoms you describe exactly. To suggest something more about the exact Note numbers that might help, one would need to know your SAP_BASIS service pack level as well.
cheers
Jānis
08-23-2015 11:45 AM
Actually, no - forget the Notes, it looks like the bug(s) might still be there on SAP_BASIS 740 as well. If you are entitled to SAP Support for this system, report this to OSS.
If you have the means to repair the standard code, you could try to fix this atrocious subroutine in SAPLSTXK (this is from SAP_BASIS 740 SP 11):
FORM rtf_par TABLES p_itflines STRUCTURE tline. "#EC NEEDED
data: current_cf type tdline,
l_sp_bcc type tdbool,
l_wa type tline.
PERFORM rtf_plain.
* CHECK RTF_INDEX = FALSE
* AND RTF_CONTENT = FALSE.
IF g_compose = false.
CLEAR: rtf_cpg-lang, rtf_cpg-font.
ENDIF.
* 1) If the header line of itab ITF_POS contains somethink
* = > append not empty header line of table itf_para
if itf_para-tdformat(1) eq '>'.
if itf_pos gt 2 or
itf_para-tdline(2) is not initial.
append itf_para.
itf_rest = 70.
itf_pos = 2.
endif.
else.
if itf_pos gt 0 or
itf_para-tdformat is not initial.
append itf_para.
itf_rest = 72.
itf_pos = 0.
endif.
endif.
if g_sp_number gt 0. " min 1 space at end of token
l_sp_bcc = true.
endif.
clear g_sp_number.
if g_compose eq true.
* Additional check of C&CO parameters
perform request_current_cco changing rtf_command
rtf_comment
g_cc_long.
endif.
READ TABLE itf_para INDEX 1.
* CHECK SY-SUBRC = 0.
IF sy-tfill > 1. " More that one line
*(2)
if itf_para-tdformat(1) eq '>'. " Template case
if itf_para-tdline(2) is initial or
itf_para-tdline(2) eq '!0'.
if rtf_command eq true. " if we haven't received expl C&CO format
itf_para-tdline(2) = '/:'.
elseif rtf_comment eq true.
itf_para-tdline(2) = '/*'.
elseif rtf_element eq true.
itf_para-tdline(2) = '/E'.
else.
itf_para-tdline(2) = rtf_paragraph.
endif.
modify itf_para index sy-tabix.
endif.
else.
if itf_para-tdformat is initial or " Normal case
itf_para-tdformat eq '!0'.
if rtf_command eq true. " if we haven't received expl C&CO format
itf_para-tdformat = '/:'.
elseif rtf_comment eq true.
itf_para-tdformat = '/*'.
elseif rtf_element eq true.
itf_para-tdformat = '/E'.
else.
itf_para-tdformat = rtf_paragraph.
endif.
modify itf_para index sy-tabix.
endif.
endif.
ELSE. " One line or nothing
IF rtf_graphic = true.
itf_para-tdformat = '/:'.
SHIFT itf_para-tdline RIGHT BY 8 PLACES.
itf_para-tdline(8) = 'GRAPHIC '.
itf_pos = STRLEN( itf_para-tdline ) + 1.
WRITE 'PARAGRAPH ' TO itf_para-tdline+itf_pos(10).
ADD 11 TO itf_pos.
MOVE rtf_paragraph TO itf_para-tdline+itf_pos(2).
* Begin Replace
* MODIFY itf_para INDEX sy-tabix.
if sy-subrc eq 0.
modify itf_para index sy-tabix.
else.
append itf_para.
endif.
* End Replace
rtf_graphic = false.
ELSE.
*(3)
if itf_para-tdformat(1) eq '>'. " Template case
if ( itf_para-tdline(2) is initial or
itf_para-tdline(2) eq '!0' ).
if rtf_command eq true. " if we haven't received expl C&CO format
itf_para-tdline(2) = '/:'.
elseif rtf_comment eq true.
itf_para-tdline(2) = '/*'.
elseif rtf_element eq true.
itf_para-tdline(2) = '/E'.
else.
itf_para-tdline(2) = rtf_paragraph.
endif.
if sy-subrc eq 0. "Already "fixed" in 740
modify itf_para index sy-tabix.
else.
append itf_para.
endif.
endif.
else.
if ( itf_para-tdformat is initial or
itf_para-tdformat eq '!0' ).
if rtf_command eq true. " if we haven't received expl C&CO format
itf_para-tdformat = '/:'.
elseif rtf_comment eq true.
itf_para-tdformat = '/*'.
elseif rtf_element eq true.
itf_para-tdformat = '/E'.
else.
itf_para-tdformat = rtf_paragraph.
endif.
if sy-subrc eq 0. "Already "fixed" in 740
modify itf_para index sy-tabix.
else.
append itf_para.
endif.
endif.
endif.
ENDIF.
ENDIF.
* Modification of paragraph value
*(4)
if itf_para-tdformat(1) eq '>'.
if g_bcc eq true and
g_bcc_long eq false and
( itf_para-tdline(2) ne '/:' or
itf_para-tdline(2) ne '/*' or
itf_para-tdline(2) is not initial ) and
itf_para-tdline(2) eq g_pf_bcc.
if g_sp_bcc eq true.
itf_para-tdline(2) = ` `.
else.
itf_para-tdline(2) = '= '.
endif.
modify itf_para index 1. "may require fix, who the heck can tell!?!
endif.
else.
if g_bcc eq true and
g_bcc_long eq false and
( itf_para-tdformat ne '/:' or
itf_para-tdformat ne '/*' or
itf_para-tdformat is not initial ) and
itf_para-tdformat eq g_pf_bcc.
if g_sp_bcc eq true.
clear itf_para-tdformat.
else.
itf_para-tdformat = '= '.
endif.
modify itf_para index 1. "may require fix, who the heck can tell!?!
endif.
endif.
*------------------------------------------------------------
APPEND LINES OF itf_para[] TO p_itflines[].
*------------------------------------------------------------
* Set g_sp_bcc in case of text
*(5)
if itf_para-tdformat(1) eq '>'.
if itf_para-tdline(2) ne '/:' and
itf_para-tdline(2) ne '/*' and
itf_para-tdline(2) ne '/E'.
g_sp_bcc = l_sp_bcc.
endif.
if itf_para-tdline(1) co upper_case_letters or
itf_para-tdline(2) eq '* '.
g_pf_bcc = itf_para-tdline(2).
endif.
else.
if itf_para-tdformat ne '/:' and
itf_para-tdformat ne '/*' and
itf_para-tdformat ne '/E'.
g_sp_bcc = l_sp_bcc.
endif.
if itf_para-tdformat(1) co upper_case_letters or
itf_para-tdformat eq '* '.
g_pf_bcc = itf_para-tdformat.
endif.
endif.
*(6)
if itf_para-tdformat(1) eq '>' and
( itf_para-tdline(2) eq '/:' or
itf_para-tdline(2) eq '/*' ) or
( itf_para-tdformat eq '/:' or
itf_para-tdformat eq '/*' ).
g_bcc = true.
g_bcc_long = g_cc_long.
loop at itf_para into l_wa.
if l_wa-tdformat eq '/ ' or
( l_wa-tdformat(1) eq '>' and
l_wa-tdline(2) eq '/ ' ).
g_bcc = false.
g_bcc_long = false.
g_sp_bcc = l_sp_bcc.
exit.
endif.
endloop.
else. " Normal Paragraph
g_bcc = false.
g_bcc_long = false.
g_cc_long = false.
endif.
REFRESH itf_para.
*(7)
data: l_tdf type tdformat.
if itf_para-tdformat(1) eq '>'.
if ( itf_para-tdline(2) eq format-command or " /:
itf_para-tdline(2) eq format-comment or " /*
itf_para-tdline(2) eq format-element or " /E
itf_para-tdline(2) eq hexnull ).
l_tdf = '!0'.
else.
l_tdf = rtf_paragraph.
endif.
else.
if itf_para-tdformat eq format-command or " /:
itf_para-tdformat eq format-comment or " /*
itf_para-tdformat eq format-element or " /E
itf_para-tdformat eq hexnull.
l_tdf = '!0'.
else.
l_tdf = rtf_paragraph.
endif.
endif.
if g_form_protect eq true.
l_tdf = '!0'.
endif.
* Build the new ITF_PARA header
clear itf_para.
if g_locked_section eq true.
concatenate '>' g_template_name into itf_para-tdformat.
itf_para-tdline(2) = l_tdf.
itf_pos = 2.
itf_rest = 70.
else.
itf_para-tdformat = l_tdf.
itf_pos = 0.
itf_rest = 72.
endif.
* Open the char format again, in case opend cs group
if itf_para-tdformat eq rtf_paragraph.
perform read_current_cs changing current_cf.
if not current_cf is initial.
rtf_charformat = true.
cs_counter = cs_counter + 1.
concatenate '<' current_cf '>' into rtf_token.
rtf_token_len = strlen( rtf_token ).
perform put_rtf_token_ns using cf_open.
endif.
endif.
ENDFORM. "rtf_par
I'm kind of lost for words seeing this code... In SAP_BASIS, of all places... To understand and refactor the function group and then stabilize it would probably take months of effort though.
Edit in: or, it could also be that the shortdump is not reporting garbage and one would need to find and and fix the G_BITMAP_TABL modifications...
cheers
Jānis
Message was edited by: Jānis B
08-23-2015 4:39 PM
thanks u.
How can i edit the standard code.
It is asking access key.
08-23-2015 5:53 PM
Access key comes from SAP OSS via registering the object... the key is system specific. That's why I asked if SAP has to support this system...
Edit in: if it's some kind of "demo system" or "trial system" and you have developer access, you could also try to bring the fixed code in via copy-pasting whole new subroutine body into implicit enhancement at the beginning of the subroutine... and at the end of code fix add RETURN statement, so the original SAP code does not get executed... If it's "official system", do go the official way as well - report the bug(s) to OSS.
I hope I'm not violating something in SCN ROE by suggesting all this...
Cheers
Jānis
Message was edited by: Jānis B
08-23-2015 11:16 PM
08-25-2015 7:14 AM
thank u all for ur support and suggestions.
After uninstalling the word i am directly entering to editor window and exexcuted my program succesfully.