Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
13 views6 pages

Zstpo Code

Download as txt, pdf, or txt
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 6

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

*& Report ZSTATEMENT_PO


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

REPORT ZSTATEMENT_PO.

TYPE-POOLS: SLIS.

TYPES:BEGIN OF TY_FINAL,
SNO TYPE I,
EBELN TYPE EBELN,
RLWRT TYPE RLWRT, " Added by esawr 31.01.2023
EBELP TYPE EBELP,
AEDAT TYPE AEDAT,
GEBER TYPE BP_GEBER,
DESC1(125) TYPE C,
DESC2(125) TYPE C,
NAME1 TYPE NAME1,
SUBMI TYPE SUBMI,
WAERS TYPE WAERS,
WKURS TYPE EKKO-WKURS, """"Added by sudha 01.02.2023
NETWR1 TYPE NETWR,
NETWR2 TYPE NETWR,
REMARKS(120) TYPE C,
END OF TY_FINAL.

DATA:SNO TYPE I.

DATA:WA_FINAL TYPE TY_FINAL,


IT_FINAL TYPE TABLE OF TY_FINAL,
WA_EKKO TYPE EKKO,
IT_EKKO TYPE TABLE OF EKKO,
WA_EKPO TYPE EKPO,
WA_EKPO1 TYPE EKPO,
IT_EKPO TYPE TABLE OF EKPO,
WA_LFA1 TYPE LFA1,
IT_LFA1 TYPE TABLE OF LFA1.

DATA:WA_FCAT TYPE SLIS_FIELDCAT_ALV,


IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA:CLIENT LIKE SY-MANDT,


ID LIKE THEAD-TDID VALUE 'F17',
LANGUAGE LIKE THEAD-TDSPRAS VALUE 'EN',
NAME LIKE THEAD-TDNAME,
OBJECT LIKE THEAD-TDOBJECT VALUE 'EKKO',
ARCHIVE_HANDLE LIKE SY-TABIX.

DATA:IT_LINES LIKE TABLE OF TLINE,


WA_LINES LIKE TLINE,
LINE(1000).

DATA:WA_EKKN TYPE EKKN,


IT_EKKN TYPE TABLE OF EKKN.
DATA:HEADER LIKE THEAD,
OLD_LINE_COUNTER LIKE THEAD-TDTXTLINES.

DATA:L_AEDAT TYPE AEDAT.

SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-000.


SELECT-OPTIONS:S_AEDAT FOR L_AEDAT.
SELECTION-SCREEN:END OF BLOCK B1.

START-OF-SELECTION.

PERFORM GET_DATA.
PERFORM DISPLAY.

*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM GET_DATA.

SELECT * FROM EKKO INTO CORRESPONDING FIELDS OF TABLE IT_EKKO WHERE AEDAT IN
S_AEDAT
AND BSTYP EQ
'F'.

SELECT * FROM EKPO INTO CORRESPONDING FIELDS OF TABLE IT_EKPO FOR ALL ENTRIES IN
IT_EKKO
WHERE
EBELN = IT_EKKO-EBELN
AND LOEKZ
NE 'L'.

IF IT_EKKO IS NOT INITIAL .


SELECT LIFNR NAME1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE IT_LFA1 FOR ALL
ENTRIES IN
IT_EKKO WHERE
LIFNR = IT_EKKO-LIFNR.
ENDIF .

LOOP AT IT_EKPO INTO WA_EKPO1.

WA_EKPO = WA_EKPO1.
WA_FINAL-GEBER = WA_EKPO-GEBER.
WA_FINAL-EBELP = WA_EKPO-EBELP.

READ TABLE IT_EKKO INTO WA_EKKO WITH KEY EBELN = WA_EKPO-EBELN.

IF SY-SUBRC = 0.
WA_FINAL-EBELN = WA_EKKO-EBELN.
WA_FINAL-AEDAT = WA_EKKO-AEDAT.
WA_FINAL-SUBMI = WA_EKKO-SUBMI.
WA_FINAL-WKURS = WA_EKKO-WKURS.
WA_FINAL-WAERS = WA_EKKO-WAERS.
WA_FINAL-RLWRT = WA_FINAL-RLWRT + WA_EKPO-NETWR. " Added by esawr

IF WA_EKKO-WAERS = 'INR'.
WA_FINAL-NETWR2 = WA_EKPO-NETWR + WA_FINAL-NETWR2.
ELSE.
WA_FINAL-NETWR1 = WA_FINAL-NETWR1 + WA_EKPO-NETWR.
WA_FINAL-NETWR2 = ( WA_EKPO-NETWR * WA_EKKO-WKURS ) + WA_FINAL-NETWR2.
ENDIF.

ENDIF.

READ TABLE IT_LFA1 INTO WA_LFA1 WITH KEY LIFNR = WA_EKKO-LIFNR.


IF SY-SUBRC = 0.
WA_FINAL-NAME1 = WA_LFA1-NAME1.
ENDIF.

CLEAR:NAME,LINE.
REFRESH IT_LINES.
NAME = WA_EKKO-EBELN.

CALL FUNCTION 'READ_TEXT'


EXPORTING
CLIENT = SY-MANDT
ID = ID
LANGUAGE = LANGUAGE
NAME = NAME
OBJECT = 'EKKO'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
* OLD_LINE_COUNTER =
TABLES
LINES = IT_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.

IF IT_LINES IS NOT INITIAL.

LOOP AT IT_LINES INTO WA_LINES.


CONCATENATE LINE WA_LINES-TDLINE INTO LINE SEPARATED BY SPACE.
ENDLOOP.
ENDIF.

IF LINE IS NOT INITIAL.


WA_FINAL-DESC1 = LINE+0(125).
WA_FINAL-DESC2 = LINE+125(125).
ENDIF.

AT END OF EBELN. """""""""""added by Eswar31.01.2023


