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: 

ALV Count

Former Member
0 Kudos

Hello!

How can I sum up in 'REUSE_ALV_DISPLAY_LIST' CHARS or STRINGS? I need to know how many entries I have in the table.

Thank you!

1 REPLY 1

Former Member
0 Kudos

HI

see this report you can know very easily

**************DATA TYPES DECLARATION **********************

TABLES: HRP1001, HRP1026, HRP1000,PCHDY.

TYPE-POOLS SLIS.

TYPES :BEGIN OF ST_OUTPUT,

COUNT TYPE STRING,

OBJID TYPE HRP1001-OBJID,

STEXT TYPE HRP1000-STEXT,

BEGDA TYPE HRP1000-BEGDA,

ENDDA TYPE HRP1000-ENDDA,

CANCRT TYPE T77CRT-CANCRT,

AEDTM TYPE HRP1026-AEDTM,

UNAME TYPE HRP1026-UNAME,

LSTEXT TYPE HRP1000-STEXT,

  • RINVT TYPE T777V-RINVT,

END OF ST_OUTPUT.

TYPES: BEGIN OF ST_HRP1000,

OBJID TYPE HRP1001-OBJID,

STEXT TYPE HRP1000-STEXT,

END OF ST_HRP1000.

TYPES : BEGIN OF ST_HRP1001,

OTYPE TYPE HRP1001-OTYPE,

OBJID TYPE HRP1001-OBJID,

RELAT type hrp1001-RELAT,

BEGDA TYPE HRP1001-BEGDA,

ENDDA TYPE HRP1001-ENDDA,

SCLAS TYPE HRP1001-SCLAS,

SOBID TYPE HRP1001-SOBID,

END OF ST_HRP1001.

TYPES : BEGIN OF ST_HRP1026,

OTYPE TYPE HRP1026-OTYPE,

OBJID TYPE HRP1001-OBJID,

AEDTM TYPE HRP1026-AEDTM,

UNAME TYPE HRP1026-UNAME,

DELET TYPE HRP1026-DELET,

CANCR TYPE HRP1026-CANCR,

END OF ST_HRP1026.

TYPES : BEGIN OF ST_REASON,

CANCR TYPE HRP1026-CANCR,

CANCRT TYPE T77CRT-CANCRT,

END OF ST_REASON.

TYPES : BEGIN OF ST_SOBID,

OTYPE TYPE HRP1001-OTYPE,

OBJID TYPE HRP1001-OBJID,

RELAT type hrp1001-OBJID,

BEGDA TYPE HRP1001-BEGDA,

ENDDA TYPE HRP1001-ENDDA,

SCLAS TYPE HRP1001-SCLAS,

SOBID TYPE HRP1001-OBJID,

END OF ST_SOBID.

TYPES : BEGIN OF ST_OBJID,

OBJID TYPE HRP1001-OBJID,

END OF ST_OBJID.

TYPES : BEGIN OF ST_LOCATION,

OTYPE TYPE HRP1001-OTYPE,

OBJID TYPE HRP1001-OBJID,

RSIGN TYPE HRP1001-RSIGN,

RELAT TYPE HRP1001-RELAT,

SCLAS TYPE HRP1001-SCLAS,

SOBID TYPE HRP1001-SOBID,

END OF ST_LOCATION.

TYPES : BEGIN OF ST_LOCATION1,

OTYPE TYPE HRP1001-OTYPE,

OBJID TYPE HRP1001-OBJID,

RSIGN TYPE HRP1001-RSIGN,

RELAT TYPE HRP1001-RELAT,

SCLAS TYPE HRP1001-SCLAS,

SOBID TYPE HRP1001-OBJID,

END OF ST_LOCATION1.

TYPES : BEGIN OF ST_LSTEXT,

OTYPE TYPE HRP1000-OTYPE,

OBJID TYPE HRP1000-OBJID,

LSTEXT TYPE HRP1000-STEXT,

END OF ST_LSTEXT.

TYPES : BEGIN OF ST_OBJID_SH,

OTYPE TYPE HRP1000-OTYPE,

OBJID TYPE HRP1000-OBJID,

END OF ST_OBJID_SH.

DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.

DATA : WA_OBJID_SH TYPE ST_OBJID_SH.

DATA : IT_LSTEXT TYPE STANDARD TABLE OF ST_LSTEXT. "TOS STORE THE TEXT OF COURCE LOCATION

DATA : WA_LSTEXT TYPE ST_LSTEXT.

