09-15-2008 10:46 AM
HI experts,
after execution of the program i want to display the output in a table format with horizontal and vertical lines.
how can i do it.
Plz help me.
Advance thanks.
09-15-2008 11:01 AM
Hi
Check this sample report
*&---------------------------------------------------------------------*
*& Report ZSMALL_INTERACTIVE_REPORT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZSMALL_INTERACTIVE_REPORT MESSAGE-ID ZPA1 LINE-SIZE 255
LINE-COUNT 10(2).
Tables: zemp_details1, zcomp_details.
Data: itab like zemp_details1 occurs 0 with header line.
Data: Jtab like zCOMP_details occurs 0 with header line.
SELECT-OPTIONS: EMP_NO FOR ZEMP_DETAILS1-EMPNO.
INITIALIZATION.
EMP_NO-LOW = '1000'.
EMP_NO-HIGH = '4000'.
EMP_NO-SIGN = 'I'.
EMP_NO-OPTION = 'BT'.
APPEND EMP_NO.
CLEAR EMP_NO.
AT SELECTION-SCREEN.
IF EMP_NO-LOW < '1000'.
MESSAGE S000(ZPA1).
ELSEIF EMP_NO-HIGH > '4000'.
MESSAGE S001.
ENDIF.
START-OF-SELECTION.
SELECT * FROM ZEMP_DETAILS1 INTO TABLE ITAB WHERE EMPNO IN EMP_NO.
WRITE:/5 SY-ULINE(35).
LOOP AT ITAB.
WRITE:/5 SY-VLINE, 6 ITAB-EMPNO, 17 SY-VLINE,18 ITAB-EMPNAME,28 SY-VLINE
, 39 SY-VLINE.
ENDLOOP.
TOP-OF-PAGE.
WRITE:/5 SY-ULINE(35).
WRITE:/5 SY-VLINE,6 'EMPNO',17 SY-VLINE,18 'EMPNAME',28 SY-VLINE,
39 SY-VLINE.
WRITE:/5 SY-ULINE(35).
END-OF-PAGE.
WRITE:/5 SY-ULINE(35).
WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
END-OF-SELECTION.
WRITE:/ 'THE RECORD IS CLOSED'.
AT LINE-SELECTION.
IF SY-LSIND = 1.
SELECT * FROM ZEMP_DETAILS1 INTO TABLE ITAB WHERE EMPNO = ITAB-EMPNO.
LOOP AT ITAB.
WRITE:/5 SY-VLINE,6 ITAB-EMPNO,17 SY-VLINE,18 ITAB-EMPNAME,28 SY-VLINE,
39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(35).
ELSEIF SY-LSIND = 2.
SELECT * FROM ZCOMP_DETAILS INTO TABLE JTAB.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-COMP_NO,17 SY-VLINE,18 JTAB-COMP_NAME,28
SY-VLINE,
39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(35).
ENDIF.
or else if u want it through alv use the following code
*&---------------------------------------------------------------------*
*& Report ZPAVAN_ALV_BLOCK_LIST
*&
*&---------------------------------------------------------------------*
*& Developer
*& Date: &DATE
*&---------------------------------------------------------------------*
REPORT ZPAVAN_ALV_BLOCK_LIST.
.
Type-pools : slis.
TABLES : LFA1,KNA1.
data : FIELDCAT type slis_t_fieldcat_alv.
data : LAYOUT type slis_layout_alv.
data : EVENT type slis_t_event .
*---------------------------------
DATA : BEGIN OF ITAB1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
LAND1 LIKE KNA1-LAND1,
NAME1 LIKE KNA1-NAME1,
END OF ITAB1.
DATA : BEGIN OF ITAB2 OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
LAND1 LIKE LFA1-LAND1,
NAME1 LIKE LFA1-NAME1,
END OF ITAB2.
*DATA : BEGIN OF ITAB3 OCCURS 0,
* MATNR LIKE MARA-MATNR,
* MTART LIKE MARA-MTART,
* END OF ITAB3.
*
*---------------------------------
SELECT-OPTIONS : CUST FOR KNA1-KUNNR.
SELECT-OPTIONS : VEND FOR LFA1-LIFNR.
*---------------------------------
start-of-selection.
*--------------- SELECT DATA
SELECT KUNNR LAND1 NAME1 FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE
ITAB1 WHERE KUNNR IN CUST.
SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE
ITAB2 WHERE LIFNR IN VEND.
*SELECT MATNR MTART FROM MARA INTO CORRESPONDING FIELDS OF TABLE
*ITAB3.
* WHERE LIFNR IN VEND.
*--------------- INIT BLOCK ALV
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
*--------------- ADD INTERNAL TABLE ITAB1
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB1'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FIELDCAT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = LAYOUT
it_fieldcat = FIELDCAT
i_tabname = 'ITAB1'
it_events = EVENT
TABLES
t_outtab = ITAB1
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
*------------------- ADD INTERNAL TABLE ITAB2
REFRESH FIELDCAT[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB2'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FIELDCAT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = LAYOUT
it_fieldcat = FIELDCAT
i_tabname = 'ITAB2'
it_events = EVENT
TABLES
t_outtab = ITAB2
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
REFRESH FIELDCAT[].
*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*EXPORTING
*I_PROGRAM_NAME = SY-REPID
*I_INTERNAL_TABNAME = 'ITAB3'
*I_INCLNAME = SY-REPID
*CHANGING
*CT_FIELDCAT = FIELDCAT.
*
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
*EXPORTING
*is_layout = al
*it_fieldcat = alvfc
*i_tabname = 'ITAB3'
*it_events = alvev
*TABLES
*t_outtab = ITAB3
*EXCEPTIONS
*program_error = 1
*maximum_of_appends_reached = 2
*OTHERS = 3.
*--------------- DISPLAY
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
program_error = 1
OTHERS = 2.
Regards
Pavan
09-15-2008 10:47 AM
hi ,
Make use of system vairables
Sy-Vline , sy-uline..
Example Code
REPORT zulinevline.
ULINE /2(97).
WRITE : /6 'program name',24 sy-cprog , 70 'page no', 90 sy-pagno, 2 sy-vline , 22 sy-vline , 68 sy-vline , 98 sy-vline.
WRITE : /6'Date',24 sy-datum , 70 'user name', 90 sy-uname, 2 sy-vline , 22 sy-vline , 68 sy-vline , 98 sy-vline.
ULINE /2(97).
Regards
09-15-2008 11:57 AM
Hi thanks for ur reply.If i want to display
the mentioned information into table format.plz can u help me using sy-uline and sy-vline.
LOOP AT it_zekes1 INTO wa_zekes1.
WRITE: / wa_zekes1-ebeln, wa_zekes1-ebelp,wa_zekes1-erdat, wa_zekes1-dabmg.
The size i have given below.
ebeln-char 10,
ebelp-numc 5,
erdat - dats 8,
dabmg - quan 13.
Correct answer will be appriciated.
Thank u.
Edited by: chitty d on Sep 15, 2008 1:00 PM
09-15-2008 10:48 AM
Hi,
Please refer this link........
http://help.sap.com/saphelp_nw04/helpdata/EN/9f/dba23035c111d1829f0000e829fbfe/content.htm
hope it is helps
09-15-2008 10:49 AM
09-15-2008 10:49 AM
U CAN USE
SY-ULINE,
SY-VLINE.
OR BY FUNCTION MODULES
REUSE_ALV_GRID_DISPLAY
REUSE_ALV_LIST_DISPLAY.
JUST PASS UR NTERNAL TABLE NAME TO THE FMODULE
09-15-2008 10:53 AM
Hi use sy-vline for vertical and sy-uline for horizontal line.
for example. you need to print A B in table.
write :1(10) sy-uline.
write:/ 1 sy-vline.
write: 2(2) 'A'.
write:5 sy-vline.
write:6(3) ' B'.
09-15-2008 11:01 AM
Hi
Check this sample report
*&---------------------------------------------------------------------*
*& Report ZSMALL_INTERACTIVE_REPORT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT ZSMALL_INTERACTIVE_REPORT MESSAGE-ID ZPA1 LINE-SIZE 255
LINE-COUNT 10(2).
Tables: zemp_details1, zcomp_details.
Data: itab like zemp_details1 occurs 0 with header line.
Data: Jtab like zCOMP_details occurs 0 with header line.
SELECT-OPTIONS: EMP_NO FOR ZEMP_DETAILS1-EMPNO.
INITIALIZATION.
EMP_NO-LOW = '1000'.
EMP_NO-HIGH = '4000'.
EMP_NO-SIGN = 'I'.
EMP_NO-OPTION = 'BT'.
APPEND EMP_NO.
CLEAR EMP_NO.
AT SELECTION-SCREEN.
IF EMP_NO-LOW < '1000'.
MESSAGE S000(ZPA1).
ELSEIF EMP_NO-HIGH > '4000'.
MESSAGE S001.
ENDIF.
START-OF-SELECTION.
SELECT * FROM ZEMP_DETAILS1 INTO TABLE ITAB WHERE EMPNO IN EMP_NO.
WRITE:/5 SY-ULINE(35).
LOOP AT ITAB.
WRITE:/5 SY-VLINE, 6 ITAB-EMPNO, 17 SY-VLINE,18 ITAB-EMPNAME,28 SY-VLINE
, 39 SY-VLINE.
ENDLOOP.
TOP-OF-PAGE.
WRITE:/5 SY-ULINE(35).
WRITE:/5 SY-VLINE,6 'EMPNO',17 SY-VLINE,18 'EMPNAME',28 SY-VLINE,
39 SY-VLINE.
WRITE:/5 SY-ULINE(35).
END-OF-PAGE.
WRITE:/5 SY-ULINE(35).
WRITE:/ 'THE PAGE NO IS',SY-PAGNO.
END-OF-SELECTION.
WRITE:/ 'THE RECORD IS CLOSED'.
AT LINE-SELECTION.
IF SY-LSIND = 1.
SELECT * FROM ZEMP_DETAILS1 INTO TABLE ITAB WHERE EMPNO = ITAB-EMPNO.
LOOP AT ITAB.
WRITE:/5 SY-VLINE,6 ITAB-EMPNO,17 SY-VLINE,18 ITAB-EMPNAME,28 SY-VLINE,
39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(35).
ELSEIF SY-LSIND = 2.
SELECT * FROM ZCOMP_DETAILS INTO TABLE JTAB.
LOOP AT JTAB.
WRITE:/5 SY-VLINE,6 JTAB-COMP_NO,17 SY-VLINE,18 JTAB-COMP_NAME,28
SY-VLINE,
39 SY-VLINE.
ENDLOOP.
WRITE:/5 SY-ULINE(35).
ENDIF.
or else if u want it through alv use the following code
*&---------------------------------------------------------------------*
*& Report ZPAVAN_ALV_BLOCK_LIST
*&
*&---------------------------------------------------------------------*
*& Developer
*& Date: &DATE
*&---------------------------------------------------------------------*
REPORT ZPAVAN_ALV_BLOCK_LIST.
.
Type-pools : slis.
TABLES : LFA1,KNA1.
data : FIELDCAT type slis_t_fieldcat_alv.
data : LAYOUT type slis_layout_alv.
data : EVENT type slis_t_event .
*---------------------------------
DATA : BEGIN OF ITAB1 OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
LAND1 LIKE KNA1-LAND1,
NAME1 LIKE KNA1-NAME1,
END OF ITAB1.
DATA : BEGIN OF ITAB2 OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
LAND1 LIKE LFA1-LAND1,
NAME1 LIKE LFA1-NAME1,
END OF ITAB2.
*DATA : BEGIN OF ITAB3 OCCURS 0,
* MATNR LIKE MARA-MATNR,
* MTART LIKE MARA-MTART,
* END OF ITAB3.
*
*---------------------------------
SELECT-OPTIONS : CUST FOR KNA1-KUNNR.
SELECT-OPTIONS : VEND FOR LFA1-LIFNR.
*---------------------------------
start-of-selection.
*--------------- SELECT DATA
SELECT KUNNR LAND1 NAME1 FROM KNA1 INTO CORRESPONDING FIELDS OF TABLE
ITAB1 WHERE KUNNR IN CUST.
SELECT LIFNR LAND1 NAME1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE
ITAB2 WHERE LIFNR IN VEND.
*SELECT MATNR MTART FROM MARA INTO CORRESPONDING FIELDS OF TABLE
*ITAB3.
* WHERE LIFNR IN VEND.
*--------------- INIT BLOCK ALV
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid.
*--------------- ADD INTERNAL TABLE ITAB1
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB1'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FIELDCAT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = LAYOUT
it_fieldcat = FIELDCAT
i_tabname = 'ITAB1'
it_events = EVENT
TABLES
t_outtab = ITAB1
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
*------------------- ADD INTERNAL TABLE ITAB2
REFRESH FIELDCAT[].
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB2'
I_INCLNAME = SY-REPID
CHANGING
CT_FIELDCAT = FIELDCAT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = LAYOUT
it_fieldcat = FIELDCAT
i_tabname = 'ITAB2'
it_events = EVENT
TABLES
t_outtab = ITAB2
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
REFRESH FIELDCAT[].
*CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*EXPORTING
*I_PROGRAM_NAME = SY-REPID
*I_INTERNAL_TABNAME = 'ITAB3'
*I_INCLNAME = SY-REPID
*CHANGING
*CT_FIELDCAT = FIELDCAT.
*
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
*EXPORTING
*is_layout = al
*it_fieldcat = alvfc
*i_tabname = 'ITAB3'
*it_events = alvev
*TABLES
*t_outtab = ITAB3
*EXCEPTIONS
*program_error = 1
*maximum_of_appends_reached = 2
*OTHERS = 3.
*--------------- DISPLAY
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
program_error = 1
OTHERS = 2.
Regards
Pavan
09-15-2008 12:04 PM
Hi,
Try like this....
WRITE: / 2 sy-vline,3 wa_zekes1-ebeln,14 sy-vline,15 wa_zekes1-ebelp,21 sy-vline,23 wa_zekes1-erdat, 32 sy-vline,33 wa_zekes1-dabmg,37 sy-vline.
write : / 2 sy-uline(37).
09-15-2008 12:04 PM
LOOP AT it_zekes1 INTO wa_zekes1.
WRITE: / wa_zekes1-ebeln, 25 sy-vline, wa_zekes1-ebelp,45 sy-vline,wa_zekes1-erdat,65 sy-vline, wa_zekes1-dabmg,100 sy-vline.
write:/ sy-uline.
endloop
hi try this
hope it will work
the numbers are of ur requirement
it is edited by you accoding to ur needs
s.janagar
09-15-2008 12:10 PM
Hi thanks for ur reply.
I got the out put in d table format.but the table is not having the open vertical line and closed vertical line.
First and last the lines for the table is missed.
can u suggest me.
Thank you.
09-15-2008 12:17 PM