You are on page 1of 8

REPORT ZMMPURR0009 NO STANDARD PAGE HEADING.

TABLES:
EKKO, EKPO.
TYPE-POOLS: SLIS.
*$----- DATA DEFINITION -----$*
DATA:
IT_FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCATALOG LIKE LINE OF IT_FIELDCATALOG,
GD_LAYOUT
TYPE SLIS_LAYOUT_ALV,
GD_REPID
LIKE SY-REPID,
G_TABIX
LIKE SY-TABIX,
G_DOMAIN
TYPE DD07L-DOMNAME,
G_VALUE
TYPE DD07L-DOMVALUE_L,
GT_TAB
TYPE TABLE OF DD07V,
GWA_TAB
TYPE DD07V,
G_SUBRC
TYPE SY-SUBRC.
DATA:
BEGIN OF IT_ITAB OCCURS 0,
SUBMI LIKE EKKO-SUBMI,
BEDAT LIKE EKKO-BEDAT,
AEDAT LIKE EKKO-AEDAT,
EKGRP LIKE EKKO-EKGRP,
EKNAM LIKE T024-EKNAM,
EKORG LIKE EKKO-EKORG,
EKOTX LIKE T024E-EKOTX,
EBELN LIKE EKKO-EBELN,
BSTYP LIKE EKKO-BSTYP,
BSART LIKE EKKO-BSART,
LIFNR LIKE EKKO-LIFNR,
NAME1 LIKE LFA1-NAME1,
IHREZ LIKE EKKO-IHREZ,
UNSEZ LIKE EKKO-UNSEZ,
VERKF LIKE EKKO-VERKF,
BWBDT LIKE EKKO-BWBDT,
FRGRL LIKE EKKO-FRGRL,
RSTAT TYPE CHAR65,
TELF1 LIKE EKKO-TELF1,
MATNR LIKE EKPO-MATNR,
MAKTX LIKE MAKT-MAKTX,
KTMNG LIKE EKPO-KTMNG,
MEINS LIKE EKPO-MEINS,
STATU LIKE EKPO-STATU,
NETPR LIKE EKPO-NETPR,
PEINH LIKE EKPO-PEINH,
ABSKZ LIKE EKPO-ABSKZ,
AGMEM LIKE EKPO-AGMEM,
PEBELN LIKE EKKO-EBELN,
PBEDAT LIKE EKKO-BEDAT,
PIHREZ LIKE EKKO-IHREZ,
PUNSEZ LIKE EKKO-UNSEZ,
PFRGRL LIKE EKKO-FRGRL,
POSTAT TYPE CHAR10,
END OF IT_ITAB.
DATA: IT_OUTTAB LIKE IT_ITAB OCCURS 0 WITH HEADER LINE,
IT_FINAL LIKE IT_ITAB OCCURS 0 WITH HEADER LINE.
*$----- SELECTION SCREEN -----$*
SELECTION-SCREEN:
BEGIN OF BLOCK S1 WITH FRAME TITLE TEXT-002.

