0% found this document useful (0 votes)
336 views

Sap Abap Interactive Report

This report allows users to retrieve material master data from the MARA and MAKT tables based on a date range selection. It displays the basic material data in a primary list. When a material is selected, its associated plant data from the MARC table is displayed in a secondary list. Page numbering and formatting is implemented for proper display across multiple pages. Interactive selection and error handling is also supported.

Uploaded by

asifhussain1196
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
336 views

Sap Abap Interactive Report

This report allows users to retrieve material master data from the MARA and MAKT tables based on a date range selection. It displays the basic material data in a primary list. When a material is selected, its associated plant data from the MARC table is displayed in a secondary list. Page numbering and formatting is implemented for proper display across multiple pages. Interactive selection and error handling is also supported.

Uploaded by

asifhussain1196
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

*&---------------------------------------------------------------------*

*& Report ZASIF_INTR_REP


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
*AN INTERACTIVE REPORT TO GET MATERIAL DATA IN THE BASIC LIST FOR A GIVEN RANGE
OF CREATION DATE AND PLANT DATA IN THE FIRST SECONDARY LIST
REPORT ZASIF_INTR_REP LINE-COUNT 36(4)..
TABLES:MAKT,MARA,MARC.
DATA: F(15) TYPE C,
V(15) TYPE C.
*SELECT OPTIONS FOR SELECTING A MATERIAL
SELECT-OPTIONS:SO_ERSDA FOR MARA-ERSDA.
*STRUCTURE FOR GETING DESIRED DATA FROM MARA TABLE FOR BASIC LIST
TYPES:BEGIN OF TY_MARA,
MATNR TYPE MARA-MATNR,
ERSDA TYPE MARA-ERSDA,
MATKL TYPE MARA-MATKL,
* END OF TY_MARA.
**STRUCTURE FOR GETING DESIRED DATA FROM MARA TABLE FOR BASIC LIST
*TYPES:BEGIN OF TY_MAKT,
SPRAS TYPE MAKT-SPRAS,
MAKTX TYPE MAKT-MAKTX,
END OF TY_MARA.
*STRUCTURE FOR GETTING PLANT DATA FROM MARD FOR FIRST SECONDARY LIST
TYPES:BEGIN OF TY_MARD,
MATNR TYPE MARC-MATNR,
WERKS TYPE MARC-WERKS,
PSTAT TYPE MARC-PSTAT,
EKGRP TYPE MARC-EKGRP,
PLIFZ TYPE MARC-PLIFZ,
END OF TY_MARD.
*INTERNAL TABLES AND WORKAREA DECLARATION
DATA:IT_MARA TYPE TABLE OF TY_MARA,
WA_MARA TYPE TY_MARA,
IT_MARC TYPE TABLE OF TY_MARD,
WA_MARC TYPE TY_MARD.
START-OF-SELECTION.
*SELECT STATEMENT TO GET BASIC DATA FROM MARA TABLE BASED ON DATE
SELECT MATNR ERSDA MATKL FROM MARA INTO WA_MARA WHERE ERSDA IN SO_ERSDA.
IF SY-SUBRC = 0.
*SELECT STATEMENT TO GET MATERIAL DESCRIPTION FROM MAKTX TABLE
SELECT SINGLE SPRAS MAKTX FROM MAKT INTO CORRESPONDING FIELDS OF WA_MARA W
HERE MATNR = WA_MARA-MATNR AND SPRAS = 'EN'.
IF SY-DBCNT = 0. "IF THERE IS NO ENGLISH DESCRIPTION THEN ADD THE BELOW TE
XT TO DESCRIPTION FIELD
WA_MARA-MAKTX = 'ENGLISH DESCRIPTION UNAVAILABLE'.
ENDIF.
*COMBINE THE CONTENT OF TWO DIFFERENT DB TABLES INTO ONE INTERNAL TABLE
APPEND WA_MARA TO IT_MARA.
CLEAR WA_MARA.
ENDIF.
ENDSELECT.
*SORT THE TABLE BY DATE
SORT IT_MARA BY ERSDA.
END-OF-SELECTION.
*DISPLAY THE DATA IN A SUITABLE FORMAT
LOOP AT IT_MARA INTO WA_MARA.
ULINE:/(95).
WRITE: / '|',
WA_MARA-MATNR COLOR 2,
15 '|',
WA_MARA-ERSDA COLOR 2,
30 '|',
WA_MARA-MATKL COLOR 2,
45 '|',
WA_MARA-SPRAS COLOR 2,
51 '|',
WA_MARA-MAKTX COLOR 2,
95 '|'.
ENDLOOP.
ULINE:/(95).
SKIP 1.
*PAGE NO ON THE LAST PAGE AS IT DOES NOT CALL END-OF-PAGE
WRITE:'PAGE NO : ' color 3,SY-PAGNO COLOR 3.
NEW-PAGE. "TO NEGLECT END OF PAGE
TOP-OF-PAGE.
*DISPLAY TOP-OF-PAGE IN A SUITABLE FORMAT
ULINE:/(95).
WRITE:/ '|MAT NO',15 '|CREATION DATE',30 '|MAT GRP',45 '|LANG',51 '|DESCRIPTIO
N',95'|'.
END-OF-PAGE.
*DISPLAY END-OF-PAGE IN A SUITABLE FORMAT
ULINE:/(95).
SKIP 1.
WRITE :/ 'PAGE NO : ' color 3,SY-PAGNO color 3.
*WRITE : / SY-LSIND.
*PREPERATION TO HANDLE AN INTERACTIVE EVENT
AT LINE-SELECTION.
IF SY-LSIND = 1."CHECK IF THE LIST INDEX IS 1 WHICH INDICATED FIRST SEC LIST.
*GET THE FIELD NAME F AND ASSOCIATED VALUE IN V OF THE LINE ON WHICH THE EVENT W
AS TRIGGERED
GET CURSOR FIELD F VALUE V.
*REMOVE ANY WHITE SPACES OR BLANK SPACES
CONDENSE: F,V.
*IF THE CURSOR WAS D-CLICKED ON MATNR FIELD THEN DO THE FOLLOWING
IF F NE 'WA_MARC-MATNR'.
*GET APPROPRIATE DATA FROM MARC TABLE IN INT TAB
SELECT MATNR WERKS PSTAT EKGRP PLIFZ
FROM MARC
INTO TABLE IT_MARC
WHERE MATNR = V.
*PRINT THE DATA IN APPROPRIATE FORMAT
LOOP AT IT_MARC INTO WA_MARC.
*DISPLAY THE PARTICULAR MAT NO ONLY ONCE FOR ALL THE PLANTS WHERE IT IS AVAILABL
E
AT NEW MATNR.
ULINE:/(90).
WRITE : / '|',
WA_MARC-MATNR COLOR 4,
25 '|',
* WA_MARC-WERKS COLOR 4,
* 45 '|',
* WA_MARC-PSTAT COLOR 4,
* 65 '|',
* WA_MARC-EKGRP COLOR 4,
* 75 '|',
* WA_MARC-PLIFZ COLOR 4,
90 '|'.
ULINE:/(90).
ENDAT.
*PRINT THE REMAINING DATA IN THE ITAB
WRITE : / '|',
* WA_MARC-MATNR COLOR 4,
25 '|',
WA_MARC-WERKS COLOR 4,
45 '|',
WA_MARC-PSTAT COLOR 4,
65 '|',
WA_MARC-EKGRP COLOR 4,
75 '|',
WA_MARC-PLIFZ COLOR 4,
90 '|'.
ULINE:/(90).
*DISPLAY THE PAGE NUMBER ON THE LAST PAGE
AT LAST.
SKIP 2.
WRITE:/ 'PAGE NO : ' COLOR 3,SY-PAGNO COLOR 3.
NEW-PAGE."TO SKIP END-OF-PAGE
ENDAT.
ENDLOOP.
ELSE.
*IF THE CURSOR WAS PLACED ON A FIELD OTHER THAN MATNR OUTPUT ERROR MESSAGE
WRITE :/ 'INVALID SELECTION'.
ENDIF.
ENDIF.
*TOP-OF-PAGE FOR SECONDARY LIST
TOP-OF-PAGE DURING LINE-SELECTION.
*AT FIRST.
WRITE :/ 'SECONDARY LIST TO GET PLANT DETAIL'.
ULINE:/(90).
WRITE: / '|MAT NO' COLOR 2,25 '|PLANT' COLOR 2,45 '|MAIN STAT' COLOR 2,65 '|PUR
GRP' COLOR 2,75 '|DLVR TIME' COLOR 2,90 '|'.
*ENDAT.

You might also like