Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

A little help! - Function K_KKB_FIELDCAT_MERGE - LINE_TOO_LONG

Former Member
0 Kudos

Hey my sdn's friends:

I've got the following problem.

We're now in finish step of the upgrade for a V. 4.6 to a ECC 6.0

My problem start when i start to check Programms Z, and i've got a Dump Whit the following Message.

Err.tmpo.ejec. READ_REPORT_LINE_TOO_LONG

Excep. CX_SY_READ_SRC_LINE_TOO_LONG

Es wurde versucht, das Programm "ZCORL007R" von der Datenbank zu lesen.

Die Anweisung READ REPORT erlaubt es, einen Programmtext in eine

interne Tabelle zu kopieren. Die belegte Zeilenlänge im Programmtext

darf nicht größer sein als die Breite der internen Tabelle.

Die interne Tabelle "FUNCTION=K_KKB_FIELDCAT_MERGEDATA=L_ABAP_SOURCE[]" ist

72 Zeichen breit. Die Programmzeile

ist 73 Zeichen breit.

That measn that i've got a line with 73 chars, and the maximum alowed is 72...

so i start to check here, in sdn, and i found a many friends with the same problem, so, i read every one of the answers, and i've probes all of the possible solutions, but not result!

I've got the same Dump!

PLease woul u help me.. in my Z Development i've got it:

report zcorl007r no standard page heading.

...[CODE]

data: fieldtab type slis_t_fieldcat_alv,

heading type slis_t_listheader,

layout type slis_layout_alv,

sortinfo type slis_t_sortinfo_alv, " Sort Table

sp_group type slis_t_sp_group_alv, " List Groups

events type slis_t_event,

gs_grid type lvc_s_glay,

repname like sy-repid,

f2code like sy-ucomm value 'PICK',

f2code like sy-ucomm value '%_GC',

refresh type slis_selfield ,"value '&REFRESH',

g_save(1) type c,

g_exit(1) type c,

g_variant like disvariant.

data: begin of reg occurs 0,

cebe like zco_planr-cebe,

aufnr like zco_planr-aufnr,

racct like glpcp-racct,

text(40),

waers like glpcp-rtcur,

sgtxt like glpcp-sgtxt,

hsl01 like glpcp-hsl01,

hsl02 like glpcp-hsl02,

hsl03 like glpcp-hsl03,

hsl04 like glpcp-hsl04,

hsl05 like glpcp-hsl05,

hsl06 like glpcp-hsl06,

hsl07 like glpcp-hsl07,

hsl08 like glpcp-hsl08,

hsl09 like glpcp-hsl09,

hsl10 like glpcp-hsl10,

hsl11 like glpcp-hsl11,

hsl12 like glpcp-hsl12,

hsl13 like glpcp-hsl13,

rvers like glpcp-rvers,

correl like zco_planr-correl,

kokrs like zco_planr-kokrs,

ryear like zco_planr-ryear,

version like zco_planr-version,

version_orig like zco_planr-version_orig,

anual1 like cosp-wtg013,

anual2 like cosp-wtg013,

anual3 like cosp-wtg013,

anual4 like cosp-wtg013,

grord(15),

end of reg.

...[CODE]

repname = sy-repid.

if syst-tfill > 0.

if p_edit = ' '.

perform initialize_fieldcat using fieldtab[]. "Edit

else.

perform initialize_fieldcatt using fieldtab[]. "No Edit

endif.

form initialize_fieldcat using p_fieldtab type slis_t_fieldcat_alv.

data: l_fieldcat type slis_fieldcat_alv.

call function 'REUSE_ALV_FIELDCATALOG_MERGE'

exporting

i_program_name = repname

i_internal_tabname = 'REG'

i_inclname = repname

changing

ct_fieldcat = fieldtab[].

So... can i do 4 got a solution to the dump....

please i pray 4 help

chau!

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Juan Carlos,

I also upgrade recently from 4.6C to ECC 6.0 and it also happend to me.

The problem is that in the new version, code lines are able to be longer than in the old version. Problem is that when u use the function 'REUSE_ALV_FIELDCATALOG_MERGE' and tells him to look for the internal table structure inside your program, the function is going to read your whole program... Inside the function it makes read into a variavel which is not long enough... They forgot to change this.

So, check if nowhere in your report is a code line longer than allowed in the old version. Even comment should not be longer!!!

I hope this will help you. It was my case.

Let me know if it resolves your problem.

Regards,

Marcelo Moreira

11 REPLIES 11

former_member194669
Active Contributor
0 Kudos

Hi,

I find your given code don't have type-pools slis.

Instead of using fm


call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = repname
i_internal_tabname = 'REG'
i_inclname = repname
changing
ct_fieldcat = fieldtab[].

can you try to create the field catalog in the code itself. 

liike eg.

fieldcat-fieldname = 'XXX'.
fieldcat-outputlen = 10.
append fieldcat.

aRs

0 Kudos

you mean create all the field cat field by field...

excuse me, i just got a little bit of experience in abap programming and my english its a little poor..

would u be more specific please

Former Member
0 Kudos

Hi Juan Carlos,

I also upgrade recently from 4.6C to ECC 6.0 and it also happend to me.

The problem is that in the new version, code lines are able to be longer than in the old version. Problem is that when u use the function 'REUSE_ALV_FIELDCATALOG_MERGE' and tells him to look for the internal table structure inside your program, the function is going to read your whole program... Inside the function it makes read into a variavel which is not long enough... They forgot to change this.

So, check if nowhere in your report is a code line longer than allowed in the old version. Even comment should not be longer!!!

I hope this will help you. It was my case.

Let me know if it resolves your problem.

Regards,

Marcelo Moreira

0 Kudos

Marcelo:

I was looking, and i dont got a sentence with more than 72 chars...

what can i do????

really, i need a hand here... this program got 2749 lines, and i check line by line... and the new editor... really really dosen't help too much...

thanx and i will waiting for a response XD

Chau!

0 Kudos

Hi Juan Carlos,

Have a look at the your dump description...doesn´t the dump points out this?

+

361

362 * class cx_sy_read_src_line_too_long definition load.

363 * data: ex_too_long type ref to cx_sy_read_src_line_too_long.

364 * try.

>>>>> read report l_prog_tab_local into l_abap_source.

366 * catch cx_sy_read_src_line_too_long into ex_too_long.

367 * endtry.

368 check sy-subrc eq 0.

+

I simulate the same problem in my system... I know it is quite dificult the find the line in a program of 2749 lines...

Pay attention especially to comment lines.

There are also alternative solutions for your problem, but I think since your are on a upgrade project they would not be the nicest solution.

1. Create the fieldcatalog manually, like the post before

or

2. Create a DDIC struture of your internal table, and then you can use the name of the DDIC struture directly with the function you use to show the ALV.

But my suggestion really is to check again the program of a line that seemes to be too long. More than 72 caracters. Make a commet line of the maximum size or maybe less, like for example 70 caracters and than ajust the whole code on this line.

Let me know some news,

Regards,

Marcelo Moreira

0 Kudos

Hi Marcelo!

Finally i found the mistake..

U was rigth!

A Commentary Line got 73 Chars!, so for that the report goes down every time i try to execute..

But my problem now goes in other side...

Product of the Upgrade, some programs are from Origin System = DES ant some others (like this case) From TST, so, DES is Development, and TST is Test, now, in DES i cant make modify on the report in Commentary Lines, just in original code...

now im trying to change the origin system with a basis to got a results, and thank 4 help!

I copy all the code in another program, i make de change and works, but from political here in my client i cant change the programm

Thank u very much 4 your help... i own u oNe!

0 Kudos

Hi Juan,

I am glad to know that your problem is solved.

I had the same problem, this is why I knew what was wrong.

This forum is quite good for those kind of question...

Good luck for the rest of the upgrade. Award points on the left side.

Regards,

Marcelo Moreira

0 Kudos

Thank you guys,

I had the same problem in a program with 7000 lines.

It solved my problem.

former_member194669
Active Contributor
0 Kudos

Hi,

Like this way.


  fieldtab-fieldname = 'CEBE'.
  fieldtab-tabname   = 'ZCO_PLANR'.
  fieldtab-seltext_m = text-005.
  fieldtab-outputlen = 7.
  append fieldtab.
  clear fieldtab.

  fieldtab-fieldname = 'AUFNR'.
  fieldtab-tabname   = 'ZCO_PLANR'.
  fieldtab-outputlen = 6.
  fieldtab-seltext_m = text-006.
  append fieldtab.
  clear fieldtab.

  fieldtab-fieldname = 'RACCT'.
  fieldtab-tabname   = 'GLPCP'.
  fieldtab-outputlen = 2.
  fieldtab-seltext_m = text-007.
  append fieldtab.
  clear fieldtab.

.........
.........
........

aRs

Former Member
0 Kudos

Hello experts,

i've got same problem.

My solution is simple:

Go to SE80 -> Utilities (Hilfsmittel) -> Settings (Einstellungen) ->

in popup select the register "editor"

at the bottom of the popup in setting "frontend editor (new)"

mark "downwards compatible line length(72)" and save your settings / perhaps customizings in register pretty printer are also necessary

than execute pretty printer

Regards,

Markus

Hi,

Can just mark the correct answer.

Regards,

John.