Application Development 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: 

Regarding alv output

Former Member
0 Kudos

Hi all,

My user command is not working in my program.

When i am clicking in any value on any filed its not working out. I have debuuged also i m not getting.

<code>

&----


*& Report ZVEN_PRA

*&

&----


*&

*&

&----


REPORT zven_pra

NO STANDARD PAGE HEADING

MESSAGE-ID zven.

&----


*&

*&Internal table declarations

&----


DATA:BEGIN OF it_ekko OCCURS 0,

ebeln TYPE ekko-ebeln, "po number

bukrs TYPE ekko-bukrs, "company code

bstyp TYPE ekko-bstyp, "po category

lifnr TYPE ekko-lifnr, "vendor no

ekorg TYPE ekko-ekorg, "pur org

ekgrp TYPE ekko-ekgrp, "pur group

END OF it_ekko.

DATA:BEGIN OF it_ekpo OCCURS 0,

ebelp TYPE ekpo-ebelp,"item of po number

matnr TYPE ekpo-matnr,"material no

werks TYPE ekpo-werks,"plant

menge TYPE ekpo-menge,"po qty

meins TYPE ekpo-meins,"order unit

netwr TYPE ekpo-netwr,"net order value

END OF it_ekpo.

DATA:v_field(50) TYPE c,

v_value TYPE ekko-ebeln.

DATA:v_bukrs TYPE ekko-bukrs.

TYPE-POOLS:slis.

DATA:it_fcat TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

layout TYPE slis_layout_alv,

it_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader.

DATA : it_event TYPE slis_t_event.

DATA:it_fcat2 TYPE slis_t_fieldcat_alv,

wa_fcat2 TYPE slis_fieldcat_alv,

gs_selfield TYPE slis_selfield,

g_exit(1) TYPE c,

gs_private TYPE slis_data_caller_exit.

*to store the variants.

data:ws_x_variant like disvariant,

ws_variant like disvariant,

ws_save type c,

ws_exit type c.

CONSTANTS :

c_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE',

c_usercommand TYPE slis_formname VALUE 'USER_COMMAND',

c_pf_status TYPE slis_formname VALUE 'PF_STATUS_SET'.

  • DATA:IT_HEADER TYPE SLIS_T_LISTHEADER.

&----


*&

*&Selection-Screen declarations

&----


TABLES:ekko.

SELECTION-SCREEN BEGIN OF BLOCK e WITH FRAME TITLE text-002.

SELECT-OPTIONS:s_bukrs FOR ekko-bukrs,

s_lifnr FOR ekko-lifnr.

SELECTION-SCREEN END OF BLOCK e.

*validate the company code

AT SELECTION-SCREEN.

PERFORM validate_code.

START-OF-SELECTION.

PERFORM get_data_ekko.

PERFORM build_field_catalog.

END-OF-SELECTION.

PERFORM get_layout.

PERFORM fill_event.

perform fill_variant.

PERFORM print_data_ekko.

&----


*& Form get_data_ekko

&----


  • text

FORM get_data_ekko .

SELECT ebeln

bukrs

bstyp

lifnr

ekorg

ekgrp

FROM ekko

INTO TABLE it_ekko

WHERE bukrs IN s_bukrs

AND lifnr IN s_lifnr.

IF sy-subrc = 0.

SORT it_ekko BY ebeln.

ENDIF.

ENDFORM. " get_data_ekko

&----


*& Form print_data_ekko

&----


  • text

FORM print_data_ekko .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-repid

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_CALLBACK_TOP_OF_PAGE = TOP_1

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • I_BACKGROUND_ID = ' '

i_grid_title = 'ALVREPORT'

  • I_GRID_SETTINGS = I_GRID_SETTINGS

  • is_layout = layout

it_fieldcat = it_fcat[]

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

it_events = it_event[]

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

TABLES

t_outtab = it_ekko

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

*loop at it_ekko.

*write:/ it_ekko-ebeln hotspot on,15 it_ekko-bukrs,25 it_ekko-bstyp,

  • 35 it_ekko-lifnr,45 it_ekko-ekorg,55 it_ekko-ekgrp.

  • hide it_ekko-ebeln.

*endloop.

