Skip to Content
0
Former Member
Nov 17, 2005 at 03:40 AM

EKPO LOEKZ field is unknown?

554 Views

Hi,

I am trying to extract data from EKPO tables which is not deleted yet. I tried to use the where condition in my select statements where LOEKS <> 'L' but I'm getting a syntax error stating that "Field "EKPO~LOEKZ" is unknown. It is neither in one of the specified ".

Is there any other way I can search for the non deleted PO Details records?

Please help!

Thanks

My code as below:

REPORT ZMISCY002 .

PARAMETERS :

P_FILE(300) DEFAULT '
sapdc\data\sap\pekbe.txt' LOWER CASE.

DATA MSG_TEXT(50).

TABLES: EKBE, MARA, T023T,MAKT, EKKO, EKPO.

*DECLARE INTERNAL TABLE

DATA :

XEBELN LIKE EKBE-EBELN,

XEBELP LIKE EKBE-EBELP,

XVGABE LIKE EKBE-VGABE,

XGJAHR LIKE EKBE-GJAHR,

XBELNR LIKE EKBE-BELNR,

XBWART LIKE EKBE-BWART,

XBUDAT LIKE EKBE-BUDAT,

XMENGE LIKE EKBE-MENGE,

XWRBTR LIKE EKBE-WRBTR,

XWAERS LIKE EKBE-WAERS,

XMATNR LIKE EKBE-MATNR,

XWERKS LIKE EKBE-WERKS,

XMATKL LIKE EKPO-MATKL,

XMAKTX LIKE MAKT-MAKTX,

XWGBEZ LIKE T023T-WGBEZ,

XBSART LIKE EKKO-BSART,

XLOEKZ LIKE <b>EKPO~LOEKZ</b>.

DATA : BEGIN OF ITAB_EKBE OCCURS 0,

EBELN LIKE EKBE-EBELN,

EBELP LIKE EKBE-EBELP,

VGABE LIKE EKBE-VGABE,

GJAHR LIKE EKBE-GJAHR,

BELNR LIKE EKBE-BELNR,

BWART LIKE EKBE-BWART,

BUDAT LIKE EKBE-BUDAT,

MENGE(13) type c,

WRBTR(13) type c,

WAERS LIKE EKBE-WAERS,

MATNR LIKE EKBE-MATNR,

WERKS LIKE EKBE-WERKS,

MATKL LIKE EKPO-MATKL,

MAKTX LIKE MAKT-MAKTX,

WGBEZ LIKE T023T-WGBEZ,

LOEKZ LIKE <b>EKPO~LOEKZ</b>.

DATA : END OF ITAB_EKBE.

SELECT M1~EBELN

M1~EBELP

M1~VGABE

M1~GJAHR

M1~BELNR

M1~BWART

M1~BUDAT

M1~MENGE

M1~WRBTR

M1~WAERS

M1~MATNR

M1~WERKS

M2~MATKL

M3~BSART

M2~LOEKZ

INTO

(XEBELN,

XEBELP,

XVGABE,

XGJAHR,

XBELNR,

XBWART,

XBUDAT,

XMENGE,

XWRBTR,

XWAERS,

XMATNR,

XWERKS,

XMATKL,

XBSART,

XLOEKZ

)

FROM EKBE AS M1

LEFT OUTER JOIN EKKO AS M3

ON M1EBELN = M3EBELN

LEFT OUTER JOIN EKPO AS M2

ON M1EBELN = M2EBELN AND M1EBELP = M2EBELP

WHERE M1VGABE = '1' and <b>M2LOEKZ <> 'L'.</b>

CLEAR ITAB_EKBE.

IF XBSART = 'P1' OR XBSART = 'P2' OR XBSART = 'P3'.

MOVE XEBELN TO ITAB_EKBE-EBELN.

MOVE XEBELP TO ITAB_EKBE-EBELP.

MOVE XVGABE TO ITAB_EKBE-VGABE.

MOVE XGJAHR TO ITAB_EKBE-GJAHR.

MOVE XBELNR TO ITAB_EKBE-BELNR.

MOVE XBWART TO ITAB_EKBE-BWART.

MOVE XBUDAT TO ITAB_EKBE-BUDAT.

MOVE XMENGE TO ITAB_EKBE-MENGE.

MOVE XWRBTR TO ITAB_EKBE-WRBTR.

MOVE XWAERS TO ITAB_EKBE-WAERS.

MOVE XMATNR TO ITAB_EKBE-MATNR.

MOVE XWERKS TO ITAB_EKBE-WERKS.

MOVE XMATKL TO ITAB_EKBE-MATKL.

MOVE XLOEKS TO ITAB_EKBE-LOEKZ.

*GET WGBEZ

SELECT WGBEZ INTO ITAB_EKBE-WGBEZ

FROM T023T

WHERE SPRAS = 'EN' AND MATKL = XMATKL.

ENDSELECT.

*GET MAKTX

SELECT MAKTX INTO ITAB_EKBE-MAKTX

FROM MAKT

WHERE MATNR = XMATNR.

ENDSELECT.

APPEND ITAB_EKBE.

ENDIF.

CLEAR ITAB_EKBE.

ENDSELECT.

OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE.

IF SY-SUBRC NE 0.

WRITE: 'File cannot be opened. Reason:', MSG_TEXT.

EXIT.

ENDIF.

*TRANSFER DATA

LOOP AT ITAB_EKBE.

TRANSFER ITAB_EKBE TO P_FILE.

ENDLOOP.

*CLOSE THE FILE

CLOSE DATASET P_FILE. .