Wednesday, January 13, 2010

Simple Classical Report

*&---------------------------------------------------------------------*
*& Report Y_CLASSICAL_1
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT y_classical_1 LINE-SIZE 450
LINE-COUNT 65(3)
NO STANDARD PAGE HEADING.

TABLES : mara,
makt.


DATA: BEGIN OF it_final OCCURS 0,
serial LIKE sy-tabix,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
mtart LIKE mara-mtart,
matkl LIKE mara-matkl,
END OF it_final.

DATA: BEGIN OF it_tab1 OCCURS 0,
matnr LIKE mara-matnr,
maktx LIKE makt-maktx,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
mtart LIKE mara-mtart,
matkl LIKE mara-matkl,
END OF it_tab1.

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

PARAMETERS : p_recrds TYPE i .

SELECTION-SCREEN END OF BLOCK b1k1.


AT SELECTION-SCREEN ON p_recrds.

IF p_recrds IS INITIAL.

MESSAGE 'Please enter number' TYPE 'E'.

ENDIF.

START-OF-SELECTION.

PERFORM mara_data.

PERFORM final_data.


*&---------------------------------------------------------------------*
*& Form mara_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM mara_data .
SELECT a~matnr
b~maktx
a~ersda
a~ernam
a~mtart
a~matkl
INTO CORRESPONDING FIELDS OF TABLE it_tab1 UP TO p_recrds ROWS
FROM mara AS a INNER JOIN makt AS b
ON a~matnr = b~matnr .
* where p_recrds = i.

IF it_tab1[] IS INITIAL.
MESSAGE 'Data is not available' TYPE 'I'.
STOP.
ENDIF.

ENDFORM. " mara_data
*&---------------------------------------------------------------------*
*& Form final_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM final_data .
LOOP AT it_tab1.
MOVE-CORRESPONDING it_tab1 TO it_final.
IF sy-subrc = 0.
it_final-serial = sy-tabix.
ENDIF.

WRITE : / sy-vline,
it_final-serial COLOR = 1 under text-008,
sy-vline,
it_final-matnr COLOR = 2 under text-002 ,
it_final-maktx COLOR = 3 under text-003,
it_final-ersda COLOR = 4 under text-004,
it_final-ernam COLOR = 5 under text-005,
it_final-mtart COLOR = 6 under text-006,
it_final-matkl COLOR = 7 under text-007.

ENDLOOP.
ENDFORM. " final_data.

TOP-OF-PAGE.

WRITE : / sy-vline,
'Ram '(008) COLOR = 1,
sy-vline,
'Material No '(002) COLOR = 2,
'Material Description '(003) COLOR = 3,
'Created On'(004) COLOR = 4,
'Created By'(005) COLOR = 5,
'Material Type'(006) COLOR = 6,
'Material Group'(007) COLOR = 7.

No comments:

Post a Comment