Professional Documents
Culture Documents
ZMM SRV
ZMM SRV
TABLES: ekpo,ekko,esll,essr.
TYPE-POOLS: slis.
TYPES: BEGIN OF t_service,
ebeln TYPE ekko-ebeln,
bukrs TYPE ekko-bukrs,
bstyp TYPE ekko-bstyp,
bsart TYPE ekko-bsart,
bsakz TYPE ekko-bsakz,
statu TYPE ekko-statu,
aedat TYPE ekko-aedat,
ernam TYPE ekko-ernam,
lifnr TYPE ekko-lifnr,
zterm TYPE ekko-zterm,
ekorg TYPE ekko-ekorg,
ekgrp TYPE ekko-ekgrp,
bedat TYPE ekko-bedat,
kdatb TYPE ekko-kdatb,
kdate TYPE ekko-kdate,
waers TYPE ekko-waers,
ausnr TYPE ekko-ausnr,
angnr TYPE ekko-angnr,
llief TYPE ekko-llief,
kunnr TYPE ekko-kunnr,
inco1 TYPE ekko-inco1,
inco2 TYPE ekko-inco2,
ktwrt TYPE ekko-ktwrt,
submi TYPE ekko-submi,
frgke TYPE ekko-frgke,
frgzu TYPE ekko-frgzu,
END OF t_service.
*-----Selection Screen-------------------------------------------------
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_ekorg FOR ekko-ekorg,
s_lgort FOR ekpo-lgort,
s_bukrs FOR ekko-bukrs,
s_werks FOR ekpo-werks,
s_ekgrp FOR ekko-ekgrp,
s_ebeln FOR ekko-ebeln,
s_bedat FOR ekko-bedat,
s_lifnr FOR ekko-lifnr,
s_matnr FOR ekpo-matnr.
SELECTION-SCREEN END OF BLOCK b1.
INITIALIZATION.
lv_grid-edt_cll_cb = 'X'.
START-OF-SELECTION.
PERFORM f_get_data.
IF NOT gt_service[] IS INITIAL.
PERFORM init_fieldcat.
PERFORM f_build_layout.
PERFORM f_display_data.
ELSE.
MESSAGE s016(rp) WITH 'No Output List PO'.
STOP.
ENDIF.
END-OF-SELECTION.
*---------------------------------------------------------------------*
* FORM f_get_data *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM f_get_data.
SELECT *
FROM ekko
INTO CORRESPONDING FIELDS OF TABLE gt_ekko
WHERE ebeln IN s_ebeln
AND bukrs IN s_bukrs
AND lifnr IN s_lifnr
AND ekorg IN s_ekorg
AND ekgrp IN s_ekgrp
AND bedat IN s_bedat
AND bstyp EQ 'F'
AND loekz NE 'L'
AND spras EQ sy-langu.
*=========================================================
SELECT *
FROM ekpo
INTO CORRESPONDING FIELDS OF TABLE gt_ekpo
FOR ALL ENTRIES IN gt_ekko
WHERE ebeln EQ gt_ekko-ebeln
AND pstyp EQ '9'
AND lgort IN s_lgort
AND loekz NE 'L'.
*=========================================================
SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_eslh
FROM eslh
FOR ALL ENTRIES IN gt_essr
WHERE ebeln EQ gt_essr-ebeln
AND ebelp EQ gt_essr-ebelp
AND del NE 'L'.
IF NOT gt_eslh[] IS INITIAL.
*=========================================================
SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_esll
FROM esll
FOR ALL ENTRIES IN gt_eslh
WHERE packno EQ gt_eslh-packno
AND del NE 'L'.
*================================================================
* Collect Data
*================================================================
LOOP AT gt_esll.
wa_service-srvpos = gt_esll-srvpos.
wa_service-mengesrv = gt_esll-menge.
wa_service-meinssrv = gt_esll-meins.
WRITE gt_esll-brtwr TO wa_service-brtwrsrv.
WRITE gt_esll-netwr TO wa_service-netwrsrv.
wa_service-ktext1 = gt_esll-ktext1.
wa_service-packno = gt_esll-packno.
LOOP AT gt_eslh WHERE packno EQ gt_esll-packno.
READ TABLE gt_essr WITH KEY ebeln = gt_eslh-ebeln ebelp =
gt_eslh-ebelp.
IF sy-subrc = 0.
wa_service-lblni = gt_essr-lblni.
wa_service-ebelnsrv = gt_essr-ebeln.
wa_service-ebelpsrv = gt_essr-ebelp.
WRITE gt_essr-netwr TO wa_service-netwr1.
WRITE gt_essr-lwert TO wa_service-lwert1.
wa_service-waers1 = gt_essr-waers.
ENDIF.
ENDFORM.
*---------------------------------------------------------------------*
* FORM init_fieldcat *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM init_fieldcat.
fieldcatalogs-fieldname = 'EBELN'.
fieldcatalogs-seltext_l = 'PO Number'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 0.
fieldcatalogs-outputlen = 10.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BUKRS'.
fieldcatalogs-seltext_l = 'Comp code'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 1.
fieldcatalogs-outputlen = 10.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'LIFNR'.
fieldcatalogs-seltext_l = 'Vendor'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 3.
fieldcatalogs-outputlen = 5.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'EBELP'.
fieldcatalogs-seltext_l = 'PO Item'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 4.
fieldcatalogs-outputlen = 6.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BANFN'.
fieldcatalogs-seltext_l = 'PR Number'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 5.
fieldcatalogs-outputlen = 6.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BNFPO'.
fieldcatalogs-seltext_l = 'PR Item'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 6.
fieldcatalogs-outputlen = 6.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'MATNR'.
fieldcatalogs-seltext_l = 'Material Number'.
fieldcatalogs-key = 'X'.
fieldcatalogs-col_pos = 7.
fieldcatalogs-outputlen = 15.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'TXZ01'.
fieldcatalogs-seltext_l = 'Material Desc'.
fieldcatalogs-col_pos = 8.
fieldcatalogs-outputlen = 15.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'MENGE'.
fieldcatalogs-seltext_l = 'Quantity'.
fieldcatalogs-col_pos = 9.
fieldcatalogs-outputlen = 10.
fieldcatalogs-cfieldname = 'WAERS'.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'MEINS'.
fieldcatalogs-seltext_l = 'UoM'.
fieldcatalogs-col_pos = 10.
fieldcatalogs-outputlen = 5.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'NETWR'.
fieldcatalogs-seltext_l = 'Price Item'.
fieldcatalogs-col_pos = 11.
fieldcatalogs-outputlen = 10.
fieldcatalogs-cfieldname = 'WAERS'.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'WAERS'.
fieldcatalogs-seltext_l = 'Currency'.
fieldcatalogs-col_pos = 12.
fieldcatalogs-outputlen = 8.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BWTAR'.
fieldcatalogs-seltext_l = 'Val type Material'.
fieldcatalogs-col_pos = 13.
fieldcatalogs-outputlen = 15.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'AEDAT'.
fieldcatalogs-seltext_l = 'PO Date'.
fieldcatalogs-col_pos = 14.
fieldcatalogs-outputlen = 8.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BADAT'.
fieldcatalogs-seltext_l = 'PR Date'.
fieldcatalogs-col_pos = 15.
fieldcatalogs-outputlen = 8.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'WERKS'.
fieldcatalogs-seltext_l = 'Plant'.
fieldcatalogs-col_pos = 16.
fieldcatalogs-outputlen = 8.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'LGORT'.
fieldcatalogs-seltext_l = 'Sloc'.
fieldcatalogs-col_pos = 17.
fieldcatalogs-outputlen = 5.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'EKGRP'.
fieldcatalogs-seltext_l = 'Purch Group'.
fieldcatalogs-col_pos = 18.
fieldcatalogs-outputlen = 10.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'PSTYP'.
fieldcatalogs-seltext_l = 'Item Category'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'KNTTP'.
fieldcatalogs-seltext_l = 'Acct Ass Cat'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'LBLNI'.
fieldcatalogs-seltext_l = 'Entry sheet number'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'NETWR1'.
fieldcatalogs-seltext_l = 'Net Value service'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 11.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'LWERT1'.
fieldcatalogs-seltext_l = 'Total Value service'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 11.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'WAERS1'.
fieldcatalogs-seltext_l = 'Curr'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'SRVPOS'.
fieldcatalogs-seltext_l = 'Service num'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'KTEXT1'.
fieldcatalogs-seltext_l = 'Service Desc'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'MENGESRV'.
fieldcatalogs-seltext_l = 'Service Qty'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'MEINSSRV'.
fieldcatalogs-seltext_l = 'Serv Qty UoN'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'BRTWRSRV'.
fieldcatalogs-seltext_l = 'Gross Price'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
fieldcatalogs-fieldname = 'NETWRSRV'.
fieldcatalogs-seltext_l = 'Net Price'.
fieldcatalogs-col_pos = 19.
fieldcatalogs-outputlen = 20.
APPEND fieldcatalogs TO fieldcatalogs.
CLEAR fieldcatalogs.
ENDFORM.
*---------------------------------------------------------------------*
* FORM f_build_layout *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM f_build_layout.
gv_layout-zebra = 'X'.
gv_layout-no_input = 'X'.
gv_layout-colwidth_optimize = 'X'.
gv_layout-cell_merge = 'X'.
ENDFORM. " f_build_layout
*---------------------------------------------------------------------*
* FORM f_display_data *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM f_display_data.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
it_fieldcat = fieldcatalogs[]
it_events = gt_events
is_layout = gv_layout
TABLES
t_outtab = gt_service
EXCEPTIONS
program_error = 1.
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.