Buen dia, lo que debes ahcer es algo asi: el prime DDDW esta ok pero al segundo le debes pasar el parametro del primero, entones para eso yo lo hago de la sigueinte forma:
declaro una funcion : y le envio 4 parametros
of_rcpra_dtos_dddw_param (nombre dw dond esta el DDW,"nombre de la columan donde esta el DDDW",objeto de transacion,constante 0)
la funcion tiene el sgten codigo:
///////////////////////////////////////////////////////////////////////
//
// Function : of_rcpra_dtos_dddw
//
// Purpose : Simplifica el proceso de recuperar datos en un dddw para
// ser utilizados en un datawindow
//
// Argumentos : dw : datawindow control; Datawindow que sera afectado
// column : string ; Columna que contiene el dddw
// tr_object : transaction; Transaction object a ser usado
// long: con el argumento de recuperacion
// Retorna : boolean indicando si la operacion fallo
//
////////////////////////////////////////////////////////////////////////////
datawindowchild child_dddw
int li_rspsta
// Si no hay una columna dddw retorna false
li_rspsta = dw.GetChild(column,child_dddw)
if li_rspsta = -1 then return false
// Si no existe el transaction object retura false
li_rspsta = child_dddw.setTransObject(tr_object)
if li_rspsta = -1 then return false
// Si no encuentra registro o ocurre un error retura false
li_rspsta = child_dddw.Retrieve(as_prmtro)
if li_rspsta <=0 then return false
return true
// got here ok so return true
espero te ayude y me comentas en todo caso.
Ricardo Muñoz.