Hi,
TABLES: mseg,mkpf,kna1.
TYPES: BEGIN OF ty_mseg,
mblnr TYPE mseg-mblnr,
werks TYPE mseg-werks,
bwart TYPE mseg-bwart,
mjahr TYPE mseg-mjahr,
zeile TYPE mseg-zeile,
matnr TYPE mseg-matnr,
lgort TYPE mseg-lgort,
charg TYPE mseg-charg,
lifnr TYPE mseg-lifnr,
kunnr TYPE mseg-kunnr,
dmbtr TYPE mseg-dmbtr,
menge TYPE mseg-menge,
meins TYPE mseg-meins,
END OF ty_mseg,
BEGIN OF ty_kna1,
name1 TYPE kna1-name1,
kunnr TYPE kna1-kunnr,
END OF ty_kna1,
BEGIN OF ty_mkpf,
mblnr TYPE mkpf-mblnr,
budat TYPE mkpf-budat,
xblnr TYPE mkpf-xblnr,
END OF ty_mkpf,
BEGIN OF ty_mseg2,
mblnr TYPE mseg-mblnr,
werks TYPE mseg-werks,
bwart TYPE mseg-bwart,
mjahr TYPE mseg-mjahr,
zeile TYPE mseg-zeile,
matnr TYPE mseg-matnr,
lgort TYPE mseg-lgort,
charg TYPE mseg-charg,
lifnr TYPE mseg-lifnr,
kunnr TYPE mseg-kunnr,
dmbtr TYPE mseg-dmbtr,
menge TYPE mseg-menge,
meins TYPE mseg-meins,
budat TYPE mkpf-budat,
xblnr TYPE mkpf-xblnr,
name1 TYPE kna1-name1,
END OF ty_mseg2.
DATA: it_mseg TYPE TABLE OF ty_mseg,
wa_mseg TYPE ty_mseg,
it_kna1 TYPE TABLE OF ty_kna1,
wa_kna1 TYPE ty_kna1,
it_mkpf TYPE TABLE OF ty_mkpf,
wa_mkpf TYPE ty_mkpf ,
it_mseg2 TYPE TABLE OF ty_mseg2,
wa_mseg2 TYPE ty_mseg2.
SELECT-OPTIONS s_mblnr FOR mseg-mblnr.
SELECT-OPTIONS s_name1 FOR kna1-name1.
SELECT budat xblnr mblnr
FROM mkpf
INTO CORRESPONDING FIELDS OF TABLE it_mkpf
WHERE mblnr IN s_mblnr.
IF sy-subrc = 0.
SELECT mblnr zeile bwart matnr lgort charg lifnr kunnr werks dmbtr menge meins mjahr
FROM mseg
INTO CORRESPONDING FIELDS OF TABLE it_mseg
FOR ALL ENTRIES IN it_mkpf
WHERE mblnr = it_mkpf-mblnr.
SELECT kunnr name1
FROM kna1
INTO CORRESPONDING FIELDS OF TABLE it_kna1
FOR ALL ENTRIES IN it_mseg
WHERE kunnr = it_mseg-kunnr .
ENDIF.
SORT it_mseg2 BY mblnr zeile bwart matnr lgort charg lifnr kunnr werks dmbtr menge meins mjahr budat xblnr name1.
LOOP AT it_mseg INTO wa_mseg.
READ TABLE it_kna1 INTO wa_kna1 WITH KEY kunnr = wa_mseg-kunnr.
IF sy-subrc = 0.
MOVE wa_kna1-name1 TO wa_mseg2-name1.
ENDIF.
READ TABLE it_mkpf INTO wa_mkpf WITH KEY mblnr = wa_mseg-mblnr.
IF sy-subrc = 0.
MOVE wa_mkpf-budat TO wa_mseg2-budat .
MOVE wa_mkpf-xblnr TO wa_mseg2-xblnr.
ENDIF.
MOVE wa_mseg-werks TO wa_mseg2-werks.
MOVE wa_mseg-bwart TO wa_mseg2-bwart.
MOVE wa_mseg-mblnr TO wa_mseg2-mblnr.
MOVE wa_mseg-mjahr TO wa_mseg2-mjahr.
MOVE wa_mseg-zeile TO wa_mseg2-zeile.
MOVE wa_mseg-matnr TO wa_mseg2-matnr.
MOVE wa_mseg-lgort TO wa_mseg2-lgort.
MOVE wa_mseg-charg TO wa_mseg-charg.
MOVE wa_mseg-lifnr TO wa_mseg2-lifnr.
MOVE wa_mseg-kunnr TO wa_mseg2-kunnr.
MOVE wa_mseg-dmbtr TO wa_mseg2-dmbtr.
MOVE wa_mseg-menge TO wa_mseg2-menge.
MOVE wa_mseg-meins TO wa_mseg2-meins.
APPEND wa_mseg2 TO it_mseg2.
ENDLOOP.
LOOP AT it_mseg2 INTO wa_mseg2.
WRITE: / wa_mseg2-werks,
wa_mseg2-kunnr,
wa_mseg2-name1,
wa_mseg2-bwart,
wa_mseg2-mblnr,
wa_mseg2-mjahr,
wa_mseg2-zeile,
wa_mseg2-matnr,
wa_mseg2-lgort,
wa_mseg2-charg,
wa_mseg2-lifnr,
wa_mseg2-dmbtr,
wa_mseg2-menge,
wa_mseg2-meins,
wa_mseg2-budat,
wa_mseg2-xblnr.
ULINE.
ENDLOOP.
Regards,
Pavan