Buenos días Gente.
Les paso a comunicar que he tenido el mismo problema. Ejecutando el BI en modo visible, funcionaba correctamente, pero, al pasarlo a modo N, no andaba. Revisando el código no veía nada raro, lo ejecutaba en modo A y me tiraba Warnings que NO me cortaban el proceso. Busque en internet y hasta encontré notas. Mi problema(no implica que haya sido el mismo que hayan tenido ustedes) es que al momento de pasarle el valor a la dynpro SAPMF05A 0300, me arrojaba un mensaje de warning de que el campo BSEG-WRBTR que le estoy pasando al campo de dynpro BSEG-WRBTR era de mayor longitud. En modo A al darle enter pasaba, en modo N no me dejaba seguir.
Yo tengo esta rutina
PERFORM bdc_field USING 'BSEG-WRBTR' gs_bseg-wrbtr.
FORM bdc_field
USING fnam
fval.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDFORM. "bdc_field
Dentro de la rutina, si el valor del campo BSEG-WRBTR era 21,74 lo pasaba de la siguiente manera.
__________________________________________________________________________________________21.74
Alineaba el importe a la derecha, ocupando la totalidad de los 132 caracteres.
Lo solucione realizando lo siguiente:
WRITE gs_bseg_bi-wrbtr
TO lv_wrbtr
CURRENCY p_ls_salida_bi-waers.
CONDENSE lv_wrbtr.
REPLACE ALL OCCURRENCES OF '.'
IN lv_wrbtr
WITH ','.
PERFORM bdc_field USING 'BSEG-WRBTR' lv_wrbtr.
Asi que una de las cosas a revisar cuando ocurra algo asi son LOS IMPORTES!!!! Estuve renegando bastante, pero salió.
Espero que a alguno le sirva en el futuro. Saludos!