cdprasad,
When you are MODIFYing a partioned data file, you have to explicitly allocate the file that you want to update.
So to MODIFY TEMP_PART1:
USE
TEMP_PART1.FOC AS TEMP_PART
END
MODIFY FILE TEMP_PART
.
.
The acx file is used ONLY during reporting.
Performance of any data file requires a proper analysis of the data and how it is being used. The hierarchical structure of FOCUS can produce very fast response times if designed correctly. However using an ON TABLE HOLD AS xxx FORMAT XFOCUS will not produce, unless you are very lucky, a performant data structure. This HOLD type is really for very temporary, small, structures where a simple HOLD won't give you the result you need.
You should design the data structure that best suits your reporting needs, and load with MODIFY, otherwise you will not get any great performance from your data file.
Do not over do indices, they can be useful, but not always, particularly not on key fields of a good structure.
IB used to give a DB design course, which was very helpful in understanding how data is retrieved and how to get great performance. I think it was a 2 or 3 day course, so not a subject that can be covered in anything other than basics here.
Alan.
WF 7.705/8.007