2007 Feb 02 6:28 AM
Hello Guys.....
As Per My New Requirement I Have to Display Data in two ALV Drid . like.........
ALV1
ALV2
In a sample Program at SAP slis library I found Two ALV in same screen but they are in ALV1 ALV2 format.. it's will not fullfill my requirement..
any one have any idea..
Please send me test program ..
Regard
Swati Namdev..
2007 Feb 02 6:36 AM
check out following demo program,
BCALV_TEST_BLOCK_LIST
or
First use the following function.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = ZFIELD
IS_LAYOUT = Z_LAYOUT
I_TABNAME = 'ZDATA'
IT_EVENTS = GT_ZEVENTS
I_TEXT = TEXT-0B3
TABLES
T_OUTTAB = ZDATA.
You can update your internal table replace "Zdata" with another internal table and call this function again.
This will give you 2 ALV GRID blocks
Hello Guys.....
As Per My New Requirement I Have to Display Data in two ALV Drid . like.........
ALV1
ALV2
In a sample Program at SAP slis library I found Two ALV in same screen but they are in ALV1 ALV2 format.. it's will not fullfill my requirement..
any one have any idea..
Please send me test program ..
Regard
Swati Namdev..
2007 Feb 02 6:31 AM
REPORT zkb_block_list_report .
TYPE-POOLS: slis.
DATA: BEGIN OF i_clients OCCURS 0,
mandt LIKE t000-mandt,
mtext LIKE t000-mtext,
ort01 LIKE t000-ort01.
DATA: END OF i_clients.
DATA: BEGIN OF i_industry OCCURS 0,
mandt LIKE t016t-mandt,
spras LIKE t016t-spras,
brsch LIKE t016t-brsch,
brtxt LIKE t016t-brtxt.
DATA: END OF i_industry.
DATA: i_fcat_c TYPE slis_t_fieldcat_alv,
i_fcat_i TYPE slis_t_fieldcat_alv.
DATA: i_layout_c TYPE slis_layout_alv.
DATA: i_layout_i TYPE slis_layout_alv.
DATA: i_events_c TYPE slis_t_event.
DATA: i_events_i TYPE slis_t_event.
DATA: gt_print TYPE slis_print_alv.
START-OF-SELECTION.
BREAK-POINT.
SELECT mandt mtext ort01
FROM t000 INTO CORRESPONDING FIELDS OF TABLE i_clients.
SELECT mandt spras brsch brtxt
FROM t016t INTO CORRESPONDING FIELDS OF TABLE i_industry.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZKB_BLOCK_LIST_REPORT'
i_internal_tabname = 'I_CLIENTS'
I_STRUCTURE_NAME = 'T000'
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZKB_BLOCK_LIST_REPORT'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = i_fcat_c
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.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZKB_BLOCK_LIST_REPORT'
i_internal_tabname = 'I_INDUSTRY'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZKB_BLOCK_LIST_REPORT'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = i_fcat_i
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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = 'ZKB_BLOCK_LIST_REPORT'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout_c
it_fieldcat = i_fcat_c
i_tabname = 'I_CLIENTS'
it_events = i_events_c
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = i_clients
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = i_layout_i
it_fieldcat = i_fcat_i
i_tabname = 'I_INDUSTRY'
it_events = i_events_i
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = i_industry
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
gt_print-reserve_lines = 2.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
is_print = gt_print
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
2007 Feb 02 6:34 AM
Hello Swati
Following is a sample report using <b>three</b> ALV lists to display customers -> sales orders -> order items. Double-click on a customer and the 2nd list will display his sales orders. Double-click on a sales order and the 3rd list will display the items.
It should be quite obvious how to modify the program to have only two ALV lists.
*&---------------------------------------------------------------------*
*& Report ZUS_SDN_THREE_ALV_GRIDS
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zus_sdn_three_alv_grids.
DATA:
gd_okcode TYPE ui_func,
*
go_docking TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_splitter_2 TYPE REF TO cl_gui_splitter_container,
go_cell_top TYPE REF TO cl_gui_container,
go_cell_bottom TYPE REF TO cl_gui_container,
go_cell_left TYPE REF TO cl_gui_container,
go_cell_right TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
go_grid3 TYPE REF TO cl_gui_alv_grid.
DATA:
gt_knb1 TYPE STANDARD TABLE OF knb1,
gt_vbak TYPE STANDARD TABLE OF vbak,
gt_vbap TYPE STANDARD TABLE OF vbap.
PARAMETERS:
p_bukrs TYPE bukrs DEFAULT '1000'.
*---------------------------------------------------------------------*
* CLASS lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
*---------------------------------------------------------------------*
* CLASS lcl_eventhandler IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_double_click.
* define local data
DATA:
ls_knb1 TYPE knb1,
ls_vbak TYPE vbak,
ls_vbap TYPE vbap.
CASE sender.
WHEN go_grid1.
READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row-index.
CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
* IS_ROW_ID =
* IS_COLUMN_ID =
is_row_no = es_row_no.
* Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDERS' ).
WHEN go_grid2.
READ TABLE gt_vbak INTO ls_vbak INDEX e_row-index.
CHECK ( ls_vbak-vbeln IS NOT INITIAL ).
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
* IS_ROW_ID =
* IS_COLUMN_ID =
is_row_no = es_row_no.
* Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DETAILS' ).
WHEN go_grid3.
READ TABLE gt_vbap INTO ls_vbap INDEX e_row-index.
CHECK ( ls_vbap-matnr IS NOT INITIAL ).
SET PARAMETER ID 'MAT' FIELD ls_vbap-matnr.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
WHEN OTHERS.
RETURN.
ENDCASE.
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = p_bukrs.
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 1
columns = 2
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_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.
* Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_left.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = go_cell_right.
* Create 2nd splitter container
CREATE OBJECT go_splitter_2
EXPORTING
parent = go_cell_left
rows = 2
columns = 1
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_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.
* Get cell container
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_top.
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = go_cell_bottom.
* Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_top
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_bottom
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid3
EXPORTING
i_parent = go_cell_right
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Set event handler
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid1.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid2.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid3.
* Display data
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'KNB1'
CHANGING
it_outtab = gt_knb1
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_vbak.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAK'
CHANGING
it_outtab = gt_vbak " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_vbap.
CALL METHOD go_grid3->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAP'
CHANGING
it_outtab = gt_vbap " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro
CALL METHOD go_docking->link
EXPORTING
repid = syst-repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
* Flow logic of dynpro:
*
*PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
**
*PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "ORDERS"
* SET TITLEBAR 'xxx'.
* Refresh display of detail ALV list
CALL METHOD go_grid2->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
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.
* Refresh display of detail ALV list
CALL METHOD go_grid3->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
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.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
* User has pushed button "Display Orders"
WHEN 'ORDERS'.
PERFORM customer_show_orders.
WHEN 'ORDER_DETAILS'.
PERFORM order_show_details.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Form CUSTOMER_SHOW_ORDERS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM customer_show_orders .
* define local data
DATA:
ld_row TYPE i,
ls_knb1 TYPE knb1.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_knb1 INTO ls_knb1 INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM vbak INTO TABLE gt_vbak
WHERE kunnr = ls_knb1-kunnr.
REFRESH: gt_vbap.
ENDFORM. " CUSTOMER_SHOW_ORDERS
*&---------------------------------------------------------------------*
*& Form ORDER_SHOW_DETAILS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM order_show_details .
* define local data
DATA:
ld_row TYPE i,
ls_vbak TYPE vbak.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_vbak INTO ls_vbak INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM vbap INTO TABLE gt_vbap
WHERE vbeln = ls_vbak-vbeln.
ENDFORM. " ORDER_SHOW_DETAILSRegards
Uwe
2007 Feb 02 6:35 AM
Hi,
I am sending sample coding to u. It is really helps to u.
REPORT CODING
REPORT YMS_EXDET MESSAGE-ID E4 NO STANDARD PAGE HEADING LINE-SIZE 350.
*REPORT ZMM_EXIN_DOC_ALV_HEADER .
TABLES : J_1IEXCHDR, " header table
J_1IEXCDTL, " item table
J_1IPART1, " Excise part I detials
J_1IPART2, " Excise Part II details
LFA1, " vendor master table
J_1IMOVEND, " vendor excise details table
MSEG, " Document Segment: Material
MKPF, " Header: Material Document
DD07T, " domain text table
T001W. " Plant and Branch Details
DATA : BEGIN OF IT_CHDR OCCURS 100,
SERIALNO LIKE J_1IPART1-SERIALNO,
DOCNO LIKE J_1IEXCHDR-DOCNO,
DOCYR LIKE J_1IEXCHDR-DOCYR,
EXNUM LIKE J_1IEXCHDR-EXNUM,
EXDAT LIKE J_1IEXCHDR-EXDAT,
WERKS LIKE J_1IEXCHDR-WERKS,
EXBED LIKE J_1IEXCHDR-EXBED,
EXCCD LIKE J_1IEXCHDR-EXCCD,
ECS LIKE J_1IEXCHDR-ECS,
STATUS LIKE J_1IEXCHDR-STATUS, "CHALLAN STATUS
END OF IT_CHDR.
DATA : BEGIN OF IT_CDTL OCCURS 100,
SERIALNO LIKE J_1IPART1-SERIALNO,
DOCYR LIKE J_1IEXCDTL-DOCYR,
DOCNO LIKE J_1IEXCDTL-DOCNO,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
LIFNR LIKE J_1IEXCDTL-LIFNR,
MATNR LIKE J_1IEXCDTL-MATNR,
MAKTX LIKE J_1IEXCDTL-MAKTX,
CHAPID LIKE J_1IEXCDTL-CHAPID,
EXBAS LIKE J_1IEXCDTL-EXBAS,
EXBED LIKE J_1IEXCDTL-EXBED,
ECS LIKE J_1IEXCDTL-ECS,
MENGE LIKE J_1IEXCDTL-MENGE,
MEINS LIKE J_1IEXCDTL-MEINS,
RDOC2 LIKE J_1IEXCDTL-RDOC2,
EXGRP LIKE J_1IEXCDTL-EXGRP,
RDOC1 LIKE J_1IEXCDTL-RDOC1,
STATUS LIKE J_1IEXCDTL-STATUS, "CHALLAN STATUS
END OF IT_CDTL.
DATA TEXT(10).
DATA : BEGIN OF IT_OUT OCCURS 0,
SERIALNO LIKE J_1IPART1-SERIALNO,
TEXT1 LIKE TEXT,
EXNUM LIKE J_1IEXCDTL-EXNUM,
EXDAT LIKE J_1IEXCDTL-EXDAT,
NAME LIKE LFA1-NAME1,
DDTEXT LIKE DD07T-DDTEXT,
EXCCD LIKE J_1IEXCHDR-EXCCD,
BUDAT LIKE MKPF-BUDAT,
EXBAS LIKE IT_CDTL-EXBAS,
EXBED LIKE IT_CDTL-EXBED,
ECS LIKE IT_CDTL-ECS,
MATNR LIKE IT_CDTL-MATNR,
MAKTX LIKE IT_CDTL-MAKTX,
CHAPID LIKE IT_CDTL-CHAPID,
MENGE LIKE IT_CDTL-MENGE,
MEINS LIKE IT_CDTL-MEINS,
DEL_IND(1),
END OF IT_OUT.
DATA IT_PART2 LIKE J_1IPART1 OCCURS 0 WITH HEADER LINE.
DATA S_NO(4) .
DATA DB_CNT LIKE SY-TABIX.
DATA EBELN_T LIKE MSEG-EBELN .
*----
TYPE-POOLS : SLIS.
DATA : AFIELD TYPE SLIS_FIELDCAT_ALV.
DATA : LIST_HEADER TYPE SLIS_T_LISTHEADER,
FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
LS_FTCAT TYPE LVC_S_FCAT,
SORTCAT TYPE SLIS_T_SORTINFO_ALV,
SORTCAT_LN LIKE LINE OF SORTCAT,
G_REPID LIKE SY-REPID,
G_BACK_GROUND(70), "like bapibds01-objkey,
GS_VARIANT LIKE DISVARIANT,
G_SAVE ,
GT_EVENTS TYPE SLIS_T_EVENT,
ALV_EVENT TYPE SLIS_ALV_EVENT,
EVENTCAT TYPE SLIS_T_EVENT,
EVENTCAT_LN LIKE LINE OF EVENTCAT,
LAYOUT_IN TYPE SLIS_LAYOUT_ALV,
LAYOUT_IN1 TYPE SLIS_LAYOUT_ALV.
CONSTANTS : GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE
'TOP_OF_PAGE',
GC_FORMNAME_USER_COMMAND TYPE SLIS_FORMNAME VALUE
'USER_COMMAND',
GC_FORMNAME_BEFORE_OUTPUT TYPE SLIS_FORMNAME VALUE
'BEFORE_OUTPUT'.
ALV_EVENT TYPE SLIS_ALV_EVENT,
*----
DATA EX_NO LIKE IT_CHDR-EXNUM VALUE 0.
DATA REGTYP_1 LIKE J_1IPART1-REGTYP.
SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME.
PARAMETERS WERKS TYPE J_1IEXCHDR-WERKS.
SELECT-OPTIONS : BUDAT FOR J_1IEXCHDR-EXDAT.
PARAMETERS : R1 RADIOBUTTON GROUP GRP DEFAULT 'X',
R2 RADIOBUTTON GROUP GRP.
SELECTION-SCREEN END OF BLOCK B.
INITIALIZATION.
G_REPID = SY-REPID.
G_SAVE = 'A'.
PERFORM BUILD_EVENT USING GT_EVENTS[].
PERFORM ALV_EVENT_INIT.
AT SELECTION-SCREEN.
REFRESH LIST_HEADER.
PERFORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER.
START-OF-SELECTION.
PERFORM ALV_EVENT_INIT.
G_REPID = SY-REPID.
G_BACK_GROUND = ' ' .
IF R1 = 'X'.
CLEAR R2. CLEAR : REGTYP_1.
REGTYP_1 = 'A'.
set titlebar 'BALAJI' with DB_CNT.
ELSEIF R2 = 'X'.
CLEAR R1.CLEAR : REGTYP_1.
REGTYP_1 = 'C'.
set titlebar 'BALAJI1' with DB_CNT.
ENDIF.
SELECT * FROM J_1IPART1
INTO CORRESPONDING FIELDS OF TABLE IT_PART2
WHERE REGTYP = REGTYP_1 AND
TRNTYP = 'GRPO'.
AND BUDAT IN BUDAT.
DOCYR = IT_CDTL-DOCYR AND
DOCNO = IT_CDTL-DOCNO.
LOOP AT IT_PART2.
SELECT SINGLE * FROM J_1IEXCHDR
INTO CORRESPONDING FIELDS OF IT_CHDR
WHERE TRNTYP = 'GRPO' AND
*
STATUS NE ' ' AND
STATUS EQ ' ' AND
*
DOCYR = IT_PART2-DOCYR AND
DOCNO = IT_PART2-DOCNO AND
WERKS = WERKS AND
EXDAT IN BUDAT.
ORDER BY EXDAT.
IF SY-SUBRC = 0.
APPEND IT_CHDR.
ELSE.
CONTINUE.
ENDIF.
IF SY-SUBRC <> 0.
MESSAGE E084.
ENDIF.
ENDLOOP.
*
*******************SPD****************
SELECT * INTO CORRESPONDING FIELDS OF IT_CDTL FROM J_1IEXCDTL WHERE
TRNTYP = 'GRPO' AND WERKS = WERKS AND
EXDAT IN BUDAT AND STATUS NE 'B'.
SELECT SINGLE * FROM J_1IPART1 WHERE DOCNO = IT_CDTL-DOCNO AND
DOCYR = IT_CDTL-DOCYR AND
REGTYP = REGTYP_1.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
DOCYR = IT_CDTL-DOCYR.
IF SY-SUBRC NE 0.
IT_CDTL-SERIALNO = J_1IPART1-SERIALNO.
APPEND IT_CDTL.
ENDIF.
ENDIF.
ENDSELECT.
***************SPD********************
SELECT BDOCNO BDOCYR BEXNUM BEXDAT BWERKS BEXBED B~EXCCD
B~ECS
B~STATUS
A~SERIALNO
FROM J_1IPART1 AS A INNER JOIN J_1IEXCHDR AS B
ON ADOCYR = BDOCYR AND ADOCNO = BDOCNO INTO CORRESPONDING
FIELDS OF TABLE IT_CHDR WHERE B~TRNTYP = 'GRPO' AND
BWERKS = WERKS AND BEXDAT IN BUDAT AND
B~STATUS = ' ' AND
B~STATUS = 'C' AND
A~REGTYP = REGTYP_1.
*
SORT IT_PART2 BY SERIALNO.
*
LOOP AT IT_CHDR.
SELECT * FROM J_1IEXCDTL
INTO CORRESPONDING FIELDS OF IT_CDTL
FOR ALL ENTRIES IN IT_CHDR
WHERE
TRNTYP = 'GRPO' AND
*
STATUS EQ ' ' AND
STATUS EQ 'C' AND
*
STATUS NE 'P' AND
*
DOCNO = IT_CHDR-DOCNO AND
DOCYR = IT_CHDR-DOCYR AND
EXNUM = IT_CHDR-EXNUM AND
EXDAT = IT_CHDR-EXDAT AND
WERKS = IT_CHDR-WERKS.
IF SY-SUBRC = 0.
APPEND IT_CDTL.
CLEAR IT_CDTL.
ELSE.
CONTINUE.
ENDIF.
ENDSELECT.
*
*
MODIFY IT_CDTL INDEX SY-TABIX.
CLEAR IT_CDTL.
*
ENDLOOP.
*
*****spd change**********
*LOOP AT IT_CDTL.
*SELECT SINGLE * FROM J_1IPART2 WHERE DOCNO = IT_CDTL-DOCNO AND
DOCYR = IT_CDTL-DOCYR.
*
*IF SY-SUBRC = 0.
DELETE IT_CDTL INDEX SY-TABIX.
*ENDIF.
*ENDLOOP.
**SELECT
*******spd ****************
SORT IT_CDTL BY EXNUM EXDAT.
DELETE ADJACENT DUPLICATES FROM IT_CDTL COMPARING MATNR EXNUM EXDAT.
LOOP AT IT_CDTL.
CLEAR TEXT.
DB_CNT = DB_CNT + 1.
READ TABLE IT_CHDR WITH KEY EXNUM = IT_CDTL-EXNUM DOCNO =
IT_CDTL-DOCNO.
READ TABLE IT_PART2 WITH KEY DOCNO = IT_CDTL-DOCNO .
IT_OUT-SERIALNO = IT_PART2-SERIALNO.
SELECT SINGLE NAME1 FROM LFA1
INTO IT_OUT-NAME
WHERE LIFNR = IT_CDTL-LIFNR.
SELECT SINGLE * FROM LFA1
WHERE LIFNR = IT_CDTL-LIFNR.
IF LFA1-LAND1 EQ 'IN'.
TEXT = 'INVOICE'.
IT_OUT-TEXT1 = TEXT.
ELSE.
TEXT = 'BOE'.
IT_OUT-TEXT1 = TEXT.
ENDIF.
SELECT SINGLE * FROM J_1IMOVEND
WHERE LIFNR = IT_CDTL-LIFNR.
SELECT SINGLE * FROM DD07T
INTO IT_OUT-DDTEXT
WHERE DOMNAME = 'J_1IVTYP' AND
DDLANGUAGE = 'EN' AND
DOMVALUE_L = J_1IMOVEND-J_1IVTYP.
IF DD07T-DDTEXT = 'First Stage Dealer of indigenous excisable goods'
OR
DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisablegoods'.
DD07T-DDTEXT = 'Dealer'.
ENDIF.
IT_OUT-DDTEXT = DD07T-DDTEXT.
ELSEIF DD07T-DDTEXT = 'Second Stage Dealer of indigenous excisable
*goods'.
DD07T-DDTEXT =
CLEAR EBELN_T.
SELECT SINGLE LFBNR FROM MSEG
INTO EBELN_T
WHERE MBLNR = IT_CDTL-RDOC2 .
SELECT SINGLE * FROM MSEG
WHERE BWART EQ '106' AND
LFBNR = EBELN_T ."and
ebeln = ebeln_t.
IF SY-SUBRC = 0.
IT_OUT-DEL_IND = 'X'.
ELSE.
IT_OUT-DEL_IND = ' '.
ENDIF.
SELECT SINGLE BUDAT FROM MKPF
INTO IT_OUT-BUDAT
WHERE MBLNR = EBELN_T ."MSEG-LFBNR.
IT_OUT-EXNUM = IT_CDTL-EXNUM.
IT_OUT-EXDAT = IT_CDTL-EXDAT.
IT_OUT-EXCCD = IT_CHDR-EXCCD.
IT_OUT-SERIALNO = IT_CHDR-SERIALNO.
IT_OUT-SERIALNO = IT_CDTL-SERIALNO.
IT_OUT-EXBAS = IT_CDTL-EXBAS.
IT_OUT-EXBED = IT_CDTL-EXBED.
IT_OUT-ECS = IT_CDTL-ECS.
IT_OUT-MATNR = IT_CDTL-MATNR.
IT_OUT-MAKTX = IT_CDTL-MAKTX.
IT_OUT-CHAPID = IT_CDTL-CHAPID.
IT_OUT-MENGE = IT_CDTL-MENGE.
IT_OUT-MEINS = IT_CDTL-MEINS.
APPEND IT_OUT.
EX_NO = IT_CDTL-EXNUM.
ENDLOOP.
*
*----
Title Portion
IF REGTYP_1 = 'A'.
SET TITLEBAR 'BALAJI' WITH DB_CNT.
ELSEIF REGTYP_1 = 'C'.
SET TITLEBAR 'BALAJI1' WITH DB_CNT.
ENDIF.
*----
AFIELD-COL_POS = 1.
AFIELD-FIELDNAME = 'SERIALNO'.
AFIELD-SELTEXT_L = 'SERIAL NO.'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 2.
AFIELD-FIELDNAME = 'TEXT1'.
AFIELD-SELTEXT_L = 'TYPE OF DOC'.
AFIELD-JUST = 'L'.
AFIELD-DECIMALS_OUT = '0'.
AFIELD-NO_ZERO = 'X'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 3.
AFIELD-FIELDNAME = 'EXNUM'.
AFIELD-SELTEXT_L = 'DOC.NO'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 4.
AFIELD-FIELDNAME = 'EXDAT'.
AFIELD-SELTEXT_L = 'DOC.DATE'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 5.
AFIELD-FIELDNAME = 'NAME'.
AFIELD-SELTEXT_L = 'NAME OF THE SUPPLIER'.
AFIELD-NO_ZERO = 'X'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 6.
AFIELD-FIELDNAME = 'DDTEXT'.
AFIELD-SELTEXT_L = 'TYPE-OF-SUPPLIER'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 7.
AFIELD-FIELDNAME = 'EXCCD'.
AFIELD-SELTEXT_L = 'ECC OF THE SUPPLIER'.
AFIELD-NO_ZERO = 'X'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 8.
AFIELD-FIELDNAME = 'BUDAT'.
AFIELD-SELTEXT_L = 'INPUT RECV DATE'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 9.
AFIELD-FIELDNAME = 'EXBAS'.
AFIELD-SELTEXT_L = 'ASSESSABLE-VALUE'.
AFIELD-DO_SUM = 'X'.
AFIELD-JUST = 'R'.
AFIELD-DECIMALS_OUT = '2'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 10.
AFIELD-FIELDNAME = 'EXBED'.
AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN CENVAT'.
AFIELD-JUST = 'R'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 11.
AFIELD-FIELDNAME = 'ECS'.
AFIELD-SELTEXT_L = 'DET OF CREDIT TAKEN E-CESS'.
AFIELD-JUST = 'R'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 12.
AFIELD-FIELDNAME = 'MATNR'.
AFIELD-SELTEXT_L = 'MATERIAL-CODE'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 13.
AFIELD-FIELDNAME = 'MAKTX'.
AFIELD-SELTEXT_L = 'DESCRIPTION'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 14.
AFIELD-FIELDNAME = 'CHAPID'.
AFIELD-SELTEXT_L = 'TARIFF-ID'.
AFIELD-JUST = 'L'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 15.
AFIELD-FIELDNAME = 'MENGE'.
AFIELD-SELTEXT_L = 'QUANTITY'.
AFIELD-JUST = 'R'.
AFIELD-DO_SUM = ' '.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 16.
AFIELD-FIELDNAME = 'MEINS'.
AFIELD-SELTEXT_L = 'UOM'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 17.
AFIELD-FIELDNAME = 'DEL_IND'.
AFIELD-SELTEXT_L = 'Deleted'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
AFIELD-COL_POS = 18.
AFIELD-FIELDNAME = 'PO NO'.
AFIELD-SELTEXT_L = 'PURDOCNO'.
AFIELD-JUST = 'C'.
APPEND AFIELD TO FIELDCAT.
* LAYOUT FOR ZEBRA CATLOG
LAYOUT_IN-COLWIDTH_OPTIMIZE = 'X'.
LAYOUT_IN-ZEBRA = 'X'.
LAYOUT_IN-GET_SELINFOS = 'X'.
LAYOUT_IN-CONFIRMATION_PROMPT = 'X'.
LAYOUT_IN-DETAIL_POPUP = 'X' .
SORTCAT-decimals = '0'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE = G_SAVE
IS_VARIANT = GS_VARIANT
IT_FIELDCAT = FIELDCAT
IT_SORT = SORTCAT
IS_LAYOUT = LAYOUT_IN
IT_EVENTS = EVENTCAT
I_BACKGROUND_ID = g_back_ground
TABLES
T_OUTTAB = IT_OUT.
&----
*& Form TOP_OF_PAGE_LIST_HEADER
&----
text
----
-->LIST_HEADERtext
----
FORM TOP_OF_PAGE_LIST_HEADER USING LIST_HEADER TYPE SLIS_T_LISTHEADER.
DATA : HLINE TYPE SLIS_LISTHEADER,
TEXT(60) TYPE C.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
SELECT SINGLE * FROM T001W WHERE WERKS = WERKS.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
WRITE 'PLANT :' TO TEXT.
WRITE WERKS TO TEXT+8.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
WRITE T001W-NAME1 TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
WRITE T001W-STRAS TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
WRITE T001W-ORT01 TO TEXT.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
CLEAR : HLINE,TEXT.
HLINE-TYP = 'H'.
WRITE 'DATE :' TO TEXT.
WRITE BUDAT-LOW TO TEXT+7.
IF BUDAT-HIGH NE ''.
WRITE 'TO' TO TEXT+18.
WRITE BUDAT-HIGH TO TEXT+22.
ENDIF.
HLINE-INFO = TEXT.
APPEND HLINE TO LIST_HEADER.
ENDFORM. "TOP_OF_PAGE_LIST_HEADER
&----
*& Form ALV_EVENT_INIT
&----
text
----
FORM ALV_EVENT_INIT .
CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
ALV_EVENT-FORM = 'ALV_TOP_OF_PAGE'.
APPEND ALV_EVENT TO EVENTCAT.
CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
ALV_EVENT-FORM = 'ALV_TOP_OF_LIST'.
APPEND ALV_EVENT TO EVENTCAT.
CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_END_OF_LIST.
ALV_EVENT-FORM = 'ALV_END_OF_LIST'.
APPEND ALV_EVENT TO GT_EVENTS.
CLEAR ALV_EVENT.
ALV_EVENT-NAME = SLIS_EV_END_OF_PAGE.
ALV_EVENT-FORM = 'ALV_END_OF_PAGE'.
APPEND ALV_EVENT TO GT_EVENTS.
ENDFORM. "ALV_EVENT_INIT
&----
*& Form ALV_TOP_OF_PAGE
&----
text
----
FORM ALV_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = LIST_HEADER
I_LOGO = 'ENJOYSAP_LOGO'.
ENDFORM. "ALV_TOP_OF_PAGE
&----
*& Form BUILD_EVENT
&----
text
----
-->P_GT_EVENTS[] text
----
FORM BUILD_EVENT USING P_EVENTS TYPE SLIS_T_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_USER_COMMAND INTO
ALV_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_USER_COMMAND TO ALV_EVENT-FORM.
APPEND ALV_EVENT TO P_EVENTS.
ENDIF.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT INTO
ALV_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_BEFORE_OUTPUT TO ALV_EVENT-FORM.
APPEND ALV_EVENT TO P_EVENTS.
ENDIF.
ENDFORM. " BUILD_EVENT
Thanks,
Shankar
2007 Feb 02 6:36 AM
check out following demo program,
BCALV_TEST_BLOCK_LIST
or
First use the following function.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IT_FIELDCAT = ZFIELD
IS_LAYOUT = Z_LAYOUT
I_TABNAME = 'ZDATA'
IT_EVENTS = GT_ZEVENTS
I_TEXT = TEXT-0B3
TABLES
T_OUTTAB = ZDATA.
You can update your internal table replace "Zdata" with another internal table and call this function again.
This will give you 2 ALV GRID blocks
2007 Feb 02 6:37 AM
Hi Swati,
see given code
REPORT Z7RNP_ALV_SO_BLOCK MESSAGE-ID Z7NEW .
************************************************************************
TABLE DECLARATION
************************************************************************
TABLES: VBAK , "Sales Document: Header Data
VBAP , "Sales Document: Item Data
MAKT , "Material Descriptions
LIPS . "SD document: Delivery: Item data
************************************************************************
DECLARATION OF TYPE-POOL
*THIS TYPE-POOL CONTAINS THE EVENTS,
************************************************************************
TYPE-POOLS : SLIS.
************************************************************************
DECLARATION OF EVENTS
************************************************************************
************************************************************************
DECLARATION OF FIELD LAYOUT
************************************************************************
DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: T_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: T_EVENT TYPE SLIS_T_EVENT.
DATA: X_EVENT TYPE SLIS_ALV_EVENT.
************************************************************************
DECLARATION OF LIST HEADER
************************************************************************
DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.
************************************************************************
DECLARATION OF FIELD CATALOG FOR SCREEN 1
************************************************************************
DATA: I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
************************************************************************
DECLARATION OF FIELD CATALOG FOR SCREEN 2
************************************************************************
DATA: I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
************************************************************************
SORTING OF OUTPUT
************************************************************************
DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: T_SORT TYPE SLIS_T_SORTINFO_ALV.
************************************************************************
*DATA DECLARATION
************************************************************************
DATA: V_AUART TYPE TVAK-AUART,
V_VKORG TYPE TVKO-VKORG,
V_KUNNR TYPE KNA1-KUNNR,
V_MATNR TYPE MARA-MATNR ,
V_SPART TYPE TVTA-SPART .
DATA: V_REPID LIKE SY-REPID .
TYPES: BEGIN OF IT_SO ,
VBELN TYPE VBELN_VA , "SALES ORDER NO.
AUART TYPE AUART , "SALES DOC. TYPE
VKORG TYPE VKORG , "SALES ORG.
SPART TYPE SPART , "DIVISION
KUNNR TYPE KUNAG , "SOLD TO PARTY
POSNR TYPE POSNR_VA , "SALES DOC. ITEM
MATNR TYPE MATNR , "MATERIAL NO
MAKTX TYPE MAKTX , "DESCRIPTION
KWMENG TYPE KWMENG , "QUANTITY
VRKME TYPE VRKME , "SALES UNIT
END OF IT_SO .
TYPES: BEGIN OF IT_DEL ,
VBELN TYPE VBELN_VL , "SALES ORDER NO.
POSNR TYPE POSNR_VL , "SALES DOC. ITEM
MATNR TYPE MATNR , "MATERIAL NO
WERKS TYPE WERKS_D , "PLANT
LGORT TYPE LGORT_D , "STORAGE LOCATION
CHARG TYPE CHARG_D , "BATCH NO.
LFIMG TYPE LFIMG , "ACTUAL DELIVERY QTY.
VRKME TYPE VRKME , "SALES UNIT
END OF IT_DEL .
TYPES: BEGIN OF TYPE_VBFA ,
VBELV TYPE VBELN_VON ,
"Preceding sales and distribution document
POSNV TYPE POSNR_VON , "Preceding item of an SD document
VBELN TYPE VBELN_NACH ,
"Subsequent sales and distribution document
POSNN TYPE POSNR_NACH,
"Document category of subsequent document
VBTYP_N TYPE VBTYP_N ,
END OF TYPE_VBFA .
DATA: IT_SO1 TYPE STANDARD TABLE OF IT_SO ,
IT_DEL1 TYPE STANDARD TABLE OF IT_DEL ,
IT_VBFA TYPE STANDARD TABLE OF TYPE_VBFA,
IT_DEL_FUL TYPE STANDARD TABLE OF IT_DEL.
DATA: WA_SO TYPE IT_SO ,
WA_DEL TYPE IT_DEL ,
WA_VBFA TYPE TYPE_VBFA,
wa_IT_DEL_FUL TYPE IT_DEL.
************************************************************************
*SELECTION SCREEN
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-004 .
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN ,
S_AUART FOR V_AUART ,
S_VKORG FOR V_VKORG ,
S_SPART FOR V_SPART ,
S_KUNNR FOR V_KUNNR ,
S_MATNR FOR V_MATNR .
SELECTION-SCREEN END OF BLOCK BLK1 .
************************************************************************
*AT SELECTION SCREEN
************************************************************************
AT SELECTION-SCREEN.
SELECT SINGLE VBELN
FROM VBAK INTO VBAK-VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E202.
ENDIF.
************************************************************************
*START OF SELECTION
************************************************************************
INITIALIZATION.
V_REPID = SY-REPID.
START-OF-SELECTION .
PERFORM DATA_SELECT.
************************************************************************
FOR BLOCK 1
************************************************************************
PERFORM INITIALIZE_BLOCK .
PERFORM FLD_CAT USING I_FLDCAT[] .
PERFORM T_LAYOUT USING I_LAYOUT .
PERFORM I_SORT USING I_SORT .
PERFORM EVENT USING T_EVENT .
PERFORM CALL_ALV.
************************************************************************
FOR BLOCK 2
************************************************************************
PERFORM FLD_CAT2 USING I_FLDCAT2[] .
PERFORM I_LAYOUT USING I_LAYOUT .
PERFORM T_SORT USING I_SORT .
PERFORM EVENT1 USING T_EVENT .
PERFORM CALL_ALV1.
PERFORM BLOCK-DISPLAY .
&----
*& Form DATA_SELECT
&----
text
----
--> p1 text
<-- p2 text
----
FORM DATA_SELECT .
REFRESH: IT_VBFA, IT_SO1, IT_DEL1, IT_DEL_FUL.
SELECT
A~VBELN
A~AUART
A~VKORG
A~SPART
A~KUNNR
B~POSNR
B~MATNR
C~MAKTX
B~KWMENG
B~VRKME
INTO TABLE IT_SO1 FROM VBAK AS A
JOIN VBAP AS B ON BVBELN = AVBELN
JOIN MAKT AS C ON CMATNR = BMATNR
AND C~SPRAS = SY-LANGU
WHERE A~VBELN IN S_VBELN .
IF SY-SUBRC = 0.
SELECT VBELV POSNV VBELN POSNN VBTYP_N INTO TABLE IT_VBFA
FROM VBFA
FOR ALL ENTRIES IN IT_SO1
WHERE VBELV = IT_SO1-VBELN
AND POSNN = IT_SO1-POSNR
AND VBTYP_N ='J' .
IF SY-SUBRC = 0.
SELECT VBELN POSNR MATNR WERKS LGORT CHARG LFIMG VRKME
FROM LIPS INTO TABLE IT_DEL_FUL
FOR ALL ENTRIES IN IT_VBFA
WHERE VBELN = IT_VBFA-VBELN
AND POSNR = IT_VBFA-POSNN.
ENDIF.
ENDIF .
V_REPID = SY-REPID .
ENDFORM. " DATA_SELECT
&----
*& Form INITIALIZE_BLOCK
&----
text
----
--> p1 text
<-- p2 text
----
FORM INITIALIZE_BLOCK .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID .
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
ENDFORM. " INITIALIZE_BLOCK
&----
*& Form FLD_CAT
&----
text
----
-->P_I_FLDCAT[] text
----
FORM FLD_CAT USING P_I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES ORDER NO.'.
I_FLDCAT-COL_POS = 1. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES DOC. TYPE'.
I_FLDCAT-COL_POS = 2. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES ORG.'.
I_FLDCAT-COL_POS = 3. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'DIVISION'.
I_FLDCAT-COL_POS = 4. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SOLD TO PARTY'.
I_FLDCAT-COL_POS = 5. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES DOC. ITEM'.
I_FLDCAT-COL_POS = 6. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'MATERIAL NO.'.
I_FLDCAT-COL_POS = 7. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'DESCRIPTION'.
I_FLDCAT-COL_POS = 8. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'QUANTITY'.
I_FLDCAT-COL_POS = 9. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES UNIT'.
I_FLDCAT-COL_POS = 10. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
ENDFORM. " FLD_CAT
&----
*& Form T_LAYOUT
&----
text
----
-->P_I_LAYOUT text
----
FORM T_LAYOUT USING P_I_LAYOUT TYPE SLIS_LAYOUT_ALV .
P_I_LAYOUT-ZEBRA = 'X'.
P_I_LAYOUT-KEY_HOTSPOT = 'X'.
P_I_LAYOUT-F2CODE = 'DISP'.
ENDFORM. " T_LAYOUT
&----
*& Form I_SORT
&----
text
----
-->P_I_SORT text
----
FORM I_SORT USING P_I_SORT TYPE SLIS_T_SORTINFO_ALV .
DATA: I_SORT TYPE SLIS_SORTINFO_ALV .
REFRESH P_I_SORT .
CLEAR I_SORT.
I_sort-spos = 1.
I_sort-fieldname = 'VBELN'.
I_sort-up = 'X'.
I_sort-subtot = 'X'.
I_sort-group = '*'.
APPEND I_SORT TO P_I_SORT.
ENDFORM. " I_SORT
&----
*& Form CALL_ALV
&----
text
----
--> p1 text
<-- p2 text
----
FORM CALL_ALV .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = T_LAYOUT
IT_FIELDCAT = I_FLDCAT[]
I_TABNAME = 'IT_SO1'
IT_EVENTS = T_EVENT
IT_SORT = I_SORT
I_TEXT = TEXT-202
TABLES
T_OUTTAB = IT_SO1
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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.
REFRESH T_EVENT .
CLEAR T_EVENT .
ENDFORM. " CALL_ALV
&----
*& Form FLD_CAT2
&----
text
----
-->P_I_FLDCAT2[] text
----
FORM FLD_CAT2 USING P_I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'DELIVERY NO.'.
I_FLDCAT2-COL_POS = 1. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT2-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'DELIVERY ITEM'.
I_FLDCAT2-COL_POS = 2. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'MATERIAL NO.'.
I_FLDCAT2-COL_POS = 3. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'PLANT.'.
I_FLDCAT2-COL_POS = 4. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'ST. LOCATION'.
I_FLDCAT2-COL_POS = 5. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'BATCH NO.'.
I_FLDCAT2-COL_POS = 6. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'ACT. DEL. QTY.'.
I_FLDCAT2-COL_POS = 7. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'SALES UNIT.'.
I_FLDCAT2-COL_POS = 8. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
ENDFORM. " FLD_CAT2
&----
*& Form I_LAYOUT
&----
text
----
-->P_I_LAYOUT text
----
FORM I_LAYOUT USING P_I_LAYOUT TYPE SLIS_LAYOUT_ALV .
P_I_LAYOUT-ZEBRA = 'X'.
P_I_LAYOUT-KEY_HOTSPOT = 'X'.
P_I_LAYOUT-F2CODE = 'DISP'.
ENDFORM. " I_LAYOUT
&----
*& Form CALL_ALV1
&----
text
----
--> p1 text
<-- p2 text
----
FORM CALL_ALV1 .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = I_FLDCAT2[]
I_TABNAME = 'IT_DEL_FUL'
IT_EVENTS = T_EVENT
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IT_DEL_FUL
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 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. " CALL_ALV1
&----
*& Form BLOCK-DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
FORM BLOCK-DISPLAY .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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. " BLOCK-DISPLAY
&----
*& Form EVENT
&----
text
----
-->P_T_EVENT text
----
FORM EVENT USING P_T_EVENT type slis_t_event.
x_event-form = 'TOP_OF_LIST1'.
x_event-name = slis_ev_top_of_list.
append x_event to p_t_event.
clear x_event .
ENDFORM. " EVENT
&----
*& Form EVENT1
&----
text
----
-->P_T_EVENT text
----
FORM EVENT1 USING P_T_EVENT type slis_t_event.
x_event-form = 'TOP_OF_LIST2'.
x_event-name = slis_ev_top_of_list.
append x_event to p_t_event.
ENDFORM. " EVENT1
FORM TOP_OF_LIST1.
SKIP 1.
WRITE: 10 'BLOCK LIST 1 FOR SALES ORDER DETAILS ' COLOR 4 .
skip 1.
format reset.
endform.
FORM TOP_OF_LIST2.
skip 1.
WRITE: 10 'BLOCK LIST 2 FOR DELIVERY ORDER DETAILS ' COLOR 4 .
skip 1.
format reset.
endform.
Reward point if useful.
2007 Feb 03 9:36 AM
Hello Ravindra Patil,
I am working with Code send by you, it's is working Fine , But the Event TOP OF PAGE for
both LIST1 and LIST2 (ALV1 and ALV2) is not Working.
I am unable to Add any text before list. same code I am using .
please reply .
Thanks
Swati....
2007 Feb 02 6:39 AM
Hi,
Use two different containers on the screen and populate the ALV's in each container.
This is the simplest and easiest way.
Regards
Subramanian
2007 Feb 02 6:39 AM
for this kind of situations, u need to print the data in blocked list.
2007 Feb 02 6:57 AM
Hi,
As you create single container for a ALV, now create two containers for two ALV screens and populate the data in the PBO or in the event handling methods.
Regards,
Prasanth
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |