Application Development and Automation 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: 
Read only

ALV dump.

Former Member
0 Likes
1,955

Hi,

I have written a alv program using function "REUSE_ALV_LIST_DISPLAY". When I execute program , alv list gets displayed, however, when I press change layout or select all or back button it gives below error.

"The current statement only supports character-type data objects."

"In statement

"STRLEN( obj )..."

the argument "obj" can only take a character-type data object.

In this case, the operand "obj" has the non-character type "P"."

I am not getting why this error is coming only after pressing button on alv toolbar. I have given checkbox in front of each record. I can manually select each check box. but if i press select all button on the toolbar, it gives above error.

Please help.

Regards,

Santosh

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,866

Hi Santosh,

The problem is in your field catalogue internal table. When you change the layout, you must have written a code to modify the fieldcatalogue internal table as per the new layout. While modifying the field catalogue internal table, check if the 'DATATYPE' field of that internal table is getting populated with 'CHAR' and 'INTTYPE' is getting populated with 'C' for amount fields, . If yes,make this 'DATATYPE' and 'INTTYPE' fields blank for amount fileds.

Regards,

Pranjali

14 REPLIES 14
Read only

Former Member
0 Likes
1,866

Hi Santosh

you are getting dump on the statement...

"STRLEN( obj )..." is it from your code or from std sap code ?

Please paste your code here to find out the issue.

Edited by: Sachin Patil on Sep 24, 2010 11:09 AM

Read only

Sandeep_Panghal
Product and Topic Expert
Product and Topic Expert
0 Likes
1,866

The error is valid .

STRLEN will not work for data type P.

Read only

Former Member
0 Likes
1,866

I am getting error in below program

Main Program : SAPLKKBL

Source code of : LKKBLF01

Following is the dump text

"The termination occurred in the ABAP program "SAPLKKBL" in "FIELDS_READ".

The main program was "ZCOLLECTION_AGENCY_REPORT ".

The termination occurred in line 5310 of the source code of the (Include)

program "LKKBLF01"

of the source code of program "LKKBLF01" (when calling the editor 53100)."

Read only

0 Likes
1,866

cehck this program ZCOLLECTION_AGENCY_REPORT for strlen and rectify it.

Read only

0 Likes
1,866

Hi,

do a consistency check for you ALV.

It will help to remove other inconsistencies in your ALV too.

Press shift in empty area of ALV and right double click.
You will see all the incosistencies your ALV.

Regards,

Sumit

Read only

0 Likes
1,866

Hi,

Check if your program contains any fields of type P in the fieldcatalog.

Regards,

Srini.

Read only

former_member188827
Active Contributor
0 Likes
1,866

The problem lies in your fieldcatalog.please provide field details of your field catalog.

Read only

Former Member
0 Likes
1,866
 FORM build_catalogue .

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'SEL'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Sel'.
  g_fieldcat-checkbox = 'X'.
  g_fieldcat-input    = 'X'.
  IF r_report = 'X'.
    g_fieldcat-no_out    = 'X'.
  ENDIF.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'XBLNR'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Agent'.
  g_fieldcat-no_out    = 'X'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'POST_DOC'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Posted Document'.
  IF r_post = 'X'.
    g_fieldcat-no_out    = 'X'.
  ENDIF.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'VERTN'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Contract'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'KUNNR'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Hirer Code'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'NAME1'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Hirer Name                             .'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'XREF3'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Receipt No.'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'BLDAT'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Base Line Dt'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'XREF1'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Receipt Amt'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'BELNR'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Document No.'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  CLEAR g_fieldcat.
  g_fieldcat-fieldname = 'WRBTR'.
  g_fieldcat-tabname   = 'IT_DATA'.
  g_fieldcat-seltext_l = 'Commision Charges'.
  APPEND g_fieldcat TO g_fieldcat_tab.

  IF r_post = 'X'.
    CLEAR g_fieldcat.
    g_fieldcat-fieldname = 'C_WRBTR'.
    g_fieldcat-tabname   = 'IT_DATA'.
    g_fieldcat-seltext_l = 'Add Amount'.
    g_fieldcat-input     = 'X'.
    APPEND g_fieldcat TO g_fieldcat_tab.

    CLEAR g_fieldcat.
    g_fieldcat-fieldname = 'D_WRBTR'.
    g_fieldcat-tabname   = 'IT_DATA'.
    g_fieldcat-seltext_l = 'Subtract Amt'.
    g_fieldcat-input     = 'X'.
    APPEND g_fieldcat TO g_fieldcat_tab.
  ENDIF.
Read only

0 Likes
1,866

Hi,

Check your fields 'WRBTR' , 'C_WRBTR' , 'D_WRBTR' in internal table 'IT_DATA' ..

These should be declared as char.

Regards,

Srini.

Read only

Former Member
0 Likes
1,867

Hi Santosh,

The problem is in your field catalogue internal table. When you change the layout, you must have written a code to modify the fieldcatalogue internal table as per the new layout. While modifying the field catalogue internal table, check if the 'DATATYPE' field of that internal table is getting populated with 'CHAR' and 'INTTYPE' is getting populated with 'C' for amount fields, . If yes,make this 'DATATYPE' and 'INTTYPE' fields blank for amount fileds.

Regards,

Pranjali

Read only

0 Likes
1,866

thats why you do a REUSE_ALV_FIELDCATALOG_MERGE instead of building it manually.

Read only

Former Member
0 Likes
1,866

This problem is not coming in development & quality server. it is only coming in production server. i dont know why this happening ??

Read only

0 Likes
1,866

Why dnt you use Grid instead of list i.e.'REUSE_ALV_GRID_DISPLAY'

Regards

Rahul

Edited by: drahulmore on Sep 24, 2010 1:20 PM

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
1,866

Just a hunch

are you trying to sum a character field ??? or something related to currency & quantity field.

Anyways as said you can perform the consistency check and find it out.