Application Development and Automation 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: 
Read only

example programs

Former Member
0 Likes
931

hi

please send me one example of follwing reports

1.alv

2.interactive report

3.classical

8 REPLIES 8
Read only

Former Member
0 Likes
900

U can check in transaction code ... ABAPDOCU .. for 2&3

For ALV's ... check for BCALV* in se38 ...

Read only

Former Member
0 Likes
900

Following code is the ALV Grid report.It displays with header.

DISPLAY HEADER BY SPLITTING IT.

TABLES VBAK.
TYPE-POOLS SLIS.

Data Declaration 
TYPES: BEGIN OF T_VBAK,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
AUDAT TYPE VBAK-AUDAT,
VBTYP TYPE VBAK-VBTYP,
NETWR TYPE VBAK-NETWR,
VKORG TYPE VBAK-VKORG,
VKGRP TYPE VBAK-VKGRP,
END OF T_VBAK.

DATA IT_VBAK TYPE STANDARD TABLE OF T_VBAK INITIAL SIZE 0.


ALV Data Declaration 
DATA: FLDCAT TYPE SLIS_T_FIELDCAT_ALV,
W_FLDCAT TYPE SLIS_FIELDCAT_ALV,
GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
GD_REPID TYPE SY-REPID.

*DATA: DATE1(10).

SELECT-OPTIONS: VBELN FOR VBAK-VBELN.

START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BLD_FLDCAT.
PERFORM BLD_LAYOUT.
PERFORM DISPLAY_ALV_REPORT.


Build Field Catalog for ALV Report 
FORM BLD_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBELN'.
W_FLDCAT-SELTEXT_M = 'Sales_Document'.
W_FLDCAT-COL_POS = 0.
*W_FLDCAT-EMPHASIZE = 'C411'.
*CXYZ: C=COLOR,X=COLOR NUMBER(1-9),Y=BOLD(0/1),Z=INVERSE(0/1)
W_FLDCAT-OUTPUTLEN = 15.
W_FLDCAT-KEY = 'X'.
W_FLDCAT-ICON = 'X'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERDAT'.
W_FLDCAT-SELTEXT_L = 'Record_Date_created'.
W_FLDCAT-COL_POS = 1.
W_FLDCAT-KEY = 'X'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'ERNAM'.
W_FLDCAT-SELTEXT_L = 'Cteated_Person_Name'.
W_FLDCAT-COL_POS = 2.
W_FLDCAT-EMPHASIZE = 'C011'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'AUDAT'.
W_FLDCAT-SELTEXT_M = 'Document_Date'.
W_FLDCAT-COL_POS = 3.
W_FLDCAT-EMPHASIZE = 'C110'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VBTYP'.
W_FLDCAT-SELTEXT_L = 'SDDocument_category'.
W_FLDCAT-COL_POS = 4.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'NETWR'.
W_FLDCAT-SELTEXT_L = 'Net_Value'.
W_FLDCAT-COL_POS = 5.
W_FLDCAT-OUTPUTLEN = 10.
W_FLDCAT-DO_SUM = 'X'.
W_FLDCAT-DATATYPE = 'CURR'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKORG'.
W_FLDCAT-SELTEXT_L = 'Sales_Organization'.
W_FLDCAT-COL_POS = 6.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

W_FLDCAT-FIELDNAME = 'VKGRP'.
W_FLDCAT-SELTEXT_M = 'Sales_Group'.
W_FLDCAT-COL_POS = 7.
W_FLDCAT-EMPHASIZE = 'C801'.
APPEND W_FLDCAT TO FLDCAT.
CLEAR W_FLDCAT.

ENDFORM.


Build Layout for ALV Grid Report 

FORM BLD_LAYOUT.

GD_LAYOUT-NO_INPUT = 'X'.
*GD_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
*GD_LAYOUT-NO_SCROLLING = 'X'.
GD_LAYOUT-BOX_FIELDNAME = 'VBELN'.

ENDFORM.


Display report using ALV grid 

FORM DISPLAY_ALV_REPORT.

GD_REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = GD_REPID
IS_LAYOUT = GD_LAYOUT
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
IT_FIELDCAT = FLDCAT[]
I_SAVE = 'X'
TABLES
T_OUTTAB = IT_VBAK
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.


Retrieve data from VBAK table and populate itab IT_VBAK 

FORM DATA_RETRIEVAL.

SELECT VBELN ERDAT ERNAM AUDAT VBTYP NETWR VKORG
FROM VBAK
INTO TABLE IT_VBAK
WHERE VBELN IN VBELN.

ENDFORM.

FORM TOP_OF_PAGE.
DATA: T_HEADER TYPE SLIS_T_LISTHEADER,
W_HEADER TYPE SLIS_LISTHEADER.

W_HEADER-TYP = 'H'.
W_HEADER-INFO = 'WELCOME HEADER LIST'.
APPEND W_HEADER TO T_HEADER.

W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'REPORT:'.
W_HEADER-INFO = SY-REPID.
APPEND W_HEADER TO T_HEADER.

W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'DATE:'.
CONCATENATE SY-DATUM+4(2) ' / ' SY-DATUM+6(2) ' / ' SY-DATUM(4) INTO W_HEADER-INFO.
APPEND W_HEADER TO T_HEADER.
CLEAR W_HEADER.

W_HEADER-TYP = 'S'.
W_HEADER-KEY = 'Page_No:'.
W_HEADER-INFO = SY-PAGNO.
APPEND W_HEADER TO T_HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_HEADER.

ENDFORM.

Reward points if useful

Read only

Former Member
0 Likes
900

Hi,

alv:

&----


*& Report ZBHALV_LIST *

*& *

&----


*& *

*& *

&----


REPORT ZBHALV_LIST.

TABLES:MARA.

SELECT-OPTIONS: MATNR FOR MARA-MATNR.

DATA:BEGIN OF ITAB OCCURS 0,

MATNR LIKE MARA-MATNR,

ERSDA LIKE MARA-ERSDA,

MTART LIKE MARA-MTART,

