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: 

total number of records in given range.

Former Member
0 Kudos

total number of records in given range.

-


Hi all ,

I have the Requirement as follows.

I Have a Table which Contains Duplicate Dates like

22.11.2006

15.11.2006

31.10.2006

15.09.2006

15.09.2006

14.09.2006

15.09.2006

14.09.2006

16.09.2006

etc...

The input is monday of any week of a Year. Suppose 3 rd week starts from 15.11.2006 and ends to 21.11.2006. Weekly 5 days are working days. If i ienter the 15.09.2006 as input.....

The Required out put is : 5 Records ( In above example 15.09.2006 to 21.09.2006 total Number of records is 5. I mean 15.09.2006 is Found 4 times + 16.09.2006 is found 1 time in the Specied Range.

total: 4+1 = 5 records.)

Simply...my requirement is to find total number of Records(with Duplicates) in the Given range .

thanks in Advance

sivaranga& Krish...

6 REPLIES 6

anversha_s
Active Contributor
0 Kudos

hi,

1. select all record into an itab.

2. loop the itab into wa.

<b> if wa-fdate_field IN s_date.</b>

append wa to ITAB_NEW.

endif.

3. in ITAB_NEW u will get the records in range

rgds

anver

Former Member
0 Kudos

Hullo

    SELECT COUNT( * ) FROM <table>
                      INTO <amount_of_dates>
                     WHERE from    LE <begin_date>
                       AND to      GE <end_date>.

Hope this helps.

Former Member
0 Kudos

Hi Siva,

You can perhaps do an algorithm like this :

data : count type i.

count = 0.

LOOP AT i_tab WHERE date >= '20060915' AND date <= '20060921'.

ADD 1 TO count.

ENDLOOP.

Hope it helps,

Mathieu

Former Member
0 Kudos

Use SELECT count(*)

Former Member
0 Kudos

this is the code. Where i have to make changes..

this is the program which they given

*********************************************************************

  • Report Title: /GIL/ZZKWKBKS

  • Author: XNIMKARP

  • Creation Date: 29.09.2006

  • ZSAO System: <&system> (blue)

  • ZSAO System Fct.: <&sf> (green)

  • DER: DER&

  • HLD: HLD&

  • Request number:

*----


  • Description (technical)

  • &

  • &

  • &

  • ===================================================================

  • Modification History (recent on top / refs: MODnnn+ or MODnnn-)

  • -------------------------------------------------------------------

  • Modification Number: MODnnn

  • Modifier: &userid

  • Modification Date: &

  • Change object: DER, TPR, Clarify number

  • Request number:

  • Description

  • &

  • -------------------------------------------------------------------

  • Modification Number: MOD001

  • Modifier: &userid

  • Modification Date: &

  • Change object: DER, TPR, Clarify number

  • Request number:

  • Description

  • &

*********************************************************************

REPORT /GIL/ZZKWKBKS

MESSAGE-ID ?? "....

  • NO STANDARD PAGE HEADING

  • LINE-COUNT 65(0)

  • LINE-SIZE 132.

.

eject*******************************************************

  • Data Declaration Section *

**************************************************************

----


  • TABLE declarations for select-options only *

----


TABLES: /GIL/ZZKDERMAST ,

/GIL/ZZKCOMBOOK ,

/GIL/ZZKWEEKID .

----


  • SELECT-OPTIONS and PARAMETERS *

----


SELECT-OPTIONS:

S_STRWK FOR /GIL/ZZKWEEKID-STRWK NO INTERVALS . "....

"PARAMETERS:

" P_???? TYPE ????-????? DEFAULT ?, "description ????

" PX_??? AS CHECKBOX "description ????

----


  • TYPES *

----


TYPES:

begin of T_IT_OUTTAB ,

STRWK like /GIL/ZZKCOMBOOK-STRWK ,

CSTMZ like /GIL/ZZKDERMAST-CSTMZ ,

NAME_TEXT like ADRP-NAME_TEXT ,

DERNO like /GIL/ZZKCOMBOOK-DERNO ,

BNAME like /GIL/ZZKCOMBOOK-BNAME ,

HRSBK like /GIL/ZZKCOMBOOK-HRSBK ,

STATS like /GIL/ZZKDERMAST-STATS ,

CLSDT like /GIL/ZZKDERMAST-CLSDT ,

MNTHI like /GIL/ZZKWEEKID-MNTHI ,

QRTRI like /GIL/ZZKWEEKID-QRTRI ,

end of T_IT_OUTTAB .

TYPES:

begin of T_IT_WEEKSUM ,

STRWK like /GIL/ZZKCOMBOOK-STRWK ,

MNTHI like /GIL/ZZKWEEKID-MNTHI ,

QRTRI like /GIL/ZZKWEEKID-QRTRI ,

DEVHRS like /GIL/ZZKCOMBOOK-HRSBK ,

CUSHRS like /GIL/ZZKCOMBOOK-HRSBK ,

TOTHRS like /GIL/ZZKCOMBOOK-HRSBK ,

DVMHRS like /GIL/ZZKCOMBOOK-HRSBK ,

CSMHRS like /GIL/ZZKCOMBOOK-HRSBK ,

TOMHRS like /GIL/ZZKCOMBOOK-HRSBK ,

DVQHRS like /GIL/ZZKCOMBOOK-HRSBK ,

CSQHRS like /GIL/ZZKCOMBOOK-HRSBK ,

TOQHRS like /GIL/ZZKCOMBOOK-HRSBK ,

TOTDER like /GIL/ZZKCOMBOOK-HRSBK ,

TOMDER like /GIL/ZZKCOMBOOK-HRSBK ,

TOQDER like /GIL/ZZKCOMBOOK-HRSBK ,

end of T_IT_WEEKSUM .

TYPES:

begin of T_IT_DEVSUM ,

NAME_TEXT like ADRP-NAME_TEXT ,

HRSBK like /GIL/ZZKCOMBOOK-HRSBK ,

end of T_IT_DEVSUM .

"TYPES: T_FL_??? TYPE ????-?????. "description ???

"TYPES: T_IT_??? TYPE ????-?????. "description ???

----


  • VARIABLES *

----


"DATA: V_??? TYPE ????-?????. "field description

"DATA: VX_??? TYPE ????-?????. "flag description

DATA: VIT_DATATAB TYPE T_IT_OUTTAB occurs 0 with header line.

DATA: VIT_WEEKSUM TYPE T_IT_WEEKSUM occurs 0 with header line.

DATA: VIT_DEVSUM TYPE T_IT_DEVSUM occurs 0 with header line.

----


  • constants *

----


CONSTANTS: C_BR1 TYPE C VALUE '(' ,

C_BR2 TYPE C VALUE ')' ,

C_DASH TYPE C VALUE '-' ,

C_005 TYPE I VALUE '5' ,

C_006 TYPE I VALUE '6' ,

C_030 TYPE I VALUE '30' ,

C_031 TYPE I VALUE '31' ,

C_055 TYPE I VALUE '55' ,

C_056 TYPE I VALUE '56' ,

C_080 TYPE I VALUE '80' ,

C_081 TYPE I VALUE '81' ,

C_105 TYPE I VALUE '105' ,

C_106 TYPE I VALUE '106' ,

C_125 TYPE I VALUE '126' ,

C_130 TYPE I VALUE '130' ,

C_150 TYPE I VALUE '150' .

eject*******************************************************

  • program section (EVENTS) *

**************************************************************

----


  • start of database access *

----


START-OF-SELECTION.

PERFORM FETCH_BOOKING_DATA .

PERFORM FETCH_USER_DATA .

PERFORM WEEKLY_CUMULATION .

TOP-OF-PAGE.

PERFORM WRITE_HEADER .

&----


*& Form FETCH_BOOKING_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_BOOKING_DATA .

select a~STRWK

a~DERNO

a~BNAME

a~HRSBK

b~STATS

b~CLSDT

b~CSTMZ

c~MNTHI

c~QRTRI

into corresponding fields of table VIT_DATATAB

from /GIL/ZZKCOMBOOK as a

inner join /GIL/ZZKDERMAST as b

on bBNAME = aBNAME

and bDERNO = aDERNO

inner join /GIL/ZZKWEEKID as c

on cSTRWK = aSTRWK

where a~STRWK in S_STRWK .

if SY-SUBRC <> 0 .

WRITE /10 TEXT-001.

