‎2007 Mar 14 1:26 PM
Hi Friends,
Can any one of you correct the following report.
It is not displaying the fields LIFNR, EKORG, EKGRP, MENGE, MEINS.
REPORT myrep NO STANDARD PAGE HEADING LINE-SIZE 190.
TABLES : EKKO, "PO Header data
EKPO, "PO Item data
EBAN, "Purchase Requisition
EKET. "Schedule lines
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN,
S_LIFNR FOR EKKO-LIFNR,
S_BUKRS FOR EKKO-BUKRS.
SELECTION-SCREEN END OF BLOCK B1.
*DATA : BEGIN OF IT_EKKO OCCURS 0,
LIFNR LIKE EKKO-LIFNR, "Vendors A/c No
BUKRS LIKE EKKO-BUKRS, "Company Code
EBELN LIKE EKKO-EBELN, "Purchasing Doc No
EKORG LIKE EKKO-EKORG, "Purchasing Organization
EKGRP LIKE EKKO-EKGRP, "Purchasing Group
AEDAT LIKE EKKO-AEDAT, "Record creation date
END OF IT_EKKO.
DATA : BEGIN OF IT_EKPO OCCURS 0,
EBELN LIKE EKPO-EBELN, "Purchasing doc No
EBELP LIKE EKPO-EBELP, "Purchasing doc Item No
MATNR LIKE EKPO-MATNR, "Material No
MENGE LIKE EKPO-MENGE, "Purchase order qty
MEINS LIKE EKPO-MEINS, "Order Units
NETPR LIKE EKPO-NETPR, "Net Price
END OF IT_EKPO.
*DATA : BEGIN OF IT_EBAN OCCURS 0,
BANFN LIKE EBAN-BANFN, "Purchase Requisition No
BNFPO LIKE EBAN-BNFPO, "Item no of purchase requisition
BSART LIKE EBAN-BSART, "Purchase doc requisition type
BSTYP LIKE EBAN-BSTYP, "Purchase doc category
*
MATNR LIKE EBAN-MATNR, "Material No
END OF IT_EBAN.
*
*DATA : BEGIN OF IT_EKET OCCURS 0,
EBELN LIKE EKET-EBELN, "Purchasing doc No
EBELP LIKE EKET-EBELP, "Purchasing doc item no
ETENR LIKE EKET-ETENR, "Delivery sch line counter
BANFN LIKE EBAN-BANFN, "Purchase Requisition No
BNFPO LIKE EBAN-BNFPO, "Item no of purchase requisition
END OF IT_EKET.
DATA : BEGIN OF ITAB OCCURS 0,
LIFNR LIKE EKKO-LIFNR, "Vendors A/c No
BUKRS LIKE EKKO-BUKRS, "Company Code
EBELN LIKE EKKO-EBELN, "Purchasing Doc No
EKORG LIKE EKKO-EKORG, "Purchasing Organization
EKGRP LIKE EKKO-EKGRP, "Purchasing Group
AEDAT LIKE EKKO-AEDAT, "Record creation date
EBELP LIKE EKPO-EBELP, "Purchasing doc Item No
MATNR LIKE EKPO-MATNR, "Material No
MENGE LIKE EKPO-MENGE, "Purchase order qty
MEINS LIKE EKPO-MEINS, "Order Units
NETPR LIKE EKPO-NETPR, "Net Price
BANFN LIKE EBAN-BANFN, "Purchase Requisition No
BNFPO LIKE EBAN-BNFPO, "Item no of purchase requisition
BSART LIKE EBAN-BSART, "Purchase doc requisition type
BSTYP LIKE EBAN-BSTYP, "Purchase doc category
ETENR LIKE EKET-ETENR, "Delivery sch line counter
END OF ITAB.
START-OF-SELECTION.
SELECT EBELN EBELP MATNR MENGE MEINS NETPR
FROM EKPO
INTO CORRESPONDING FIELDS OF TABLE IT_EKPO
WHERE EBELN IN S_EBELN .
IF IT_EKPO[] IS INITIAL.
WRITE 😕 'No data selected for display from EKPO'.
EXIT.
ENDIF.
loop at it_ekpo.
move-corresponding it_ekpo to itab.
clear ekko.
SELECT SINGLE BUKRS EBELN EKORG EKGRP LIFNR AEDAT
FROM EKKO
INTO CORRESPONDING FIELDS OF EKKO
WHERE EBELN = ITAB-EBELN.
move-corresponding ekko to itab.
SELECT single EBELN EBELP ETENR BANFN BNFPO
FROM EKET
into corresponding fields of eket
where ebeln = itab-ebeln and
ebelp = itab-ebelp.
move-corresponding eket to itab.
select single ebeln EBELP banfn bnfpo bsart bstyp matnr
from eban
into corresponding fields of eban
where ebeln in s_ebeln
and banfn = itab-banfn .
move-corresponding eban to itab.
append itab.
endloop.
LOOP AT ITAB.
WRITE 😕 ITAB-EBELN,
ITAB-EBELP,
ITAB-LIFNR,
ITAB-BUKRS,
ITAB-EKORG,
ITAB-EKGRP,
ITAB-AEDAT,
ITAB-MATNR,
ITAB-MENGE,
ITAB-MEINS,
ITAB-NETPR,
itab-banfn,
itab-bnfpo,
Itab-bsart,
ITAB-BSTYP,
itab-etenr.
ENDLOOP.
Waiting for ur reply...
Thanks
Kumar
‎2007 Mar 14 1:52 PM
hi
Please copy paste it
TABLES : ekko, "PO Header data
ekpo, "PO Item data
eban, "Purchase Requisition
eket. "Schedule lines
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_ebeln FOR ekko-ebeln,
s_lifnr FOR ekko-lifnr,
s_bukrs FOR ekko-bukrs.
SELECTION-SCREEN END OF BLOCK b1.
DATA : BEGIN OF it_ekpo OCCURS 0,
ebeln LIKE ekpo-ebeln, "Purchasing doc No
ebelp LIKE ekpo-ebelp, "Purchasing doc Item No
matnr LIKE ekpo-matnr, "Material No
menge LIKE ekpo-menge, "Purchase order qty
meins LIKE ekpo-meins, "Order Units
netpr LIKE ekpo-netpr, "Net Price
END OF it_ekpo.
DATA : BEGIN OF itab OCCURS 0,
lifnr LIKE ekko-lifnr, "Vendors A/c No
bukrs LIKE ekko-bukrs, "Company Code
ebeln LIKE ekko-ebeln, "Purchasing Doc No
ekorg LIKE ekko-ekorg, "Purchasing Organization
ekgrp LIKE ekko-ekgrp, "Purchasing Group
aedat LIKE ekko-aedat, "Record creation date
ebelp LIKE ekpo-ebelp, "Purchasing doc Item No
matnr LIKE ekpo-matnr, "Material No
menge LIKE ekpo-menge, "Purchase order qty
meins LIKE ekpo-meins, "Order Units
netpr LIKE ekpo-netpr, "Net Price
banfn LIKE eban-banfn, "Purchase Requisition No
bnfpo LIKE eban-bnfpo, "Item no of purchase requisition
bsart LIKE eban-bsart, "Purchase doc requisition type
bstyp LIKE eban-bstyp, "Purchase doc category
etenr LIKE eket-etenr, "Delivery sch line counter
END OF itab.
START-OF-SELECTION.
SELECT ebeln
ebelp
matnr
menge
meins
netpr
FROM ekpo
INTO CORRESPONDING FIELDS OF TABLE it_ekpo
WHERE ebeln IN s_ebeln .
IF it_ekpo[] IS INITIAL.
WRITE 😕 'No data selected for display from EKPO'.
EXIT.
ENDIF.
LOOP AT it_ekpo.
MOVE-CORRESPONDING it_ekpo TO itab.
CLEAR ekko.
SELECT SINGLE bukrs
ekorg
ekgrp
lifnr
aedat
FROM ekko
INTO CORRESPONDING FIELDS OF ekko
WHERE ebeln = itab-ebeln.
MOVE : ekko-bukrs TO itab-bukrs,
ekko-ekorg TO itab-ekorg,
ekko-ekgrp TO itab-ekgrp,
ekko-lifnr TO itab-lifnr,
ekko-aedat TO itab-aedat.
SELECT SINGLE etenr
banfn
bnfpo
FROM eket
INTO CORRESPONDING FIELDS OF eket
WHERE ebeln = itab-ebeln AND
ebelp = itab-ebelp.
MOVE : eket-etenr TO itab-etenr,
eket-banfn TO itab-banfn,
eket-bnfpo TO itab-bnfpo.
SELECT SINGLE bsart
bstyp
FROM eban
INTO CORRESPONDING FIELDS OF eban
WHERE ebeln IN s_ebeln
AND banfn = itab-banfn .
MOVE : eban-bsart TO itab-bsart,
eban-bstyp TO itab-bstyp.
APPEND itab.
CLEAR itab.
ENDLOOP.
LOOP AT itab.
WRITE 😕 itab-ebeln,
itab-ebelp,
itab-lifnr,
itab-bukrs,
itab-ekorg,
itab-ekgrp,
itab-aedat,
itab-matnr,
itab-menge,
itab-meins,
itab-netpr,
itab-banfn,
itab-bnfpo,
itab-bsart,
itab-bstyp,
itab-etenr.
ENDLOOP.
**Please reward suitable points***
With Regards
Navin Khedikar
‎2007 Mar 14 1:32 PM
instead of move-corresponding use move statement and use sy-subrc.
See the following:, do the necessary modifications for remaining.
SELECT SINGLE BUKRS EBELN EKORG EKGRP LIFNR AEDAT
FROM EKKO
INTO CORRESPONDING FIELDS OF EKKO
WHERE EBELN = ITAB-EBELN.
if sy-subrc = 0.
move : itab-ebeln = ekko-ebeln.
itab-ekorg = ekko-ekorg.
itab-ekgrp = ekko-ekgrp.
itab-lifnr = ekko-lifnr.
itab-aedat = ekko-aedat.
endif.
‎2007 Mar 14 1:39 PM
hi
after the below select the few of the value disappears from the itab because of the where conditond. so move only the required fields to itab.
select single ebeln EBELP banfn bnfpo bsart bstyp matnr
from eban
into corresponding fields of eban
where ebeln in s_ebeln
and banfn = itab-banfn .
<b>move-corresponding eban to itab.</b> -> avoid this n
use the code below after the select.
<b>move: eban-bsart to itab-bsart,
eban-bstyp to itab-bstyp.</b>
this works....
**reward if helpful
regards,
madhu
‎2007 Mar 14 1:39 PM
Hi,
I have tested the program i getting the values,may be in your system data is not there.
regards,
Sreevani
‎2007 Mar 14 1:39 PM
Hi,
Write a single Join for all the 4 tables or atleast join ekko and ekpo first:
SELECT aBUKRS aEBELN aEKORG aEKGRP aLIFNR aAEDAT
bEBELP bMATNR bMENGE bMEINS b~NETPR
cETENR cBANFN c~BNFPO
dbanfn dbnfpo dbsart dbstyp
into table ITAB
FROM EKKO as a join
EKPO as b on aebeln = bebeln join
EKET as c on bebeln = cebeln and bebelp = cebelp join
eban as d on cbanfn = dbanfn and cbnfpo = dbnfpo
where a~ebeln in s_ebeln and
a~lifnr in s_lifnr and
a~bukrs in s_bukrs.
IF ITAB[] IS INITIAL.
WRITE 😕 'No data selected'.
EXIT.
ENDIF.
regards,
Anji
‎2007 Mar 14 1:45 PM
Hi Raj,
I guess the Problem is at your program in somewhere your all required field (
LIFNR, EKORG, EKGRP, MENGE, MEINS)
get refreshed. Just because you are using
Move-correspondingstatement
Please remove
Move-Correspondingstatmeent and assign individual value
like
MOVE ITAB-EBELP = IT_EKPO -EBELP.
|
|
|
|
| " Etc.(like this)
This will remove your problem
************************Reward Point if helpfull**********************
‎2007 Mar 14 1:52 PM
hi
Please copy paste it
TABLES : ekko, "PO Header data
ekpo, "PO Item data
eban, "Purchase Requisition
eket. "Schedule lines
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_ebeln FOR ekko-ebeln,
s_lifnr FOR ekko-lifnr,
s_bukrs FOR ekko-bukrs.
SELECTION-SCREEN END OF BLOCK b1.
DATA : BEGIN OF it_ekpo OCCURS 0,
ebeln LIKE ekpo-ebeln, "Purchasing doc No
ebelp LIKE ekpo-ebelp, "Purchasing doc Item No
matnr LIKE ekpo-matnr, "Material No
menge LIKE ekpo-menge, "Purchase order qty
meins LIKE ekpo-meins, "Order Units
netpr LIKE ekpo-netpr, "Net Price
END OF it_ekpo.
DATA : BEGIN OF itab OCCURS 0,
lifnr LIKE ekko-lifnr, "Vendors A/c No
bukrs LIKE ekko-bukrs, "Company Code
ebeln LIKE ekko-ebeln, "Purchasing Doc No
ekorg LIKE ekko-ekorg, "Purchasing Organization
ekgrp LIKE ekko-ekgrp, "Purchasing Group
aedat LIKE ekko-aedat, "Record creation date
ebelp LIKE ekpo-ebelp, "Purchasing doc Item No
matnr LIKE ekpo-matnr, "Material No
menge LIKE ekpo-menge, "Purchase order qty
meins LIKE ekpo-meins, "Order Units
netpr LIKE ekpo-netpr, "Net Price
banfn LIKE eban-banfn, "Purchase Requisition No
bnfpo LIKE eban-bnfpo, "Item no of purchase requisition
bsart LIKE eban-bsart, "Purchase doc requisition type
bstyp LIKE eban-bstyp, "Purchase doc category
etenr LIKE eket-etenr, "Delivery sch line counter
END OF itab.
START-OF-SELECTION.
SELECT ebeln
ebelp
matnr
menge
meins
netpr
FROM ekpo
INTO CORRESPONDING FIELDS OF TABLE it_ekpo
WHERE ebeln IN s_ebeln .
IF it_ekpo[] IS INITIAL.
WRITE 😕 'No data selected for display from EKPO'.
EXIT.
ENDIF.
LOOP AT it_ekpo.
MOVE-CORRESPONDING it_ekpo TO itab.
CLEAR ekko.
SELECT SINGLE bukrs
ekorg
ekgrp
lifnr
aedat
FROM ekko
INTO CORRESPONDING FIELDS OF ekko
WHERE ebeln = itab-ebeln.
MOVE : ekko-bukrs TO itab-bukrs,
ekko-ekorg TO itab-ekorg,
ekko-ekgrp TO itab-ekgrp,
ekko-lifnr TO itab-lifnr,
ekko-aedat TO itab-aedat.
SELECT SINGLE etenr
banfn
bnfpo
FROM eket
INTO CORRESPONDING FIELDS OF eket
WHERE ebeln = itab-ebeln AND
ebelp = itab-ebelp.
MOVE : eket-etenr TO itab-etenr,
eket-banfn TO itab-banfn,
eket-bnfpo TO itab-bnfpo.
SELECT SINGLE bsart
bstyp
FROM eban
INTO CORRESPONDING FIELDS OF eban
WHERE ebeln IN s_ebeln
AND banfn = itab-banfn .
MOVE : eban-bsart TO itab-bsart,
eban-bstyp TO itab-bstyp.
APPEND itab.
CLEAR itab.
ENDLOOP.
LOOP AT itab.
WRITE 😕 itab-ebeln,
itab-ebelp,
itab-lifnr,
itab-bukrs,
itab-ekorg,
itab-ekgrp,
itab-aedat,
itab-matnr,
itab-menge,
itab-meins,
itab-netpr,
itab-banfn,
itab-bnfpo,
itab-bsart,
itab-bstyp,
itab-etenr.
ENDLOOP.
**Please reward suitable points***
With Regards
Navin Khedikar
‎2007 Mar 14 2:12 PM