SNO = SNO + 1.
WA_FINAL-SNO = SNO.
APPEND WA_FINAL TO IT_FINAL.
CLEAR WA_FINAL.
ENDAT.
ENDLOOP.
ENDFORM. "GET_DATA

*&---------------------------------------------------------------------*
*& Form display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM DISPLAY.

WA_FCAT-FIELDNAME = 'SNO'.
WA_FCAT-SELTEXT_L = 'SNO'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'EBELN'.
WA_FCAT-SELTEXT_L = 'P.O NO.'.
* WA_FCAT-DO_SUM = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

* Commeted by eswar

* WA_FCAT-FIELDNAME = 'EBELP'.
* WA_FCAT-SELTEXT_L = 'P.O ITEM NO.'.
* APPEND WA_FCAT TO IT_FCAT.
* CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'AEDAT'.
WA_FCAT-SELTEXT_L = 'DATE'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'GEBER'.
WA_FCAT-SELTEXT_L = 'BUDGET'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'DESC1'.
WA_FCAT-SELTEXT_L = 'DESCRIPTION1'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'DESC2'.
WA_FCAT-SELTEXT_L = 'DESCRIPTION2'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'NAME1'.
WA_FCAT-SELTEXT_L = 'SUPPLIER NAME'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'SUBMI'.
WA_FCAT-SELTEXT_L = 'File No.'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'WKURS'.
WA_FCAT-SELTEXT_L = 'Exchange Rate'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'WAERS'.
WA_FCAT-SELTEXT_L = 'UNIT'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
*
WA_FCAT-FIELDNAME = 'NETWR1'.
WA_FCAT-SELTEXT_L = 'FOREIGN CURRENCY'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

WA_FCAT-FIELDNAME = 'NETWR2'.
WA_FCAT-SELTEXT_L = 'INDIAN CURRENCY'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
** Start of changes by eswar
WA_FCAT-FIELDNAME = 'RLWRT'.
WA_FCAT-SELTEXT_L = 'Total PO Value'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
** End OF chages by eswar

WA_FCAT-FIELDNAME = 'REMARKS'.
WA_FCAT-SELTEXT_L = 'REMARKS'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.

****** Changes by Sudha "" 30.03.2023


SELECT EBELN GEBER INTO CORRESPONDING FIELDS OF TABLE IT_EKKN FROM EKKN FOR ALL
ENTRIES IN IT_FINAL
WHERE EBELN = IT_FINAL-EBELN ."and geber = space.

LOOP AT IT_FINAL INTO WA_FINAL WHERE GEBER = SPACE.

READ TABLE IT_EKKN INTO WA_EKKN WITH KEY EBELN = WA_FINAL-EBELN.


IF SY-SUBRC = 0.
WA_FINAL-GEBER = WA_EKKN-GEBER.
ENDIF.

MODIFY IT_FINAL FROM WA_FINAL.


CLEAR WA_FINAL.

ENDLOOP.
*******Changes end.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
* IT_SORT = IT_SORT
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM. "display

You might also like