You are on page 1of 7

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

*& Include
Z1104_SS_FORMS
*&---------------------------------------------------------------------*
FORM SELECT.
SELECT B~EBELN
B~LIFNR
P~EBELP
K~PROCSTAT
P~AEDAT
P~MATNR
P~MENGE
P~MEINS
P~NETPR
P~PEINH
INTO CORRESPONDING FIELDS OF TABLE IT_EBKO
FROM EBAN AS B INNER JOIN EKPO AS P
ON P~MATNR = B~MATNR INNER JOIN EKKO AS K ON K~EBELN = P~EBELN
WHERE ( B~EBELN IN EBELN AND B~LIFNR IN LIFNR ).
IF SY-SUBRC = 0.
PERFORM ICON.
PERFORM I_FIELDCAT.
PERFORM LIST.
**
LOOP AT IT_EBKO INTO WA_EBKO.
**
WRITE : / WA_EBKO-EBELN,
**
WA_EBKO-LIFNR,
**
WA_EBKO-EBELP,
**
WA_EBKO-STATUS,
**
WA_EBKO-AEDAT,
**
WA_EBKO-MATNR,
**
WA_EBKO-MENGE,
**
WA_EBKO-MEINS,
**
WA_EBKO-NETPR,
**
WA_EBKO-PEINH.
**
ENDLOOP.
LEAVE TO LIST-PROCESSING .
SET PF-STATUS SPACE.
ELSE.
WRITE 'INPUT IS WRONG'.
LEAVE TO LIST-PROCESSING .
SET PF-STATUS SPACE.
ENDIF.
ENDFORM.
"SELECT
*&---------------------------------------------------------------------*
*&
Form SELECT1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM SELECT1.
SELECT B~EBELN
B~LIFNR
P~EBELP
K~PROCSTAT
P~AEDAT
P~MATNR
P~MENGE
P~MEINS
P~NETPR

P~PEINH
INTO CORRESPONDING FIELDS OF TABLE IT_EBKO
FROM EBAN AS B INNER JOIN EKPO AS P ON P~MATNR = B~MATNR
INNER JOIN EKKO AS K ON K~EBELN = P~EBELN
WHERE ( B~EBELN IN EBELN AND B~LIFNR IN LIFNR ).
IF SY-SUBRC = 0.
PERFORM ICON.
PERFORM I_FIELDCAT.
PERFORM GRID.
**
LOOP AT IT_EBKO INTO WA_EBKO.
**
WRITE : / WA_EBKO-EBELN,
**
WA_EBKO-LIFNR,
**
WA_EBKO-EBELP,
**
WA_EBKO-STATUS,
**
WA_EBKO-AEDAT,
**
WA_EBKO-MATNR,
**
WA_EBKO-MENGE,
**
WA_EBKO-MEINS,
**
WA_EBKO-NETPR,
**
WA_EBKO-PEINH.
**
ENDLOOP.
LEAVE TO LIST-PROCESSING .
SET PF-STATUS SPACE.
ELSE.
WRITE 'INPUT IS WRONG'.
LEAVE TO LIST-PROCESSING .
SET PF-STATUS SPACE.
ENDIF.
ENDFORM.
"SELECT1
*&---------------------------------------------------------------------*
*&
Form ICON
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM ICON.
LOOP AT IT_EBKO INTO WA_EBKO.
IF WA_EBKO-PROCSTAT EQ '08'.
WRITE ICON_RED_LIGHT AS ICON TO WA_EBKO-LIGHT.
MODIFY IT_EBKO FROM WA_EBKO TRANSPORTING LIGHT .
CLEAR WA_EBKO-LIGHT.
ELSEIF WA_EBKO-PROCSTAT EQ '02'.
WRITE ICON_GREEN_LIGHT AS ICON TO WA_EBKO-LIGHT.
MODIFY IT_EBKO FROM WA_EBKO TRANSPORTING LIGHT .
CLEAR WA_EBKO-LIGHT.
ELSEIF WA_EBKO-PROCSTAT EQ '05'.
WRITE ICON_GREEN_LIGHT AS ICON TO WA_EBKO-LIGHT.
MODIFY IT_EBKO FROM WA_EBKO TRANSPORTING LIGHT .
CLEAR WA_EBKO-LIGHT.
ELSEIF WA_EBKO-PROCSTAT EQ ' ' .
WRITE ICON_YELLOW_LIGHT AS ICON TO WA_EBKO-LIGHT.
MODIFY IT_EBKO FROM WA_EBKO TRANSPORTING LIGHT .
CLEAR WA_EBKO-LIGHT.
ENDIF.
ENDLOOP.
ENDFORM.
"ICON
*&---------------------------------------------------------------------*
*&
Form LIST
*&---------------------------------------------------------------------*

*
text
*----------------------------------------------------------------------*
FORM LIST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
=
*
I_BUFFER_ACTIVE
= ' '
*
I_CALLBACK_PROGRAM
= ' '
*
I_CALLBACK_PF_STATUS_SET
= ' '
*
I_CALLBACK_USER_COMMAND
= ' '
*
I_STRUCTURE_NAME
=
*
IS_LAYOUT
=
IT_FIELDCAT
= I_FIELDCAT
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
IR_SALV_LIST_ADAPTER
=
*
IT_EXCEPT_QINFO
=
*
I_SUPPRESS_EMPTY_DATA
= ABAP_FALSE
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EBKO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1
*
OTHERS
= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.

"LIST