ENDFORM. " print_data_ekko

&----


*& Form get_data_ekpo

&----


  • text

FORM get_data_ekpo .

IF NOT it_ekko[] IS INITIAL.

SELECT ebelp

matnr

werks

menge

meins

netwr

FROM ekpo

INTO TABLE it_ekpo

WHERE ebeln = it_ekko-ebeln.

ENDIF.

ENDFORM. " get_data_ekpo

&----


*& Form validate_code

&----


  • text

FORM validate_code .

IF NOT s_bukrs[] IS INITIAL.

SELECT SINGLE bukrs

INTO v_bukrs

FROM ekko

WHERE bukrs IN s_bukrs.

IF sy-subrc <> 0.

MESSAGE e001. "invalid company code

ENDIF.

ENDIF.

ENDFORM. " validate_code

&----


*& Form build_field_catalog

&----


  • text

FORM build_field_catalog .

CLEAR wa_fcat.

*CLEAR IT_FCAT.

  • wa_fcat-emphasize = 'C112'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'EBELN'.

wa_fcat-col_pos = '1'.

wa_fcat-seltext_l = 'PO NUMBER'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

*CLEAR IT_FCAT.

wa_fcat-emphasize = 'C212'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'BUKRS'.

wa_fcat-col_pos = '2'.

wa_fcat-seltext_l = 'COM CODE'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

*CLEAR IT_FCAT.

wa_fcat-emphasize = 'C312'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'BSTYP'.

wa_fcat-col_pos = '3'.

wa_fcat-seltext_l = 'PO CATEGORY'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

*CLEAR IT_FCAT.

  • wa_fcat-emphasize = 'C412'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'LIFNR'.

wa_fcat-col_pos = '4'.

wa_fcat-seltext_l = 'VENDOR NUMBER'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

*CLEAR IT_FCAT.

  • wa_fcat-emphasize = 'C512'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'EKORG'.

wa_fcat-col_pos = '5'.

wa_fcat-seltext_l = 'PO ORGAN'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

*CLEAR IT_FCAT.

  • wa_fcat-emphasize = 'C612'.

wa_fcat-tabname = 'IT_EKKO'.

wa_fcat-fieldname = 'EBGRP'.

wa_fcat-col_pos = '6'.

wa_fcat-seltext_l = 'PO GROUP'.

APPEND wa_fcat TO it_fcat.

CLEAR wa_fcat.

ENDFORM. " build_field_catalog

&----


*& Form get_layout

&----


  • text

FORM get_layout .

layout-zebra = 'X'.

ENDFORM. " get_layout

&----


*& Form get_headerin_alv

&----


  • text

----


  • -->P_IT_HEADER text

----


FORM top_of_page .

DATA:it_header TYPE slis_t_listheader,

wa_header TYPE slis_listheader.

CLEAR wa_header.

wa_header-typ = 'H'.

wa_header-info = 'venkatakrishna'.

APPEND wa_header TO it_header.

CLEAR wa_header.

wa_header-typ = 'S'.

wa_header-info = 'SOFTWARE ENGINEER'.

APPEND wa_header TO it_header.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = it_header

  • I_LOGO = I_LOGO

  • I_END_OF_LIST_GRID = I_END_OF_LIST_GRID

  • I_ALV_FORM = I_ALV_FORM

.

ENDFORM. "TOP_OF_PAGE

&----


*& Form user_command

&----


  • text

----


  • -->RF_UCOMM text

  • -->RS_SELFIELD text

----


FORM user_command USING rf_ucomm TYPE sy-ucomm

rs_selfield TYPE slis_selfield.

CASE rf_ucomm.

WHEN '&IC1'.

READ TABLE it_ekko INDEX rs_selfield-tabindex.

IF sy-subrc = 0.

PERFORM get_data_ekpo.

  • PERFORM PRINT_DATA_EKPO.

PERFORM build_field_catalog2.

PERFORM print_field_data.

ENDIF.

ENDCASE.

ENDFORM. "user_command

&----


*& Form BUILD_FIELD_CATALOG2

&----


  • text

FORM build_field_catalog2 .

CLEAR: it_fcat,wa_fcat.

CLEAR: wa_fcat2,it_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'EBELP'.

