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

about rep

Former Member
0 Likes
715

TABLES : LFA1,EKKO, EKPO.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

EBELN LIKE EKKO-EBELN,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

END OF JTAB.

DATA :BEGIN OF KTAB OCCURS 0,

EBELN LIKE EKPO-EBELN,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF KTAB.

DATA : BEGIN OF CTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF CTAB.

PARAMETER : P_EBELN LIKE EKKO-EBELN.

SELECT LIFNR EBELN FROM EKKO INTO TABLE ITAB WHERE EBELN = P_EBELN.

SELECT NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

SELECT ebeln MATNR MENGE NETWR FROM EKPO INTO CORRESPONDING FIELDS OF TABLE KTAB FOR ALL ENTRIES IN ITAB WHERE EBELN = ITAB-EBELN.

LOOP AT ITAB.

MOVE : ITAB-EBELN TO CTAB-EBELN,

ITAB-LIFNR TO CTAB-LIFNR.

READ TABLE JTAB WITH KEY LIFNR = ITAB-LIFNR BINARY SEARCH.

MOVE :

  • JTAB-LIFNR TO CTAB-LIFNR,

JTAB-NAME1 TO CTAB-NAME1,

JTAB-LAND1 TO CTAB-LAND1.

READ TABLE KTAB WITH KEY EBELN = ITAB-EBELN BINARY SEARCH.

MOVE : KTAB-MATNR TO CTAB-MATNR,

KTAB-MENGE TO CTAB-MENGE,

KTAB-NETWR TO CTAB-NETWR.

APPEND CTAB.

ENDLOOP.

LOOP AT CTAB.

WRITE : / CTAB-EBELN ,ctab-lifnr, ctab-name1, CTAB-MATNR, CTAB-MENGE, CTAB-NETWR.

ENDLOOP.

hi in this report i am not getting correct output, the thing correponding doc no having 3 values in ekpo and 1 value in lfa1.

but i am not geting name.

pls help.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
696

You are not putting LIFNR into the table JTAB.

6 REPLIES 6
Read only

Former Member
0 Likes
697

You are not putting LIFNR into the table JTAB.

Read only

0 Likes
696

You need to select LIFNR into internal table JTAB.

SELECT <b>LIFNR</b> NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

as there is no LIFNR, you read statement is failing, which is why you are not getting the right values.

READ TABLE jtab WITH KEY lifnr = itab-lifnr BINARY SEARCH.

Also I suggest, youc heck for Sy-SUBRC eq 0, after each Select and Read statement and move further only if SY-SUBRC eq 0.

Read only

Former Member
0 Likes
696

Hi

your problem solved

if usefull reward me

TABLES : LFA1,EKKO, EKPO.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

EBELN LIKE EKKO-EBELN,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

END OF JTAB.

DATA :BEGIN OF KTAB OCCURS 0,

EBELN LIKE EKPO-EBELN,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF KTAB.

DATA : BEGIN OF CTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF CTAB.

PARAMETER : P_EBELN LIKE EKKO-EBELN.

SELECT LIFNR EBELN FROM EKKO INTO TABLE ITAB WHERE EBELN = P_EBELN.

SELECT LIFNR NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

SELECT ebeln MATNR MENGE NETWR FROM EKPO INTO CORRESPONDING FIELDS OF TABLE KTAB FOR ALL ENTRIES IN ITAB WHERE EBELN = ITAB-EBELN.

LOOP AT ITAB.

MOVE : ITAB-EBELN TO CTAB-EBELN,

ITAB-LIFNR TO CTAB-LIFNR.

READ TABLE JTAB WITH KEY LIFNR = ITAB-LIFNR.

MOVE :

JTAB-NAME1 TO CTAB-NAME1,

JTAB-LAND1 TO CTAB-LAND1.

READ TABLE KTAB WITH KEY EBELN = ITAB-EBELN.

MOVE : KTAB-MATNR TO CTAB-MATNR,

KTAB-MENGE TO CTAB-MENGE,

KTAB-NETWR TO CTAB-NETWR.

APPEND CTAB.

ENDLOOP.

LOOP AT CTAB.

WRITE : / CTAB-EBELN ,ctab-lifnr, ctab-name1, CTAB-MATNR, CTAB-MENGE, CTAB-NETWR.

ENDLOOP.

Read only

Former Member
0 Likes
696

just check yhis out put ...


TABLES : LFA1,EKKO, EKPO.

DATA : BEGIN OF ITAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
EBELN LIKE EKKO-EBELN,
END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
LAND1 LIKE LFA1-LAND1,
END OF JTAB.

DATA :BEGIN OF KTAB OCCURS 0,
EBELN LIKE EKPO-EBELN,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
NETWR LIKE EKPO-NETWR,
END OF KTAB.

DATA : BEGIN OF CTAB OCCURS 0,
EBELN LIKE EKKO-EBELN,
LIFNR LIKE LFA1-LIFNR,
NAME1 LIKE LFA1-NAME1,
LAND1 LIKE LFA1-LAND1,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
NETWR LIKE EKPO-NETWR,
END OF CTAB.




PARAMETER : P_EBELN LIKE EKKO-EBELN.

SELECT LIFNR EBELN FROM EKKO INTO TABLE ITAB WHERE EBELN = P_EBELN.
SELECT lifnr NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.
SELECT ebeln MATNR MENGE NETWR FROM EKPO INTO CORRESPONDING FIELDS OF TABLE KTAB FOR ALL ENTRIES IN ITAB WHERE EBELN = ITAB-EBELN.


