on 11-06-2007 3:02 PM
hi,
i need help in performance because this program is runtime is to much:
Regards
SELECT vbrk~vbeln vbrk~vbtyp vbrk~fkdat vbrk~netwr vbrk~waerk vbrp~kvgr3 tvv3t~bezei dd07v~ddtext
FROM ( ( ( vbrk
INNER JOIN vbrp ON vbrp~vbeln EQ vbrk~vbeln
AND vbrp~posnr EQ '00010'
AND vbrp~ps_psp_pnr EQ l_project )
LEFT OUTER JOIN
tvv3t ON tvv3t~kvgr3 EQ vbrp~kvgr3
AND tvv3t~spras EQ sy-langu )
LEFT OUTER JOIN
dd07v ON dd07v~domname EQ 'VBTYP'
AND dd07v~ddlanguage EQ sy-langu
AND dd07v~domvalue_l EQ vbrk~vbtyp )
INTO TABLE sdprojectinvoice
WHERE vbrk~rfbsk EQ 'C'
AND vbrk~fksto EQ ''
AND vbrk~sfakn EQ ''.
Hi,
Sorry ... please try this.
TABLES: VBRK, VBRP, TVV3T, DD07V.
SELECT vbrk~vbeln vbrk~vbtyp vbrk~fkdat vbrk~netwr vbrk~waerk vbrp~kvgr3
FROM vbrk
INNER JOIN vbrp ON vbrp~vbeln EQ vbrk~vbeln
AND vbrp~posnr EQ '00010'
AND vbrp~ps_psp_pnr EQ l_project
INTO TABLE sdprojectinvoice
WHERE vbrk~rfbsk EQ 'C'
AND vbrk~fksto EQ ' '
AND vbrk~sfakn EQ ' '.
LOOP AT sdprojectinvoice.
SELECT SINGLE bezei
INTO tvv3t-bezei
FROM tvv3t
WHERE kvgr3 EQ sdprojectinvoice-kvgr3
AND spras EQ sy-langu.
IF sy-subrc = 0.
sdprojectinvoice-bezei = tvv3t-bezei.
ENDIF.
SELECT SINGLE ddtext
INTO dd07v-ddtext
FROM dd07v
WHERE domname EQ 'VBTYP'
AND ddlanguage EQ sy-langu
AND domvalue_l EQ sdprojectinvoice-vbtyp.
IF sy-subrc = 0.
sdprojectinvoice-ddtext = dd07v-ddtext.
ENDIF.
MODIFY sdprojectinvoice.
ENDLOOP.
Regards,
Ferry Lianto
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi ferry
thanks your suggstion improve the performance but i think to improve the performance more the best that i declare table and do a background job that run at night and select the data from one table(this is fm for the portal) , but for that i need to select for all project maybe you can give me idea how to do that ?
Regards
This is a duplicate post. Please see my answer in the other one.
Rob
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Do you have all the key fields information of VBRK?
It will help to speed up the reading VBRK and VBRP.
If you don't, please try this.
SELECT vbrk~vbeln vbrk~vbtyp vbrk~fkdat vbrk~netwr vbrk~waerk vbrp~kvgr3
FROM vbrk
INNER JOIN vbrp ON vbrp~vbeln EQ vbrk~vbeln
AND vbrp~posnr EQ '00010'
AND vbrp~ps_psp_pnr EQ l_project
INTO TABLE sdprojectinvoice
WHERE vbrk~rfbsk EQ 'C'
AND vbrk~fksto EQ ' '
AND vbrk~sfakn EQ ' '.
LOOP AT sdprojectinvoice.
SELECT SINGLE *
FROM tvv3t
WHERE kvgr3 EQ sdprojectinvoice-kvgr3
AND spras EQ sy-langu.
IF SY-SUBRC = 0.
sdprojectinvoice-bezei = tvv3t-bezei.
ENDIF.
SELECT SINGLE *
FROM dd07v
WHERE domname EQ 'VBTYP'
AND ddlanguage EQ sy-langu
AND domvalue_l EQ sdprojectinvoice-vbtyp.
IF SY-SUBRC = 0.
sdprojectinvoice-ddtext = dd07v-ddtext.
ENDIF.
MODIFY sdprojectinvoice.
ENDLOOP.
Regards,
Ferry Lianto
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi Ferry
thanks for your replay
i try your code and i have some erorr maybe u can help.
SELECT vbrk~vbeln vbrk~vbtyp vbrk~fkdat vbrk~netwr vbrk~waerk vbrp~kvgr3
FROM vbrk INNER JOIN vbrp ON vbrp~vbeln EQ vbrk~vbeln
AND vbrp~posnr EQ '00010'
AND vbrp~ps_psp_pnr EQ l_project
INTO TABLE sdprojectinvoice
WHERE vbrk~rfbsk EQ 'C'
AND vbrk~fksto EQ ' '
AND vbrk~sfakn EQ ' '.
LOOP AT sdprojectinvoice.
SELECT SINGLE * "here i have the erorr
FROM tvv3t
WHERE kvgr3 EQ sdprojectinvoice-kvgr3
AND spras EQ sy-langu.
IF sy-subrc = 0.
sdprojectinvoice-bezei = tvv3t-bezei.
ENDIF.
SELECT SINGLE * "here i have the erorr
FROM dd07v
WHERE domname EQ 'VBTYP'
AND ddlanguage EQ sy-langu
AND domvalue_l EQ sdprojectinvoice-vbtyp.
IF sy-subrc = 0.
sdprojectinvoice-ddtext = dd07v-ddtext.
ENDIF.
MODIFY sdprojectinvoice.
ENDLOOP.
Regards
One suggestion:
Separate the DD07V query.
SELECT vbrk~vbeln vbrk~vbtyp vbrk~fkdat vbrk~netwr vbrk~waerk vbrp~kvgr3 tvv3t~bezei FROM ( ( ( vbrk
INNER JOIN vbrp ON vbrp~vbeln EQ vbrk~vbeln
AND vbrp~posnr EQ '00010'
AND vbrp~ps_psp_pnr EQ l_project )
LEFT OUTER JOIN
tvv3t ON tvv3t~kvgr3 EQ vbrp~kvgr3
AND tvv3t~spras EQ sy-langu )
INTO TABLE sdprojectinvoice
WHERE vbrk~rfbsk EQ 'C'
AND vbrk~fksto EQ ''
AND vbrk~sfakn EQ ''.
<b>select domvalue_l dd07v~ddtext
from dd07v
into t_dd07v
where domname EQ 'VBTYP'
AND ddlanguage EQ sy-langu.
loop at t_dd07v.
sdprojectinvoice-ddtext = t_dd07v-ddtext
modify sdprojectinvoice transporting ddtext
where vbtyp = t_dd07v-domvalue_l.
endloop</b>.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
98 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.