*&---------------------------------------------------------------------*
*&
Form I_FIELDCAT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM I_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EBKO'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-SELTEXT_M = 'Purchase Order'.
WA_FIELDCAT-HOTSPOT = 'X'.
WA_FIELDCAT-FIX_COLUMN = 'X'.

APPEND WA_FIELDCAT TO I_FIELDCAT.


CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'LIFNR'.
= 'Vendor Number'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'EBELP'.
= 'PO Item'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'LIGHT'.
= 'Status'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'PROCSTAT'.
= 'Pur_status'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'AEDAT'.
= 'Item Change Date'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'MATNR'.
= 'Material Number'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'MENGE'.
= 'PO Quantity'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'MEINS'.
= 'PO Unit'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME =
WA_FIELDCAT-FIELDNAME
WA_FIELDCAT-SELTEXT_M
APPEND WA_FIELDCAT TO
CLEAR WA_FIELDCAT.

'IT_EBKO'.
= 'NETPR'.
= 'Net Price'.
I_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_EBKO'.
WA_FIELDCAT-FIELDNAME = 'PEINH'.
WA_FIELDCAT-SELTEXT_M = 'Price Unit'.

APPEND WA_FIELDCAT TO I_FIELDCAT.


CLEAR WA_FIELDCAT.
ENDFORM.

"I_FIELDCAT

*&---------------------------------------------------------------------*
*&
Form GRID
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM GRID.
GD_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
*
I_INTERFACE_CHECK
= ' '
*
I_BYPASSING_BUFFER
= ' '
*
I_BUFFER_ACTIVE
= ' '
I_CALLBACK_PROGRAM
= GD_REPID
*
I_CALLBACK_PF_STATUS_SET
= ' '
I_CALLBACK_USER_COMMAND
= 'USER_COMMAND '
I_CALLBACK_TOP_OF_PAGE
= 'TOP_OF_PAGE'
*
I_CALLBACK_HTML_TOP_OF_PAGE
= ' '
*
I_CALLBACK_HTML_END_OF_LIST
= ' '
*
I_STRUCTURE_NAME
=
*
I_BACKGROUND_ID
= ' '
*
I_GRID_TITLE
=
*
I_GRID_SETTINGS
=
IS_LAYOUT
= LS_LAYOUT
IT_FIELDCAT
= I_FIELDCAT
*
IT_EXCLUDING
=
*
IT_SPECIAL_GROUPS
=
*
IT_SORT
=
*
IT_FILTER
=
*
IS_SEL_HIDE
=
*
I_DEFAULT
= 'X'
*
I_SAVE
= ' '
*
IS_VARIANT
=
*
IT_EVENTS
=
*
IT_EVENT_EXIT
=
*
IS_PRINT
=
*
IS_REPREP_ID
=
*
I_SCREEN_START_COLUMN
= 0
*
I_SCREEN_START_LINE
= 0
*
I_SCREEN_END_COLUMN
= 0
*
I_SCREEN_END_LINE
= 0
*
I_HTML_HEIGHT_TOP
= 0
*
I_HTML_HEIGHT_END
= 0
*
IT_ALV_GRAPHICS
=
*
IT_HYPERLINK
=
*
IT_ADD_FIELDCAT
=
*
IT_EXCEPT_QINFO
=
*
IR_SALV_FULLSCREEN_ADAPTER
=
* IMPORTING
*
E_EXIT_CAUSED_BY_CALLER
=
*
ES_EXIT_CAUSED_BY_USER
=
TABLES
T_OUTTAB
= IT_EBKO
* EXCEPTIONS
*
PROGRAM_ERROR
= 1

OTHERS

= 2
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.

"GRID

*&---------------------------------------------------------------------*
*&
Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.
DATA : T_HEADER TYPE SLIS_T_LISTHEADER,
WA_HEADER TYPE SLIS_LISTHEADER,
T_LINE LIKE WA_HEADER-INFO,
LD_LINES TYPE I,
LD_LINESC(10) TYPE C.
WA_HEADER-TYP = 'H'.
WA_HEADER-INFO = 'Purchase Order details'.
APPEND WA_HEADER TO T_HEADER.
CLEAR WA_HEADER.
WA_HEADER-TYP = 'S'.
WA_HEADER-KEY = 'Date: '.
CONCATENATE SY-DATUM+6(2) '.'
SY-DATUM+4(2) '.'
SY-DATUM(4) INTO WA_HEADER-INFO.
APPEND WA_HEADER TO T_HEADER.
CLEAR: WA_HEADER.

"todays date

* Total No. of Records Selected.........


DESCRIBE TABLE IT_EBKO LINES LD_LINES.
LD_LINESC = LD_LINES.
CONCATENATE 'Total No. of Records Selected: ' LD_LINESC
INTO T_LINE SEPARATED BY SPACE.
WA_HEADER-TYP = 'A'.
WA_HEADER-INFO = T_LINE.
APPEND WA_HEADER TO T_HEADER.
CLEAR: WA_HEADER, T_LINE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY
= T_HEADER
I_LOGO
= 'ENJOYSAP_LOGO'
* I_END_OF_LIST_GRID
=
* I_ALV_FORM
=
.
ENDFORM.

"TOP_OF_PAGE

*&---------------------------------------------------------------------*
*&
Form USER_COMMAND
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*

*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND
USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
CALL TRANSACTION 'ZDISPLAY'.
ENDCASE.
ENDFORM.
"USER_COMMAND

You might also like