Application Development and Automation 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: 
Read only

hi!

Former Member
0 Likes
477

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

5 REPLIES 5
Read only

Former Member
0 Likes
435

Hi

U've to define the roitone for user-command:

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).

Max

Read only

0 Likes
435

could u give me the code

Read only

0 Likes
435

sent u the updated code

Read only

0 Likes
435

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_command

Max

Read only

0 Likes
435

Max...

Thanks a lot...

problem is solved.......

Thank u very much.......

best regards.........