You are on page 1of 5

*&H*********************************************************************

*&H
DEVELOPER
: ANEEL MUNAWAR
*
*&H
DATE
: 08.11.2014
*
*&H
FOR
: BANNU MUKHTAR GROUP OF COMPANIES.
*
*&H
PROGRAM NAME : ZMM70AMEA
*
*&P*********************************************************************

REPORT ZMM70AMEA.
TABLES : MSEG, MKPF.
* A2. Materialbelege
SELECTION-SCREEN BEGIN OF BLOCK APPLICATION WITH FRAME TITLE TEXT-002.
PARAMETERS:
pm_mjahr like mkpf-mjahr obligatory default sy-datlo .
SELECT-OPTIONS:
RG_MBLNR FOR mkpf-MBLNR NO-EXTENSION MEMORY ID MBN OBLIGATORY." DEFAULT '490000
0010'.
SELECTION-SCREEN skip.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 33(10) text-001 USER-COMMAND BTN.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK APPLICATION.
************
*************************
DATA tblHeader LIKE STANDARD TABLE OF ZtblMM70AMEAHeader WITH HEADER LINE .
DATA tblDetail LIKE STANDARD TABLE OF ZtblMM70AMEADetail WITH HEADER LINE .
DATA: fcode type sy-ucomm.
AT selection-screen.
fcode = sy-ucomm.
if fcode = 'BTN' or fcode = 'ONLI'.
Perform GetHeaderData.
Perform GetDetailData.
perform Complete25Rows.
perform OpenSmartform.
endif.
*************************************
*************ROUTINES***************
*************************************
form Complete25Rows.
data cnt type int4.
data cntDet type int4.
loop at tblheader.
cnt = 0.

***************************assign sr no and get total no of rows.


cntDet = 0.
loop at tbldetail where mblnr eq tblheader-mblnr and mjahr eq tblheader-mjahr.
cntDet = cntDet + 1.
tbldetail-sr = cntDet.
MODIFY tbldetail.
endloop.
****************************
cnt = 25 - cntdet.
do cnt times.
*cnt = cnt + 1.
* READ TABLE tblDetail INDEX cnt." INTO sflight_wa.
*
* IF sy-subrc eq 0. " When Exists
* tblDetail-sr = cnt .
* MODIFY tblDetail index cnt.
* else.
clear tblDetail.
tblDetail-mjahr = tblheader-mjahr.
tblDetail-mblnr = tblheader-mblnr.
append tblDetail.

ENDDO.
endloop.
endform.

form GetHeaderData.
CLEAR tblHeader[].
select
MBLNR
mjahr
BUDAT
BLDAT
*LIFNR
*NAME1
*EBELN
BKTXT
XBLNR
FRBNR
*BWART
usnam

" See below


" see below
" See Below

" See Below

from mkpf
into CORRESPONDING FIELDS OF TABLE
tblheader where
MJAHR
eq pm_mjahr and
MBLNR
in

RG_MBLNR.
****************Get vendor ID and name************
loop at tblheader.
clear: tblheader-lifnr, tblheader-name1.
select single lifnr into tblheader-lifnr from mseg
where mblnr eq tblheader-mblnr and mjahr eq
tblheader-mjahr.
if sy-subrc eq 0.
select single name1 into tblheader-name1 from lfa1 where
er-lifnr.
endif.

lifnr eq tblhead

*********************Now get Purchase Order********


clear tblheader-EBELN.
Select single EBELN into tblheader-EBELN
from mseg
where mblnr eq tblheader-mblnr and mjahr eq
tblheader-mjahr.
************get movement type *******
clear tblheader-bwart.
Select single bwart into tblheader-bwart
from mseg
where mblnr eq tblheader-mblnr and mjahr eq
tblheader-mjahr.
if sy-subrc eq 0.
Select single btext into tblheader-btext
from T156HT
where bwart eq tblheader-bwart and
SPRAS eq 'EN'.
endif.
* ****************Get User Name
clear tblheader-PERSNUMBER.
select single PERSNUMBER into tblheader-PERSNUMBER
from USR21 where BNAME eq tblheader-USNAM.
clear tblheader-name_text .
if sy-subrc eq 0.
select single name_text into tblheader-name_text from ADRP
where PERSNUMBER eq tblheader-PERSNUMBER.
endif.
************************
MODIFY tblheader.
ENDLOOP.
endform.
form
GetDetailData.
CLEAR tblDetail[].

select
mblnr
mjahr
*SR
MATNR
*MAKTX
CHARG
MEINS
ERFMG
*TEXT
WERKS
*NAME1
LGORT
*LGOBE
sgtxt
ERFME " unit use it
from mseg
into CORRESPONDING FIELDS OF TABLE
tblDetail
where
MJAHR
eq pm_mjahr and
MBLNR
in
RG_MBLNR.
************get material description
loop at tbldetail.
if tbldetail-matnr is not INITIAL.
select single maktx from makt into tbldetail-maktx
where matnr = tbldetail-matnr.
else.
tbldetail-matnr = '-'.
tbldetail-maktx = tbldetail-sgtxt.
endif.
SHIFT tbldetail-matnr LEFT DELETING LEADING '0'.
**********Get plant name*******
clear tbldetail-name1 .
select single name1 into
tbldetail-name1 from t001w where werks eq
tbldetail-werks.
*************************get location name*************
clear tbldetail-lgobe.
select single lgobe into tbldetail-lgobe from t001l
where werks eq tbldetail-werks and
lgort eq tbldetail-lgort.

************************
modify tbldetail.
endloop.
endform.
form OpenSmartform.

data : fm_name type rs38l_fnam.


call function 'SSF_FUNCTION_MODULE_NAME'
exporting
formname
= 'ZMM70AMEAF'
importing
fm_name
= fm_name
.
if sy-subrc <> 0.
endif.
call function fm_name
tables
tblheader = tblheader
tblDetail = tblDetail.
if sy-subrc <> 0.
endif.
clear :
tblheader ,
tblDetail .

endform.

You might also like