MBRSH LIKE MARA-MBRSH,

END OF ITAB.

SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR

IN MATNR.

TYPE-POOLS SLIS.

DATA:FCAT TYPE slis_t_fieldcat_alv.

DATA:LAYOUT TYPE slis_layout_alv.

DATA:EVE TYPE slis_t_event WITH HEADER LINE.

DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.

DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.

SORT-UP = 'X'.

SORT-SPOS = 1.

SORT-FIELDNAME = 'ERSDA'.

SORT-tabname = 'MARA'.

APPEND SORT.

SORT-SPOS = 2.

SORT-FIELDNAME = 'MTART'.

SORT-tabname = 'MARA'.

APPEND SORT.

EVE-NAME = 'TOP_OF_PAGE'.

EVE-FORM = 'TOPOFPAGE'.

APPEND EVE.

EVE-NAME = 'TOP_OF_LIST'.

EVE-FORM = 'TOPOFLIST'.

APPEND EVE.

EVE-NAME = 'END_OF_LIST'.

EVE-FORM = 'ENDOFLIST'.

APPEND EVE.

LAYOUT-ZEBRA = 'X'.

LAYOUT-no_hline = 'X'.

LAYOUT-NO_VLINE = 'X'.

LAYOUT-window_titlebar = 'MATERIAL DETAILS'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = SY-REPID

I_INTERNAL_TABNAME = 'ITAB'

  • I_STRUCTURE_NAME =

  • I_CLIENT_NEVER_DISPLAY = 'X'

I_INCLNAME = SY-REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

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

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = 'STATUS'

I_CALLBACK_USER_COMMAND = 'UCOMM'

  • I_STRUCTURE_NAME =

IS_LAYOUT = LAYOUT