DATA : IT_LOCATION TYPE STANDARD TABLE OF ST_LOCATION. " TO STORE THE LOCATION OF COURCE

DATA : WA_LOCATION TYPE ST_LOCATION.

DATA : IT_LOCATION1 TYPE STANDARD TABLE OF ST_LOCATION1. " TO CONVERT SOBID INTO OBJID FOR COURCE LOCATION

DATA : WA_LOCATION1 TYPE ST_LOCATION1.

DATA : IT_SOBID TYPE STANDARD TABLE OF ST_SOBID. " TO CHANGE THE SOBID OF HRP1001 TO OBJID OF HRP1026

DATA : WA_SOBID TYPE ST_SOBID. " BY USING FOR ALL ENTRIES

DATA : IT_REASON TYPE STANDARD TABLE OF ST_REASON. "TO STORE T HE REASON FOR CANCELL TEXT

DATA : WA_REASON TYPE ST_REASON.

DATA : IT_OUTPUT TYPE STANDARD TABLE OF ST_OUTPUT. "OUTPUT FEILDS OF REPORT.

DATA : WA_OUTPUT TYPE ST_OUTPUT.

DATA : IT_OUTPUT_1 TYPE STANDARD TABLE OF ST_OUTPUT. " TEMP OUTPUT FEILDS OF REPORT.

DATA : WA_OUTPUT_1 TYPE ST_OUTPUT.

DATA : IT_HRP1000 TYPE STANDARD TABLE OF ST_HRP1000. "DATA FROM HRP1000 TABLE

DATA : WA_HRP1000 TYPE ST_HRP1000.

DATA : IT_HRP1001 TYPE STANDARD TABLE OF ST_HRP1001. "DATA FROM HRP1001 TABLE

DATA : WA_HRP1001 TYPE ST_HRP1001.

DATA : IT_HRP1026 TYPE STANDARD TABLE OF ST_HRP1026. "DATA FROM HRP1026 TABLE

DATA : WA_HRP1026 TYPE ST_HRP1026.

DATA : IT_OBJID TYPE STANDARD TABLE OF ST_OBJID. " TO STORE THE OBJID OF HRP1001

DATA : WA_OBJID TYPE ST_OBJID.

DATA: WS_FCAT TYPE SLIS_FIELDCAT_ALV . " FEILDCATALOG FOR ALV REPORT

DATA: IN_FCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA: W_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA : LV_COUNT TYPE I. "FEILD FOR SERIAL NUMBER

***************************END OF DATA DECLARATION******************************************

***********SELECTION SCREEN DESIGN***********************

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

*SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .

SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .

SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.

SELECTION-SCREEN END OF BLOCK B1.

**********END OF SELECTION SCREEN DESIGN*****************

*********VALIDATION FOR SCREEN FIELDS********************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.

  • IF S_OBJID IS NOT INITIAL.

SELECT OTYPE OBJID FROM HRP1000

INTO TABLE IT_OBJID_SH

WHERE OTYPE = 'D'.

IF SY-SUBRC EQ 0.

  • SEARCH HELP FOR QUALIFICATION.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'OBJID'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'S_OBJID'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = IT_OBJID_SH

  • FIELD_TAB =

  • RETURN_TAB = RETURN_TAB

  • DYNPFLD_MAPPING =

  • EXCEPTIONS

  • PARAMETER_ERROR = 1

  • NO_VALUES_FOUND = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

.

  • IF SY-SUBRC NE 0.

  • MESSAGE 'NO RECORD FOUND FOR THE GIVEN SELECTION CRITERIA.' TYPE 'E'.

  • ENDIF.

*

  • ENDIF.

  • REFRESH IT_OBJID.

***************VALIDATION OF SCREEN FIELDS ENDS***********

*****************START OF SELECTION ************************

START-OF-SELECTION.

SELECT OTYPE

OBJID

RELAT

BEGDA

ENDDA

SCLAS

SOBID FROM HRP1001 INTO TABLE IT_HRP1001

WHERE OTYPE = 'D'

AND OBJID IN S_OBJID

AND BEGDA GE DATE-LOW

AND ENDDA LE DATE-HIGH

AND ( SCLAS = 'E' OR SCLAS = 'ET' ).

IF SY-SUBRC NE 0.

MESSAGE 'NO RECORD FOUND FOR THE GIVEN SELECTION CRITERIA ' TYPE 'E'.

ENDIF.

LOOP AT IT_HRP1001 INTO WA_HRP1001.

WA_SOBID-OTYPE = WA_HRP1001-OTYPE.

WA_SOBID-OBJID = WA_HRP1001-OBJID.

