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

coding issue

Former Member
0 Likes
659

unable to fetch data in EKOTX field of table T024E USING INNER JOIN ,,,,KINDLY RECTIFY

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 .

1 REPLY 1
Read only

Former Member
0 Likes
537

Hi Anshika ;

You can fetch the EKOTX in LOOP statement with "SELECT SINGLE" .

Regards.

Özgün