2022 Nov 16 10:55 AM
I am a new ABAP Learner and don't know so much about ABAP but I'm trying to learn new things.
Currently while writing a program I am getting this error while executing :-
The current ABAP program "SAPLSLVC" had to be terminated because it has
come across a statement that unfortunately cannot be executed.
Code:-
REPORT ZYZ_TEST.
TABLES ZSTEST.
DATA: IT_ST TYPE TABLE OF ZSTEST,
WA_ST TYPE ZSTEST,
IT_FINAL TYPE TABLE OF ZSTEST,
T_MARKS TYPE I,
DAYS TYPE P VALUE '365.25',
AGE TYPE I.
SELECT-OPTIONS: S_ID FOR ZSTEST-STUDENT_ID OBLIGATORY,
S_DOB FOR ZSTEST-DATE_OF_BIRTH NO INTERVALS NO-EXTENSION.
SELECT * FROM ZSTEST INTO TABLE IT_ST
WHERE STUDENT_ID IN S_ID AND DATE_OF_BIRTH IN S_DOB.
IF sy-subrc <> 0.
MESSAGE ' Please Provide Student ID in between 110 and 120' TYPE 'E'.
ENDIF.
LOOP AT IT_ST INTO WA_ST.
T_MARKS = ( WA_ST-CHEMISTRY + WA_ST-PHYSICS + WA_ST-MATHS ).
AGE = ( SY-DATUM - WA_ST-DATE_OF_BIRTH ) / DAYS .
WA_ST-TOTAL_MARKS = T_MARKS.
WA_ST-AGE = AGE.
APPEND WA_ST TO IT_FINAL.
ENDLOOP.
MODIFY ZSTEST FROM TABLE IT_FINAL.
TYPE-POOLS: SLIS.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
PERFORM WA_FIELDCAT USING 'Student_ID' 'Student ID'. "Fieldname in the data table and Column description in the output.
PERFORM WA_FIELDCAT USING 'Student_Name' 'Student Name'.
PERFORM WA_FIELDCAT USING 'DATE_OF_BIRTH' 'Date of Birth'.
PERFORM WA_FIELDCAT USING 'PHYSICS' 'PHYSICS'.
PERFORM WA_FIELDCAT USING 'CHEMISTRY' 'Chemistry'.
PERFORM WA_FIELDCAT USING 'MATHS' 'Maths'.
PERFORM WA_FIELDCAT USING 'TOTAL_MARKS' 'Total Marks'.
PERFORM WA_FIELDCAT USING 'AGE' 'Age'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
FORM WA_FIELDCAT USING VALUE(P_FIELDNAME)
VALUE(P_SELTEXT).
WA_FIELDCAT-FIELDNAME = P_FIELDNAME.
WA_FIELDCAT-TABNAME = 'it_final'.
WA_FIELDCAT-SELTEXT_M = P_SELTEXT.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM.
Waiting for positive responses and Thanks in Advance.
2022 Nov 16 11:02 AM
Hello starboysb2503
Use capital letters to populate FIELDNAME and TABNAME in the ALV field catalog. Try the following quick fixFORM WA_FIELDCAT USING VALUE(P_FIELDNAME)
VALUE(P_SELTEXT).
WA_FIELDCAT-FIELDNAME = P_FIELDNAME. TRANSLATE WA_FIELDCAT-FIELDNAME TO UPPER CASE.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_M = P_SELTEXT.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM.
Best regardsDominik Tylczynski
2022 Nov 16 10:58 AM
2022 Nov 16 11:02 AM
Hello starboysb2503
Use capital letters to populate FIELDNAME and TABNAME in the ALV field catalog. Try the following quick fixFORM WA_FIELDCAT USING VALUE(P_FIELDNAME)
VALUE(P_SELTEXT).
WA_FIELDCAT-FIELDNAME = P_FIELDNAME. TRANSLATE WA_FIELDCAT-FIELDNAME TO UPPER CASE.
WA_FIELDCAT-TABNAME = 'IT_FINAL'.
WA_FIELDCAT-SELTEXT_M = P_SELTEXT.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM.
Best regardsDominik Tylczynski
2022 Nov 16 11:34 AM
Thanks for your quick response.
FYI earlier this code was working fine but I don't know why It's not working now. 🙁
2022 Nov 16 2:32 PM
You can find answers in the forum. The field names must be given in capital letters.
You'd better not use REUSE_ALV_GRID_DISPLAY -> Use the modern CL_SALV_TABLE, this error doesn't happen.
Please edit your question (there's a button to edit your question) and use the button CODE to make your code legible, as already requested by Dominik.