WA_SOBID-RELAT = WA_HRP1001-RELAT.

WA_SOBID-BEGDA = WA_HRP1001-BEGDA.

WA_SOBID-ENDDA = WA_HRP1001-ENDDA.

WA_SOBID-SCLAS = WA_HRP1001-SCLAS.

WA_SOBID-SOBID = WA_HRP1001-SOBID.

APPEND WA_SOBID TO IT_SOBID.

ENDLOOP.

SELECT OTYPE

OBJID

AEDTM

UNAME

DELET

CANCR

  • NCONT

FROM HRP1026

INTO TABLE IT_HRP1026

FOR ALL ENTRIES IN IT_SOBID

WHERE OBJID = IT_SOBID-SOBID

AND ( OTYPE = 'E' OR OTYPE = 'ET' )

AND DELET = 'X' AND

BEGDA GE DATE-LOW AND

ENDDA LE DATE-HIGH.

IF SY-SUBRC EQ 0.

SELECT OBJID

STEXT

FROM HRP1000

INTO TABLE IT_HRP1000

FOR ALL ENTRIES IN IT_SOBID

WHERE OBJID = IT_SOBID-SOBID AND

BEGDA GE DATE-LOW AND

ENDDA LE DATE-HIGH.

SELECT CANCR

CANCRT

FROM T77CRT

INTO TABLE IT_REASON

FOR ALL ENTRIES IN IT_HRP1026

WHERE CANCR = IT_HRP1026-CANCR

AND LANGU = 'E' .

********PERFORM FOR GETTING T HE LOCATION OF THE COURCE**

PERFORM GET_LOCATION.

**************END OF LOCATION OF COURCE ******************

ELSE.

MESSAGE 'NO RECORD FOUND FOR THE GIVEN SELECTION CRITERIA ' TYPE 'E'.

ENDIF.

*****PERFORM FOR GETTING DATA INTO THE FINAL INTERNAL TABLE IT_OUTPUT**

PERFORM GET_DATA.

*********************************END OF PERFORM ET DATA ***************

<b>***********LOGIC FOR PRONTING NUMBER OF RECORDS ***********************

LV_COUNT = 0.

LOOP AT IT_OUTPUT INTO WA_OUTPUT.

LV_COUNT = LV_COUNT + 1.

WA_OUTPUT-COUNT = LV_COUNT.

APPEND WA_OUTPUT TO IT_OUTPUT_1.

ENDLOOP.

REFRESH IT_OUTPUT.

IT_OUTPUT = IT_OUTPUT_1.

********************END OF LOGIC FOR NUMBER OF RECORDS ***************</b>

****************DISPLAYING OUTPUT BY USEING GRID DISPLAY**********

PERFORM ALV_DISPLAY.

****************************END OF PERFORM FOR DISPLAYING **********

&----


*& Form PERFORM_ALV

&----


  • DISPLAY THE RECORDS IN ALV GRID FORMAT.

----


FORM ALV_DISPLAY.

PERFORM FIELD_CATALOG USING 'COUNT' 'Sr. No.'.

PERFORM FIELD_CATALOG USING 'OBJID' 'COURCE ID.'.

PERFORM FIELD_CATALOG USING 'STEXT' 'COURCE NAME'.

PERFORM FIELD_CATALOG USING 'LSTEXT' 'COURCE LOATION'.

PERFORM FIELD_CATALOG USING 'BEGDA' 'BEGIN DATE '.

PERFORM FIELD_CATALOG USING 'ENDDA' 'END DATE '.

PERFORM FIELD_CATALOG USING 'CANCRT' 'REASON'.

PERFORM FIELD_CATALOG USING 'AEDTM' 'DATE Of CANCEL'.

  • PERFORM FIELD_CATALOG USING 'NCONT' 'NUMBER OF BOOKINGS'.

  • PERFORM FIELD_CATALOG USING 'LOCTX' 'COURCE LOCATION'.

PERFORM FIELD_CATALOG USING 'UNAME' 'WHO CANCELLED'.

  • PERFORM FIELD_CATALOG USING 'LSTEXT' 'COURCE LOATION'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_STRUCTURE_NAME = 'IT_OUTPUT'

I_GRID_TITLE = ' Cancelled courses with reason '

IT_FIELDCAT = IN_FCAT

TABLES

T_OUTTAB = IT_OUTPUT.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDFORM. "PERFORM_ALV

&----


*& Form FIELD_CATALOG

&----


  • text

----


  • -->FIELD_NAME text

  • -->DIS_TEXT text

