03-07-2009 4:59 AM
I am developing list report and in that i have to use approximately 8-9 inner joins and according to SAP we can use only 2-3 joins so is there any alternative of fetching data from multiple table without effecting performance, i am listing my query below for proper understanding of the situation.
SELECT vbrk~vbeln vbrk~kunag vbrk~vtweg vbrk~vkorg
vbrp~fkimg vbrp~matnr vbrp~werks vbrp~vkbur
j_1iexchdr~exnum j_1iexchdr~exdat
kna1~stceg kna1~name1 kna1~regio
t005u~bezei
adrc~street adrc~str_suppl1 adrc~str_suppl2
t023t~wgbez
likp~traid
zmm_deliv_badi~lr_number zmm_deliv_badi~lr_date zmm_deliv_badi~manual_no
zmm_deliv_badi~curr_num zmm_deliv_badi~manual_no1 zmm_deliv_badi~curr_num1
mara~spart
FROM vbrk INNER JOIN vbrp ON vbrp~vbeln = vbrk~vbeln
INNER JOIN j_1iexchdr ON j_1iexchdr~rdoc = vbrk~vbeln
INNER JOIN kna1 ON kna1~kunnr = vbrk~kunag
INNER JOIN t005u ON t005u~bland = kna1~regio
AND t005u~spras = 'EN'
AND t005u~land1 = 'IN'
INNER JOIN adrc ON adrc~addrnumber = kna1~adrnr
INNER JOIN t023t ON t023t~matkl = vbrp~matkl
INNER JOIN likp ON likp~vbeln = vbrp~vgbel
INNER JOIN zmm_deliv_badi ON zmm_deliv_badi~vbeln = vbrp~vgbel
INNER JOIN mara ON mara~matnr = vbrp~matnr
INTO CORRESPONDING FIELDS OF TABLE lit_st
WHERE vbrk~vtweg IN ('03','04','06')
AND vbrk~fkdat IN so_date
AND vbrp~werks IN p_werks
AND j_1iexchdr~status = 'C'
AND vbrk~vkorg IN p_vkorg
AND vbrk~kunag NOT IN ('0000001130','0000001150','0000001220','0000001240').
What is the other alternative of apart from using joins , making views is not the solution as it will increase database objects and it is also not recommended and ranges and for all entries in will also decrease performance and for that we have to make lots of temporary objects
So , please advice.
Thanks .
Ankesh Jindal
03-07-2009 5:08 AM
>
> What is the other alternative of apart from using joins , making views is not the solution as it will increase database objects and it is also not recommended and ranges and for all entries in will also decrease performance and for that we have to make lots of temporary objects
If you are saying neither Views nor for all entries nor Joins would work with aspect of performance, than I'm Sorry to say that we have no option left now.
BTW you are misleading with your assumption for join. You can use Join in this case.
Cheers,
Amit.
03-07-2009 5:08 AM
>
> What is the other alternative of apart from using joins , making views is not the solution as it will increase database objects and it is also not recommended and ranges and for all entries in will also decrease performance and for that we have to make lots of temporary objects
If you are saying neither Views nor for all entries nor Joins would work with aspect of performance, than I'm Sorry to say that we have no option left now.
BTW you are misleading with your assumption for join. You can use Join in this case.
Cheers,
Amit.