The important problem am facing with the source stages in datastage is we cannot put a stage or group of stage to be executed on a conditional basis. This is provided in open source ETL tools like talend but datastage lacks this feature. For example if i want to extarct a field from database iff one of the input parameter has some specific value. Bus this cannot be done as by default the datastage connects and gets the data for the oracle stage when the job starts. So we can ignore the value if not required but we cannot avoid the fetching of data from oracle. But unnecessarily this is increasing the execution time. The workaround is to achieve this through sequence but it is really a long way.