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

Re:urgent

Former Member
0 Likes
480

Hi,

my prg is taking long time to execute, can anyone tell me how can i change my code or to measuer where it is time taking

FORM GET_DATA.

IF NOT P_UNAME IS INITIAL.

SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE USER_ROLE

WHERE BNAME IN P_UNAME.

ELSE.

SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE USER_ROLE.

ENDIF.

LOOP AT USER_ROLE.

MOVE-CORRESPONDING USER_ROLE TO US_ROLES.

SELECT * FROM AGR_USERS WHERE UNAME = USER_ROLE-BNAME.

IF SY-SUBRC = 0.

MOVE AGR_USERS-AGR_NAME TO US_ROLES-AGR_NAME.

APPEND US_ROLES.

ENDIF.

ENDSELECT.

IF SY-SUBRC NE 0.

APPEND US_ROLES.

ENDIF.

CLEAR US_ROLES.

ENDLOOP.

DELETE US_ROLES WHERE BNAME = ' '.

LOOP AT US_ROLES.

SELECT SINGLE * FROM USR21 WHERE BNAME = US_ROLES-BNAME.

IF SY-SUBRC = 0.

US_ROLES-KOSTL = USR21-KOSTL.

ENDIF.

IF SY-SUBRC = 0.

SELECT SINGLE * FROM ADCP WHERE PERSNUMBER = USR21-PERSNUMBER.

IF SY-SUBRC = 0.

US_ROLES-FUNCTION = ADCP-FUNCTION.

US_ROLES-DEPARTMENT = ADCP-DEPARTMENT.

ENDIF.

ENDIF.

SELECT SINGLE * FROM AGR_TEXTS WHERE AGR_NAME = US_ROLES-AGR_NAME

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

US_ROLES-TEXT = AGR_TEXTS-TEXT.

ENDIF.

MODIFY US_ROLES.

CLEAR US_ROLES.

ENDLOOP.

Hi,

my prg is taking long time to execute, can anyone tell me how can i change my code or to measuer where it is time taking

FORM GET_DATA.

IF NOT P_UNAME IS INITIAL.

SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE USER_ROLE

WHERE BNAME IN P_UNAME.

ELSE.

SELECT * FROM USR02 INTO CORRESPONDING FIELDS OF TABLE USER_ROLE.

ENDIF.

LOOP AT USER_ROLE.

MOVE-CORRESPONDING USER_ROLE TO US_ROLES.

SELECT * FROM AGR_USERS WHERE UNAME = USER_ROLE-BNAME.

IF SY-SUBRC = 0.

MOVE AGR_USERS-AGR_NAME TO US_ROLES-AGR_NAME.

APPEND US_ROLES.

ENDIF.

ENDSELECT.

IF SY-SUBRC NE 0.

APPEND US_ROLES.

ENDIF.

CLEAR US_ROLES.

ENDLOOP.

DELETE US_ROLES WHERE BNAME = ' '.

LOOP AT US_ROLES.

SELECT SINGLE * FROM USR21 WHERE BNAME = US_ROLES-BNAME.

IF SY-SUBRC = 0.

US_ROLES-KOSTL = USR21-KOSTL.

ENDIF.

IF SY-SUBRC = 0.

SELECT SINGLE * FROM ADCP WHERE PERSNUMBER = USR21-PERSNUMBER.

IF SY-SUBRC = 0.

US_ROLES-FUNCTION = ADCP-FUNCTION.

US_ROLES-DEPARTMENT = ADCP-DEPARTMENT.

ENDIF.

ENDIF.

SELECT SINGLE * FROM AGR_TEXTS WHERE AGR_NAME = US_ROLES-AGR_NAME

AND SPRAS = 'E'.

IF SY-SUBRC = 0.

US_ROLES-TEXT = AGR_TEXTS-TEXT.

ENDIF.

MODIFY US_ROLES.

CLEAR US_ROLES.

ENDLOOP.

2 REPLIES 2
Read only

Former Member
0 Likes
448

hi,

try putting COMMIT WORK after every select statement...

Read only

Former Member
0 Likes
448

try for sql trace t-code -st05.there u can analyze the sql statements and u'll come to know which statement is taking long time.

steps:

goto st05

trace on and com eto se38 execute the program then trace off.and then analyze.