getting same out put for multiple fields..!! help out..
abap fields in output are overlapping..
and user command set parameters on s00 ttcode is also not working..!!
*&---------------------------------------------------------------------*
*& Report Z_FI_GLACC
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_fi_glacc NO STANDARD PAGE HEADING.
TABLES : bseg,bkpf,skat.
TYPES: BEGIN OF ty_final,
hkont TYPE hkont, " gl account number
saknr TYPE saknr, " gl account number
belnr TYPE belnr, " document number
budat TYPE budat, " posting date
bldat TYPE bldat, " documrnt date
augcp TYPE augcp, " entry date
* dmbtr TYPE dmbtr, " local currency
pswsl TYPE pswsl,
xref1 TYPE xref1, " business partner
sgxtx TYPE sgtxt, " item text
dzuonr TYPE dzuonr, "asignment number
bktxt TYPE bktxt, " header text
wrbtr TYPE wrbtr,
txt50 TYPE txt50,
END OF ty_final.
DATA: it TYPE TABLE OF ty_final,
wa TYPE ty_final,
it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat TYPE slis_fieldcat_alv,
it_event TYPE slis_t_event,
wa_event TYPE slis_alv_event,
v_prog TYPE sy-repid,
v_name TYPE sy-uname,
rs_selfield TYPE slis_selfield,
v_selfield TYPE slis_selfield-value,
r_ucomm TYPE sy-ucomm.
INITIALIZATION.
v_prog = sy-repid.
v_name = sy-uname.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : s1 FOR bseg-hkont, " gl account num
s2 FOR bseg-h_budat, " posting data
s3 FOR bseg-prctr. " profit centre
SELECTION-SCREEN END OF BLOCK b1.
*
*AT SELECTION-SCREEN ON s1.
* IF s1 IS NOT INITIAL.
* MESSAGE ' Enter Proper Data' TYPE 'E'.
* ENDIF.
*
*AT SELECTION-SCREEN ON s2.
* IF s2 IS NOT INITIAL.
* MESSAGE ' Enter Proper Data' TYPE 'E'.
* ENDIF.
*
*AT SELECTION-SCREEN ON s3.
* IF s3 IS NOT INITIAL.
* MESSAGE ' Enter Proper Data' TYPE 'E'.
* ENDIF.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM fcat.
PERFORM events.
PERFORM alvcall.
PERFORM usercmd USING r_ucomm CHANGING rs_selfield.
FORM get_data.
SELECT belnr,
hkont,
h_budat,
h_bldat,
augcp,
pswsl,
* dmbtr,
xref1,
sgtxt,
zuonr,
wrbtr FROM bseg INTO TABLE @DATA(t_bseg)
WHERE hkont IN @s1
AND h_budat IN @s2
AND prctr IN @s3.
CHECK sy-subrc EQ 0.
SELECT bktxt,
belnr
FROM bkpf INTO TABLE @DATA(t_bkpf) FOR ALL ENTRIES IN @t_bseg
WHERE belnr EQ @t_bseg-belnr
AND budat IN @s2.
IF t_bseg[] IS NOT INITIAL.
SORT t_bseg BY hkont.
DELETE ADJACENT DUPLICATES FROM t_bseg COMPARING hkont.
SELECT saknr,
txt50 " Gl Account
FROM skat INTO TABLE @DATA(t_skat) FOR ALL ENTRIES IN @t_bseg
WHERE saknr EQ @t_bseg-hkont.
ENDIF.
SORT: t_bseg BY belnr ,
t_bkpf BY belnr.
LOOP AT t_bseg INTO DATA(w_bseg).
wa-belnr = w_bseg-belnr.
wa-budat = w_bseg-h_budat.
wa-bldat = w_bseg-h_bldat.
wa-augcp = w_bseg-augcp.
wa-wrbtr = w_bseg-wrbtr.
wa-pswsl = w_bseg-pswsl.
wa-xref1 = w_bseg-xref1.
wa-dzuonr = w_bseg-zuonr.
READ TABLE t_bkpf INTO DATA(w_bkpf) WITH KEY belnr = w_bseg-belnr BINARY SEARCH.
IF sy-subrc EQ 0.
wa-bktxt = w_bkpf-bktxt.
ENDIF.
READ TABLE t_skat INTO DATA(w_skat) WITH KEY saknr = w_bseg-hkont BINARY SEARCH.
IF sy-subrc EQ 0.
wa-saknr = w_skat-saknr.
wa-txt50 = w_skat-txt50.
ENDIF.
APPEND wa TO it.
CLEAR wa.
ENDLOOP.
ENDFORM.
FORM fcat.
CLEAR wa_fcat.
CLEAR it_fcat.
* REFRESH wa_fcat.
REFRESH it_fcat.
wa_fcat-fieldname = 'BELNR'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Document Number'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'H_BUDAT'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Posting Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'H_BLDAT'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Document Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'AUGCP'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Entry Date'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'WRBTR'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Amount in Document Currency'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'PSWSL'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Currency'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
* wa_fcat-fieldname = 'DMBTR'.
* wa_fcat-ref_tabname = 'BSEG'.
* wa_fcat-seltext_m = 'Currency'.
* APPEND wa_fcat TO it_fcat.
* CLEAR wa_fcat.
wa_fcat-fieldname = 'ZUONR'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Assignmeant'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'BKTXT'.
wa_fcat-ref_tabname = 'BKPF'.
wa_fcat-seltext_m = 'Header Text'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'SAKNR'.
wa_fcat-ref_tabname = 'SKA1'.
wa_fcat-seltext_m = 'G/L Account'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'XREF1'.
wa_fcat-ref_tabname = 'BSEG'.
wa_fcat-seltext_m = 'Business Partner'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
wa_fcat-fieldname = 'TXT50'.
wa_fcat-ref_tabname = 'SKAT'.
wa_fcat-seltext_m = 'DISCRIPTION'.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
APPEND wa_fcat TO it_fcat.
CLEAR wa_fcat.
ENDFORM.
FORM events.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
IMPORTING
et_events = it_event
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF it_event IS NOT INITIAL.
CLEAR wa_event.
READ TABLE it_event INTO wa_event WITH KEY name = 'USER_COMMAND'.
wa_event-form = 'USER'.
MODIFY it_event FROM wa_event
INDEX sy-tabix TRANSPORTING form.
ENDIF.
ENDFORM.
FORM alvcall.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_prog
i_callback_user_command = 'USERCMD'
i_grid_title = 'G/L ACCOUNTS DETAILS'
it_fieldcat = it_fcat
it_events = it_event
TABLES
t_outtab = it.
ENDFORM.
FORM usercmd USING r_ucoma TYPE sy-ucomm
CHANGING rs_selfield TYPE slis_selfield.
CASE rs_selfield-fieldname.
WHEN 'BELNR'.
SET PARAMETER ID 'DFD'
FIELD rs_selfield-value.
CALL TRANSACTION 'FS00' AND SKIP FIRST SCREEN.
MESSAGE 'INVALID FIELD' TYPE 'S'.
ENDCASE.
ENDFORM.
