2007 Jul 17 7:10 AM
Hi Experts ,
When try 2 execute the follwoing code : its not Validating the date ??
The follwing code has to validate the date i.e entered by the user ..
when i enter value 19.12.2005
on the screen , it has to give the values for only 19.12.20005
but it is giving all th values ...
SELECT OBJECT_ID
AR_DATE
INTO TABLE T_TOA01
FROM TOA01
FOR ALL ENTRIES IN T_NAST
WHERE AR_DATE EQ T_NAST-DATVR
AND AR_DATE IN S_DATVR.
Regs ,
Murthy
Hi Experts ,
When try 2 execute the follwoing code : its not Validating the date ??
The follwing code has to validate the date i.e entered by the user ..
when i enter value 19.12.2005
on the screen , it has to give the values for only 19.12.20005
but it is giving all th values ...
SELECT OBJECT_ID
AR_DATE
INTO TABLE T_TOA01
FROM TOA01
FOR ALL ENTRIES IN T_NAST
WHERE AR_DATE EQ T_NAST-DATVR
AND AR_DATE IN S_DATVR.
Regs ,
Murthy
2007 Jul 17 7:12 AM
2007 Jul 17 7:33 AM
HI this is the full code ...
************************************************************************
TABLES DECLARATIONS *
************************************************************************
TABLES : NAST,TOA01.
************************************************************************
DECLARATIONS FOR TYPES *
************************************************************************
TYPES : BEGIN OF TP_NAST1,
KAPPL TYPE NAST-KAPPL,
OBJKY TYPE NAST-OBJKY,
KSCHL TYPE NAST-KSCHL,
DATVR TYPE NAST-DATVR,
UHRVR TYPE NAST-ERUHR,
NACHA TYPE NAST-NACHA,
VSTAT TYPE NAST-VSTAT,
END OF TP_NAST1.
TYPES : BEGIN OF TP_TOA011,
OBJECT_ID TYPE TOA01-OBJECT_ID ,
AR_DATE TYPE TOA01-AR_DATE ,
END OF TP_TOA011.
TYPES : BEGIN OF TP_MISS1,
KAPPL TYPE NAST-KAPPL ,
OBJKY TYPE NAST-OBJKY ,
KSCHL TYPE NAST-KSCHL,
DATVR TYPE NAST-DATVR,
END OF TP_MISS1.
************************************************************************
DECLARATIONS FOR INTERNALTABLES *
************************************************************************
DATA : T_NAST TYPE STANDARD TABLE OF TP_NAST1,
T_TOA01 TYPE STANDARD TABLE OF TP_TOA011,
T_MISS TYPE STANDARD TABLE OF TP_MISS1.
************************************************************************
WORK AREA DECLARATIONS *
************************************************************************
DATA : WA_NAST TYPE TP_NAST1,
WA_TOA01 TYPE TP_TOA011,
WA_MISS TYPE TP_MISS1.
***********************************************************************
GLOBAL VARIABLE DECLARATIONS *
***********************************************************************
DATA : W_KAPPL TYPE NAST-KAPPL,
W_KSCHL TYPE NAST-KSCHL,
W_DATVR TYPE NAST-DATVR.
************************************************************************
CONSTANTS DECLARATIONS *
************************************************************************
CONSTANTS : C_X TYPE C VALUE 'X',
C_E TYPE C VALUE 'E',
C_I TYPE C VALUE '1'.
***********************************************************************
SELECTION SCREENS *
***********************************************************************
SELECTION-SCREEN BEGIN OF BLOCK blck1 WITH FRAME TITLE text-001.
SELECT-OPTIONS:S_KAPPL FOR W_KAPPL OBLIGATORY NO INTERVALS NO-EXTENSION,
S_KSCHL FOR W_KSCHL NO INTERVALS NO-EXTENSION OBLIGATORY,
S_DATVR FOR W_DATVR .
PARAMETERS : NAST1 AS CHECKBOX DEFAULT 'X' MODIF ID ABC ,
TOA0 AS CHECKBOX MODIF ID DEF ,
MISS AS CHECKBOX MODIF ID GHI .
SELECTION-SCREEN END OF BLOCK BLCK1.
***********************************************************************
SELECTION SCREEN VALIDATIONS *
***********************************************************************
AT SELECTION-SCREEN ON S_KAPPL.
IF S_KAPPL[] IS NOT INITIAL.
SELECT SINGLE KAPPL
FROM NAST
INTO W_KAPPL
WHERE KAPPL IN S_KAPPL.
IF SY-SUBRC NE 0.
MESSAGE W000 DISPLAY LIKE C_E WITH TEXT-005.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON S_KSCHL.
IF S_KSCHL[] IS NOT INITIAL.
SELECT SINGLE KSCHL
FROM NAST
INTO W_KSCHL
WHERE KSCHL IN S_KSCHL.
IF SY-SUBRC NE 0.
MESSAGE W000 DISPLAY LIKE C_E WITH TEXT-006.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON S_DATVR.
IF S_DATVR[] IS NOT INITIAL.
SELECT SINGLE DATVR
FROM NAST
INTO W_DATVR
WHERE DATVR IN S_DATVR.
IF SY-SUBRC NE 0.
MESSAGE W000 DISPLAY LIKE C_E WITH TEXT-007.
ENDIF.
ENDIF.
TOP-OF-PAGE.
WRITE : /45 'NAST TABLE ENTRIES' COLOR 5.
SKIP 1.
WRITE :/1 'SERIAL NO' COLOR 5,
12 'APPLICATION' COLOR 5,
25 'OBJECT KEY' COLOR 5,
39 'MESSAGE TYPE' COLOR 5,
52 'DATE' COLOR 5,
69 'TIME' COLOR 5,
80 'TRANSMISSION' COLOR 5,
95 'STATUS' COLOR 5.
SKIP 1.
************************************************************************
START OF SELECTION *
************************************************************************
START-OF-SELECTION.
IF NAST1 = C_X.
PERFORM GET_DATA.
ENDIF.
IF TOA0 = C_X.
PERFORM COM_DATA.
ENDIF.
IF MISS = C_X.
PERFORM MISS_DATA.
ENDIF.
***********************************************************************
END OF SELECTION *
************************************************************************
&----
*& Form GET_DATA *
&----
Text : THIS FORM IS USED TO FETCH THE DATA FROM THE DATABASE *
TABLE NAST. *
----
FORM GET_DATA.
CLEAR T_NAST.
SELECT KAPPL
OBJKY
KSCHL
DATVR
UHRVR
NACHA
VSTAT
INTO TABLE T_NAST
FROM NAST
WHERE KAPPL IN S_KAPPL
AND KSCHL IN S_KSCHL
AND DATVR IN S_DATVR
AND VSTAT EQ C_I
AND NACHA EQ C_I.
IF sy-subrc NE 0.
MESSAGE S000 DISPLAY LIKE C_E WITH TEXT-004.
LEAVE LIST-PROCESSING.
ENDIF.
SORT T_NAST BY OBJKY .
LOOP AT T_NAST INTO WA_NAST.
WRITE : / SY-TABIX UNDER 'SERIAL NO',
WA_NAST-KAPPL UNDER 'APPLICATION' ,
WA_NAST-OBJKY UNDER 'OBJECT KEY',
WA_NAST-KSCHL UNDER 'MESSAGE TYPE',
WA_NAST-DATVR UNDER 'DATE',
WA_NAST-UHRVR UNDER 'TIME',
WA_NAST-NACHA UNDER 'TRANSMISSION',
WA_NAST-VSTAT UNDER 'STATUS'.
ENDLOOP.
SKIP 2.
WRITE : /9 'TOTAL NUMBER OF NAST TABLE ENTRIES ARE ::',SY-DBCNT.
SKIP 2.
ENDFORM. "GET_DATA
&----
*& Form COM_DATA
&----
text
----
FORM COM_DATA.
CLEAR T_TOA01.
SELECT OBJECT_ID
AR_DATE
INTO TABLE T_TOA01
FROM TOA01
FOR ALL ENTRIES IN T_NAST
WHERE AR_DATE EQ T_NAST-DATVR
AND AR_DATE IN S_DATVR.
IF sy-subrc NE 0.
MESSAGE S000 DISPLAY LIKE C_E WITH TEXT-004.
LEAVE LIST-PROCESSING.
ENDIF.
WRITE : /45 'LINK TABLE ENTRIES' COLOR 5.
SKIP 1.
WRITE :/1 'SERIAL NO' COLOR 5,
12 'OBJECT NUMBER' COLOR 5,
32 'DATE' COLOR 5.
LOOP AT T_TOA01 INTO WA_TOA01.
WRITE : / SY-TABIX UNDER 'SERIAL NO',
WA_TOA01-OBJECT_ID UNDER 'OBJECT NUMBER',
WA_TOA01-AR_DATE UNDER 'DATE'.
ENDLOOP.
SKIP 2.
IF T_TOA01 IS NOT INITIAL .
WRITE : /9 'TOTAL NUMBER OF LINK TABLE ENTRIES ARE ::',SY-DBCNT.
SKIP 1.
ELSE.
WRITE : / ' NO ENTRIES IN THE LINK TABLE ' ,SY-DBCNT.
ENDIF.
ENDFORM. "COM_DATA
&----
*& Form MISS_DATA
&----
text
----
FORM MISS_DATA.
LOOP AT T_NAST INTO WA_NAST.
READ TABLE T_TOA01 INTO WA_TOA01 WITH KEY AR_DATE = WA_NAST-DATVR.
IF SY-SUBRC NE 0.
APPEND WA_NAST TO T_MISS.
ENDIF.
ENDLOOP.
WRITE : /45 ' MISSING ENTRIES' COLOR 5.
SKIP 1.
WRITE :/1 'SERIAL NO' COLOR 5,
12 'APPLICATION' COLOR 5,
25 'OBJECT KEY' COLOR 5,
39 'MESSAGE TYPE' COLOR 5,
49 'DATE' COLOR 5.
SORT T_MISS BY OBJKY.
LOOP AT T_MISS INTO WA_MISS.
WRITE : / SY-TABIX UNDER 'SERIAL NO',
WA_MISS-KAPPL UNDER 'APPLICATION',
WA_MISS-OBJKY UNDER 'OBJECT KEY ',
WA_MISS-KSCHL UNDER 'MESSAGE TYPE',
WA_MISS-DATVR UNDER 'DATE'.
ENDLOOP.
SKIP 2.
WRITE : /9 'TOTAL NUMBER OF MISSGING ENTRIES ARE ::', SY-TFILL.
ENDFORM. "MISS_DATA
2007 Jul 17 7:13 AM
Hi,
By debugging check the values are coming properly in S_DATVR
Reward if useful!
2007 Jul 17 7:13 AM
HI
You are entering the date in wrong format thats why it's giving all the data
Try entering the date as 20051219 ie yyyymmdd.
regards
ravish
PS: Reward if useful
2007 Jul 17 7:14 AM
Hi,
>>but it is giving all th values ...
This happens only when the parameter passed to the query is empty,
Check if the select query is getting the proper date from T_NAST.
Regards,
Samson Rodrigues.
2007 Jul 17 7:16 AM
Hello,
Before checking for the validity you have to do the following,
Try this.
Regards,
Rakesh.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = wrk_edate "EG: 20.05.2005
* ACCEPT_INITIAL_DATE =
IMPORTING
DATE_INTERNAL = wrK_idate
EXCEPTIONS
DATE_EXTERNAL_IS_INVALID = 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.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |