You are on page 1of 13

REPORT zbo_mm_pur .

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,

ebelp TYPE ekpo-ebelp,


txz01 TYPE ekpo-txz01,
matnr TYPE ekpo-matnr,
werks TYPE ekpo-werks,
lgort TYPE ekpo-lgort,
bednr TYPE ekpo-bednr,
matkl TYPE ekpo-matkl,
infnr TYPE ekpo-infnr,
idnlf TYPE ekpo-idnlf,
ktmng TYPE ekpo-ktmng,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
bprme TYPE ekpo-bprme,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
netwr TYPE ekpo-netwr,
brtwr TYPE ekpo-brtwr,
agdat TYPE ekpo-agdat,
webaz TYPE ekpo-webaz,
mwskz TYPE ekpo-mwskz,
insmk TYPE ekpo-insmk,
prsdr TYPE ekpo-prsdr,
bwtar TYPE ekpo-bwtar,
bwtty TYPE ekpo-bwtty,
abskz TYPE ekpo-abskz,
elikz TYPE ekpo-elikz,
erekz TYPE ekpo-erekz,
pstyp TYPE ekpo-pstyp,
knttp TYPE ekpo-knttp,
kzvbr TYPE ekpo-kzvbr,
vrtkz TYPE ekpo-vrtkz,
twrkz TYPE ekpo-twrkz,
wepos TYPE ekpo-wepos,
weunb TYPE ekpo-weunb,
repos TYPE ekpo-repos,
webre TYPE ekpo-webre,
konnr TYPE ekpo-konnr,
ktpnr TYPE ekpo-ktpnr,
abdat TYPE ekpo-abdat,
abftz TYPE ekpo-abftz,
evers TYPE ekpo-evers,
zwert TYPE ekpo-zwert,
abmng TYPE ekpo-abmng,
prdat TYPE ekpo-prdat,
effwr TYPE ekpo-effwr,
xoblr TYPE ekpo-xoblr,
ekkol TYPE ekpo-ekkol,
sktof TYPE ekpo-sktof,
plifz TYPE ekpo-plifz,
ntgew TYPE ekpo-ntgew,
gewei TYPE ekpo-gewei,
txjcd TYPE ekpo-txjcd,
sobkz TYPE ekpo-sobkz,
arsnr TYPE ekpo-arsnr,
arsps TYPE ekpo-arsps,
zgtyp TYPE ekpo-zgtyp,
ean11 TYPE ekpo-ean11,
bstae TYPE ekpo-bstae,
revlv TYPE ekpo-revlv,
geber TYPE ekpo-geber,
fistl TYPE ekpo-fistl,
fipos TYPE ekpo-fipos,
ko_gsber TYPE ekpo-ko_gsber,
ko_pargb TYPE ekpo-ko_pargb,
ko_prctr TYPE ekpo-ko_prctr,
ko_pprctr TYPE ekpo-ko_pprctr,
meprf TYPE ekpo-meprf,
brgew TYPE ekpo-brgew,
volum TYPE ekpo-volum,
voleh TYPE ekpo-voleh,
ltsnr TYPE ekpo-ltsnr,
emlif TYPE ekpo-emlif,
lblkz TYPE ekpo-lblkz,
satnr TYPE ekpo-satnr,
attyp TYPE ekpo-attyp,
packno TYPE ekpo-packno,
kanba TYPE ekpo-kanba,
xersy TYPE ekpo-xersy,
eildt TYPE ekpo-eildt,
mlmaa TYPE ekpo-mlmaa,
mhdrz TYPE ekpo-mhdrz,
anfnr TYPE ekpo-anfnr,
anfps TYPE ekpo-anfps,
usequ TYPE ekpo-usequ,
banfn TYPE ekpo-banfn,
bnfpo TYPE ekpo-bnfpo,
retpo TYPE ekpo-retpo,
bsgru TYPE ekpo-bsgru,
lfret TYPE ekpo-lfret,
mfrgr TYPE ekpo-mfrgr,
nrfhg TYPE ekpo-nrfhg,
nlabd TYPE ekpo-nlabd,
nfabd TYPE ekpo-nfabd,
kzbws TYPE ekpo-kzbws,
fabkz TYPE ekpo-fabkz,
mprof TYPE ekpo-mprof,
kztlf TYPE ekpo-kztlf,
kzfme TYPE ekpo-kzfme,
rdprf TYPE ekpo-rdprf,
mfrpn TYPE ekpo-mfrpn,
mfrnr TYPE ekpo-mfrnr,
emnfr TYPE ekpo-novet,
afnam TYPE ekpo-afnam,
tzonrc TYPE ekpo-tzonrc,
lebre TYPE ekpo-lebre,
berid TYPE ekpo-berid,
apoms TYPE ekpo-apoms,

lblni TYPE essr-lblni,


