Hola Raymond,
gracias por la idea. He probado lo siguiente
DATA lo_wb TYPE REF TO cl_wb_request. CALL METHOD cl_wb_request=>create_from_encl_name EXPORTING p_object_type = 'YY' p_encl_object_name = '' p_object_name = 'YMABITEST' p_operation = 'DISPLAY' p_in_new_window = '' RECEIVING p_wb_request = lo_wb EXCEPTIONS illegal_object_type = 1 illegal_operation = 2 cancelled = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. CALL FUNCTION 'WB_NEW_WORKBENCH_START' EXPORTING p_object_type = 'YY' p_object_name = 'YMABITEST' p_wb_tool_request = lo_wb.
Funciona más o menos, pero no al 100%. La buena noticia es que cosas como el "botón ATRÁS" funcionan y no se bloquea al hacer clic en algunas cosas. Mucho mejor en este sentido. Pero inicia SE80 con el panel izquierdo activado. Si es posible, preferiría ver el panel derecho con el contenido real solamente. Eso es lo que veo para el objeto WDCA, por ejemplo. ¿Sabes cómo desactivar el "sobre de SE80"? Me gustaría que mi interfaz de usuario sea consistente y este problema con WDYA hace que sea obvio que hay un problema.
También probé tu primera sugerencia, pero no tiene mucho sentido para mí. No entiendo qué hacer. El módulo de función devolvió algunos datos (lo que en mi opinión prueba que el objeto existe y está bien). Cuando cambié los datos para que fueran incorrectos (prueba negativa), no devolvió nada. Pero no sé cómo usar eso para navegar hasta el editor. ¿Alguna otra pista aquí, por favor?
También estaba considerando abrir un mensaje OSS, porque no entiendo cuál es la diferencia entre WDCA y WDYA para que no puedan ser compatibles al mismo tiempo y consistentemente por TR_OBJECT_JUMP_TO_TOOL. Suspiro.
De todos modos, gracias por el tiempo y el esfuerzo, muy apreciado.
Saludos, Otto