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: 

Display only 10 days back data in report.

nandini_borse
Participant
0 Kudos

Hi Experts,

I want to display only 10 days back data from current date in report. it just a simple report. No any select option is there. But dont understand how do i give Where condition in Select query.

REPORT ZDTUM.
TABLES: zdaily.
data: datum TYPE sy-datum.
DATA: tripdat TYPE zdaily-tripdat.
TYPES: BEGIN OF TY_ZDAILY,
         TRUCK_NO         TYPE ZDAILY-TRUCK_NO,
         VEHICLE_CATEGORY TYPE ZDAILY-VEHICLE_CATEGORY,
         TRIPDAT          TYPE ZDAILY-TRIPDAT,
         ON_OFF_HIRE      TYPE ZDAILY-ON_OFF_HIRE,
         P_FROM           TYPE ZDAILY-P_FROM,
         P_TO             TYPE ZDAILY-P_TO,
               END OF TY_ZDAILY.

DATA : IT_ZDAILY TYPE TABLE OF TY_ZDAILY,
       WA_ZDAILY TYPE TY_ZDAILY.

DATA : WA_FIELDCAT   TYPE  SLIS_FIELDCAT_ALV, "Field catalog work area
       IT_FIELDCAT   TYPE  SLIS_T_FIELDCAT_ALV, "field catalog internal table
       IT_LAYOUT     TYPE SLIS_LAYOUT_ALV, "ALV layout settings

*  FORM_CALLBACK TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'. "For user command
START-OF-SELECTION.
datum = sy-datum.
datum = sy-datum - 10.

  SELECT * FROM ZDAILY INTO CORRESPONDING FIELDS OF TABLE  IT_ZDAILY.
  PERFORM BUILD_FCAT.
  PERFORM DISPLAY_ALV.
FORM BUILD_FCAT .
  WA_FIELDCAT-FIELDNAME   = 'Truck_no'.
  WA_FIELDCAT-SELTEXT_M   = 'Truck no'.
  WA_FIELDCAT-COL_POS     =  1.
  WA_FIELDCAT-KEY         = 'X'.
*  WA_FIELDCAT-HOTSPOT         = 'X'.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.

  WA_FIELDCAT-FIELDNAME   = 'Vehicle_category'.
  WA_FIELDCAT-SELTEXT_M   = 'Vehicle_category'.
  WA_FIELDCAT-EDIT        = 'X'.
  WA_FIELDCAT-COL_POS     =  2.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.

  WA_FIELDCAT-FIELDNAME   = 'Tripdat'.
  WA_FIELDCAT-SELTEXT_M   = 'Entry Date'.
  WA_FIELDCAT-EDIT        = 'X'.
  WA_FIELDCAT-COL_POS     =  3.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.

  WA_FIELDCAT-FIELDNAME   = 'ON_OFF_HIRE'.
  WA_FIELDCAT-SELTEXT_M   = 'Truck Status'.
  WA_FIELDCAT-EDIT        = 'X'.
  WA_FIELDCAT-COL_POS     =  4.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.

  WA_FIELDCAT-FIELDNAME   = 'P_FROM'.
  WA_FIELDCAT-SELTEXT_M   = 'From'.
  WA_FIELDCAT-EDIT        = 'X'.
  WA_FIELDCAT-COL_POS     =  5.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.

  WA_FIELDCAT-FIELDNAME   = 'P_TO'.
  WA_FIELDCAT-SELTEXT_M   = 'To'.
  WA_FIELDCAT-EDIT        = 'X'.
  WA_FIELDCAT-COL_POS     =  6.
  APPEND WA_FIELDCAT TO IT_FIELDCAT.
  CLEAR WA_FIELDCAT.
ENDFORM.
" BUILD_FCAT

FORM DISPLAY_ALV .
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM      = SY-REPID "program name
**      I_CALLBACK_USER_COMMAND = FORM_CALLBACK "user command subroutine name
*     I_CALLBACK_TOP_OF_PAGE  = FORM_TOP_OF_PAGE "sub routine for top of page
      IS_LAYOUT               = IT_LAYOUT
      IT_FIELDCAT             = IT_FIELDCAT
    TABLES
      T_OUTTAB                = IT_ZDAILY
    EXCEPTIONS
      PROGRAM_ERROR           = 1
      OTHERS                  = 2.
  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.                    " DISPLAY_ALV
1 ACCEPTED SOLUTION

former_member876
Participant
0 Kudos

Hi Nandini,

Please try below,

data(datum_from) = sy-datum - 10.
data(datum_to) = sy-datum.

  SELECT * FROM ZDAILY INTO CORRESPONDING FIELDS OF TABLE  IT_ZDAILY
  WHERE P_FROM GE datum_from AND
        P_TO   LE datum_to.

Thanks,

Mukesh

4 REPLIES 4

former_member876
Participant
0 Kudos

Hi Nandini,

Please try below,

data(datum_from) = sy-datum - 10.
data(datum_to) = sy-datum.

  SELECT * FROM ZDAILY INTO CORRESPONDING FIELDS OF TABLE  IT_ZDAILY
  WHERE P_FROM GE datum_from AND
        P_TO   LE datum_to.

Thanks,

Mukesh

0 Kudos

Thank You,

Its resolve now.

former_member1716
Active Contributor
0 Kudos

Hello nandini_borse,

You can also use below code for the same:

DATA(datum_from) = sy-datum - 10.
DATA(datum_to) = sy-datum.

SELECT *
FROM zdaily
INTO CORRESPONDING FIELDS OF TABLE  it_zdaily
WHERE date_field BETWEEN datum_from AND datum.

To learn more about the syntax follow the below link.

BETWEEN

Regards!

0 Kudos

yes ,

thanks, This is also working.