EXIT .

endif .

ENDFORM. " FETCH_BOOKING_DATA

&----


*& Form FETCH_USER_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FETCH_USER_DATA .

DATA:

BEGIN OF LIT_USER OCCURS 0 ,

BNAME like /GIL/ZZKCOMBOOK-BNAME ,

NAME_TEXT like ADRP-NAME_TEXT ,

END OF LIT_USER .

DATA : L_SY_TABIX LIKE SY-TABIX .

LOOP AT VIT_DATATAB .

MOVE-CORRESPONDING VIT_DATATAB TO LIT_USER .

APPEND LIT_USER .

ENDLOOP .

DELETE ADJACENT DUPLICATES FROM LIT_USER COMPARING BNAME .

if LIT_USER[] is not initial .

SELECT BBNAME ANAME_TEXT

INTO corresponding fields of table LIT_USER

FROM ADRP AS A

INNER JOIN USR21 AS B

ON BPERSNUMBER = APERSNUMBER

for all entries in LIT_USER

WHERE B~BNAME = LIT_USER-BNAME .

endif.

loop at VIT_DATATAB .

L_SY_TABIX = SY-TABIX .

read table LIT_USER with key BNAME = VIT_DATATAB-BNAME .

if sy-subrc = 0 .

VIT_DATATAB-NAME_TEXT = LIT_USER-NAME_TEXT .

modify VIT_DATATAB index L_SY_TABIX .

endif .

endloop.

ENDFORM. " FETCH_USER_DATA

&----


*& Form WEEKLY_CUMULATION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WEEKLY_CUMULATION .

DATA:

L_PREV_MNTHI like /GIL/ZZKWEEKID-MNTHI ,

L_PREV_QRTRI like /GIL/ZZKWEEKID-QRTRI ,

LFL_DATATAB_WA TYPE T_IT_OUTTAB .

SORT VIT_DATATAB BY STRWK CSTMZ NAME_TEXT .

loop at VIT_DATATAB .

move-corresponding VIT_DATATAB to LFL_DATATAB_WA .

AT END OF NAME_TEXT .

SUM .

VIT_DEVSUM-NAME_TEXT = VIT_DATATAB-NAME_TEXT .

VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .

APPEND VIT_DEVSUM .

ENDAT .

AT END OF CSTMZ .

SUM .

if LFL_DATATAB_WA-CSTMZ IS INITIAL .

VIT_DEVSUM-NAME_TEXT = TEXT-011 .

else.

VIT_DEVSUM-NAME_TEXT = TEXT-012 .

endif.

VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .

APPEND VIT_DEVSUM .

ENDAT .

AT END OF STRWK .

CLEAR: VIT_WEEKSUM-DEVHRS ,

VIT_WEEKSUM-CUSHRS ,

VIT_WEEKSUM-TOTHRS .

VIT_WEEKSUM-STRWK = LFL_DATATAB_WA-STRWK .

VIT_WEEKSUM-MNTHI = LFL_DATATAB_WA-MNTHI .

VIT_WEEKSUM-QRTRI = LFL_DATATAB_WA-QRTRI .

SUM .

VIT_WEEKSUM-TOTHRS = VIT_DATATAB-HRSBK .

VIT_DEVSUM-NAME_TEXT = TEXT-013 .

VIT_DEVSUM-HRSBK = VIT_DATATAB-HRSBK .

APPEND VIT_DEVSUM .

SELECT SUM( HRSBK )

INTO VIT_WEEKSUM-CUSHRS

from /GIL/ZZKWEKBK

where STRWK = LFL_DATATAB_WA-STRWK

AND CSTMZ NE SPACE .

VIT_WEEKSUM-DEVHRS =

VIT_WEEKSUM-TOTHRS - VIT_WEEKSUM-CUSHRS .

IF LFL_DATATAB_WA-MNTHI <> L_PREV_MNTHI .

  • if week falls in differnet month .

L_PREV_MNTHI = LFL_DATATAB_WA-MNTHI .

CLEAR: VIT_WEEKSUM-DVMHRS ,

VIT_WEEKSUM-CSMHRS ,

VIT_WEEKSUM-TOMHRS .

SELECT SUM( HRSBK )

INTO VIT_WEEKSUM-DVMHRS