IT_FIELDCAT = FCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = SORT[]

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = EVE[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 5

  • I_SCREEN_START_LINE = 5

  • I_SCREEN_END_COLUMN = 120

  • I_SCREEN_END_LINE = 25

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = ITAB

  • 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.

FORM TOPOFPAGE.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'MATERIALS'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM TOPOFLIST.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'MATERIALS-LISTTOP'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM ENDOFLIST.

REFRESH HEAD.

HEAD-TYP = 'H'.

HEAD-INFO = 'MATERIALS-LISTEND'.

APPEND HEAD.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEAD[]

  • I_LOGO =

  • I_END_OF_LIST_GRID =

.

ENDFORM.

FORM STATUS USING MYMENU.

SET PF-STATUS 'MENU'.

ENDFORM.

FORM UCOMM USING CODE STEXT.

CASE CODE.

WHEN 'ABC'.

WRITE:/ 'YOU HAVE CLICKED ON ABC'.

WHEN 'XYZ'.

WRITE:/ 'YOU HAVE CLICKED ON XYZ'.

ENDCASE.

ENDFORM.

interactive report

&----


*& Report ZBHREP3 *

*& *

&----


*& *

*& *

&----


REPORT ZBHREP3 LINE-COUNT 15(1) LINE-SIZE 75.

TABLES: SFLIGHT.

DATA VAR LIKE SFLIGHT-CONNID.

DATA ITAB LIKE SFLIGHT OCCURS 0 WITH HEADER LINE.

SELECT-OPTIONS CARRID1 FOR SFLIGHT-CARRID.

SET PF-STATUS 'MENU'.

SET TITLEBAR 'TIT'.

FORMAT HOTSPOT ON.

WRITE:/10 'AIRLINE CODE',25 'CONNECTION ID',40 'FLIGHT DATE'.

SELECT * FROM SFLIGHT WHERE CARRID IN CARRID1.

WRITE:/10 SFLIGHT-CARRID,25 SFLIGHT-CONNID,40 SFLIGHT-FLDATE.

HIDE SFLIGHT-CONNID.

ENDSELECT.

*END-OF-PAGE.

END-OF-PAGE.

WRITE:/64 'P.NO:',SY-PAGNO.

*TOP-OF-PAGE.

TOP-OF-PAGE.

WRITE:/ 'THIS IS MY FIRST REPORTS PROGRAM.'.

*START-OF-SELECTION.

START-OF-SELECTION.

DO 5 TIMES.

WRITE:/ SY-INDEX.

ENDDO.

*THESE 3 STATEMENTS ARE FOR THE END-OF-PAGE CONTENTS IN LAST PAGE.

DATA M TYPE I.

M = SY-LINCT - SY-LINNO - 1.

SKIP M.

*AT LINE-SELECTION.

AT LINE-SELECTION.

CASE SY-LSIND.

WHEN '1'.

  • READ LINE SY-LILLI FIELD VALUE SFLIGHT-CONNID INTO VAR.

  • SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE

  • CONNID = VAR.

  • WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.

  • ENDSELECT.

  • WRITE:/ VAR.

SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE

CONNID = SY-LISEL+24(4).

WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.

ENDSELECT.

SKIP 1.

WRITE:/ SY-LISEL+24(4).

  • SELECT * FROM SFLIGHT INTO CORRESPONDING FIELDS OF ITAB WHERE

  • CONNID = SFLIGHT-CONNID.

  • WRITE:/ ITAB-CARRID,ITAB-PLANETYPE,ITAB-PAYMENTSUM.

  • ENDSELECT.

  • WRITE:/ SFLIGHT-CONNID.

WHEN '2'.

WRITE:/ SY-LILLI.

WHEN '3'.

WRITE 😕 'BHARAT'.

ENDCASE.

***************************

get cursor:

******************************

data:matnr(18) value 'abcd'.

data:ernam(18) value 'bharat'.

data:fld(30).

data:val1(30).

write:/ matnr,ernam.

at LINE-SELECTION.

get cursor field fld.

write:/ 'you have clicked on',fld.

get cursor field fld value val1.

WRITE:/ val1.

rgds,

bharat.

Read only

Former Member
0 Likes
900

HI.

ref::::

http://www.planetsap.com/download_abap_programs.htm

ALV:

*Table declaration.

TABLES:ZEMP_MST,ZDEPT_MST,ZDESG_MST,ZSL_TXN.

*Varriable declaration.

TYPE-POOLS SLIS.

DATA : POS TYPE I.

DATA REPID LIKE SY-REPID.

DATA : F1 TYPE SLIS_T_FIELDCAT_ALV,

F2 TYPE SLIS_FIELDCAT_ALV,

L_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA L_POS TYPE I VALUE 1. "position of the column

DATA GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

*DATA GT_SORT TYPE SLIS_T_SORTINFO_ALV.

data: GT_EVENTS TYPE SLIS_T_EVENT,

FS_EVENTCAT LIKE LINE OF GT_EVENTs.

*Internal table declaration.

*DATA BEGIN OF IT_SORT OCCURS 5.

  • INCLUDE TYPE SLIS_SORTINFO_ALV.

*DATA END OF IT_SORT.

DATA:BEGIN OF ITAB OCCURS 0,

ZEMPNO LIKE ZEMP_MST-ZEMPNO,

ZEMPNAME LIKE ZEMP_MST-ZEMPNAME,

ZDEPTCD LIKE ZEMP_MST-ZDEPTCD,

ZDEPTNAME LIKE ZDEPT_MST-ZDEPTNAME,

ZDESGCD LIKE ZEMP_MST-ZDESGCD,

ZDESGNAME LIKE ZDESG_MST-ZDESGNAME,

END OF ITAB.

REFRESH ITAB.CLEAR ITAB.

START-OF-SELECTION.

SELECT AZEMPNO AZEMPNAME AZDEPTCD BZDEPTNAME AZDESGCD CZDESGNAME

FROM ZEMP_MST AS A

INNER JOIN ZDEPT_MST AS B

ON AZDEPTCD EQ BZDEPTCD

INNER JOIN ZDESG_MST AS C

ON AZDESGCD EQ CZDESGCD

INTO CORRESPONDING FIELDS OF TABLE ITAB.

IF SY-SUBRC <> 0.

MESSAGE E899(M3) WITH 'No records'.

ENDIF.

perform f_build_eventcat.

PERFORM LAYOUT.

END-OF-SELECTION.

&----


*& Form LAYOUT

&----


FORM LAYOUT .

PERFORM FCAT USING 'ZEMPNO' 'ITAB' '' 'Emp.No.' 'ZEMPNO' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZEMPNAME' 'ITAB' '' 'Emp. Name' 'ZEMPNAME' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDEPTCD' 'ITAB' '' 'Dept.Code' 'ZDEPTCD' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDEPTNAME' 'ITAB' '' 'Dept.Name' 'ZDEPTNAME' 'ZDEPT_MST' ''.

PERFORM FCAT USING 'ZDESGCD' 'ITAB' '' 'Desg.Code' 'ZDESGCD' 'ZEMP_MST' ''.

PERFORM FCAT USING 'ZDESGNAME' 'ITAB' '' 'Desg.Name' 'ZDESGNAME' 'ZDESG_MST' ''.

  • PERFORM LSORT USING 'ZEMPNO' 'IDATA' ''.

  • PERFORM LSORT USING 'ZEMPNAME' 'IDATA' ''.

  • MOVE IT_SORT[] TO GT_SORT[].

REPID = SY-REPID.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = REPID

IT_FIELDCAT = F1

  • IT_SORT = GT_SORT

I_SAVE = 'X'

IT_EVENTS = GT_EVENTS[]

TABLES

T_OUTTAB = ITAB.

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

&----


*& Form FCAT

&----


FORM FCAT USING P_FIELD P_TABLE P_SUM P_TEXT P_RFIELD P_RTABLE P_DISP.

ADD 1 TO POS.

F2-COL_POS = POS.

F2-FIELDNAME = P_FIELD.

F2-TABNAME = P_TABLE.

F2-SELTEXT_L = P_TEXT.

F2-REF_FIELDNAME = P_RFIELD.

F2-REF_TABNAME = P_RTABLE.

F2-DO_SUM = P_SUM.

F2-NO_OUT = P_DISP.

APPEND F2 TO F1.

CLEAR F2.

ENDFORM. " FCAT

&----


*& Form LSORT

&----


*FORM LSORT USING P_FIELD P_TABLE P_UP.

  • ADD 1 TO L_POS.

  • IT_SORT-SPOS = L_POS.

  • IT_SORT-FIELDNAME = P_FIELD.

  • IT_SORT-TABNAME = P_TABLE.

  • IT_SORT-UP = P_UP.

  • APPEND IT_SORT.

*ENDFORM. " LSORT

*----


FORM F_BUILD_EVENTCAT .

CLEAR: GT_EVENTS. REFRESH: GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'TOP_OF_PAGE'.

FS_EVENTCAT-FORM = 'F_REPORT_HEADER_ALV'.

APPEND FS_EVENTCAT TO GT_EVENTS.

CLEAR: FS_EVENTCAT.

FS_EVENTCAT-NAME = 'END_OF_LIST'.

FS_EVENTCAT-FORM = 'F_WRITE_SUMMARY'.

APPEND FS_EVENTCAT TO GT_EVENTS.

ENDFORM. " F_BUILD_EVENTCAT

FORM F_REPORT_HEADER_ALV.

CALL FUNCTION 'Z_YHEAD_PRINT'

EXPORTING

TITLE1 = 'XYZ Limited'

TITLE2 = 'Employee Master'

TITLE3 = 'Created on '

COLOR = 'X'

.

ENDFORM.

&----


*& Form F_WRITE_SUMMARY

&----


  • Write summary before exit

----


FORM F_WRITE_SUMMARY .

write:/ 'Welcome to XYZ Limited'.

write:/ 'This is a test program to display Report in ALV Format'.

ENDFORM.

**********************************************

Intercative:

REPORT Z_Interactive_report_1 NO STANDARD PAGE HEADING.

TABLES: LFA1, LFB1, BSIK.

DATA: BEGIN OF DOCTAB OCCURS 100,

BELNR LIKE BSIK-BELNR,

BUDAT LIKE BSIK-BUDAT,

GSBER LIKE BSIK-GSBER,

DMBTR LIKE BSIK-DMBTR,

END OF DOCTAB.

START-OF-SELECTION.

GET LFB1.

WRITE: LFA1-LIFNR, LFB1-BUKRS, (20) LFA1-NAME1, (20) LFA1-ORT01.

HIDE: LFA1-LIFNR, LFB1-BUKRS.

TOP-OF-PAGE DURING LINE-SELECTION.

WRITE: SY-LISEL.

ULINE. SKIP.

WRITE: 'COMPANY CODE:'(001), LFB1-BUKRS.

WRITE: / 'DOC. NO. POST.DATE BA LOCAL CURRENCY'(002).

ULINE /(45).

END-OF-SELECTION.

CLEAR LFA1-LIFNR.

AT PF13.

WRITE: 'PF13 SY-LSIND = ', SY-LSIND.

CHECK NOT LFA1-LIFNR IS INITIAL.

SELECT * FROM BSIK WHERE LIFNR = LFA1-LIFNR AND BUKRS EQ LFB1-BUKRS.

WRITE: / BSIK-BELNR, BSIK-BUDAT DD/MM/YYYY, BSIK-GSBER, 23 BSIK-DMBTR.

DOCTAB-BELNR = BSIK-BELNR.

DOCTAB-BUDAT = BSIK-BUDAT.

DOCTAB-GSBER = BSIK-GSBER.

DOCTAB-DMBTR = BSIK-DMBTR.

APPEND DOCTAB.

CLEAR DOCTAB.

ENDSELECT.

IF SY-SUBRC NE 0.

SKIP 5.

WRITE: '*** NO DOCUMENTS AVAILABLE. ***'(003).

ENDIF.

CLEAR LFA1-LIFNR.

AT PF14.

WRITE: 'AT PF14 SY-LSIND = ', SY-LSIND.

SY-LSIND = SY-LSIND - 1.

SORT DOCTAB BY BUDAT.

PERFORM DOCPRINT.

AT PF16.

WRITE: 'AT PF16 SY-LSIND = ', SY-LSIND.

SY-LSIND = SY-LSIND - 1.

SORT DOCTAB BY DMBTR.

PERFORM DOCPRINT.

FORM DOCPRINT.

LOOP AT DOCTAB.

WRITE: / DOCTAB-BELNR, DOCTAB-BUDAT DD/MM/YYYY, DOCTAB-GSBER,

23 DOCTAB-DMBTR.

ENDLOOP.

ENDFORM.

******************************

classic:

Write:"report".

Regards.

Jay

Read only

Former Member
0 Likes
900

Check the sample interactive report

&---------------------------------------------------------------------
*& Report Z8VM_N_PO_PRICING_CONDITION *
*& *
&---------------------------------------------------------------------
*& *
*& *
&---------------------------------------------------------------------

REPORT Z8VM_N_PO_PRICING_CONDITION NO STANDARD PAGE HEADING
MESSAGE-ID Z8VM.

************************************************************************

vivekanand meghmala 
trial assignment 
po with pricing condition interactive report with checkbox 
************************************************************************

************************************************************************

data declaration 
************************************************************************

TYPES : BEGIN OF STRUCT_EKKO, "po header

BUKRS LIKE T001-BUKRS,
EBELN LIKE EKKO-EBELN,
BSART LIKE EKKO-BSART,
BEDAT LIKE EKKO-BEDAT,
EKORG LIKE EKKO-EKORG,
WAERS LIKE EKKO-WAERS,
LIFNR LIKE EKKO-LIFNR,
KNUMV LIKE EKKO-KNUMV,

END OF STRUCT_EKKO.

TYPES : BEGIN OF STRUCT_EKPO, "po details

EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,

END OF STRUCT_EKPO.

TYPES : BEGIN OF STRUCT_KONV,

KNUMV LIKE KONV-KNUMV,
KPOSN LIKE KONV-KPOSN,
KSCHL LIKE KONV-KSCHL,
KAWRT LIKE KONV-KAWRT,
KBETR LIKE KONV-KBETR,

END OF STRUCT_KONV.

DATA : IT_EKKO TYPE STANDARD TABLE OF STRUCT_EKKO WITH HEADER LINE.
DATA : IT_EKPO TYPE STANDARD TABLE OF STRUCT_EKPO WITH HEADER LINE.
DATA : IT_KONV TYPE STANDARD TABLE OF STRUCT_KONV WITH HEADER LINE.

PARAMETERS : T_BUKRS LIKE EKKO-BUKRS .
SELECT-OPTIONS : S_BEDAT FOR IT_EKKO-BEDAT.
SELECT-OPTIONS : S_EKORG FOR IT_EKKO-EKORG.
************************************************************************


validations 
************************************************************************

AT SELECTION-SCREEN.

IF T_BUKRS = ' '.
MESSAGE E009.
ENDIF.

SELECT BUKRS FROM T001
INTO CORRESPONDING FIELDS OF IT_EKKO
WHERE BUKRS = T_BUKRS.
EXIT.
ENDSELECT.

IF SY-SUBRC 0.
MESSAGE E001.
ENDIF.


************************************************************************


logic 
************************************************************************
START-OF-SELECTION.

SELECT BUKRS
EBELN
BSART
BEDAT
EKORG
WAERS
LIFNR
KNUMV FROM EKKO INTO CORRESPONDING FIELDS OF TABLE IT_EKKO
WHERE BUKRS = T_BUKRS
AND BEDAT IN S_BEDAT
AND EKORG IN S_EKORG.



SELECT EBELN
EBELP
MATNR FROM EKPO INTO CORRESPONDING FIELDS OF IT_EKPO
FOR ALL ENTRIES IN IT_EKKO WHERE EBELN = IT_EKKO-EBELN.
APPEND IT_EKPO.
ENDSELECT.

LOOP AT IT_EKPO.
SELECT KNUMV
KPOSN
KSCHL
KAWRT
KBETR FROM KONV INTO CORRESPONDING FIELDS OF IT_KONV
WHERE KPOSN = IT_EKPO-EBELP.

APPEND IT_KONV.
ENDSELECT.
ENDLOOP.



*************************************************************************
*data printing
*************************************************************************
LOOP AT IT_EKKO.

WRITE :/ IT_EKKO-BUKRS,IT_EKKO-EBELN,IT_EKKO-BSART,IT_EKKO-BEDAT,
IT_EKKO-EKORG,IT_EKKO-WAERS,IT_EKKO-LIFNR,IT_EKKO-KNUMV.

LOOP AT IT_EKPO WHERE EBELN = IT_EKKO-EBELN.

WRITE :/ IT_EKPO-EBELP,IT_EKPO-MATNR.


LOOP AT IT_KONV.


WHERE KPOSN = IT_EKPO-EBELN. 

WRITE :/ IT_KONV-KNUMV COLOR 3,IT_KONV-KPOSN COLOR 3,IT_KONV-KSCHL COLOR 3,IT_KONV-KAWRT COLOR 3,IT_KONV-KBETR COLOR 3.

ENDLOOP.


ENDLOOP.
ENDLOOP.

Read only

Former Member
0 Likes
900

hi,

Here ia the code for 3 type of ALV ( all interactive)

&----


*& Report ZALV_PRDS

*&

&----


*&

*&

&----


REPORT zalv_prds.

****************************************************************************************************

****************************************************************************************************

*--


Simple ALV Grid with Header-Footer(Interactive)--

****************************************************************************************************

****************************************************************************************************

TYPE-POOLS : slis.

TABLES : mara,

makt,

marc.

DATA : BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

werks LIKE marc-werks,

END OF itab.

DATA : t_fcat TYPE slis_t_fieldcat_alv,

t_eve TYPE slis_t_event,

st_line TYPE slis_listheader,

t_list_top_page TYPE slis_t_listheader,

t_list_end_page TYPE slis_t_listheader.

DATA : t_mat LIKE mara-matnr.

SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS : mat FOR mara-matnr.

SELECTION-SCREEN : END OF BLOCK blk1.

INITIALIZATION.

PERFORM build_cat USING t_fcat.

PERFORM build_eve.

START-OF-SELECTION.

PERFORM get_data.

PERFORM build_header USING t_list_top_page[].

PERFORM build_footer USING t_list_end_page[].

PERFORM dis_data.

&----


*& Form buils_cat

&----


  • text

----


  • -->TEMP_FCAT text

----


FORM build_cat USING temp_fcat TYPE slis_t_fieldcat_alv.

DATA : wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MATNR'.

wa_fcat-seltext_m = 'Material'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'MAKTX'.

wa_fcat-seltext_m = 'Material Description'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB'.

wa_fcat-fieldname = 'WERKS'.

wa_fcat-seltext_m = 'Plant'.

  • wa_fcat-row_pos = 2.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

ENDFORM. "build_cat

&----


*& Form build_eve

&----


  • text

----


FORM build_eve.

DATA : wa_eve TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = t_eve

  • 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 TABLE t_eve INTO wa_eve WITH KEY name = 'END_OF_LIST'.

IF sy-subrc = 0.

wa_eve-form = 'END_OF_PAGE'.

MODIFY t_eve FROM wa_eve INDEX sy-tabix.

ENDIF.

ENDFORM. "build_eve

&----


*& Form get_data

&----


  • text

----


FORM get_data.

SELECT maramatnr maktmaktx marc~werks INTO CORRESPONDING FIELDS OF TABLE itab

FROM mara INNER JOIN makt ON

maramatnr = maktmatnr

INNER JOIN marc ON

maramatnr = marcmatnr

WHERE mara~matnr IN mat.

ENDFORM. "get_data

&----


*& Form dis_data

&----


  • text

----


FORM dis_data.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

i_callback_program = 'ZALV_PRDS'

i_callback_user_command = 'USER_COMMAND'

i_callback_top_of_page = 'TOP_OF_PAGE'

it_fieldcat = t_fcat

i_save = 'A'

it_events = t_eve

TABLES

t_outtab = itab

  • 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. "dis_data

&----


*& Form build_header

&----


  • text

----


  • -->TEMP_LIST text

  • -->TTYPE text

  • -->SLIS_T_LISTHEADER text

----


FORM build_header USING temp_list TYPE slis_t_listheader.

CLEAR st_line.

st_line-typ = 'H'.

st_line-info = 'Material Info'.

APPEND st_line TO temp_list.

CLEAR st_line.

st_line-typ = 'H'.

st_line-info = '----


'.

APPEND st_line TO temp_list.

CLEAR st_line.

st_line-typ = 'H'.

st_line-info = 'Material Info1'.

APPEND st_line TO temp_list.

ENDFORM. "build_header

&----


*& Form build_footer

&----


  • text

----


  • -->TEMP_LIST text

----


FORM build_footer USING temp_list TYPE slis_t_listheader.

CLEAR st_line.

st_line-typ = 'H'.

st_line-info = 'Dhwani Shah'.

APPEND st_line TO temp_list.

ENDFORM. "build_header

&----


*& Form top_Of_page

&----


  • text

----


FORM top_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_list_top_page.

ENDFORM. "top_Of_page

&----


*& Form end_of_page

&----


  • text

----


FORM end_of_page.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_list_end_page.

ENDFORM. "end_of_page

&----


*& Form user_command

&----


  • text

----


FORM user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.

CASE u_com.

WHEN '&IC1'.

IF sel_field-fieldname = 'MATNR'.

READ TABLE itab INDEX sel_field-tabindex.

IF sy-subrc = 0.

t_mat = itab-matnr.

SET PARAMETER ID 'MAT' FIELD t_mat.

CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

ENDIF.

ENDIF.

ENDCASE.

ENDFORM. "user_command

***************************************************************************************************

***************************************************************************************************

--


Hierarchical ALV(Interactive)--

***************************************************************************************************

***************************************************************************************************

TYPE-POOLS : slis.

TABLES : mseg.

DATA : BEGIN OF itab_head OCCURS 0,

mat LIKE mseg-matnr,

  • matnr LIKE mseg-matnr,

werks LIKE mseg-werks,

END OF itab_head.

DATA : BEGIN OF itab_item OCCURS 0,

  • mat LIKE mseg-matnr,

matnr LIKE mseg-matnr,

werks LIKE mseg-werks,

mblnr LIKE mseg-mblnr,

menge LIKE mseg-menge,

END OF itab_item.

DATA : t_fcat TYPE slis_t_fieldcat_alv,

key_info TYPE slis_keyinfo_alv,

t_eve TYPE slis_t_event,

gt_subtot TYPE slis_t_sortinfo_alv,

subtot LIKE LINE OF gt_subtot,

t_listhead TYPE slis_t_listheader,

st_line TYPE slis_listheader.

DATA : lin_no TYPE i.

DATA : t_mtdoc LIKE mseg-mblnr.

SELECT-OPTIONS : mat FOR mseg-matnr.

INITIALIZATION.

PERFORM build_cat USING t_fcat.

PERFORM build_eve.

START-OF-SELECTION.

PERFORM get_data.

PERFORM dis_data.

&----


*& Form build_cat

&----


  • text

----


  • -->TEMP_FCAT text

----


FORM build_cat USING temp_fcat TYPE slis_t_fieldcat_alv.

DATA : wa_fcat TYPE slis_fieldcat_alv.

wa_fcat-tabname = 'ITAB_HEAD'.

wa_fcat-fieldname = 'MAT'.

wa_fcat-seltext_m = 'Material'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_HEAD'.

wa_fcat-fieldname = 'WERKS'.

wa_fcat-seltext_m = 'Plant'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_ITEM'.

wa_fcat-fieldname = 'MBLNR'.

wa_fcat-seltext_m = 'Material Doc.'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

wa_fcat-tabname = 'ITAB_ITEM'.

wa_fcat-fieldname = 'MENGE'.

wa_fcat-seltext_m = 'Quantity'.

  • wa_fcat-edit = 'X'.

  • wa_fcat-input = 'X'.

wa_fcat-do_sum = 'Y'.

APPEND wa_fcat TO temp_fcat.

CLEAR wa_fcat.

subtot-spos = 1.

subtot-fieldname = 'MAT'.

subtot-tabname = 'ITAB_HEAD'.

subtot-up = 'X'.

subtot-group = 'X'.

subtot-subtot = 'X'.

subtot-expa = 'X'.

APPEND subtot TO gt_subtot.

ENDFORM. "build_cat

&----


*& Form build_eve

&----


  • text

----


FORM build_eve.

DATA : wa_eve TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

EXPORTING

i_list_type = 0

IMPORTING

et_events = t_eve

  • 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 TABLE t_eve INTO wa_eve WITH KEY name = 'TOP_OF_PAGE'.

IF sy-subrc = 0.

wa_eve-form = 'TOP_OF_PAGE'.

MODIFY t_eve FROM wa_eve INDEX sy-tabix.

ENDIF.

ENDFORM. "build_eve

&----


*& Form get_data

&----


  • text

----


FORM get_data.

SELECT matnr werks mblnr menge FROM mseg INTO CORRESPONDING FIELDS OF TABLE itab_item

WHERE matnr IN mat.

ENDFORM. "get_data

&----


*& Form dis_data

&----


  • text

----


FORM dis_data.

key_info-header01 = 'MAT'.

key_info-item01 = 'MATNR'.

key_info-header02 = 'WERKS'.

key_info-item02 = 'WERKS'.

REFRESH itab_head.

LOOP AT itab_item.

ON CHANGE OF itab_item-matnr OR itab_item-werks.

MOVE-CORRESPONDING itab_item TO itab_head.

itab_head-mat = itab_item-matnr.

APPEND itab_head.

ENDON.

ENDLOOP.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

i_callback_program = 'ZALV_PRDS'

i_callback_user_command = 'USER_COMMAND'

it_fieldcat = t_fcat

it_sort = gt_subtot

it_events = t_eve[]

i_tabname_header = 'ITAB_HEAD'

i_tabname_item = 'ITAB_ITEM'

is_keyinfo = key_info

TABLES

t_outtab_header = itab_head

t_outtab_item = itab_item

  • 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. "dis_data

&----


*& Form user_Command

&----


  • text

----


  • -->U_COMM text

  • -->SELFIELD text

----


FORM user_command USING u_comm TYPE sy-ucomm selfield TYPE slis_selfield.

CASE u_comm.

WHEN '&IC1'.

IF selfield-fieldname = 'MENGE'.

GET CURSOR LINE lin_no.

ELSE.

READ TABLE itab_item INDEX selfield-tabindex.

t_mtdoc = itab_item-mblnr.

SET PARAMETER ID 'MBN' FIELD t_mtdoc.

CALL TRANSACTION 'MIGO' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM. "user_Command

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

CLEAR st_line.

st_line-typ = 'H'.

st_line-info = 'Dhwani Shah'.

APPEND st_line TO t_listhead.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

it_list_commentary = t_listhead

  • I_LOGO =

  • I_END_OF_LIST_GRID =

  • I_ALV_FORM =

.

ENDFORM. "top_of_page

***************************************************************************************************

***************************************************************************************************

--


Block ALV(Interactive)--

***************************************************************************************************

***************************************************************************************************

TYPE-POOLS : slis.

TABLES : mara,

makt.

SELECT-OPTIONS : mat FOR mara-matnr.

DATA : BEGIN OF itab OCCURS 0,

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

matkl LIKE mara-matkl,

mtart LIKE mara-mtart,

END OF itab.

DATA : BEGIN OF itab1 OCCURS 0,

mtart LIKE mara-mtart,

count TYPE i,

END OF itab1.

DATA : BEGIN OF itab1_col OCCURS 0,

mtart LIKE mara-mtart,

count TYPE i,

END OF itab1_col.

DATA : t_fcat1 TYPE slis_t_fieldcat_alv,

t_fcat2 TYPE slis_t_fieldcat_alv,

wa_fcat TYPE slis_fieldcat_alv,

t_eve TYPE slis_t_event,

wa_eve TYPE slis_alv_event,

t_layout TYPE slis_layout_alv.

DATA : v_repid LIKE sy-repid,

t_mat LIKE mara-matnr.

DEFINE create_fcat.

clear wa_fcat.

wa_fcat-fieldname = &1.

wa_fcat-seltext_l = &2.

wa_fcat-outputlen = &3.

append wa_fcat to t_fcat1.

END-OF-DEFINITION.

START-OF-SELECTION.

PERFORM get_data.

PERFORM dis_data.

&----


*& Form get_data

&----


  • text

----


FORM get_data.

SELECT amatnr bmaktx amtart amatkl INTO CORRESPONDING FIELDS OF TABLE itab

FROM mara AS a INNER JOIN makt AS b ON

amatnr = bmatnr

WHERE a~matnr IN mat.

LOOP AT itab.

itab1-mtart = itab-mtart.

itab1-count = 1.

APPEND itab1.

ENDLOOP.

SORT itab1 BY mtart.

LOOP AT itab1.

MOVE-CORRESPONDING itab1 TO itab1_col.

COLLECT itab1_col.

ENDLOOP.

ENDFORM. "get_data

&----


*& Form dis_data

&----


  • text

----


FORM dis_data.

v_repid = sy-repid.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'

EXPORTING

i_callback_program = v_repid

i_callback_user_command = 'USER_COMMAND'.

REFRESH t_fcat1.

CLEAR t_fcat1.

REFRESH t_eve.

wa_eve-name = 'TOP_OF_PAGE'.

wa_eve-form = 'TOP_OF_PAGE1'.

APPEND wa_eve TO t_eve.

create_fcat:

'MATNR' 'Material' '10',

'MAKTX' 'Material Description' '40',

'MTART' 'Type' '10',

'MATKL' 'Group' '10'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = t_layout

it_fieldcat = t_fcat1

i_tabname = 'ITAB'

it_events = t_eve

TABLES

t_outtab = itab.

REFRESH t_fcat1.

CLEAR t_fcat1.

REFRESH t_eve.

wa_eve-name = 'TOP_OF_PAGE'.

wa_eve-form = 'TOP_OF_PAGE2'.

APPEND wa_eve TO t_eve.

create_fcat:

'MTART' 'Type' '10',

'COUNT' 'Total' '5'.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'

EXPORTING

is_layout = t_layout

it_fieldcat = t_fcat1

i_tabname = 'ITAB1_COL'

it_events = t_eve

TABLES

t_outtab = itab1_col.

CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.

ENDFORM. "dis_data

*

*&----


**& Form user_command

*&----


    • text

*----


    • -->U_COMM text

    • -->SELF text

*----


FORM user_command USING u_comm TYPE sy-ucomm self TYPE slis_selfield.

CASE u_comm.

WHEN '&IC1'.

IF self-tabname = 'ITAB'.

READ TABLE itab INDEX self-tabindex.

t_mat = itab-matnr.

SET PARAMETER ID 'MAT' FIELD t_mat.

CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM. "user_command

*

*

&----


*& Form top_of_page1

&----


  • text

----


FORM top_of_page1.

FORMAT COLOR COL_POSITIVE.

WRITE:/ 'First Block'.

FORMAT COLOR OFF.

ENDFORM. "top_of_page

&----


*& Form top_of_page2

&----


  • text

----


FORM top_of_page2.

FORMAT COLOR COL_NEGATIVE.

WRITE /5 'Second Block'.

FORMAT COLOR OFF.

ENDFORM. "top_of_page

Here is the code for Classical Interactive........................

&----


*& Report ZCLASSICAL_INTER

*&

&----


*&

*&

&----


REPORT zclassical_inter.

TABLES : vbrk.

DATA : off TYPE i,

lin TYPE i,

fld TYPE char10.

DATA : BEGIN OF itab OCCURS 0,

vbeln LIKE vbrk-vbeln,

fkart LIKE vbrk-fkart,

fkdat LIKE vbrk-fkdat,

netwr LIKE vbrk-netwr,

kunag LIKE vbrk-kunag,

END OF itab.

TOP-OF-PAGE.

ULINE AT /1(80).

FORMAT COLOR 3 ON.

WRITE:/1 sy-vline,

3 'Billing Doc.',

18 sy-vline,

20 'Billing Type',

33 sy-vline,

35 'Billing Date',

48 sy-vline,

50 'Net Value',

68 sy-vline,

69 'Customer',

80 sy-vline.

ULINE AT /1(80).

FORMAT COLOR OFF.

START-OF-SELECTION.

SET PF-STATUS 'TEST'.

SELECT vbeln fkart fkdat netwr kunag FROM vbrk

INTO CORRESPONDING FIELDS OF TABLE itab

WHERE vbeln LIKE '00000033%'.

LOOP AT itab.

WRITE:/1 sy-vline,

itab-vbeln UNDER 'Billing Doc.' HOTSPOT ON,

18 sy-vline,

itab-fkart UNDER 'Billing Type',

33 sy-vline,

itab-fkdat UNDER 'billing Date',

48 sy-vline,

itab-netwr UNDER 'Net Value' LEFT-JUSTIFIED,

68 sy-vline,

itab-kunag UNDER 'Customer' HOTSPOT ON,

80 sy-vline.

HIDE : itab-vbeln.

HIDE : itab-kunag.

ENDLOOP.

ULINE AT /1(80).

AT LINE-SELECTION.

IF sy-lsind = 1.

PERFORM cal_vf03.

ENDIF.

AT USER-COMMAND.

CASE sy-ucomm.

WHEN 'BACK' OR 'UP' OR 'CANC'.

LEAVE PROGRAM.

ENDCASE.

&----


*& Form cal_vf03

&----


  • text

----


FORM cal_vf03.

  • GET CURSOR LINE lin DISPLAY OFFSET off.

GET CURSOR FIELD fld. " DISPLAY OFFSET off LINE lin.

IF fld = 'ITAB-VBELN'.

SET PARAMETER ID 'VF' FIELD itab-vbeln.

CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.

SET PARAMETER ID 'VF' FIELD space.

ELSEIF fld = 'ITAB-KUNAG'.

CALL TRANSACTION 'MIGO'.

ELSE.

CALL TRANSACTION 'MM03'.

ENDIF.

ENDFORM. "cal_vf03

reward if usefull......

Read only

Former Member
0 Likes
900

alv example

You need to create a screen 100 for calling it, and in the Element list of the sceen supply OK_CODE of type OK & in the layout, place a Custom - control with name DILEEP_TEST1.

Then activate modules STATUS_0100 and USER_COMMAND_0100 in the flow logic .

REPORT ZTEST_DIL4 .

TABLES ZMSTKSUM.

DATA : OK_CODE LIKE SY-UCOMM,

TAB_DISPLAY TYPE TABLE OF ZMSTKSUM,

C_CONTAINER TYPE SCRFNAME VALUE 'DILEEP_TEST1',

ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,

C_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.

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

SELECT-OPTIONS : S_WERKS FOR ZMSTKSUM-WERKS.

SELECTION-SCREEN END OF BLOCK B1.

SELECT * FROM ZMSTKSUM INTO TABLE TAB_DISPLAY WHERE WERKS IN S_WERKS.

CALL SCREEN 100.

*&----


*& Module STATUS_0100 OUTPUT

*&----


  • text

*----


MODULE STATUS_0100 OUTPUT.

SET PF-STATUS 'MAIN'.

  • SET TITLEBAR 'xxx'.

IF C_CUSTOM_CONTAINER IS INITIAL.

CREATE OBJECT C_CUSTOM_CONTAINER EXPORTING CONTAINER_NAME = C_CONTAINER

.

CREATE OBJECT ALV_GRID EXPORTING I_PARENT = C_CUSTOM_CONTAINER.

CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

I_STRUCTURE_NAME = 'ZMSTKSUM'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

CHANGING

IT_OUTTAB = TAB_DISPLAY

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

  • EXCEPTIONS

  • INVALID_PARAMETER_COMBINATION = 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.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

*&----


*& Module USER_COMMAND_0100 INPUT

*&----


  • text

*----


MODULE USER_COMMAND_0100 INPUT.

CASE OK_CODE.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

interactive report

-


Program name Program function Author Date Added

Z_Interactive_report_1

Version: 3.0 & above Interactive reporting

Module: FI

REPORT Z_Interactive_report_1 NO STANDARD PAGE HEADING.

TABLES: LFA1, LFB1, BSIK.

DATA: BEGIN OF DOCTAB OCCURS 100,

BELNR LIKE BSIK-BELNR,

BUDAT LIKE BSIK-BUDAT,

GSBER LIKE BSIK-GSBER,

DMBTR LIKE BSIK-DMBTR,

END OF DOCTAB.

START-OF-SELECTION.

GET LFB1.

WRITE: LFA1-LIFNR, LFB1-BUKRS, (20) LFA1-NAME1, (20) LFA1-ORT01.

HIDE: LFA1-LIFNR, LFB1-BUKRS.

TOP-OF-PAGE DURING LINE-SELECTION.

WRITE: SY-LISEL.

ULINE. SKIP.

WRITE: 'COMPANY CODE:'(001), LFB1-BUKRS.

WRITE: / 'DOC. NO. POST.DATE BA LOCAL CURRENCY'(002).

ULINE /(45).

END-OF-SELECTION.

CLEAR LFA1-LIFNR.

AT PF13.

WRITE: 'PF13 SY-LSIND = ', SY-LSIND.

CHECK NOT LFA1-LIFNR IS INITIAL.

SELECT * FROM BSIK WHERE LIFNR = LFA1-LIFNR AND BUKRS EQ LFB1-BUKRS.

WRITE: / BSIK-BELNR, BSIK-BUDAT DD/MM/YYYY, BSIK-GSBER, 23 BSIK-DMBTR.

DOCTAB-BELNR = BSIK-BELNR.

DOCTAB-BUDAT = BSIK-BUDAT.

DOCTAB-GSBER = BSIK-GSBER.

DOCTAB-DMBTR = BSIK-DMBTR.

APPEND DOCTAB.

CLEAR DOCTAB.

ENDSELECT.

IF SY-SUBRC NE 0.

SKIP 5.

WRITE: '*** NO DOCUMENTS AVAILABLE. ***'(003).

ENDIF.

CLEAR LFA1-LIFNR.

AT PF14.

WRITE: 'AT PF14 SY-LSIND = ', SY-LSIND.

SY-LSIND = SY-LSIND - 1.

SORT DOCTAB BY BUDAT.

PERFORM DOCPRINT.

AT PF16.

WRITE: 'AT PF16 SY-LSIND = ', SY-LSIND.

SY-LSIND = SY-LSIND - 1.

SORT DOCTAB BY DMBTR.

PERFORM DOCPRINT.

FORM DOCPRINT.

LOOP AT DOCTAB.

WRITE: / DOCTAB-BELNR, DOCTAB-BUDAT DD/MM/YYYY, DOCTAB-GSBER,

23 DOCTAB-DMBTR.

ENDLOOP.

ENDFORM.

classical report

These are the most simple reports. Programmers learn this one first. It is just an output of data using the Write statement inside a loop.

Classical reports are normal reports. These reports are not having any sub reports. IT IS HAVING ONLY ONE SCREEN/LIST FOR OUTPUT.

Events In Classical Reports.

INTIALIZATION: This event triggers before selection screen display.

AT-SELECTION-SCREEN: This event triggers after proccesing user input still selection screen is in active mode.

START OF SELECTION: Start of selection screen triggers after proceesing selection screen.

END-OF-SELECTION : It is for Logical Database Reporting.

example

use this link to get the example code for classicla reports

reward if useful