Beruflich Dokumente
Kultur Dokumente
TYPE-POOLS: SLIS.
*variable for Report ID
DATA: V_REPID LIKE SY-REPID .
*****GLOBAL ALV DECLARATIONS
*DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
*
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
*
IT_LISTHEADER TYPE SLIS_T_LISTHEADER,
*
V_EVENTS TYPE SLIS_T_EVENT,
*
WA_EVENT TYPE SLIS_ALV_EVENT,
*
ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
**Class definition for handling double click
*CLASS event_class DEFINITION DEFERRED.
*Typed structures of all 8 tables defined****
TYPES: BEGIN OF TY_EKKO,
EBELN TYPE EKKO-EBELN, "Purchasing Doc.
BUKRS TYPE EKKO-BUKRS, "Company Code
BSTYP TYPE EKKO-BSTYP, "Doc. Category
LIFNR TYPE EKKO-LIFNR, "Vendor
AEDAT TYPE EKKO-AEDAT, "Created on
RESWK TYPE EKKO-RESWK, "Supplying Plant
EKGRP TYPE EKKO-EKGRP, "Purch. Group
KUNNR TYPE EKKO-KUNNR, "Customer
END OF TY_EKKO.
TYPES: BEGIN OF TY_EKPO,
EBELN TYPE EKPO-EBELN,
MATNR TYPE EKPO-MATNR,
LGORT TYPE EKPO-LGORT,
EBELP TYPE EKPO-EBELP,
BUKRS TYPE EKPO-BUKRS,
MENGE TYPE EKPO-MENGE,
MEINS TYPE EKPO-MEINS,
WERKS TYPE EKPO-WERKS,
MATKL TYPE EKPO-MATKL,
NETPR TYPE EKPO-NETPR,
END OF TY_EKPO.
"Purchasing Doc.
"Material
"Stor. Location
"Item
"Company Code
"PO Quantity
"Order Unit
"Plant
"Material Group
"Net Price
"NAME 1
**
EXPORTING
**
WINDOW_TITLE
=
**
INITIAL_FOLDER
=
*
CHANGING
*
SELECTED_FOLDER
=
**
EXCEPTIONS
**
CNTL_ERROR
= 1
**
ERROR_NO_GUI
= 2
**
NOT_SUPPORTED_BY_GUI = 3
**
others
= 4
*
.
* IF SY-SUBRC <> 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* ENDIF.
*NOW CALL THE FM TO SEARCH FOR THE FILE PATH
* CALL FUNCTION 'F4_FILENAME'
* EXPORTING
*
PROGRAM_NAME
= SYST-CPROG
*
DYNPRO_NUMBER
= SYST-DYNNR
** FIELD_NAME
= ' '
* IMPORTING
*
FILE_NAME
= P_FILE.
* AT SELECTION-SCREEN VALIDATIONS***************
AT SELECTION-SCREEN ON S_BUKRS.
*Subroutine to validate Company Code.
PERFORM VALIDATE_COMP_CODE.
AT SELECTION-SCREEN ON S_LIFNR.
*Subroutine to validate Vendor Number.
PERFORM VALIDATE_VEN_NO.
INITIALIZATION.
START-OF-SELECTION.
* PERFORM ALV_SCREEN1.
*&---------------------------------------------------------------------*
*&
Form VALIDATE_COMP_CODE
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM VALIDATE_COMP_CODE .
IF NOT S_BUKRS IS INITIAL.
SELECT BUKRS FROM EKKO
INTO WA_EKKO
UP TO 1 ROWS
WHERE BUKRS IN S_BUKRS.
ENDSELECT.
ENDIF.
ENDFORM.
" VALIDATE_COMP_CODE
*&---------------------------------------------------------------------*
*&
Form VALIDATE_VEN_NO
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM VALIDATE_VEN_NO .
IF NOT S_LIFNR IS INITIAL.
SELECT LIFNR FROM
EKKO INTO WA_EKKO
UP TO 1 ROWS
WHERE
LIFNR IN S_LIFNR.
ENDSELECT.
ENDIF.
ENDFORM.
" VALIDATE_VEN_NO
**----------------------------------------------------------------------*
** CLASS lcl_event_receiver DEFINITION
**----------------------------------------------------------------------*
*CLASS event_class DEFINITION.
**Handling double click
* PUBLIC SECTION.
*
METHODS:
*
handle_double_click
*
FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row .
*ENDCLASS. "lcl_event_receiver DEFINITION
*
**----------------------------------------------------------------------*
** CLASS lcl_event_receiver IMPLEMENTATION
**----------------------------------------------------------------------*
*CLASS event_class IMPLEMENTATION.
* METHOD handle_double_click.
*
DATA : WA_EKKO LIKE LINE OF IT_EKKO.
**Reading the selected data into a variable
*
READ TABLE IT_EKKO INDEX e_row-index INTO WA_EKKO.
** *Select the field details of the selected table
*
SELECT EBELN EBELP TXZ01 MATNR WERKS LGORT MATNR MENGE
*
MEINS NETPR FROM EKPO INTO TABLE IT_EKPO
*
WHERE EBELN = WA_EKKO-EBELN.
**calling the ALV containing the field values
*
CALL SCREEN 101.
* ENDMETHOD. "handle_double_click
*ENDCLASS. "lcl_event_receiver IMPLEMENTATION
*&---------------------------------------------------------------------*
*&
Module PBO_100 OUTPUT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
MODULE PBO_100 OUTPUT.
*Create one ALV Control that shows the first table
SET PF-STATUS 'CONT_100'.
*
*
*
*
*
*
*
*
*&---------------------------------------------------------------------*
*&
Form GET_EKKO
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM GET_EKKO .
SELECT EBELN BUKRS BSTYP LIFNR AEDAT RESWK EKGRP KUNNR
FROM EKKO
INTO TABLE IT_EKKO
WHERE
BUKRS IN S_BUKRS AND
BSTYP = P_BSTYP AND
BSART = P_BSART AND
LIFNR IN S_LIFNR.
ENDFORM.
" GET_EKKO
*&---------------------------------------------------------------------*
*&
Form ALV_100_FCAT1
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM ALV_100_FCAT1 .
* FIRST CLEAR THE CONTENTS OF WA_FCAT1**
CLEAR WA_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'EBELN'.
'Purchasing_Doc'.
1.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'BUKRS'.
'Company_Code'.
2.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'BSTYP'.
'Doc_Category'.
3.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'LIFNR'.
'Vendor'.
4.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'AEDAT'.
'Created_On'.
5.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'RESWK'.
'Supplying_Plant'.
6.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'EKGRP'.
'Purchasing_Org'.
7.
IT_FCAT1.
WA_FCAT1-TABNAME =
WA_FCAT1-FIELDNAME
WA_FCAT1-COLTEXT =
WA_FCAT1-COL_POS =
APPEND WA_FCAT1 TO
CLEAR WA_FCAT1.
'IT_EKKO'.
= 'KUNNR'.
'Customer'.
8.
IT_FCAT1.
ENDFORM.
" ALV_100_FCAT1