wa_fcat2-col_pos = '1'.

wa_fcat2-seltext_l = 'item of po number'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'MATNR'.

wa_fcat2-col_pos = '2'.

wa_fcat2-seltext_l = 'material no'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'WERKS'.

wa_fcat2-col_pos = '3'.

wa_fcat2-seltext_l = 'PLANT'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'MENGE'.

wa_fcat2-col_pos = '4'.

wa_fcat2-seltext_l = 'PO QTY'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'MEINS'.

wa_fcat2-col_pos = '5'.

wa_fcat2-seltext_l = 'ORDER UNIT'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

wa_fcat2-tabname = 'IT_EKPO'.

wa_fcat2-fieldname = 'NETWR'.

wa_fcat2-col_pos = '6'.

wa_fcat2-seltext_l = 'net order value'.

APPEND wa_fcat2 TO it_fcat2.

ENDFORM. " BUILD_FIELD_CATALOG2

&----


*& Form PRINT_FIELD_DATA

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM print_field_data .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-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 = 'EKPO'

  • I_BACKGROUND_ID = ' '

i_grid_title = 'INTERACTIVE REPORT'

  • I_GRID_SETTINGS = I_GRID_SETTINGS

  • IS_LAYOUT = IS_LAYOUT

it_fieldcat = it_fcat2

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

IS_VARIANT = ws_x_variant

  • IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

TABLES

t_outtab = it_ekpo

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

*USE THE POPUP_TO_CONFIRM FUNCTION MODULE FOR SELECT

        • CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

        • EXPORTING

        • I_TITLE = 'venkat'

          • I_SELECTION = 'X'

          • I_ALLOW_NO_SELECTION = I_ALLOW_NO_SELECTION

        • I_ZEBRA = 'X'

          • I_SCREEN_START_COLUMN = 0

          • I_SCREEN_START_LINE = 0

          • I_SCREEN_END_COLUMN = 0

          • I_SCREEN_END_LINE = 0

          • I_CHECKBOX_FIELDNAME = I_CHECKBOX_FIELDNAME

          • I_LINEMARK_FIELDNAME = I_LINEMARK_FIELDNAME

          • I_SCROLL_TO_SEL_LINE = 'X'

        • i_tabname = 'EKPO'

          • i_structure_name = 'EKPO'

        • it_fieldcat = it_fcat2

          • IT_EXCLUDING = IT_EXCLUDING

          • I_CALLBACK_PROGRAM = I_CALLBACK_PROGRAM

          • I_CALLBACK_USER_COMMAND = I_CALLBACK_USER_COMMAND

        • is_private = gs_private

        • IMPORTING

        • es_selfield = gs_selfield

        • e_exit = g_exit

        • TABLES

        • t_outtab = IT_EKPO

        • EXCEPTIONS

        • PROGRAM_ERROR = 1

        • OTHERS = 2

        • .

ENDFORM. " PRINT_FIELD_DATA

&----


*& Form fill_event

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_event .

DATA : st_event TYPE slis_alv_event.

*- Clear.

CLEAR : st_event, it_event[].

*- Local variable

DATA : l_tabix TYPE sy-tabix.

*

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = it_event

EXCEPTIONS

list_type_wrong = 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.

*

*- Read event table

READ TABLE it_event WITH KEY name = slis_ev_top_of_page

INTO st_event.

*- Top of page event

*- Clear

CLEAR l_tabix.

l_tabix = sy-tabix.

*- Check subrc

IF sy-subrc = 0.

st_event-form = c_top_of_page.

*- Modify

MODIFY it_event FROM st_event INDEX l_tabix.

*- Clear

CLEAR st_event.

ENDIF.

*

*- User command event

*- Read event table

READ TABLE it_event WITH KEY name = slis_ev_user_command

INTO st_event.

*- Clear

CLEAR l_tabix.

l_tabix = sy-tabix.

*- Check subrc

IF sy-subrc = 0.

st_event-form = c_usercommand.

*- Modify

MODIFY it_event FROM st_event INDEX l_tabix.

*- Clear

CLEAR st_event.

ENDIF.

ENDFORM. " fill_event

&----


*& Form GET_HEADER

&----


  • text

