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

basis report

Former Member
5 REPLIES 5
Read only

Former Member
0 Likes
663

Using ALV !!

Thanks

Sudharshan

Read only

Former Member
0 Likes
663

oops I m Not German

Pls provide the fields which shown in your screen print.

Read only

Former Member
0 Likes
663

Hi,

This type of report can be created using ALV having List display.

Eg::

&----


*& Report ZRAJ_ALV *

*& *

&----


*& *

*& *

&----


REPORT ZRAJ_ALV .

TYPE-POOLS :SLIS.

TABLES:EKKO,LFA1,EKPO.

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

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

SELECT-OPTIONS:S_EBELN FOR EKKO-EBELN obligatory,S_EKORG FOR EKKO-EKORG,

S_AEDAT FOR EKKO-AEDAT.

SELECTION-SCREEN END OF BLOCK B4.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.

PARAMETERS: DIS_VAR TYPE SLIS_VARI.

SELECTION-SCREEN END OF BLOCK B2.

SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.

PARAMETERS:LIST RADIOBUTTON GROUP G,

GRID RADIOBUTTON GROUP G,

Hi_CAL RADIOBUTTON GROUP G.

SELECTION-SCREEN END OF BLOCK B3.

SELECTION-SCREEN END OF BLOCK B1.

DATA: lv_fieldcat TYPE slis_fieldcat_alv.

DATA: gt_events TYPE slis_t_event.

DATA: gw_event LIKE LINE OF gt_events.

DATA:gt_fieldcat TYPE slis_t_fieldcat_alv .

DATA:gt_fieldcat1 TYPE lvc_t_fcat OCCURS 0.

DATA: BEGIN OF RESULT OCCURS 0,

EBELN like EKKO-EBELN,

EKORG like EKKO-EKORG,

AEDAT like EKKO-AEDAT,

NAME1 like LFA1-NAME1,

MATNR like EKPO-MATNR,

EBELP like EKPO-EBELP,

WERKS like EKPO-WERKS,

TXZ01 like EKPO-TXZ01,

MENGE like EKPO-MENGE,

END OF RESULT.

START-OF-SELECTION.

SELECT E~EBELN

E~EKORG

E~AEDAT

L~NAME1

K~MATNR

K~EBELP

K~WERKS

K~TXZ01

K~MENGE

INTO TABLE RESULT

FROM EKKO AS E JOIN LFA1 AS L ON ELIFNR = LLIFNR

JOIN EKPO AS K ON EEBELN = KEBELN

WHERE E~EBELN IN S_EBELN AND

E~EKORG IN S_EKORG AND

E~AEDAT IN S_AEDAT.

END-OF-SELECTION.

  • LOOP AT RESULT.

  • WRITE 😕 RESULT-EBELN,SY-TABIX.

  • ENDLOOP.

FORMAT HOTSPOT ON.

PERFORM ALV_FETCH USING 'EBELN' 'RESULT' 'ORDER NUMBER'.

PERFORM ALV_FETCH USING 'AEDAT' 'RESULT' 'CREATION DATE'.

PERFORM ALV_FETCH USING 'EKORG' 'RESULT' 'PURCHASING ORG.'.

PERFORM ALV_FETCH USING 'NAME1' 'RESULT' 'VENDOR NAME'.

PERFORM DISPLAY.

*data : t type i.

*t = 20.

*write :'t=',t.

*perform dis .

*write :' after form t=',t.

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

&----


*& Form ALV_FETCH

&----


  • text

----


  • -->P_0203 text

  • -->P_0204 text

  • -->P_0205 text

----


FORM ALV_FETCH USING VALUE(P_0203)

VALUE(P_0204)

VALUE(P_0205).

DATA: lv_count TYPE i.

  • * Increment the column

lv_count = lv_count + 1.

  • bulid field catalog

CLEAR lv_fieldcat.

lv_fieldcat-col_pos = lv_count.

lv_fieldcat-fieldname = P_0203.

lv_fieldcat-tabname = P_0204.

lv_fieldcat-seltext_l = P_0205.

lv_fieldcat-HOTSPOT = 1.

LV_FIELDCAT-emphasize = 'C711'.

  • IF lv_fieldcat-fieldname = 'EVELN'.

  • lv_fieldcat-drdn_hndl = '1' .

  • ENDIF.

APPEND lv_fieldcat TO gt_fieldcat.

ENDFORM. " ALV_FETCH

&----