from /GIL/ZZKWEKBK

where MNTHI = LFL_DATATAB_WA-MNTHI

AND CSTMZ EQ SPACE .

SELECT SUM( HRSBK )

INTO VIT_WEEKSUM-CSMHRS

from /GIL/ZZKWEKBK

where MNTHI = LFL_DATATAB_WA-MNTHI

AND CSTMZ NE SPACE .

VIT_WEEKSUM-TOMHRS =

VIT_WEEKSUM-DVMHRS + VIT_WEEKSUM-CSMHRS .

ENDIF .

IF LFL_DATATAB_WA-QRTRI <> L_PREV_QRTRI .

L_PREV_QRTRI = LFL_DATATAB_WA-QRTRI .

SELECT SUM( HRSBK )

INTO VIT_WEEKSUM-DVQHRS

from /GIL/ZZKWEKBK

where QRTRI = LFL_DATATAB_WA-QRTRI

AND CSTMZ EQ SPACE .

SELECT SUM( HRSBK )

INTO VIT_WEEKSUM-CSQHRS

from /GIL/ZZKWEKBK

where QRTRI = LFL_DATATAB_WA-QRTRI

AND CSTMZ NE SPACE .

VIT_WEEKSUM-TOQHRS =

VIT_WEEKSUM-DVQHRS + VIT_WEEKSUM-CSQHRS .

ENDIF .

APPEND VIT_WEEKSUM .

NEW-PAGE .

PERFORM WRITE_WEEKLY_STATISTICS .

PERFORM WRITE_DEVELOPER_STATISTICS .

ENDAT .

endloop .

ENDFORM. " WEEKLY_CUMULATION

&----


*& Form WRITE_DEVELOPER_STATISTICS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WRITE_DEVELOPER_STATISTICS .

SKIP 2.

WRITE AT: /C_005 TEXT-014 .

ULINE AT /C_005(C_125) .

WRITE AT:/C_005 SY-VLINE ,

C_006 TEXT-014 ,

C_080 SY-VLINE ,

C_081 TEXT-015 ,

C_130 SY-VLINE .

WRITE AT: C_005 SY-VLINE ,

C_080 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT /C_005(C_125) .

loop at VIT_DEVSUM .

CASE VIT_DEVSUM-NAME_TEXT .

WHEN TEXT-011 .

WRITE AT:/C_005 SY-VLINE ,

C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_NEGATIVE ,

C_080 SY-VLINE ,

C_081 VIT_DEVSUM-HRSBK COLOR COL_NEGATIVE ,

C_130 SY-VLINE .

WHEN TEXT-012 .

WRITE AT:/C_005 SY-VLINE ,

C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_NEGATIVE ,

C_080 SY-VLINE ,

C_081 VIT_DEVSUM-HRSBK COLOR COL_NEGATIVE ,

C_130 SY-VLINE .

WHEN TEXT-013 .

WRITE AT:/C_005 SY-VLINE ,

C_006 VIT_DEVSUM-NAME_TEXT COLOR COL_TOTAL ,

C_080 SY-VLINE ,

C_081 VIT_DEVSUM-HRSBK COLOR COL_TOTAL ,

C_130 SY-VLINE .

WHEN OTHERS .

WRITE AT:/C_005 SY-VLINE ,

C_006 VIT_DEVSUM-NAME_TEXT ,

C_080 SY-VLINE ,

C_081 VIT_DEVSUM-HRSBK ,

C_130 SY-VLINE .

ENDCASE .

WRITE AT: C_005 SY-VLINE ,

C_080 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT /C_005(C_125) .

endloop .

REFRESH VIT_DEVSUM .

CLEAR VIT_DEVSUM .

ENDFORM. " WRITE_DEVELOPER_STATISTICS

&----


*& Form WRITE_WEEKLY_STATISTICS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WRITE_WEEKLY_STATISTICS .

SKIP 2.

ULINE AT C_005(C_125) .

WRITE AT: /C_005 SY-VLINE ,

C_006 TEXT-003 ,

C_030 SY-VLINE ,

C_031 TEXT-004 ,

C_055 SY-VLINE ,

C_056 TEXT-005 ,

C_080 SY-VLINE ,

C_081 TEXT-006 ,

C_105 SY-VLINE ,