SELECT-OPTIONS:
S_SUBMI FOR EKKO-SUBMI,
S_EKGRP FOR EKKO-EKGRP,
S_EKORG FOR EKKO-EKORG NO-EXTENSION NO INTERVALS,
S_BSART FOR EKKO-BSART NO-EXTENSION NO INTERVALS,
S_LIFNR FOR EKKO-LIFNR NO-EXTENSION NO INTERVALS,
S_MATNR FOR EKPO-MATNR NO-EXTENSION NO INTERVALS,
S_BEDAT FOR EKKO-BEDAT NO-EXTENSION NO INTERVALS,
S_AEDAT FOR EKKO-AEDAT NO-EXTENSION NO INTERVALS.
SELECTION-SCREEN:
END OF BLOCK S1.
*$----- START OF SELECTION -----$*
START-OF-SELECTION.
*$----- SELECTING RFQ AGAINST TENDER NUMBER -----$*
SELECT A~SUBMI A~BEDAT A~AEDAT A~EKGRP A~EKORG A~EBELN A~LIFNR A~IHREZ A~UNSEZ
A~VERKF A~BWBDT A~FRGSX A~FRGRL A~TELF1
B~MATNR B~KTMNG B~MEINS B~STATU B~NETPR B~PEINH B~ABSKZ B~AGMEM
FROM EKKO AS A INNER JOIN EKPO AS B ON ( A~EBELN = B~EBELN )
INTO CORRESPONDING FIELDS OF TABLE IT_ITAB
WHERE A~MANDT = SY-MANDT
AND A~SUBMI IN S_SUBMI
AND A~EKGRP IN S_EKGRP
AND A~EKORG IN S_EKORG
AND A~BSART IN S_BSART
AND A~LIFNR IN S_LIFNR
AND B~MATNR IN S_MATNR
AND A~BEDAT IN S_BEDAT
AND A~AEDAT IN S_AEDAT
AND A~BSTYP = 'A'.
SELECT SUBMI EBELN AS PEBELN BEDAT AS PBEDAT EKGRP EKORG IHREZ AS PIHREZ UNSEZ
AS PUNSEZ FRGRL AS PFRGRL
INTO CORRESPONDING FIELDS OF TABLE IT_FINAL
FROM EKKO CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND BSTYP = 'F'
AND FRGKE = 'R'.
END-OF-SELECTION.
G_DOMAIN = 'ESTAK'.
LOOP AT IT_ITAB.
G_TABIX = SY-TABIX.
MOVE-CORRESPONDING IT_ITAB TO IT_OUTTAB.
*$----- SELECTING DOMAIN FIXED VALUES -----$*
G_VALUE = IT_OUTTAB-STATU.
CALL FUNCTION 'DD_DOMVALUE_TEXT_GET'
EXPORTING
DOMNAME = G_DOMAIN
VALUE
= G_VALUE
LANGU
= SY-LANGU
IMPORTING
DD07V_WA = GWA_TAB
RC
= G_SUBRC.
IF G_SUBRC = 0.
IT_OUTTAB-RSTAT = GWA_TAB-DDTEXT.
ENDIF.
*$----- SELECTING PURCHASING GROUP DESCRIPTIONS -----$*
SELECT SINGLE EKNAM
INTO IT_OUTTAB-EKNAM

FROM T024 CLIENT SPECIFIED


WHERE MANDT = SY-MANDT
AND EKGRP = IT_OUTTAB-EKGRP.
*$----- SELECTING PURCHASING ORGANIZATION DESCRIPTION -----$*
SELECT SINGLE EKOTX
INTO IT_OUTTAB-EKOTX
FROM T024E CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND EKORG = IT_OUTTAB-EKORG.
*$----- SELECTING VENDOR NAME -----$*
SELECT SINGLE NAME1
INTO IT_OUTTAB-NAME1
FROM LFA1 CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND LIFNR = IT_OUTTAB-LIFNR.
*$----- SELECTING MATERIAL DESCRIPTION -----$*
SELECT SINGLE MAKTX
INTO IT_OUTTAB-MAKTX
FROM MAKT CLIENT SPECIFIED
WHERE MANDT = SY-MANDT
AND SPRAS = SY-LANGU
AND MATNR = IT_OUTTAB-MATNR.
APPEND IT_OUTTAB.
*$----- SELECTING PO VALUES -----$*
LOOP AT IT_FINAL WHERE SUBMI = IT_ITAB-SUBMI
AND EKORG = IT_ITAB-EKORG
AND EKGRP = IT_ITAB-EKGRP.
MOVE: IT_FINAL-PEBELN TO IT_OUTTAB-PEBELN,
IT_FINAL-PBEDAT TO IT_OUTTAB-PBEDAT,
IT_FINAL-PIHREZ TO IT_OUTTAB-PIHREZ,
IT_FINAL-PUNSEZ TO IT_OUTTAB-PUNSEZ,
IT_FINAL-PFRGRL TO IT_OUTTAB-PFRGRL.
*$----- SELECTING PO STATUS -----$*
IF ( IT_OUTTAB-FRGRL = 'X').
IT_OUTTAB-POSTAT = 'RELEASED'.
ELSE.
IT_OUTTAB-POSTAT = 'BLOCKED'.
ENDIF.
MODIFY IT_OUTTAB INDEX G_TABIX.
ENDLOOP.
CLEAR IT_OUTTAB.
ENDLOOP.
*$----- BUILDING FIELD CATALOG -----$*
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'SUBMI'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'SUBMI'.
WA_FIELDCATALOG-COL_POS
= 1.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'BEDAT'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'BEDAT'.
WA_FIELDCATALOG-COL_POS
= 2.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.

WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'AEDAT'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'AEDAT'.
WA_FIELDCATALOG-COL_POS
= 3.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'EKGRP'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EKGRP'.
WA_FIELDCATALOG-COL_POS
= 4.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'EKNAM'.
WA_FIELDCATALOG-REF_TABNAME = 'T024'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EKNAM'.
WA_FIELDCATALOG-COL_POS
= 5.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'EKORG'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EKORG'.
WA_FIELDCATALOG-COL_POS
= 6.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'EKOTX'.
WA_FIELDCATALOG-REF_TABNAME = 'T024E'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EKOTX'.
WA_FIELDCATALOG-COL_POS
= 7.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'EBELN'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EBELN'.
WA_FIELDCATALOG-COL_POS
= 8.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'LIFNR'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'LIFNR'.
WA_FIELDCATALOG-COL_POS
= 9.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
WA_FIELDCATALOG-FIELDNAME
WA_FIELDCATALOG-REF_TABNAME

= 'IT_OUTTAB'.
= 'NAME1'.
= 'LFA1'.

WA_FIELDCATALOG-REF_FIELDNAME = 'LIFNR'.
WA_FIELDCATALOG-NO_OUT
= 'X'.
WA_FIELDCATALOG-COL_POS
= 10.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'IHREZ'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'IHREZ'.
WA_FIELDCATALOG-COL_POS
= 11.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'UNSEZ'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'UNSEZ'.
WA_FIELDCATALOG-COL_POS
= 12.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'VERKF'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'VERKF'.
WA_FIELDCATALOG-COL_POS
= 13.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'BWBDT'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'BWBDT'.
WA_FIELDCATALOG-COL_POS
= 14.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'FRGSX'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'FRGSX'.
WA_FIELDCATALOG-COL_POS
= 15.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'RSTAT'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'FRGRL'.
WA_FIELDCATALOG-COL_POS
= 16.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'TELF1'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'TELF1'.
WA_FIELDCATALOG-COL_POS
= 17.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.

CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'MATNR'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'MATNR'.
WA_FIELDCATALOG-COL_POS
= 18.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'MAKTX'.
WA_FIELDCATALOG-REF_TABNAME = 'MAKT'.
WA_FIELDCATALOG-REF_FIELDNAME = 'MAKTX'.
WA_FIELDCATALOG-COL_POS
= 19.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'KTMNG'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'KTMNG'.
WA_FIELDCATALOG-COL_POS
= 20.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'NETPR'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'NETPR'.
WA_FIELDCATALOG-COL_POS
= 21.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'WAERS'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'WAERS'.
WA_FIELDCATALOG-COL_POS
= 22.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PEINH'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'PEINH'.
WA_FIELDCATALOG-COL_POS
= 23.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'MEINS'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'MEINS'.
WA_FIELDCATALOG-COL_POS
= 24.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
WA_FIELDCATALOG-FIELDNAME

= 'IT_OUTTAB'.
= 'ABSKZ'.

WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'ABSKZ'.
WA_FIELDCATALOG-COL_POS
= 25.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'AGMEM'.
WA_FIELDCATALOG-REF_TABNAME = 'EKPO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'AGMEM'.
WA_FIELDCATALOG-COL_POS
= 26.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PEBELN'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'EBELN'.
WA_FIELDCATALOG-COL_POS
= 27.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PBEDAT'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'BEDAT'.
WA_FIELDCATALOG-COL_POS
= 28.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PIHREZ'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'IHREZ'.
WA_FIELDCATALOG-COL_POS
= 29.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PUNSEZ'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'ENSEZ'.
WA_FIELDCATALOG-COL_POS
= 30.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_FIELDCATALOG-TABNAME
= 'IT_OUTTAB'.
WA_FIELDCATALOG-FIELDNAME
= 'PFRGRL'.
WA_FIELDCATALOG-REF_TABNAME = 'EKKO'.
WA_FIELDCATALOG-REF_FIELDNAME = 'FRGRL'.
WA_FIELDCATALOG-COL_POS
= 31.
APPEND WA_FIELDCATALOG TO IT_FIELDCATALOG.
CLEAR: WA_FIELDCATALOG.
WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = 'Report Run Date: '.
CONCATENATE SY-DATUM+6(2) '.'
SY-DATUM+4(2) '.'
SY-DATUM(4) INTO WA_HEADER-INFO.
APPEND WA_HEADER TO T_HEADER.

"todays date

CLEAR: WA_HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_HEADER
I_LOGO
= 'Z_FESCO_LOGO'.
ENDFORM.
"top-of-page

You might also like