----


FORM FIELD_CATALOG USING FIELD_NAME DIS_TEXT.

CLEAR WS_FCAT.

WS_FCAT-TABNAME = 'IT_OUTPUT'.

WS_FCAT-FIELDNAME = FIELD_NAME.

WS_FCAT-SELTEXT_M = DIS_TEXT.

APPEND WS_FCAT TO IN_FCAT .

ENDFORM. "FIELD_CATALOG

&----


*& Form GET_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA .

*sort it_sobid by objid.

LOOP AT IT_SOBID INTO WA_SOBID." where otype eq s_otype and objid eq s_objid.

READ TABLE IT_HRP1026 WITH KEY OBJID = WA_SOBID-SOBID OTYPE = WA_SOBID-SCLAS INTO WA_HRP1026.

IF SY-SUBRC EQ 0.

READ TABLE IT_HRP1000 WITH KEY OBJID = WA_SOBID-SOBID INTO WA_HRP1000.

  • READ TABLE IT_REASON WITH KEY CANCR = WA_HRP1026-CANCR INTO WA_REASON.

WA_OUTPUT-OBJID = WA_HRP1026-OBJID.

WA_OUTPUT-BEGDA = WA_SOBID-BEGDA.

WA_OUTPUT-ENDDA = WA_SOBID-ENDDA.

WA_OUTPUT-AEDTM = WA_HRP1026-AEDTM.

WA_OUTPUT-UNAME = WA_HRP1026-UNAME.

  • WA_OUTPUT-NCONT = WA_HRP1026-NCONT.

  • READ TABLE IT_HRP1000 WITH KEY OBJID = WA_SOBID-SOBID INTO WA_HRP1000.

WA_OUTPUT-STEXT = WA_HRP1000-STEXT.

READ TABLE IT_REASON WITH KEY CANCR = WA_HRP1026-CANCR INTO WA_REASON.

WA_OUTPUT-CANCRT = WA_REASON-CANCRT.

CLEAR WA_REASON-CANCRT.

READ TABLE IT_LOCATION1 WITH KEY OBJID = WA_HRP1026-OBJID INTO WA_LOCATION1..

READ TABLE IT_LSTEXT WITH KEY OBJID = WA_LOCATION1-SOBID OTYPE = 'F' INTO WA_LSTEXT.

WA_OUTPUT-LSTEXT = WA_LSTEXT-LSTEXT.

CLEAR WA_LSTEXT-LSTEXT.

APPEND WA_OUTPUT TO IT_OUTPUT.

CLEAR WA_OUTPUT.

CLEAR WA_OUTPUT-CANCRT.

ENDIF.

ENDLOOP.

ENDFORM. " GET_DATA

&----


*& Form GET_LOCATION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_LOCATION .

SELECT OTYPE

OBJID

RSIGN

RELAT

SCLAS

SOBID

FROM HRP1001

INTO TABLE IT_LOCATION

FOR ALL ENTRIES IN IT_HRP1026

WHERE OTYPE = 'E' AND OBJID = IT_HRP1026-OBJID

AND RSIGN = 'A' AND RELAT = '024' AND SCLAS = 'F'

AND BEGDA GE DATE-LOW AND ENDDA LE DATE-HIGH.

IF SY-SUBRC NE 0.

MESSAGE 'NO RECORD FOUND FOR THE GIVEN SELECTION CRITERIA ' TYPE 'E'.

ENDIF.

LOOP AT IT_LOCATION INTO WA_LOCATION.

WA_LOCATION1-OTYPE = WA_LOCATION-OTYPE.

WA_LOCATION1-OBJID = WA_LOCATION-OBJID.

WA_LOCATION1-RSIGN = WA_LOCATION-RSIGN.

WA_LOCATION1-RELAT = WA_LOCATION-RELAT.

WA_LOCATION1-SCLAS = WA_LOCATION-SCLAS.

WA_LOCATION1-SOBID = WA_LOCATION-SOBID.

APPEND WA_LOCATION1 TO IT_LOCATION1.

  • CLEAR WA_LOCATION1.

ENDLOOP.

SELECT OTYPE

OBJID

STEXT

FROM HRP1000

INTO TABLE IT_LSTEXT

FOR ALL ENTRIES IN IT_LOCATION1

WHERE OBJID = IT_LOCATION1-SOBID

AND OTYPE = 'F'.

  • AND BEGDA GE DATE-LOW

  • AND ENDDA LE DATE-HIGH.

ENDFORM. " GET_LOCATION

<b>Reward if usefull</b>