&----


*& Form fill_variant

&----


  • text

form fill_variant .

ws_x_variant-report = 'ZVEN_PRA'.

endform. " fill_variant

</code>

Thanks,

suraj

5 REPLIES 5

Former Member
0 Kudos

Hi Suraj,

pass this 'user_command' to function module.

CALLBACKUSER_COMMAND = ' user_command '

Hope this will help u out.

Reward if helpful

Thanks

Azad.

Former Member
0 Kudos

Hi

Keep a break-point at the following lines and check whetehr the READ statement is returning sy-subrc 0 or not

WHEN '&IC1'.

<b>READ TABLE it_ekko INDEX rs_selfield-tabindex.</b>

IF sy-subrc = 0.

here move the value of it_ekko-EBELn into a field varaible and use it in the select statement of ekpo.

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = sy-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 = 'EKPO'

  • I_BACKGROUND_ID = ' '

i_grid_title = 'INTERACTIVE REPORT'

  • I_GRID_SETTINGS = I_GRID_SETTINGS

  • IS_LAYOUT = IS_LAYOUT

it_fieldcat = it_fcat2

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

IS_VARIANT = ws_x_variant

<b>* IT_EVENTS = IT_EVENTS</b>

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

TABLES

t_outtab = it_ekpo

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

.

You have not passed the event table. Plz check the bold portion of the coad.

0 Kudos

You can also take the following approach to get the functionality:

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

i_callback_top_of_page = 'TOP-OF-PAGE'

I_callback_user_command = 'USER_COMMAND' "see FORM

is_layout = gd_layout

it_fieldcat = fieldcatalog[]

i_save = 'X'

tables

t_outtab = it_ekko

exceptions

program_error = 1

others = 2.

----


  • FORM USER_COMMAND *

----


  • --> R_UCOMM *

  • --> RS_SELFIELD *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

  • Check function code

CASE r_ucomm.

WHEN '&IC1'.

  • Check field clicked on within ALVgrid report

IF rs_selfield-fieldname = 'EBELN'.

  • Read data table, using index of row user clicked on

READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.

  • Set parameter ID for transaction screen field

SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.

  • Sxecute transaction ME23N, and skip initial data entry screen

CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM.

Former Member
0 Kudos

Thank u frnds i m getting it now.

I M GETTING PROBLEM IN THIS PROGRAM AGAIN.

<CODE>Report Z_50840_ALV

Line-size 80

Line-count 64

Message-id ZZ

No Standard Page Heading.

----


  • Copyright statement *

  • @ copyright 2007 by Intelligroup Inc. *

----


----


  • Program Details *

----


  • Program Name: Z_50840_ALV

  • Date : 19.07.2007

  • Author : Vasudevaraman V

  • Description : Test Program

  • Transport No:

----


  • Change Log *

----


  • Date :

  • Author :

  • Description :

  • Transport No:

----


  • Tables *

----


Tables: vbrk.

----


  • Type Pools *

----


Type-Pools: SLIS.

----


  • Variables *

----


Data: GV_REPID TYPE SY-REPID.

----


  • Structures *

----


Data: BEGIN OF GIT_VBRK OCCURS 0,

VBELN LIKE VBRK-VBELN, "Billing Document

FKART LIKE VBRK-FKART, "Billing Type

KNUMV LIKE VBRK-KNUMV, "Number of the document condition

BUKRS LIKE VBRK-BUKRS, "Company code

NETWR LIKE VBRK-NETWR, "Net value in document currency

WAERK LIKE VBRK-WAERK, "SD document currency in basic list

END OF GIT_VBRK,

GIT_FCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FCAT TYPE slis_fieldcat_alv,

GIT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS TYPE SLIS_ALV_EVENT.

----


  • Field Symbols *

----


Field-symbols: <fs_xxxx>.

----


  • Selection Screen *

----


SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_VBELN FOR VBRK-VBELN.

PARAMETERS: LISTDISP RADIOBUTTON GROUP G1,

GRIDDISP RADIOBUTTON GROUP G1 DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK B1.

----


  • Initialization *

----


Initialization.

GV_REPID = SY-REPID.

----


  • At Selection Screen *

----


At selection-screen.

