Skip to Content
0
Jul 22, 2008 at 07:37 PM

What causes the dump here ??

81 Views

Hi,

I have the code below and it dumps right at the CONCATENATE after the LOOP. Am I using the wrong methods ?

AT SELECTION-SCREEN ON VALUE-REQUEST FOR filename.

CALL METHOD cl_gui_frontend_services=>file_open_dialog

EXPORTING

multiselection = abap_false

file_filter = '*.xls'

default_extension = 'xls'

CHANGING

file_table = retfiletable

rc = retrc

user_action = retuseraction.

READ TABLE retfiletable INTO filename INDEX 1.

START-OF-SELECTION.

DATA l_filename TYPE string.

l_filename = filename.

CALL METHOD cl_gui_frontend_services=>gui_upload

EXPORTING

filename = l_filename

has_field_separator = abap_true

CHANGING

data_tab = iimport.

CHECK iimport IS NOT INITIAL.

DELETE FROM zcs_student.

COMMIT WORK AND WAIT.

DATA: temp_id TYPE zcs_student_id,

found_id TYPE boolean,

id_counter(2) TYPE n.

LOOP AT iimport ASSIGNING <wa_input>.

**DUMP* CONCATENATE <wa_input>-lname <wa_input>-fname+0(2) INTO temp_id.

found_id = abap_false.

id_counter = 0.

WHILE found_id = abap_false.

TRANSLATE temp_id TO UPPER CASE.

READ TABLE istudents TRANSPORTING NO FIELDS WITH KEY student_id = temp_id.

IF sy-subrc = 0.

id_counter = id_counter + 1.

CONCATENATE <wa_input>-lname <wa_input>-fname+0(2) INTO temp_id.

temp_id+8(2) = id_counter.

CONDENSE temp_id NO-GAPS.

ELSE.

found_id = abap_true.

ENDIF.

ENDWHILE.

APPEND INITIAL LINE TO istudents ASSIGNING <wa_student>.

<wa_student>-student_id = temp_id.

<wa_student>-first_name = <wa_input>-fname.

<wa_student>-last_name = <wa_input>-lname.

DATA: random TYPE REF TO cl_abap_random.

DATA: seed TYPE i.

DATA: gpa TYPE i.

seed = cl_abap_random=>seed( ).

random = cl_abap_random=>create( seed ).

<wa_student>-credit_hrs = random->intinrange( low = 0 high = 150 ).

gpa = random->intinrange( low = 1000 high = 4000 ).

<wa_student>-gpa = gpa / 1000.

CLEAR random.

ENDLOOP.