It works; finally! Thank-you for your help. The problem in the past appears to have been that after I modified the report DW SQL, I would perform a second retrieve of the whole composite DW in hopes of seeing the associated modified report DW. The data would never appear in the report. The following code performs a second retrieve, but this time it's a DataWindowChild retrieve and the data now appears. I'm not sure why the former does not work, but at this point I'll take it and move on. Here's the script:
**********************
Window Open event script
string ls_datawindow_object,ls_tag_sql_select
//Declare local structure & variables and extract it
s_pass_datasheet_preview lstr_datasheet_preview
//Get structure object passed from window w_datasheet_build
lstr_datasheet_preview = Message.PowerObjectParm
//Extract specification & datasheet no. from structure
is_specification = lstr_datasheet_preview.s_specification
il_datasheet = lstr_datasheet_preview.i_datasheet
//Modify sql for tags of composite dw
dw_datasheet_cmp.dataobject = ls_datawindow_object
//Retrieve so that report object dw_2 exists in dw to revise its sql
dw_datasheet_cmp.settransobject(sqlca)
dw_datasheet_cmp.retrieve(is_specification,il_datasheet)
//Declare varaible for datawindow child
Datawindowchild dw_child
dw_datasheet_cmp.GetChild('dw_2', dw_child)
ls_tag_sql_select = dw_child.describe
'DataWindow.Table.Select')
//ls_tag_sql_select = dw_datasheet_cmp.object.dw_2.object.DataWindow.Table.Select
integer li_pos1, li_pos2
//Find position of FROM
li_pos1 = pos(ls_tag_sql_select, "FROM "
//Find position of WHERE
li_pos2 = pos(ls_tag_sql_select, "WHERE "
//Revise sql with table name change
ls_tag_sql_select = mid(ls_tag_sql_select, 1, li_pos1 - 1) + " FROM tbl_instrument_list, " + is_tag_table + " tbl_ds " + mid(ls_tag_sql_select, li_pos2)
//Revise sql in report datawindow
dw_child.modify('DataWindow.Table.Select ="'+ ls_tag_sql_select +'"')
//Verify sql was revised in report datawindow - for debug only
ls_tag_sql_select = dw_child.describe('DataWindow.Table.Select')
//Retrieve report
dw_child.settransObject(sqlca)
dw_child.retrieve(is_specification, il_datasheet)