‎2008 Aug 06 8:12 AM
‎2008 Aug 06 8:14 AM
‎2008 Aug 06 8:15 AM
oops I m Not German
Pls provide the fields which shown in your screen print.
‎2008 Aug 06 8:15 AM
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
‎2008 Aug 06 8:15 AM
hi,
you can do it with ALV , using REUSE_ALV_GRID function module.
‎2008 Aug 06 8:26 AM
i dont need value , only
this report shape. ı must use write screen .