Hi experts,
This is a chalenging one.
can you help any one.
i need to increse the performance of this code.
it is taking half time of my report.
is there any beter code for this.
DATA: itab TYPE STANDARD TABLE OF db table1
WITH HEADER LINE.
DATA: BEGIN OF itab1 OCCURS 0,
field1 LIKE itab-field1,
field2 LIKE itab-field2,
field3 LIKE itab-field3,
field4 LIKE itab2-field1,
END OF itab1.
DATA: table_idx TYPE i.
DATA: itab2 TYPE STANDARD TABLE OF db table2
WITH HEADER LINE.
DATA: itab3 TYPE STANDARD TABLE OF db table3
WITH HEADER LINE.
DATA: BEGIN OF itab4 OCCURS 0,
field1 LIKE itab3-field1,
field2 LIKE itab3-field2,
END OF itab1.
DATA: itab5 TYPE STANDARD TABLE OF db table4 WITH HEADER LINE.
TYPES: BEGIN OF TA_TYPE OCCURS 0,
field1 LIKE itab-field1,
field2 LIKE itab-field2,
field3 LIKE itab5-field3,
END OF TA_TYPE.
DATA: it_type TYPE HASHED TABLE OF TA_TYPE WITH UNIQUE KEY
field1 field2 field3
WITH HEADER LINE.
TYPES: BEGIN OF TY_output OCCURS 0,
field1 LIKE (db table2)-field1,
bname LIKE usr02-bname,
objct LIKE ust10s-objct,
field4 LIKE itab3-field4,
END OF TY_output .
DATA: OUTPUT_TBLE TYPE HASHED TABLE OF TA_TYPE WITH UNIQUE KEY
field1 bname
WITH HEADER LINE.
perform if_specified.
FORM if_specified.
DATA: i_idx TYPE i,
wa_OUTPUT_TBLE TYPE TY_output.
READ TABLE itab1 WITH KEY field1 = itab2-field1
field2 = itab2-field2
BINARY SEARCH
TRANSPORTING NO FIELDS.
table_idx = sy-tabix.
LOOP AT itab1 FROM table_idx
WHERE field1 = itab2-field1 AND
field2 = itab2-field2.
table_idx = sy-tabix.
READ TABLE itab4 WITH KEY field2 = itab2-field2
BINARY SEARCH
TRANSPORTING NO FIELDS.
i_idx = sy-tabix.
LOOP AT itab4 FROM i_idx .
WHERE field2 = itab2-field2.
i_idx = sy-tabix.
READ TABLE it_type WITH TABLE KEY field3 = itab1-field3
field3 = itab1-field4
field3 = itab4-field2.
CHECK sy-subrc = 0.
wa_OUTPUT_TBLE-field1 = itab2-field1.
wa_OUTPUT_TBLE-bname = itab4-field2.
wa_OUTPUT_TBLE-field4 = itab2-field2.
wa_OUTPUT_TBLE-objct = itab1-field3.
INSERT wa_OUTPUT_TBLE INTO TABLE OUTPUT_TBLE.
ENDLOOP.
ENDLOOP.
ENDFORM. " if_specified
Edited by: sailu k on Mar 19, 2009 1:50 PM