MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Problema con report en fondo (foro/showthread.php?t=9254)

delmarulo 21/11/07 13:47:14

Problema con report en fondo
 
Hola a todos: tengo problemas con los datos que se "ven" en un reporte si es ejecutado en diálogo o en proceso de fondo. Es decir, la orden de spool difiere del listado que se genera en diálogo.
Por ejemplo una de las columnas que es tipo de dato char no sale impresa correctamente, me muestra hasta 8 caractéres cuando realmente tiene 10. :( Por lo tanto, el dato sale truncado.
Si por otro lado vemos el resultado en modo de diálogo, se ajusta perfectamente la columna. Me pasa con varios reports que en fondo cambia el resultado. Esto es algo "normal" en SAP? o me estoy perdiendo de agregar algo al cádigo o cambiar alguna parametrización? Gracias y slds.

robert_milan 21/11/07 13:50:21

puede ser que este mal parametrizado el ALV.

delmarulo 21/11/07 13:58:25


Gracias por la respuesta, pero no entiendo mucho sobre eso, podrías explicarme un poco más? gracias y slds

robert_milan 21/11/07 14:00:43

Mira, si tienes el codigo y lo pones podria decirte mas especificamente tu problema

delmarulo 21/11/07 14:22:00


Te puede ayudar esto?

*&---------------------------------------------------------------------*
*& Form seteo_layout
*&---------------------------------------------------------------------*
FORM seteo_layout.

e_layout-window_titlebar = 'Informe de movimientos de Mayor'.
e_layout-reprep = ' '. "
e_layout-zebra = ' '. " Rayado de lineas
e_layout-no_min_linesize = 'X'.
e_layout-no_vline = ' '. " Rayado de lineas.
e_layout-f2code = 'DCLICK'.
e_layout-detail_popup = 'X'. " Linea seleccionada en ventapar
e_layout-colwidth_optimize = 'X'.
* e_layout-box_fieldname = 'FLAG'.
e_layout-detail_initial_lines = 'X'.
e_layout-min_linesize = c_max_line. " Mín long de lin de sal
e_layout-max_linesize = c_max_line. " Máx long de lin de sal
e_layout-no_totalline = 'X'.
e_layout-subtotals_text = ' '.

ENDFORM. "seteo_layout

slds

robert_milan 21/11/07 14:29:14

No mira, cuando creas el fieldcat, o el catalogo de campos tu pasas o especificar en el ALV si quiere o no tomar como referencia un campo estandar o bien cuando en un parametro introduces el atributo shorttext este campo es de 8 caracteres si no lo pones o lo pones mal es el resultado que te da.

FIELDCAT_LN-seltext_s = 'Cuenta Mayor'. "Short column heading
FIELDCAT_LN-seltext_m = 'Cuenta Mayor'. "Medium column heading
FIELDCAT_LN-seltext_l = 'Cuenta Mayor'. "Long column heading

Por ejemplo cuando quiero usar un campo llamado cuenta mayor, tengo que poner estos tres textos para que siempre tome el mayor. y asi lo imprima correctamente.

Otra forma es, por ejemplo que lo referencies a un dato estandar

FIELDCAT_LN-ref_FIELDNAME = 'VBELN'.

aqui le digo que el campo que se llama factura, quiero que tome las propiedades del campo estandar VBELN, con esto toma todas sus propiedades tanto nombre, tamaño, etc.

Espero ser claro y te sirva.

delmarulo 21/11/07 14:59:05


ok, gracias robert_milan voy a ver si con tu ayuda puedo resolverlo. Slds. :)

delmarulo 21/11/07 15:23:25

en mi código tengo esto en el fieldcat

*&---------------------------------------------------------------------*
*& Form campos_fieldcat
*&---------------------------------------------------------------------*
FORM campos_fieldcat TABLES pt_fieldcat
USING d_fieldname d_tabname d_seltext_l
d_ddictxt d_key d_row_pos
d_fix_column d_outputlen d_checkbox
d_no_out d_sum
d_zero.
DATA:
fieldcat TYPE slis_fieldcat_alv.

CLEAR fieldcat.
fieldcat-fieldname = d_fieldname.
fieldcat-tabname = d_tabname.
fieldcat-seltext_l = d_seltext_l.
fieldcat-ddictxt = d_ddictxt.
fieldcat-key = d_key.
fieldcat-row_pos = d_row_pos.
fieldcat-fix_column = d_fix_column.
IF NOT d_outputlen IS INITIAL.
fieldcat-outputlen = d_outputlen.
ENDIF.
fieldcat-checkbox = d_checkbox.
fieldcat-no_out = d_no_out.
fieldcat-do_sum = d_sum.
fieldcat-no_zero = d_zero.
APPEND fieldcat TO pt_fieldcat.


ENDFORM. " campos_fieldcat

No es como lo que me pasaste. Mirá la verdad es que estoy tratando de modificar un reporte que no hice yo y además no entiendo mucho el manejo del alv. te agradecería si me podés dar una mano. Gracias y slds. :rolleyes:

robert_milan 21/11/07 15:34:58

.mmm amigo, se ve que la funcion es dinamica asi que necesitaria el codigo completo para verlo. si me lo envias a

delmarulo 21/11/07 16:17:13


Por ahora gracias a lo que me dijiste pude resolverlo así:

Agrandé el ancho de la columna que necesitaba en la que se truncaba el texto, era un campo con nro de cuenta contable. Es decir si la cta se pasaba de más de 8 digitos lo cortaba, ahora bien, le agreguá caracteres '---' a el titulo de la columna entonces me agranda el ancho de la misma y llega a entrar el nro completo. Es una solución horrible pero para lo que uso el reporte me sirve. Por otro lado, me quedan 2 dudas, como hacerlo "bien" (o almenos como poder agregarle al titulo de columna 3 espacios en blanco en vez de '---') y porqué en proceso de fondo me trunca el nro de cta y poné '...' (puntos suspensivos) dando la idea de que sigue el nro. Slds.


Husos Horarios son GMT. La hora en este momento es 18:03:17.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web