please rectify code ,,,,not able to fetch value in ekotx field in inner join
TABLES : LFA1 , EKKO ,EKBE .
TYPES : BEGIN OF TY_LFA1 ,
LIFNR TYPE LFA1-LIFNR ,
LAND1 TYPE LFA1-LAND1 ,
NAME1 TYPE LFA1-NAME1 ,
ORT01 TYPE LFA1-ORT01 ,
END OF TY_LFA1.
TYPES : BEGIN OF TY_EKKO_T024E,
EBELN TYPE EKKO-EBELN ,
BUKRS TYPE EKKO-BUKRS ,
* EKORG TYPE EKKO-EKORG ,
EKGRP TYPE EKKO-EKGRP ,
BEDAT TYPE EKKO-BEDAT ,
EKORG TYPE T024E-EKORG ,
EKOTX TYPE T024E-EKOTX ,
END OF TY_EKKO_T024E .
TYPES : BEGIN OF TY_T001 ,
BUTXT TYPE T001-BUTXT ,
BUKRS TYPE T001-BUKRS ,
END OF TY_T001 .
TYPES : BEGIN OF TY_T024 ,
EKGRP TYPE T024-EKGRP ,
EKNAM TYPE T024-EKNAM ,
END OF TY_T024 .
TYPES : BEGIN OF TY_FINALDETAIL ,
EBELN TYPE EKKO-EBELN ,
BUKRS TYPE EKKO-BUKRS ,
EKORG TYPE EKKO-EKORG ,
EKGRP TYPE EKKO-EKGRP ,
BEDAT TYPE EKKO-BEDAT ,
EKOTX TYPE T024E-EKOTX ,
BUTXT TYPE T001-BUTXT ,
EKNAM TYPE T024-EKNAM ,
END OF TY_FINALDETAIL .
TYPES : BEGIN OF TY_EKBE ,
EBELN TYPE EKBE-EBELN ,
EBELP TYPE EKBE-EBELP ,
VGABE TYPE EKBE-VGABE ,
BELNR TYPE EKBE-BELNR ,
BUZEI TYPE EKBE-BUZEI ,
BUDAT TYPE EKBE-BUDAT ,
END OF TY_EKBE .
************************************************************************
* INTERNAL TABLE *
************************************************************************
DATA : T_LFA1 TYPE STANDARD TABLE OF TY_LFA1 INITIAL SIZE 1 ,
T_EKKO_T024E TYPE STANDARD TABLE OF TY_EKKO_T024E INITIAL SIZE 1 ,
T_T001 TYPE STANDARD TABLE OF TY_T001 INITIAL SIZE 1 ,
T_T024 TYPE STANDARD TABLE OF TY_T024 INITIAL SIZE 1 ,
T_FINALDETAIL TYPE STANDARD TABLE OF TY_FINALDETAIL INITIAL SIZE 1 ,
T_EKBE TYPE STANDARD TABLE OF TY_EKBE INITIAL SIZE 1 .
************************************************************************
* WORK AREA *
************************************************************************
DATA : W_LFA1 TYPE TY_LFA1 ,
W_EKKO_T024E TYPE TY_EKKO_T024E ,
W_T001 TYPE TY_T001 ,
W_T024 TYPE TY_T024 ,
W_FINALDETAIL TYPE TY_FINALDETAIL ,
W_EKBE TYPE TY_EKBE ,
X TYPE I ,
FNAME(20).
************************************************************************
* SELECTION SCREEN *
************************************************************************
SELECT-OPTIONS : S_LIFNR FOR LFA1-LIFNR ,
S_EKORG FOR EKKO-EKORG ,
S_EKGRP FOR EKKO-EKGRP ,
S_BUKRS FOR EKKO-BUKRS .
************************************************************************
* BASIC LIST *
************************************************************************
SELECT LIFNR
LAND1
NAME1
ORT01
FROM LFA1 INTO TABLE T_LFA1
WHERE LIFNR IN S_LIFNR .
LOOP AT T_LFA1 INTO W_LFA1 .
WRITE : /05 W_LFA1-LIFNR , " VENDOR NO
40 W_LFA1-LAND1 , "COUNTRY
80 W_LFA1-NAME1 , " VENDOR NAME
120 W_LFA1-ORT01 . " CITY
HIDE : W_LFA1-LIFNR .
AT LAST .
X = SY-LINCT - SY-LINNO .
RESERVE X LINES .
ENDAT .
ENDLOOP .
************************************************************************
* *
************************************************************************
AT LINE-SELECTION .
GET CURSOR FIELD FNAME .
CASE SY-LSIND .
WHEN '1'.
************************************************************************
* FIRST DETAIL LIST *
************************************************************************
IF FNAME = 'W_LFA1-LIFNR'.
SELECT E~EBELN
E~BUKRS
E~EKORG
E~EKGRP
E~BEDAT
T~EKOTX
INTO TABLE T_EKKO_T024E
FROM EKKO AS E
INNER JOIN
T024E AS T
ON E~EKORG = T~EKORG
WHERE LIFNR = W_LFA1-LIFNR
AND E~EKGRP IN S_EKGRP
AND E~EKORG IN S_EKORG
AND E~BUKRS IN S_BUKRS .
*
WRITE 'TEST' .
SELECT
BUTXT
BUKRS FROM T001 INTO TABLE T_T001
FOR ALL ENTRIES IN T_EKKO_T024E
WHERE BUKRS = T_EKKO_T024E-BUKRS .
*WRITE 'TEST' .
*SELECT EKOTX
* EKORG FROM T024E INTO TABLE T_EKKO_T024E .
*
* WRITE 'TEST'.
SELECT EKGRP
EKNAM FROM T024 INTO TABLE T_T024
FOR ALL ENTRIES IN T_EKKO_T024E
WHERE EKGRP = T_EKKO_T024E-EKGRP .
*WRITE 'TEST'.
LOOP AT T_EKKO_T024E INTO W_EKKO_T024E .
MOVE-CORRESPONDING W_EKKO_T024E TO W_FINALDETAIL .
**
READ TABLE T_T001 INTO W_T001 WITH KEY BUKRS = W_EKKO_T024E-BUKRS .
W_FINALDETAIL-BUTXT = W_T001-BUTXT .
*
READ TABLE T_T024 INTO W_T024 WITH KEY EKGRP = W_EKKO_T024E-EKGRP .
W_FINALDETAIL-EKNAM = W_T024-EKNAM .
*
APPEND W_FINALDETAIL TO T_FINALDETAIL.
ENDLOOP .
IF SY-SUBRC = 0 .
**
LOOP AT T_FINALDETAIL INTO W_FINALDETAIL.
WRITE : /05 W_FINALDETAIL-EBELN ,
40 W_FINALDETAIL-BUKRS,
80 W_FINALDETAIL-EKORG ,
120 W_FINALDETAIL-EKGRP ,
160 W_FINALDETAIL-BEDAT,
240 W_FINALDETAIL-EKOTX ,
280 W_FINALDETAIL-BUTXT,
320 W_FINALDETAIL-EKNAM .
HIDE : W_FINALDETAIL-EBELN .
AT LAST .
X = SY-LINCT - SY-LINNO .
RESERVE X LINES .
ENDAT .
ENDLOOP .
ELSE .
MESSAGE S018(YMSG) WITH W_LFA1-LIFNR .
ENDIF .
ELSE .
MESSAGE S016(YMSG) .
ENDIF .
WHEN '2' .
************************************************************************
* SECOND DETAIL LIST *
************************************************************************
SELECT EBELN
EBELP
VGABE
BELNR
BUZEI
BUDAT FROM EKBE INTO TABLE T_EKBE .
*WRITE 'TEST'.
LOOP AT T_EKBE INTO W_EKBE .
WRITE : /05 W_EKBE-EBELN ,
40 W_EKBE-EBELP ,
80 W_EKBE-VGABE ,
120 W_EKBE-BELNR ,
160 W_EKBE-BUZEI ,
200 W_EKBE-BUDAT .
AT LAST .
X = SY-LINCT - SY-LINNO .
RESERVE X LINES .
ENDAT .
ENDLOOP .
ENDCASE .
************************************************************************
* TOP OF PAGE FOR BASIC LIST *
************************************************************************
TOP-OF-PAGE .
WRITE :/80'VENDOR MASTER DATA '.
ULINE .
WRITE : /05 'VENDOR NUMBER',
40 'VENDOR NAME ',
80 'CITY',
120 'COUNTRY'.
ULINE .
************************************************************************
* END OF PAGE FOR BOTH BASIC AND DETAIL LIST *
************************************************************************
END-OF-PAGE .
ULINE .
WRITE :/80 'PAGE ENDS',SY-PAGNO .
ULINE .
************************************************************************
* TOP OF PAGE FOR DETAIL LIST *
************************************************************************
TOP-OF-PAGE DURING LINE-SELECTION .
CASE SY-LSIND .
WHEN '1'.
WRITE : /80'PURCHASE ORDER DATA'.
ULINE .
WRITE :/05'VENDOR NO:', W_LFA1-LIFNR ,40 SY-VLINE , 80 'VENDOR NAME:',W_LFA1-NAME1 .
ULINE .
WRITE :/05'PO NUMBER',
40'P DOC DATE',
80'COMP CODE',
120'COMP CODE NAME',
160'P ORG',
200'P ORG NAME',
240'P GRP',
280'P GRP NAME'.
ULINE .
WHEN '2' .
WRITE:/80'PURCHASE ORDER HISTORY'.
ULINE .
WRITE :/05'VENDOR NO:',W_LFA1-LIFNR , 40 SY-VLINE , 80'VENDOR NAME :',W_LFA1-NAME1 .
ULINE .
WRITE :/05'PO NUMBER:',W_FINALDETAIL-EBELN ,40 SY-VLINE , 80'P DOC DATE:',W_FINALDETAIL-BEDAT .
ULINE .
WRITE :/05'P DOC NOC',
40 'ITEM NO OF P DOC ',
80 'EVENT TYPE',
120 'NO OF MAT DOC ',
160 'ITEM IN MAT DOC ',
200 'POSTING DATE IN DOC'.
ULINE .
ENDCASE .