Skip to Content
0
Former Member
Oct 10, 2007 at 12:42 PM

DSO secondary Index

55 Views

Hi

Having read a number of articles/documents, including;

http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eb2d446011d189700000e8322d00/content.htm

I have a couple of questions about the creation and use of Secondary DSO Indexes.

Take the following example update routines (from a source DSO to a Target DSO):

First Char. Update Routine:

SELECT COUNT(*) FROM /BIC/AZSDDHDUK00 INTO l_num
WHERE DOC_NUM = COMM_STRUCTURE-DOC_NUM AND ACT_GI_DTE EQ '         '.

Second Char. Update Routine:

SELECT COUNT(*) FROM /BIC/AZSDDHDUK00 INTO l_num
WHERE DOC_NUM = COMM_STRUCTURE-DOC_NUM AND /BIC/ZPOD_STS NE 'C'.

Third Char. Update Routine:

SELECT MAX( /BIC/ZCPODCGL ) FROM /BIC/AZSDDHDUK00 INTO l_date
WHERE DOC_NUM = COMM_STRUCTURE-DOC_NUM.

1) Should I create three Indexes on the Source DSO;

010: 0DOC_NUM

020: 0DOC_NUM & 0ACT_GI_DTE

030: 0DOC_NUM & ZPOD_STS

Or (as the above document link leads me to believe) do I only need to create Indexes 020 and 030, because the third example update routine above will use Index 020 as it has 0DOC_NUM first.

2) Is it necessary to 'load' this secondary index after the DSO that I have created the indexes on is loaded? I had understood that it was not, however I have been told that I will need to. Alternatively, is there a benefit in deleting the index before each Delta into the DSO and recreating the index afterwards.

Thanks in advance,

Regards,

Tom