0% found this document useful (0 votes)
353 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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
353 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
We take content rights seriously. If you suspect this is your content, claim it here.
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