‎2008 Jul 25 12:30 PM
Hi All.
I created ALV report ,it have number of cloumn like order number(AUFNR),date etc.
I need to open the std transaction CO03 if i press the order number column in ALV report.
pls help me ,how can i do it?
Reward all helpfull naswers,
Regards.
Anil
‎2008 Jul 25 12:31 PM
hi check this example..
http://www.sap-basis-abap.com/abap/to-call-transaction-in-alv.htm
‎2008 Jul 25 12:35 PM
Refer this Report
REPORT YFIIN_RBL_ACCOUNT.
TYPE-POOLS: SLIS.
DATA: t_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
t_sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,
t_layout TYPE slis_layout_alv,
t_event TYPE slis_t_event,
t_list1 TYPE slis_t_listheader.
DATA: gt_events TYPE slis_t_event.
DATA gc_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
INCLUDE zrfifag_top . " global Data
INCLUDE zrfifag_f01 . " FORM-Routines
START-OF-SELECTION.
PERFORM get_fiscal_year.
PERFORM load_data.
PERFORM fieldcat TABLES t_fieldcat[].
PERFORM eventtab_build USING gt_events[].
PERFORM display.
&----
*& Form fieldcat
&----
text
----
-->P_T_FIELDCAT[] text
----
FORM fieldcat TABLES lt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: ls_fieldcat TYPE slis_fieldcat_alv,
fieldlayout type slis_layout_alv,
t_fcat type slis_t_fieldcat_alv.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 1.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'DOCNR'.
ls_fieldcat-seltext_m = 'Document No'.
ls_fieldcat-key = 'X'.
ls_fieldcat-HOTSPOT = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 2.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'SBUSA'.
ls_fieldcat-seltext_m = 'Trading partners business area'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 3.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'PRCTR'.
ls_fieldcat-seltext_m = 'Profit Center'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 4.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'BSCHL'.
ls_fieldcat-seltext_m = 'Posting Key'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 5.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'UMSKZ'.
ls_fieldcat-seltext_m = 'Special G/L Indicator'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 6.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'LIFNR'.
ls_fieldcat-seltext_m = 'Account Number of Vendor or Creditor'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 7.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'KUNNR'.
ls_fieldcat-seltext_m = 'Customer Number'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 8.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'HSL'.
ls_fieldcat-seltext_m = ' Value in Local Currency '.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 9.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'DRCRK'.
ls_fieldcat-seltext_m = 'Debit/Credit Indicator'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 10.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'BUDAT'.
ls_fieldcat-seltext_m = 'Posting Date in the Document'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 11.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'RACCT'.
ls_fieldcat-seltext_m = 'Account Number'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 12.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'SGTXT'.
ls_fieldcat-seltext_m = 'Item Text'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 13.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'AUGBL'.
ls_fieldcat-seltext_m = ' Document Number of the Clearing Document'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 14.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'AUFNR'.
ls_fieldcat-seltext_m = 'Order Number'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 16.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'RCNTR'.
ls_fieldcat-seltext_m = 'Cost Center'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 17.
ls_fieldcat-tabname = 'GIT_OUTPUT'.
ls_fieldcat-fieldname = 'COST_ELEM'.
ls_fieldcat-seltext_m = 'Cost Element'.
ls_fieldcat-key = 'X'.
ls_fieldcat-outputlen = '10'.
APPEND ls_fieldcat TO lt_fieldcat.
ENDFORM. " fieldcat
&----
*& Form eventtab_build
&----
text
----
-->P_GT_EVENTS[] text
----
FORM eventtab_build USING lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
*
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = lt_events.
READ TABLE lt_events WITH KEY name = slis_ev_user_command
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_user_command TO ls_event-form.
APPEND ls_event TO lt_events.
ENDIF.
ENDFORM. " eventtab_build
&----
*& Form display
&----
text
----
--> p1 text
<-- p2 text
----
FORM display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-cprog
IT_FIELDCAT = t_fieldcat[]
I_GRID_TITLE = 'Inter unit clearing GL "900032"'
it_events = gt_events
I_SAVE = 'A'
TABLES
T_OUTTAB = git_output.
ENDFORM. " display
FORM user_command USING p_ucomm TYPE sy-ucomm
selfield TYPE slis_selfield.
DATA: idx LIKE sy-tabix.
CLEAR idx.
move git_output[] to FInal_output[].
IF p_ucomm = '&IC1'.
IF selfield-fieldname = 'DOCNR'.
idx = selfield-tabindex.
READ TABLE FInal_output INDEX idx.
SET PARAMETER ID: 'BLN' FIELD FInal_output-docnr .
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDFORM.
Regards
Anbu
Edited by: Anbu B on Jul 25, 2008 1:35 PM
‎2008 Jul 25 12:37 PM
Check the sample code.
In this example when i click on the sales order number, i am navigation to The transaction VA03.
REPORT ztest_alv.
TYPE-POOLS:slis.
DATA:it_fieldcat TYPE slis_t_fieldcat_alv,
wa_field LIKE LINE OF it_fieldcat.
DATA: BEGIN OF it_likp OCCURS 0,
vbeln TYPE likp-vbeln,
END OF it_likp.
wa_field-fieldname = 'VBELN'.
wa_field-tabname = 'IT_LIKP'.
wa_field-hotspot = 'X'.
APPEND wa_field TO it_fieldcat.
SELECT vbeln FROM likp
UP TO 10 ROWS
INTO TABLE it_likp.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_likp
EXCEPTIONS
program_error = 1.
*&---------------------------------------------------------------------*
*& Form user_Command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->UCOMM text
* -->SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield.
CASE ucomm.
WHEN '&IC1'.
IF selfield-fieldname = 'VBELN'.
SET PARAMETER ID 'VL' FIELD selfield-value.
CALL TRANSACTION 'VL02N' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. "user_CommandRegards
Vijay babu Dudla
‎2008 Jul 25 12:49 PM
Write a form as follows
form user_command using ucomm like sy-ucomm
selfield type slis_selfield.
case ucomm.
when '&IC1'.
case selfield-sel_tab_field.
when 'ITAB-AUFNR'.
read table itab index selfield-tabindex.
if sy-subrc = 0.
set parameter id 'ANR' field itab-aufnr.
call transaction 'CO03' and skip first screen..
endif.
endcase.
endcase.
endform. "USER_COMMAND
Set following export parameters of function 'REUSE_ALV_LIST_DISPLAY'
i_callback_user_command = 'USER_COMMAND'
Regards
Rajesh
‎2008 Jul 25 12:50 PM
Hi,
Refer the following code.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = it_fieldcat
TABLES
t_outtab = it_final
EXCEPTIONS
program_error = 1.
&----
*& Form user_Command
&----
FORM user_command USING ucomm TYPE sy-ucomm
selfield TYPE slis_selfield.
CASE ucomm.
WHEN '&IC1'.
IF selfield-fieldname = 'AUFNR'.
SET PARAMETER ID 'ANR' FIELD selfield-value.
CALL TRANSACTION 'CO03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDFORM. "user_Command
if helpful ...........plz reward the point
Regards,
Rajesh Akarte