*& Form DISPLAY

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM DISPLAY .

  • CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

    • EXPORTING

    • I_PROGRAM_NAME =

  • I_INTERNAL_TABNAME = RESULT

    • I_STRUCTURE_NAME =

    • I_CLIENT_NEVER_DISPLAY = 'X'

    • I_INCLNAME =

    • I_BYPASSING_BUFFER =

    • I_BUFFER_ACTIVE =

  • CHANGING

  • CT_FIELDCAT = GT_FIELDCAT

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

IF LIST = 'X' .

CLEAR gw_event.

gw_event-name = 'TOP_OF_PAGE'.

gw_event-form = 'TOP_OF_PAGE'.

APPEND gw_event TO gt_events.

gw_event-name = 'END_OF_LIST'.

gw_event-FORM = 'END_OF_LIST'.

APPEND gw_event TO gt_events.

gw_event-name = 'TOP_OF_LIST '.

gw_event-form = 'TOP_OF_LIST '.

APPEND gw_event TO gt_events.

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 = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_STRUCTURE_NAME =

  • IS_LAYOUT =

IT_FIELDCAT = gt_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = gt_events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

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

TABLES

T_OUTTAB = RESULT

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

ELSEIF Hi_CAL = 'X'.

*CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

  • EXPORTING

    • I_INTERFACE_CHECK = ' '

    • I_CALLBACK_PROGRAM =

    • I_CALLBACK_PF_STATUS_SET = ' '

    • I_CALLBACK_USER_COMMAND = ' '

    • IS_LAYOUT =

    • IT_FIELDCAT =

    • IT_EXCLUDING =

    • IT_SPECIAL_GROUPS =

    • IT_SORT =

    • IT_FILTER =

    • IS_SEL_HIDE =

    • I_SCREEN_START_COLUMN = 0

    • I_SCREEN_START_LINE = 0

    • I_SCREEN_END_COLUMN = 0

    • I_SCREEN_END_LINE = 0

    • I_DEFAULT = 'X'

    • I_SAVE = ' '

    • IS_VARIANT =

    • IT_EVENTS =

    • IT_EVENT_EXIT =

  • I_TABNAME_HEADER =

  • I_TABNAME_ITEM =

    • I_STRUCTURE_NAME_HEADER =

    • I_STRUCTURE_NAME_ITEM =

  • IS_KEYINFO =

    • IS_PRINT =

    • IS_REPREP_ID =

    • I_BYPASSING_BUFFER =

    • I_BUFFER_ACTIVE =

    • IMPORTING

    • E_EXIT_CAUSED_BY_CALLER =

    • ES_EXIT_CAUSED_BY_USER =

  • TABLES

  • T_OUTTAB_HEADER =

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

*

ELSE.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = ' '

I_CALLBACK_USER_COMMAND = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

  • IS_LAYOUT =

IT_FIELDCAT = gt_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = gt_events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = RESULT

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

ENDFORM. " DISPLAY

&----


*& Form dis

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


*FORM dis .

*

*write : / 'in sub ', t.

*local t.

*t = 1.

*t = t + 10.

*perform d2.

*

*write : / 'in sub ', t.

*ENDFORM. " dis

**&----


**

**& Form d2

**&----


**

    • text

**----


**

    • --> p1 text

    • <-- p2 text

**----


**

*FORM d2 .

*

*write : / 'in sub 2 ', t.

*ENDFORM. " d2

&----


*& Form top_of_page

&----


  • text

----


FORM top_of_page.

WRITE:/ 'Material Master display'.

ENDFORM. "top_of_page

FORM END_OF_LIST.

WRITE:/ 'END OF REPORT '.

ENDFORM.

FORM TOP_OF_LIST .

WRITE:/ 'TOP OF TOP_OF_LIST '.

ENDFORM.

&----


*& Form user_command

&----


  • text

----


  • -->R_UCOMM text

  • -->RS_SELFIELDtext

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

CASE :r_ucomm.

WHEN '&IC1'.

IF rs_selfield-fieldname EQ 'EBELN'.

"SET PARAMETER ID 'MAT' FIELD rs_selfield-value.

CALL TRANSACTION 'MM03' ."AND SKIP FIRST SCREEN.

ENDIF.

ENDCASE.

ENDFORM. " USER_COMMAND

Read only

Former Member
0 Likes
663

hi,

you can do it with ALV , using REUSE_ALV_GRID function module.

Read only

0 Likes
663

i dont need value , only

this report shape. ı must use write screen .