‎2007 Jan 07 12:23 PM
I have created this ALV grid display prog. And in output when i click on belnr(document number) it should took me to the T.code FB03. Now tell me how i will do that. And what are the code needed for that and whre do i need to put that code.
Thanks....
For ur refrence code is given below:-
&----
*& Report ZFI_CASH_RECEIPT_LAYOUT_DEMO
*&
&----
*&
*&
&----
REPORT zfi_cash_receipt_layout_demo.
TABLES: bsis,bsak,lfa1, ZST_CASH_RECP.
TYPE-POOLS: slis.
DATA: BEGIN OF it_table OCCURS 0.
include structure ZST_CASH_RECP.
data : end of it_table.
bldat LIKE bsis-bldat,
budat LIKE bsis-budat,
hkont LIKE bsis-hkont,
wrbtr LIKE bsis-wrbtr,
bukrs LIKE bsis-bukrs,
augdt LIKE bsak-augdt,
lifnr LIKE bsak-lifnr,
augbl LIKE bsak-augbl,
belnr LIKE bsak-belnr,
END OF it_table.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
v_repid TYPE sy-repid.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_budat FOR bsis-budat OBLIGATORY.
PARAMETERS: p_bukrs LIKE bsis-bukrs OBLIGATORY DEFAULT '1000'.
SELECT-OPTIONS : s_hkont FOR bsis-hkont,
s_bschl FOR bsis-bschl.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
PERFORM build_fieldcatlog.
CLEAR: v_repid.
v_repid = sy-repid.
START-OF-SELECTION.
SELECT a~bldat
a~budat
a~belnr
a~bukrs
a~gjahr
a~buzei
a~hkont
a~wrbtr
a~waers
b~augdt
b~lifnr
b~augbl
b~belnr
lfa1~name1
INTO CORRESPONDING FIELDS OF TABLE it_table
FROM ( ( bsis AS a INNER JOIN bsak AS b
ON abukrs = bbukrs )
inner join lfa1 on
blifnr = lfa1lifnr )
WHERE bbukrs = p_bukrs AND bblart IN ('KR','RE') AND ahkont IN s_hkont and abudat in s_budat AND a~bschl IN s_bschl.
IF sy-subrc <> 0.
MESSAGE s000(zmess_cash_receipt).
ELSE.
PERFORM display_alv_report.
ENDIF.
END-OF-SELECTION.
&----
*& Form BUILD_FIELDCATLOG
&----
text
----
FORM build_fieldcatlog .
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BLDAT'.
wa_fieldcat-seltext_m = 'BLDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_m = 'BUDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-seltext_m = 'BELNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'HKONT'.
wa_fieldcat-seltext_m = 'HKONT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'WRBTR'.
wa_fieldcat-seltext_m = 'WRBTR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGDT'.
wa_fieldcat-seltext_m = 'AUGDT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-seltext_m = 'LIFNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGBL'.
wa_fieldcat-seltext_m = 'AUGBL.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " BUILD_FIELDCATLOG
&----
*& Form DISPLAY_ALV_REPORT
&----
text
----
FORM display_alv_report.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = v_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'ZST_CASH_RECP'
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_table
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_REPORT
‎2007 Jan 07 12:34 PM
‎2007 Jan 07 12:34 PM
‎2007 Jan 07 12:45 PM
hi! max it's not working,
plz see my code once and give me the desired solution...
thanks..
sam.....
‎2007 Jan 07 12:47 PM
Hi
I believe something is missing in your code: Post your code!
Max
‎2007 Jan 07 12:50 PM
&----
*& Report ZFI_CASH_RECEIPT_LAYOUT_DEMO
*&
&----
*&
*&
&----
REPORT zfi_cash_receipt_layout_demo.
TABLES: bsis,bsak,lfa1, ZST_CASH_RECP.
TYPE-POOLS: slis.
DATA: BEGIN OF it_table OCCURS 0.
include structure ZST_CASH_RECP.
data : end of it_table.
bldat LIKE bsis-bldat,
budat LIKE bsis-budat,
hkont LIKE bsis-hkont,
wrbtr LIKE bsis-wrbtr,
bukrs LIKE bsis-bukrs,
augdt LIKE bsak-augdt,
lifnr LIKE bsak-lifnr,
augbl LIKE bsak-augbl,
belnr LIKE bsak-belnr,
END OF it_table.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
v_repid TYPE sy-repid.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_budat FOR bsis-budat OBLIGATORY.
PARAMETERS: p_bukrs LIKE bsis-bukrs OBLIGATORY DEFAULT '1000'.
SELECT-OPTIONS : s_hkont FOR bsis-hkont,
s_bschl FOR bsis-bschl.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
PERFORM build_fieldcatlog.
CLEAR: v_repid.
v_repid = sy-repid.
START-OF-SELECTION.
SELECT a~bldat
a~budat
a~belnr
a~bukrs
a~gjahr
a~buzei
a~hkont
a~wrbtr
a~waers
b~augdt
b~lifnr
b~augbl
b~belnr
lfa1~name1
INTO CORRESPONDING FIELDS OF TABLE it_table
FROM ( ( bsis AS a INNER JOIN bsak AS b
ON abukrs = bbukrs )
inner join lfa1 on
blifnr = lfa1lifnr )
WHERE bbukrs = p_bukrs AND bblart IN ('KR','RE') AND ahkont IN s_hkont and abudat in s_budat AND a~bschl IN s_bschl.
IF sy-subrc <> 0.
MESSAGE s000(zmess_cash_receipt).
ELSE.
PERFORM display_alv_report.
ENDIF.
END-OF-SELECTION.
&----
*& Form BUILD_FIELDCATLOG
&----
text
----
FORM build_fieldcatlog .
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BLDAT'.
wa_fieldcat-seltext_m = 'BLDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_m = 'BUDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-seltext_m = 'BELNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'HKONT'.
wa_fieldcat-seltext_m = 'HKONT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'WRBTR'.
wa_fieldcat-seltext_m = 'WRBTR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGDT'.
wa_fieldcat-seltext_m = 'AUGDT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-seltext_m = 'LIFNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGBL'.
wa_fieldcat-seltext_m = 'AUGBL.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " BUILD_FIELDCATLOG
&----
*& Form DISPLAY_ALV_REPORT
&----
text
----
FORM display_alv_report.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = v_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'ZST_CASH_RECP'
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_table
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_REPORT
‎2007 Jan 07 12:56 PM
‎2007 Jan 07 1:02 PM
here it is:----
&----
*& Report ZFI_CASH_RECEIPT12
*&
&----
*&
*&
&----
REPORT ZFI_CASH_RECEIPT12.
&----
*& Report ZFI_CASH_RECEIPT_LAYOUT_DEMO
*&
&----
*&
*&
&----
*REPORT zfi_cash_receipt_layout_demo.
TABLES: bsis,bsak,lfa1, ZST_CASH_RECP.
TYPE-POOLS: slis.
DATA: BEGIN OF it_table OCCURS 0.
include structure ZST_CASH_RECP.
data : end of it_table.
bldat LIKE bsis-bldat,
budat LIKE bsis-budat,
hkont LIKE bsis-hkont,
wrbtr LIKE bsis-wrbtr,
bukrs LIKE bsis-bukrs,
augdt LIKE bsak-augdt,
lifnr LIKE bsak-lifnr,
augbl LIKE bsak-augbl,
belnr LIKE bsak-belnr,
END OF it_table.
DATA: i_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
v_repid TYPE sy-repid.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_budat FOR bsis-budat OBLIGATORY.
PARAMETERS: p_bukrs LIKE bsis-bukrs OBLIGATORY DEFAULT '1000'.
SELECT-OPTIONS : s_hkont FOR bsis-hkont,
s_bschl FOR bsis-bschl.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
PERFORM build_fieldcatlog.
CLEAR: v_repid.
v_repid = sy-repid.
START-OF-SELECTION.
SELECT a~bldat
a~budat
a~belnr
a~bukrs
a~gjahr
a~buzei
a~hkont
a~wrbtr
a~waers
b~augdt
b~lifnr
b~augbl
b~belnr
lfa1~name1
INTO CORRESPONDING FIELDS OF TABLE it_table
FROM ( ( bsis AS a INNER JOIN bsak AS b
ON abukrs = bbukrs )
inner join lfa1 on
blifnr = lfa1lifnr )
WHERE bbukrs = p_bukrs AND bblart IN ('KR','RE') AND ahkont IN s_hkont and abudat in s_budat AND a~bschl IN s_bschl.
IF sy-subrc <> 0.
MESSAGE s000(zmess_cash_receipt).
ELSE.
PERFORM display_alv_report.
ENDIF.
END-OF-SELECTION.
&----
*& Form BUILD_FIELDCATLOG
&----
text
----
FORM build_fieldcatlog .
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BLDAT'.
wa_fieldcat-seltext_m = 'BLDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_m = 'BUDAT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-seltext_m = 'BELNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'HKONT'.
wa_fieldcat-seltext_m = 'HKONT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'WRBTR'.
wa_fieldcat-seltext_m = 'WRBTR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGDT'.
wa_fieldcat-seltext_m = 'AUGDT.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'LIFNR'.
wa_fieldcat-seltext_m = 'LIFNR.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-tabname = 'it_TABLE'.
wa_fieldcat-fieldname = 'AUGBL'.
wa_fieldcat-seltext_m = 'AUGBL.'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " BUILD_FIELDCATLOG
*&----
**& Form DISPLAY_ALV_REPORT
*&----
text
*----
*FORM display_alv_report.
v_repid = sy-repid.
*
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = v_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME = 'ZST_CASH_RECP'
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT =
it_fieldcat = i_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
i_save = 'A'
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_table
*
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_REPORT
*
*
**----
*
FORM display_alv_report.
v_repid = sy-repid.
Set code for doubleclick
lt_layout-f2code = 'FB03'. "<------
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND' "<------
I_STRUCTURE_NAME = 'ZST_CASH_RECP'
IS_LAYOUT = lt_layout "<------
TABLES
t_outtab = it_table
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.
Rotuine for USER-COMMAND event
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE R_UCOMM.
WHEN 'FB03'.
IF RS_SELFIELD-FIELDNAME = 'BELNR'. "
READ TABLE IT_TABLE INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SET PARAMETER ID 'BLN' FIELD IT_TABLE-BELNR.
SET PARAMETER ID 'BUK' FIELD IT_TABLE-BUKRS.
SET PARAMETER ID 'GJR' FIELD IT_TABLE-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM.
*If you need you can set a your own status gui instead of define all a code for doubleclick:
*
*Define a routine foe set the pf-status like this:
*
*FORM set_pf_status USING rt_extab TYPE slis_t_extab.
*SET PF-STATUS 'MY_ALV' EXCLUDING rt_extab.
*ENDFORM.
*
*The status MY_ALV has to be created by copyng the ALV GRID standard status (STANDARD_FULLSCREEN of prg. SAPLKKBL).
*
‎2007 Jan 07 1:16 PM
Hi
Your code should be like this:
*&---------------------------------------------------------------------*
*& Report ZFI_CASH_RECEIPT_LAYOUT_DEMO
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZFI_CASH_RECEIPT_LAYOUT_DEMO.
TABLES: BSIS,BSAK,LFA1.
TYPE-POOLS: SLIS.
DATA: BEGIN OF IT_TABLE OCCURS 0,
* include structure ZST_CASH_RECP.
*data : end of it_table.
BLDAT LIKE BSIS-BLDAT,
BUDAT LIKE BSIS-BUDAT,
HKONT LIKE BSIS-HKONT,
WRBTR LIKE BSIS-WRBTR,
BUKRS LIKE BSIS-BUKRS,
AUGDT LIKE BSAK-AUGDT,
LIFNR LIKE BSAK-LIFNR,
AUGBL LIKE BSAK-AUGBL,
BELNR LIKE BSAK-BELNR,
GJAHR LIKE BSAK-GJAHR,
END OF IT_TABLE.
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
V_REPID TYPE SY-REPID.
DATA: LT_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_BUDAT FOR BSIS-BUDAT OBLIGATORY.
PARAMETERS: P_BUKRS LIKE BSIS-BUKRS OBLIGATORY DEFAULT '1000'.
SELECT-OPTIONS : S_HKONT FOR BSIS-HKONT,
S_BSCHL FOR BSIS-BSCHL.
SELECTION-SCREEN END OF BLOCK B1.
INITIALIZATION.
* PERFORM build_fieldcatlog.
CLEAR: V_REPID.
V_REPID = SY-REPID.
START-OF-SELECTION.
SELECT A~BLDAT
A~BUDAT
A~BELNR
A~BUKRS
A~GJAHR
A~BUZEI
A~HKONT
A~WRBTR
A~WAERS
B~AUGDT
B~LIFNR
B~AUGBL
B~BELNR
LFA1~NAME1
INTO CORRESPONDING FIELDS OF TABLE IT_TABLE
FROM ( ( BSIS AS A INNER JOIN BSAK AS B
ON A~BUKRS = B~BUKRS )
INNER JOIN LFA1 ON
B~LIFNR = LFA1~LIFNR )
WHERE B~BUKRS = P_BUKRS AND B~BLART IN ('KR','RE') AND A~HKONT IN
S_HKONT AND A~BUDAT IN S_BUDAT AND A~BSCHL IN S_BSCHL.
IF SY-SUBRC <> 0.
MESSAGE S000(ZMESS_CASH_RECEIPT).
ELSE.
PERFORM DISPLAY_ALV_REPORT.
ENDIF.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form BUILD_FIELDCATLOG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM BUILD_FIELDCATLOG .
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'BLDAT'.
WA_FIELDCAT-SELTEXT_M = 'BLDAT.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'BUDAT'.
WA_FIELDCAT-SELTEXT_M = 'BUDAT.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'BELNR'.
WA_FIELDCAT-SELTEXT_M = 'BELNR.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'HKONT'.
WA_FIELDCAT-SELTEXT_M = 'HKONT.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'WRBTR'.
WA_FIELDCAT-SELTEXT_M = 'WRBTR.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'AUGDT'.
WA_FIELDCAT-SELTEXT_M = 'AUGDT.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-SELTEXT_M = 'LIFNR.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'it_TABLE'.
WA_FIELDCAT-FIELDNAME = 'AUGBL'.
WA_FIELDCAT-SELTEXT_M = 'AUGBL.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " BUILD_FIELDCATLOG
*&---------------------------------------------------------------------*
*& Form DISPLAY_ALV_REPORT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY_ALV_REPORT.
V_REPID = SY-REPID.
* Set code for doubleclick
LT_LAYOUT-F2CODE = 'FB03'. "<------
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND' "<------
I_STRUCTURE_NAME = 'ZST_CASH_RECP'
IS_LAYOUT = LT_LAYOUT "<------
TABLES
T_OUTTAB = IT_TABLE
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_REPORT
* Rotuine for USER-COMMAND event
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'FB03'.
IF RS_SELFIELD-FIELDNAME = 'BELNR'. "
READ TABLE IT_TABLE INDEX RS_SELFIELD-TABINDEX.
IF SY-SUBRC = 0.
SET PARAMETER ID 'BLN' FIELD IT_TABLE-BELNR.
SET PARAMETER ID 'BUK' FIELD P_BUKRS.
SET PARAMETER ID 'GJR' FIELD IT_TABLE-GJAHR.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. "user_commandMax