Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Need help..

Former Member
0 Likes
1,315

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,219

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

7 REPLIES 7
Read only

Former Member
0 Likes
1,219

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.

Read only

Former Member
0 Likes
1,219

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

Read only

Former Member
0 Likes
1,219

Hi,

I have tested the program i getting the values,may be in your system data is not there.

regards,

Sreevani

Read only

Former Member
0 Likes
1,219

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

Read only

Former Member
0 Likes
1,219

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-corresponding

statement

Please remove

Move-Corresponding

statmeent and assign individual value

like

MOVE ITAB-EBELP =  IT_EKPO -EBELP.

  |
                   |
                   |
                   |
                   |       " Etc.(like this)  

This will remove your problem

************************Reward Point if helpfull**********************

Read only

Former Member
0 Likes
1,220

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

Read only

Former Member
0 Likes
1,219

Hi

Use FOR ALL ENTRIES.....

Thanks

SASMITA