----


  • Start Of Selection *

----


Start-of-selection.

SET PF-STATUS 'ABC'(001).

PERFORM GET_BILLING_DETAILS.

PERFORM FIELD_CATALOGUE.

PERFORM GET_EVENTS.

----


  • End Of Selection *

----


End-of-selection.

PERFORM DISPLAY_BILLING_DETAILS.

----


  • Top Of Page *

----


Top-of-page.

----


  • End Of Page *

----


End-of-page.

&----


*& Form GET_BILLING_DETAILS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_BILLING_DETAILS .

SELECT VBELN

FKART

KNUMV

BUKRS

NETWR

WAERK

FROM VBRK

INTO TABLE GIT_VBRK

WHERE VBELN IN S_VBELN.

IF SY-SUBRC = 0.

SORT GIT_VBRK BY VBELN.

ENDIF.

ENDFORM. " GET_BILLING_DETAILS

&----


*& Form FIELD_CATALOGUE

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM FIELD_CATALOGUE .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = GV_REPID

I_INTERNAL_TABNAME = 'GIT_VBRK'

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = GV_REPID

I_BYPASSING_BUFFER = 'X'

I_BUFFER_ACTIVE = ' '

CHANGING

CT_FIELDCAT = GIT_FCAT

EXCEPTIONS

INCONSISTENT_INTERFACE = 1

PROGRAM_ERROR = 2

OTHERS = 3

.

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. " FIELD_CATALOGUE

&----


*& Form DISPLAY_BILLING_DETAILS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY_BILLING_DETAILS .

IF LISTDISP = 'X'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_BYPASSING_BUFFER = 'X'

I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = GV_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • IS_LAYOUT = IS_LAYOUT

IT_FIELDCAT = GIT_FCAT

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

IT_EVENTS = GIT_EVENTS

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = IS_REPREP_ID

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IR_SALV_LIST_ADAPTER = IR_SALV_LIST_ADAPTER

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

TABLES

T_OUTTAB = GIT_VBRK

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.

ELSE.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_BYPASSING_BUFFER = 'X'

I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = GV_REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME = I_STRUCTURE_NAME

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE = I_GRID_TITLE

  • I_GRID_SETTINGS = I_GRID_SETTINGS

  • IS_LAYOUT = IS_LAYOUT

IT_FIELDCAT = GIT_FCAT

  • IT_EXCLUDING = IT_EXCLUDING

  • IT_SPECIAL_GROUPS = IT_SPECIAL_GROUPS

  • IT_SORT = IT_SORT

  • IT_FILTER = IT_FILTER

  • IS_SEL_HIDE = IS_SEL_HIDE

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT = IS_VARIANT

IT_EVENTS = GIT_EVENTS

  • IT_EVENT_EXIT = IT_EVENT_EXIT

  • IS_PRINT = IS_PRINT

  • IS_REPREP_ID = 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_ALV_GRAPHICS

  • IT_HYPERLINK = IT_HYPERLINK

  • IT_ADD_FIELDCAT = IT_ADD_FIELDCAT

  • IT_EXCEPT_QINFO = IT_EXCEPT_QINFO

  • IR_SALV_FULLSCREEN_ADAPTER = IR_SALV_FULLSCREEN_ADAPTER

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER = E_EXIT_CAUSED_BY_CALLER

  • ES_EXIT_CAUSED_BY_USER = ES_EXIT_CAUSED_BY_USER

TABLES

T_OUTTAB = GIT_VBRK

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.

ENDIF.

ENDFORM. " DISPLAY_BILLING_DETAILS

&----


*& Form GET_EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_EVENTS .

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = GIT_EVENTS

EXCEPTIONS

LIST_TYPE_WRONG = 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.

LOOP AT GIT_EVENTS INTO WA_EVENTS.

CASE WA_EVENTS-NAME.

WHEN 'USER_COMMAND'.

WA_EVENTS-FORM = 'USER_COMMAND'.

ENDCASE.

MODIFY GIT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDLOOP.

ENDFORM. " GET_EVENTS

FORM USER_COMMAND.

WRITE 😕 'USER_COMMAND'.

ENDFORM.</CODE>.

REGARDS,

SURAJ