LOOP AT kTAB.
MOVE : KTAB-MATNR TO CTAB-MATNR,
KTAB-MENGE TO CTAB-MENGE,
KTAB-NETWR TO CTAB-NETWR.

READ TABLE iTAB WITH KEY EBELN = kTAB-EBELN.

MOVE : iTAB-EBELN TO CTAB-EBELN,
ITAB-LIFNR TO CTAB-LIFNR.
READ TABLE jTAB WITH KEY LIFNR = ITAB-LIFNR BINARY SEARCH.

MOVE :
* JTAB-LIFNR TO CTAB-LIFNR,
JTAB-NAME1 TO CTAB-NAME1,
JTAB-LAND1 TO CTAB-LAND1.

APPEND CTAB.
ENDLOOP.


LOOP AT CTAB.
WRITE : / CTAB-EBELN ,ctab-lifnr, ctab-name1, CTAB-MATNR, CTAB-MENGE, CTAB-NETWR.
ENDLOOP.

regards

shiba dutta

Read only

Former Member
0 Likes
696

Hi Ali

check this one

TABLES : LFA1,EKKO, EKPO.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

EBELN LIKE EKKO-EBELN,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

END OF JTAB.

DATA :BEGIN OF KTAB OCCURS 0,

EBELN LIKE EKPO-EBELN,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF KTAB.

DATA : BEGIN OF CTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF CTAB.

PARAMETER : P_EBELN LIKE EKKO-EBELN.

SELECT LIFNR EBELN FROM EKKO INTO TABLE ITAB WHERE EBELN = P_EBELN.

if ITAB[] is not initail.

SELECT NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

SELECT ebeln MATNR MENGE NETWR FROM EKPO INTO CORRESPONDING FIELDS OF TABLE KTAB FOR ALL ENTRIES IN ITAB WHERE EBELN = ITAB-EBELN.

endif.

LOOP AT ITAB.

MOVE : ITAB-EBELN TO CTAB-EBELN,

ITAB-LIFNR TO CTAB-LIFNR.

READ TABLE JTAB WITH KEY LIFNR = ITAB-LIFNR BINARY SEARCH.

MOVE :

  • JTAB-LIFNR TO CTAB-LIFNR,

JTAB-NAME1 TO CTAB-NAME1,

JTAB-LAND1 TO CTAB-LAND1.

READ TABLE KTAB WITH KEY EBELN = ITAB-EBELN BINARY SEARCH.

MOVE : KTAB-MATNR TO CTAB-MATNR,

KTAB-MENGE TO CTAB-MENGE,

KTAB-NETWR TO CTAB-NETWR.

APPEND CTAB.

ENDLOOP.

LOOP AT CTAB.

WRITE : / CTAB-EBELN ,ctab-lifnr, ctab-name1, CTAB-MATNR, CTAB-MENGE, CTAB-NETWR.

ENDLOOP.

reward points to all helpful answers

kiran.M

Read only

Former Member
0 Likes
696

Hi

what happend ur problem not solved at

whats the problem

TABLES : LFA1,EKKO, EKPO.

DATA : BEGIN OF ITAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

EBELN LIKE EKKO-EBELN,

END OF ITAB.

DATA : BEGIN OF JTAB OCCURS 0,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

END OF JTAB.

DATA :BEGIN OF KTAB OCCURS 0,

EBELN LIKE EKPO-EBELN,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF KTAB.

DATA : BEGIN OF CTAB OCCURS 0,

EBELN LIKE EKKO-EBELN,

LIFNR LIKE LFA1-LIFNR,

NAME1 LIKE LFA1-NAME1,

LAND1 LIKE LFA1-LAND1,

MATNR LIKE EKPO-MATNR,

MENGE LIKE EKPO-MENGE,

NETWR LIKE EKPO-NETWR,

END OF CTAB.

PARAMETER : P_EBELN LIKE EKKO-EBELN.

SELECT LIFNR EBELN FROM EKKO INTO TABLE ITAB WHERE EBELN = P_EBELN.

SELECT LIFNR NAME1 LAND1 FROM LFA1 INTO CORRESPONDING FIELDS OF TABLE JTAB FOR ALL ENTRIES IN ITAB WHERE LIFNR = ITAB-LIFNR.

SELECT ebeln MATNR MENGE NETWR FROM EKPO INTO CORRESPONDING FIELDS OF TABLE KTAB FOR ALL ENTRIES IN ITAB WHERE EBELN = ITAB-EBELN.

LOOP AT ITAB.

MOVE : ITAB-EBELN TO CTAB-EBELN,

ITAB-LIFNR TO CTAB-LIFNR.

READ TABLE JTAB WITH KEY LIFNR = ITAB-LIFNR.

MOVE :

JTAB-NAME1 TO CTAB-NAME1,

JTAB-LAND1 TO CTAB-LAND1.

READ TABLE KTAB WITH KEY EBELN = ITAB-EBELN.

MOVE : KTAB-MATNR TO CTAB-MATNR,

KTAB-MENGE TO CTAB-MENGE,

KTAB-NETWR TO CTAB-NETWR.

APPEND CTAB.

ENDLOOP.

LOOP AT CTAB.

WRITE : / CTAB-EBELN ,ctab-lifnr, ctab-name1, CTAB-MATNR, CTAB-MENGE, CTAB-NETWR.

ENDLOOP.