C_106 TEXT-007 ,

C_130 SY-VLINE .

WRITE AT: /C_005 SY-VLINE ,

C_030 SY-VLINE ,

C_031 /GIL/ZZKWEEKID-STRWK ,

41 C_DASH ,

43 /GIL/ZZKWEEKID-ENDWK ,

C_055 SY-VLINE ,

C_056 VIT_WEEKSUM-MNTHI ,

C_080 SY-VLINE ,

C_081 VIT_WEEKSUM-QRTRI ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

WRITE AT: /C_005 SY-VLINE ,

C_030 SY-VLINE ,

C_055 SY-VLINE ,

C_080 SY-VLINE ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT C_005(C_125) .

WRITE AT: /C_005 SY-VLINE ,

C_006 TEXT-008 ,

C_030 SY-VLINE ,

C_031 VIT_WEEKSUM-DEVHRS ,

C_055 SY-VLINE ,

C_056 VIT_WEEKSUM-DVMHRS ,

C_080 SY-VLINE ,

C_081 VIT_WEEKSUM-DVQHRS ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

WRITE AT: /C_005 SY-VLINE ,

C_030 SY-VLINE ,

C_055 SY-VLINE ,

C_080 SY-VLINE ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT C_005(C_125) .

WRITE AT: /C_005 SY-VLINE ,

C_006 TEXT-009 ,

C_030 SY-VLINE ,

C_031 VIT_WEEKSUM-CUSHRS ,

C_055 SY-VLINE ,

C_056 VIT_WEEKSUM-CSMHRS ,

C_080 SY-VLINE ,

C_081 VIT_WEEKSUM-CSQHRS ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

WRITE AT: /C_005 SY-VLINE ,

C_030 SY-VLINE ,

C_055 SY-VLINE ,

C_080 SY-VLINE ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT C_005(C_125) .

WRITE AT: /C_005 SY-VLINE COLOR COL_TOTAL,

C_006 TEXT-010 COLOR COL_TOTAL,

C_030 SY-VLINE COLOR COL_TOTAL ,

C_031 VIT_WEEKSUM-TOTHRS COLOR COL_TOTAL,

C_055 SY-VLINE COLOR COL_TOTAL,

C_056 VIT_WEEKSUM-TOMHRS COLOR COL_TOTAL,

C_080 SY-VLINE COLOR COL_TOTAL,

C_081 VIT_WEEKSUM-TOQHRS COLOR COL_TOTAL,

C_105 SY-VLINE COLOR COL_TOTAL,

C_130 SY-VLINE COLOR COL_TOTAL.

WRITE AT: /C_005 SY-VLINE ,

C_030 SY-VLINE ,

C_055 SY-VLINE ,

C_080 SY-VLINE ,

C_105 SY-VLINE ,

C_130 SY-VLINE .

ULINE AT C_005(C_125) .

ENDFORM. " WRITE_WEEKLY_STATISTICS

&----


*& Form WRITE_HEADER

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM WRITE_HEADER .

SKiP 1 .

SELECT SINGLE *

FROM /GIL/ZZKWEEKID

WHERE STRWK = VIT_WEEKSUM-STRWK .

WRITE AT: 5 TEXT-002 INTENSIFIED ON .

WRITE AT: 47 /GIL/ZZKWEEKID-MNTHI ,

55 /GIL/ZZKWEEKID-WEEKI ,

65 C_BR1 ,

67 /GIL/ZZKWEEKID-STRWK ,

78 C_DASH ,

80 /GIL/ZZKWEEKID-ENDWK ,

91 C_BR2

INTENSIFIED ON .

ENDFORM. " WRITE_HEADER

0 Kudos

Hi Siva and Krish,

Your input will be monday of every week rt?

So first you have to find out the date range of that particular week ,means the first and last day of that particular week.

For this you can make use of function module

HR_GBSSP_GET_WEEK_DATES

It will results begin_date and end_date

Now using these date range you can make a selection from your table like

SELECT COUNT( * ) FROM <table>

INTO <no_of_dates>

WHERE from LE <begin_date>

AND to GE <end_date>.

I think this will work for you .

I cant able to excecute your program coz your Z tables are not available here

Thanks and regards

Antony

*Give rewards if find usefull**