Holass....
Te dejo un ejemplo para autocompletar el item que estes digitando en un campo tipo DDDW.
//Primero creas un evento en el DW. Ejemplo: ue_text_find
//Luego colocas esto en el evento EditChange del DW
accepttext( )
if not row > 0 then return
choose case getcolumnname()
case 'campo_dddw'
postevent('ue_text_find')
end choose
//Esto colocas en el nuevo evento que creaste ( ue_text_find )
datawindowchild dwc_campo
long ll_find
integer li_inicio, li_fin
string ls_desc, ls_cod
ls_desc = gettext()
getchild('campo_dddw',dwc_campo)
dwc_campo.settransobject(sqlca)
ll_find = dwc_campo.find( "upper(campo_display_column) like '" + upper(ls_desc) + "%' ",1,dwc_campo.rowcount( ))
if ll_find > 0 then
li_inicio = len(ls_desc) + 1
ls_cod = dwc_campo.getitemstring(ll_find,'campo_data_column')
ls_desc = dwc_campo.getitemstring(ll_find,'campo_display_column')
li_fin = len(ls_desc)
setitem(getrow(),'campo_dddw',ls_cod)
selecttext(li_inicio,li_fin)
end if
//Fin
campo_dddw : es el nombre del campo que es de tipo DDDW (Donde harás la búsqueda)
campo_data_column : es el nombre del campo que definiste como Data Column en las propiedades (Edit)
campo_display_column : es el nombre del campo que definiste como Display Column en las propiedades (Edit)
Esto sería todo. No te olvides que no deberás tener código en el evento ItemChanged para este campo, en todo caso si lo necesitas ponlo en el nuevo evento.
Espero que te haya servido de ayuda... Cualquier duda nos comentas.
Suerte !