Hi,
Plzzzzzzz anyone solve my problem....
In my report, i have a radio button for LTA taken and another is for LTA not taken...
In the 1st radion button, LTA taken records are coming but in the second radio button, LTA not taken records are not coming...here, in second radio button, records are coming, but whole employee records..means..LTA taken and LTA not taken..both..
Plz check my code and tell me...
**********************************************
REPORT ZHR_LTA NO STANDARD PAGE HEADING LINE-SIZE 100 .
TABLES : PA0015, "HR Master Record: Infotype 0008 (Basic Pay)
PA0001 , "HR Master Record: Infotype 0001 (Org. Assignment)
PA0002 , "HR Master Record: Infotype 0002 (Personal Data)
T001P . "Personnel Area/Subarea
TYPE-POOLS : SLIS .
DATA : BEGIN OF ITAB OCCURS 0 ,
PERNR LIKE PA0001-PERNR , "Personel no.
ENAME LIKE PA0001-ENAME , "Employee name
Z_DESIGNATION LIKE PA0001-Z_DESIGNATION , "Designation
BEGDA LIKE PA0015-BEGDA , "LTA VALID DATE
ENDDA LIKE PA0015-ENDDA , " LTA VALID DATE
BETRG LIKE PA0015-BETRG , " LTA Amount
END OF ITAB .
DATA : BEGIN OF ITAB1 OCCURS 0 ,
PERNR LIKE PA0001-PERNR , "Personel no.
ENAME LIKE PA0001-ENAME , "Employee name
Z_DESIGNATION LIKE PA0001-Z_DESIGNATION , "Designation
END OF ITAB1 .
DATA : BEGIN OF ITAB3 OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA : END OF ITAB3.
DATA : X TYPE I.
************************************************************************
DATA : W_CONTAINER TYPE SCRFNAME VALUE 'CL_GRID',
W_CPROG TYPE LVC_S_LAYO,
G_REPID LIKE SY-REPID,
W_SAVE TYPE C,
W_EXIT TYPE C,
CL_GRID TYPE REF TO CL_GUI_ALV_GRID,
CL_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
IT_FLD_CATALOG TYPE SLIS_T_FIELDCAT_ALV,
WA_FLD_CATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE ,
LAYOUT TYPE SLIS_LAYOUT_ALV,
COL_POS LIKE SY-CUCOL ,
ALVFC TYPE SLIS_T_FIELDCAT_ALV.
************************************************************************
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001 .
SELECT-OPTIONS : PERNR FOR PA0001-PERNR .
SELECT-OPTIONS : ENDDA FOR PA0015-ENDDA OBLIGATORY.
SELECTION-SCREEN : END OF BLOCK B1 .
PARAMETER : TKN RADIOBUTTON GROUP A,
NTKN RADIOBUTTON GROUP A.
************************************************************************
IF TKN = 'X'.
PERFORM FILL_CATALOG1 USING:
'PERNR' 'ITAB' 'Personal No.',
'ENAME' 'ITAB' 'Emp Name',
'Z_DESIGNATION' 'ITAB' 'Designation',
'BEGDA' 'ITAB' 'Valid from',
'ENDDA' 'ITAB' 'End Date',
'BETRG' 'ITAB' 'Amount'.
ELSE.
PERFORM FILL_CATALOG1 USING:
'PERNR' 'ITAB' 'Personal No.',
'ENAME' 'ITAB' 'Emp Name',
'Z_DESIGNATION' 'ITAB' 'Designation'.
ENDIF.
*************************************************************************************
IF TKN = 'X'.
SELECT M1~PERNR M1~ENDDA M1~BEGDA M1~BETRG M2~ENAME M2~Z_DESIGNATION INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM PA0015 AS M1 INNER JOIN PA0001 AS M2 ON M1~PERNR = M2~PERNR
WHERE M1~PERNR IN PERNR AND M1~SUBTY EQ '4004' AND M2~ENDDA EQ '99991231' AND PERSG = '1'
AND M1~BEGDA GE ENDDA-LOW AND M1~ENDDA LE ENDDA-HIGH .
ELSE.
SELECT DISTINCT M1~PERNR M2~ENAME M2~Z_DESIGNATION INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM PA0015 AS M1 INNER JOIN PA0001 AS M2 ON M1~PERNR = M2~PERNR
WHERE M1~PERNR IN PERNR AND M1~SUBTY NE '4004' AND M2~ENDDA EQ '99991231' AND PERSG = '1'.
ENDIF.
*
*SELECT PERNR ENAME Z_DESIGNATION INTO CORRESPONDING FIELDS OF TABLE ITAB1
FROM PA0001 WHERE ENDDA EQ '99991231' AND PERSG = '1' .
IF SY-SUBRC <> 0 .
MESSAGE 'DATA NOT FOUND.' TYPE 'I' .
ENDIF .
SORT ITAB BY PERNR .
*************************************************************************************
IF TKN = 'X'.
SORT ITAB BY PERNR .
ELSE.
LOOP AT ITAB1.
IF NTKN EQ 'X'.
DELETE ITAB1.
CONTINUE.
ENDIF.
ENDLOOP.
ENDIF.
*************************************************************************************
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZHR_LTA'
IS_LAYOUT = LAYOUT
IT_FIELDCAT = IT_FLD_CATALOG
I_DEFAULT = 'X'
I_SAVE = 'A'
TABLES
T_OUTTAB = ITAB
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.
FORM FILL_CATALOG1 USING P_FIELDNAME TYPE ANY
P_REF_TABLE TYPE ANY
P_SCRTEXT TYPE ANY.
CLEAR : WA_FLD_CATALOG.
WA_FLD_CATALOG-FIELDNAME = P_FIELDNAME.
WA_FLD_CATALOG-TABNAME = P_REF_TABLE.
WA_FLD_CATALOG-SELTEXT_S = P_SCRTEXT.
WA_FLD_CATALOG-SELTEXT_M = P_SCRTEXT.
WA_FLD_CATALOG-SELTEXT_L = P_SCRTEXT.
APPEND WA_FLD_CATALOG TO IT_FLD_CATALOG.
ENDFORM. " fill_catalog1
*************************
Please do it an urgent basis...
thanks.
Edited by: Prince Kumar on Jun 4, 2008 10:21 PM