ebelnsrv TYPE essr-ebeln,
ebelpsrv TYPE essr-ebelp,
netwr1(20) TYPE c,
lwert1(20) TYPE c,
waers1 TYPE essr-waers,
introw TYPE esll-introw,
srvpos TYPE esll-srvpos,
mengesrv TYPE esll-menge,
meinssrv TYPE esll-meins,
brtwrsrv(20) TYPE c,
netwrsrv(20) TYPE c,
ktext1 TYPE esll-ktext1,
packnosrv TYPE esll-packno,

END OF t_service.

DATA :gt_service TYPE STANDARD TABLE OF t_service WITH HEADER LINE,


wa_service TYPE t_service,
gt_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE,
gt_ekko TYPE STANDARD TABLE OF ekko WITH HEADER LINE,
gt_essr TYPE STANDARD TABLE OF essr WITH HEADER LINE,
gt_eslh TYPE STANDARD TABLE OF eslh WITH HEADER LINE,
gt_esll TYPE STANDARD TABLE OF esll WITH HEADER LINE.

DATA fieldcatalogs TYPE slis_t_fieldcat_alv WITH HEADER LINE.


DATA gv_layout TYPE slis_layout_alv.
DATA gv_repid LIKE sy-repid.
DATA lv_grid TYPE lvc_s_glay.
DATA gs_print TYPE slis_print_alv.
DATA gs_event TYPE slis_alv_event.
DATA gt_events TYPE slis_t_event.

*-----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.

IF NOT gt_ekko[] IS INITIAL.

*=========================================================
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'.

IF NOT gt_ekpo[] IS INITIAL.


*=========================================================
SELECT *
INTO CORRESPONDING FIELDS OF TABLE gt_essr
FROM essr
FOR ALL ENTRIES IN gt_ekpo
WHERE ebeln EQ gt_ekpo-ebeln
AND ebelp EQ gt_ekpo-ebelp
AND loekz NE 'X'.
IF NOT gt_essr[] IS INITIAL.

*=========================================================
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.

READ TABLE gt_ekpo WITH KEY ebeln = gt_eslh-ebeln ebelp =


gt_eslh-ebelp.
IF sy-subrc = 0.
wa_service-ebelp = gt_ekpo-ebelp.
wa_service-txz01 = gt_ekpo-txz01.
wa_service-matnr = gt_ekpo-matnr.
wa_service-werks = gt_ekpo-werks.
wa_service-lgort = gt_ekpo-lgort.
wa_service-bednr = gt_ekpo-bednr.
wa_service-matkl = gt_ekpo-matkl.
wa_service-infnr = gt_ekpo-infnr.
wa_service-idnlf = gt_ekpo-idnlf.
wa_service-ktmng = gt_ekpo-ktmng.
wa_service-menge = gt_ekpo-menge.
wa_service-meins = gt_ekpo-meins.
wa_service-bprme = gt_ekpo-bprme.
wa_service-netpr = gt_ekpo-netpr.
wa_service-peinh = gt_ekpo-peinh.
wa_service-netwr = gt_ekpo-netwr.
wa_service-brtwr = gt_ekpo-brtwr.
wa_service-agdat = gt_ekpo-agdat.
wa_service-webaz = gt_ekpo-webaz.
wa_service-mwskz = gt_ekpo-mwskz.
wa_service-insmk = gt_ekpo-insmk.
wa_service-prsdr = gt_ekpo-prsdr.
wa_service-bwtar = gt_ekpo-bwtar.
wa_service-bwtty = gt_ekpo-bwtty.
wa_service-abskz = gt_ekpo-abskz.
wa_service-elikz = gt_ekpo-elikz.
wa_service-erekz = gt_ekpo-erekz.
wa_service-pstyp = gt_ekpo-pstyp.
wa_service-knttp = gt_ekpo-knttp.
wa_service-kzvbr = gt_ekpo-kzvbr.
wa_service-vrtkz = gt_ekpo-vrtkz.
wa_service-twrkz = gt_ekpo-twrkz.
wa_service-wepos = gt_ekpo-wepos.
wa_service-weunb = gt_ekpo-weunb.
wa_service-repos = gt_ekpo-repos.
wa_service-webre = gt_ekpo-webre.
wa_service-konnr = gt_ekpo-konnr.
wa_service-ktpnr = gt_ekpo-ktpnr.
wa_service-abdat = gt_ekpo-abdat.
wa_service-abftz = gt_ekpo-abftz.
wa_service-evers = gt_ekpo-evers.
wa_service-zwert = gt_ekpo-zwert.
wa_service-abmng = gt_ekpo-abmng.
wa_service-prdat = gt_ekpo-prdat.
wa_service-effwr = gt_ekpo-effwr.
wa_service-xoblr = gt_ekpo-xoblr.
wa_service-ekkol = gt_ekpo-ekkol.
wa_service-sktof = gt_ekpo-sktof.
wa_service-plifz = gt_ekpo-plifz.
wa_service-ntgew = gt_ekpo-ntgew.
wa_service-gewei = gt_ekpo-gewei.
wa_service-txjcd = gt_ekpo-txjcd.
wa_service-sobkz = gt_ekpo-sobkz.
wa_service-arsnr = gt_ekpo-arsnr.
wa_service-arsps = gt_ekpo-arsps.
wa_service-zgtyp = gt_ekpo-zgtyp.
wa_service-ean11 = gt_ekpo-ean11.
wa_service-bstae = gt_ekpo-bstae.
wa_service-revlv = gt_ekpo-revlv.
wa_service-geber = gt_ekpo-geber.
wa_service-fistl = gt_ekpo-fistl.
wa_service-fipos = gt_ekpo-fipos.
wa_service-ko_gsber = gt_ekpo-ko_gsber.
wa_service-ko_pargb = gt_ekpo-ko_pargb.
wa_service-ko_prctr = gt_ekpo-ko_prctr.
wa_service-ko_pprctr = gt_ekpo-ko_pprctr.
wa_service-meprf = gt_ekpo-meprf.
wa_service-brgew = gt_ekpo-brgew.
wa_service-volum = gt_ekpo-volum.
wa_service-voleh = gt_ekpo-voleh.
wa_service-ltsnr = gt_ekpo-ltsnr.
wa_service-emlif = gt_ekpo-emlif.
wa_service-lblkz = gt_ekpo-lblkz.
wa_service-satnr = gt_ekpo-satnr.
wa_service-attyp = gt_ekpo-attyp.
wa_service-packno = gt_ekpo-packno.
wa_service-kanba = gt_ekpo-kanba.
wa_service-xersy = gt_ekpo-xersy.
wa_service-eildt = gt_ekpo-eildt.
wa_service-mlmaa = gt_ekpo-mlmaa.
wa_service-mhdrz = gt_ekpo-mhdrz.
wa_service-anfnr = gt_ekpo-anfnr.
wa_service-anfps = gt_ekpo-anfps.
wa_service-usequ = gt_ekpo-usequ.
wa_service-banfn = gt_ekpo-banfn.
wa_service-bnfpo = gt_ekpo-bnfpo.
wa_service-retpo = gt_ekpo-retpo.
wa_service-bsgru = gt_ekpo-bsgru.
wa_service-lfret = gt_ekpo-lfret.
wa_service-mfrgr = gt_ekpo-mfrgr.
wa_service-nrfhg = gt_ekpo-nrfhg.
wa_service-nlabd = gt_ekpo-nlabd.
wa_service-nfabd = gt_ekpo-nfabd.
wa_service-kzbws = gt_ekpo-kzbws.
wa_service-fabkz = gt_ekpo-fabkz.
wa_service-mprof = gt_ekpo-mprof.
wa_service-kztlf = gt_ekpo-kztlf.
wa_service-kzfme = gt_ekpo-kzfme.
wa_service-rdprf = gt_ekpo-rdprf.
wa_service-mfrpn = gt_ekpo-mfrpn.
wa_service-mfrnr = gt_ekpo-mfrnr.
wa_service-emnfr = gt_ekpo-novet.
wa_service-afnam = gt_ekpo-afnam.
wa_service-tzonrc = gt_ekpo-tzonrc.
wa_service-lebre = gt_ekpo-lebre.
wa_service-berid = gt_ekpo-berid.
wa_service-apoms = gt_ekpo-apoms.
ENDIF.

READ TABLE gt_ekko WITH KEY ebeln = gt_ekpo-ebeln.


IF sy-subrc = 0.
wa_service-ebeln = gt_ekko-ebeln.
wa_service-bukrs = gt_ekko-bukrs.
wa_service-bstyp = gt_ekko-bstyp.
wa_service-bsart = gt_ekko-bsart.
wa_service-bsakz = gt_ekko-bsakz.
wa_service-statu = gt_ekko-statu.
wa_service-aedat = gt_ekko-aedat.
wa_service-ernam = gt_ekko-ernam.
wa_service-lifnr = gt_ekko-lifnr.
wa_service-zterm = gt_ekko-zterm.
wa_service-ekorg = gt_ekko-ekorg.
wa_service-ekgrp = gt_ekko-ekgrp.
wa_service-bedat = gt_ekko-bedat.
wa_service-kdatb = gt_ekko-kdatb.
wa_service-kdate = gt_ekko-kdate.
wa_service-waers = gt_ekko-waers.
wa_service-ausnr = gt_ekko-ausnr.
wa_service-angnr = gt_ekko-angnr.
wa_service-llief = gt_ekko-llief.
wa_service-kunnr = gt_ekko-kunnr.
wa_service-inco1 = gt_ekko-inco1.
wa_service-inco2 = gt_ekko-inco2.
wa_service-ktwrt = gt_ekko-ktwrt.
wa_service-submi = gt_ekko-submi.
wa_service-frgke = gt_ekko-frgke.
wa_service-frgzu = gt_ekko-frgzu.
ENDIF.

APPEND wa_service TO gt_service.


DELETE gt_service WHERE ktext1 EQ space.
CLEAR gt_service.
ENDLOOP.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM gt_service COMPARING
ALL FIELDS.
SORT gt_service BY ebeln ebelp.
ENDIF.
ENDIF.
ENDIF.
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.

You might also like