0% found this document useful (0 votes)
26 views

ALV

The document describes an ABAP report that displays sales order data in an interactive ALV grid. It retrieves sales order header and line item data and displays it in a split container layout, with the line items in one container and additional fields in other containers. It includes modules for screen flow, data retrieval, object creation and event handling.

Uploaded by

Rangabashyam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

ALV

The document describes an ABAP report that displays sales order data in an interactive ALV grid. It retrieves sales order header and line item data and displays it in a split container layout, with the line items in one container and additional fields in other containers. It includes modules for screen flow, data retrieval, object creation and event handling.

Uploaded by

Rangabashyam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

*&---------------------------------------------------------------------*

*& Report YTEST_STR_NEW


*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT YTEST_STR_NEW.

data: G_VBELN TYPE VBAK-VBELN,


G_AUART TYPE VBAK-AUART,
G_ERDAT TYPE VBAK-AUDAT,
G_KUnnr type VBAK-KUNNR,
ssn TYPE sy-dynnr,
OK_CODE TYPE sy-ucomm.

TYPES: BEGIN OF ty_final,


SALESORDER TYPE CSORDWLF1873-SALESORDER,
SOLDTOPARTY type CSORDWLF1873-SOLDTOPARTY,
PURCHASEORDERBYCUSTOMER TYPE CSORDWLF1873-PURCHASEORDERBYCUSTOMER,
REQUESTEDDELIVERYDATE TYPE CSORDWLF1873-REQUESTEDDELIVERYDATE,
OVERALLSDPROCESSSTATUS TYPE CSORDWLF1873-OVERALLSDPROCESSSTATUS,
TOTALNETAMOUNT TYPE CSORDWLF1873-TOTALNETAMOUNT,
END OF ty_final.

data: gt_data TYPE TABLE OF ty_final,


* User Command

* Reference Variable for Docking Container


r_dock_container TYPE REF TO cl_gui_docking_container,
* Reference Variable for alv grid
lo_cont TYPE REF TO cl_gui_container.
*** lo_alv TYPE REF TO cl_salv_table.

SELECT-OPTIONS: s_vbeln for G_VBELN,


s_auart for g_auart,
s_erdat for G_ERDAT,
s_kunnr for G_KUnnr.

class lcl_hotspot DEFINITION.


PUBLIC SECTION.
* Set the various column properties
METHODS:
on_link_click
FOR EVENT link_click OF cl_salv_events_table
IMPORTING
row
column .

ENDCLASS.

CLASS lcl_hotspot IMPLEMENTATION.


METHOD on_link_click.
* Get the Sales Order number from the table
READ TABLE gt_data INTO data(wa_data) INDEX row.
G_VBELN = wa_data-SALESORDER.
leave to SCREEN 0003.

ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
PERFORM sub_get_data.
CALL screen 0001.

*&---------------------------------------------------------------------*
*& Module STATUS_0001 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_0001 OUTPUT.
SET PF-STATUS 'GUI'.

data(lo_con) = new cl_gui_custom_container( container_name = 'CONT' ).


TRY.
* SALV Table Display on the Docking container
CALL METHOD cl_salv_table=>factory
EXPORTING
r_container = lo_con
IMPORTING
r_salv_table = data(lo_alv)
CHANGING
t_table = gt_data.
CATCH cx_salv_msg .
ENDTRY.

* Hotspot for field Vbeln.


* get Columns object
data(lo_cols_tab) = lo_alv->get_columns( ).
*
* Get VBELN column
data: lo_col_tab TYPE REF TO cl_salv_column_table.
TRY.
lo_col_tab ?= lo_cols_tab->get_column( 'SALESORDER' ).
CATCH cx_salv_not_found.
ENDTRY.
*
* Set the HotSpot for VBELN Column
TRY.
CALL METHOD lo_col_tab->set_cell_type
EXPORTING
value = if_salv_c_cell_type=>hotspot.
.
CATCH cx_salv_data_error .
ENDTRY.
* Pf status
DATA: lo_functions TYPE REF TO cl_salv_functions_list.
lo_functions = lo_alv->get_functions( ).
lo_functions->set_default( abap_true ).
data(lo_events) = lo_alv->get_event( ).
data(lo_evnt) = new lcl_hotspot( ).
* event handler
SET HANDLER lo_evnt->on_link_click FOR lo_events.
* output display
lo_alv->display( ).
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0001 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0001 INPUT.
CASE ok_code.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module CREATE_OBJECTS OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE CREATE_OBJECTS OUTPUT.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0003 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0003 INPUT.
case OK_CODE.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
LEAVE TO SCREEN 0001.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module STATUS_0003 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_0003 OUTPUT.
SET PF-STATUS 'GUI'.
***CALL METHOD cl_gui_cfw=>flush.
***CALL METHOD LO_CON->free.
data(O_CONT) = NEW cl_gui_custom_container( container_name = 'CONT' ).
data(O_SPLIT) = NEW cl_gui_splitter_container( PARENT = O_CONT ROWS = 3 ).
O_split->get_container(
EXPORTING
row = 1
column = 1
RECEIVING
container = DATA(O_ITEM) ).

O_split->get_container(
EXPORTING
row = 2
column = 1
RECEIVING
container = DATA(O_SER) ).

O_split->get_container(
EXPORTING
row = 3
column = 1
RECEIVING
container = DATA(O_SUBSER) ).
* Set height for the container
o_split->set_row_height(
EXPORTING
id = 1
height = 35 ) .

* Set height for the container


o_split->set_row_height(
EXPORTING
id = 2
height = 10 ) .

* Set height for the container


o_split->set_row_height(
EXPORTING
id = 3
height = 55 ) .

SELECT SALESORDER,SALESORDERITEM,PURCHASEORDERBYCUSTOMER",SOLDTOPARTY,MATERIAL,
**ORIGINALLYREQUESTEDMATERIAL,SALESORDERITEMTEXT,ORDERQUANTITY,BASEUNIT,SDPROCESSST
ATUS
from
YSTRSALORD INTO TABLE @DATA(lt_item) WHERE SALESORDER = @G_VBELN.
data(o_grid) = new cl_gui_alv_grid( i_parent = O_ITEM ).

data(t_fcat) = VALUE lvc_t_fcat( ( fieldname = 'SALESORDER'


coltext = 'SO Number '
hotspot = ' '
key = 'X')
( fieldname = 'SALESORDERITEM'
coltext = 'Item'
key = 'X')
( fieldname = 'PURCHASEORDERBYCUSTOMER'
coltext = 'Cust')
).

o_grid->set_table_for_first_display( CHANGING it_outtab = lt_item IT_FIELDCATALOG


= t_fcat ).

ENDMODULE.

INCLUDE ytest_str_sub_get_dataf01.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy