Skip to Content
0
Former Member
Jan 11, 2008 at 07:13 AM

Regarding : Nested select Statement

50 Views

Hi All ,

Could you please give me some idea how to remove this nested select , because this performance is not good. What would be logic for this code

DATA : BEGIN OF ITAB OCCURS 0,

QMNUM LIKE QMEL-QMNUM,

FENUM LIKE QMFE-FENUM,

MANUM LIKE QMSM-MANUM,

QMART LIKE QMEL-QMART,

MAWERK LIKE QMEL-MAWERK,

IDNLF LIKE QMEL-IDNLF,

DEVICEID LIKE QMEL-DEVICEID,

LICHN LIKE QMEL-LICHN,

KURZTEXT1 LIKE QPCT-KURZTEXT,

KURZTEXT2 LIKE QPCT-KURZTEXT,

VBELN LIKE QMEL-VBELN,

ERNAM LIKE QMEL-ERNAM,

QMTXT LIKE QMEL-QMTXT,

QMCOD LIKE QMEL-QMCOD,

OTEIL LIKE QMFE-OTEIL,

FECOD LIKE QMFE-FECOD,

FETXT LIKE QMFE-FETXT,

MNCOD LIKE QMSM-MNCOD,

PARNR LIKE IHPA-PARNR,

PARNR1 LIKE QMSM-PARNR,

MATXT LIKE QMSM-MATXT,

PSTER LIKE QMSM-PSTER,

INDTX1 LIKE QMEL-INDTX,

INDTX2 LIKE QMEL-INDTX,

INDTX3 LIKE QMEL-INDTX,

NAME1 LIKE ADRC-NAME1,

PETER LIKE QMSM-PETER.

DATA : END OF ITAB.

DATA : BEGIN OF LINE1 OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA : END OF LINE1.

DATA : BEGIN OF LINE2 OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA : END OF LINE2.

DATA : BEGIN OF LINE3 OCCURS 0.

INCLUDE STRUCTURE TLINE.

DATA : END OF LINE3.

DATA: W_ORDER(16) TYPE C,

W_KURZTEXT1 LIKE QPCT-KURZTEXT,

W_KURZTEXT2 LIKE QPCT-KURZTEXT,

W_LINE LIKE SY-TABIX,

W_NAME1 LIKE ADRC-NAME1

START-OF-SELECTION.

SELECT * FROM QMEL

WHERE QMNUM = S_QMNUM.

SELECT * FROM QMFE

WHERE QMNUM = QMEL-QMNUM

AND FENUM IN S_FENUM.

SELECT SINGLE * FROM IHPA

WHERE OBJNR = QMEL-OBJNR

AND PARVW = 'KU'.

SELECT SINGLE * FROM QPCT

WHERE CODEGRUPPE = QMFE-OTGRP

AND CODE = QMFE-OTEIL.

IF SY-SUBRC = 0.

W_KURZTEXT1 = QPCT-KURZTEXT.

ENDIF.

SELECT SINGLE * FROM QPCT

WHERE CODEGRUPPE = QMFE-FEGRP

AND CODE = QMFE-FECOD.

IF SY-SUBRC = 0.

W_KURZTEXT2 = QPCT-KURZTEXT.

ENDIF.

SELECT SINGLE * FROM ADRC

WHERE ADDRNUMBER = QMEL-ADRNR.

W_NAME1 = ADRC-NAME1.

SELECT * FROM QMSM

WHERE QMNUM = QMEL-QMNUM

AND MANUM IN S_MANUM.

ITAB-QMNUM = QMEL-QMNUM.

ITAB-FENUM = QMFE-FENUM.

ITAB-MANUM = QMSM-MANUM.

ITAB-QMART = QMEL-QMART.

ITAB-MAWERK = QMEL-MAWERK.

ITAB-IDNLF = QMEL-IDNLF.

ITAB-DEVICEID = QMEL-DEVICEID.

ITAB-LICHN = QMEL-LICHN.

ITAB-VBELN = QMEL-VBELN.

ITAB-ERNAM = QMEL-ERNAM.

ITAB-QMTXT = QMEL-QMTXT.

ITAB-QMCOD = QMEL-QMCOD.

ITAB-OTEIL = QMFE-OTEIL.

ITAB-FECOD = QMFE-FECOD.

ITAB-FETXT = QMFE-FETXT.

ITAB-MNCOD = QMSM-MNCOD.

ITAB-MATXT = QMSM-MATXT.

ITAB-PSTER = QMSM-PSTER.

ITAB-PETER = QMSM-PETER.

ITAB-INDTX1 = QMEL-INDTX.

ITAB-INDTX2 = QMFE-INDTX.

ITAB-INDTX3 = QMSM-INDTX.

ITAB-KURZTEXT1 = W_KURZTEXT1.

ITAB-KURZTEXT2 = W_KURZTEXT2.

ITAB-NAME1 = W_NAME1.

ITAB-PARNR = IHPA-PARNR.

ITAB-PARNR1 = QMSM-PARNR.

APPEND ITAB.

ENDSELECT.

ENDSELECT.

ENDSELECT.

Please help me on this. will be award for correct logic.

Thanks