MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Calcular Tamaño Tabla Interna en Bytes (foro/showthread.php?t=37783)

alterpeke 19/07/10 22:45:30

Calcular Tamaño Tabla Interna en Bytes
 
Gente,

Tengo que calcular el tamaño de una tabla interna y ya utilicé el DESCRIBE ... IN BYTE MODE y el método cl_abap_memory_utilities=>get_memory_size_of_object
El tema es que ninguno de los dos me coincide con los Bytes que finalmente tiene el archivo bajado al servidor con los datos de dicha tabla interna.

Sugerencias/correcciones/info/etc.

Será bienvenida.

Gracias.

Saludos.

javibest 21/07/10 10:54:41

Nunca lo he hecho, pero si no me equicovo , 1 caracter = 4 bytes.
Multiplicando el numero de caracteres de cada linea por el numero de lineas, no sale ??

Atlas 21/07/10 12:22:33

Pues tiene toda la pinta de que sea un problema de separadores y demas. Como ya sabrás al hacer el describe a la tabla interna, ésta no tiene indicadores de final de linea ni de fichero. Sin embargo cuando haces el download del fichero, si no le indicas lo contrario te genera esta serie de caracteres...

No lo tengo muy claro pero ponle que si cada caracter ocupa 4 bites como dice javibest, por cada linea habría que añadir ... ¿¿4?? ( no se cuanto ocupan estos marcadores ) y posiblemente al final del fichero otros 4... prueba distintos casos de lineas y tal para ver si puedes buscarle una lógica y ver si tiene algo que ver con esto...

ballan 21/07/10 13:53:37

Al generar el fichero le añadira unos datos de control que sera muy dificil de calcular, es mejor que busques la manera de leer el tamaño del fichero resultante

Para leer el tamaño de un fichero que depositas en el servidor se me ocurren dos maneras

Hacer un script de UNIX o una aplicacion en VB o algo parecido que lea el tamaño del fichero y de alguna manera le comunique a SAP el valor del tamaño del fichero (depositandolo el valor en un fichero, introduciendolo en una tabla de SAP, etc)

Transferirte el fichero a frontend por ftp y utilizar el metodo FILE_GET_SIZE de la clase CL_GUI_FRONTEND_SERVICES

alterpeke 21/07/10 16:13:34

Muchas gracias por sus respuestas!!

Con respecto al cálculo, en todos los caso obtengo un número aproximadamente el doble de lo que ocupará el archivo resultado.
Por ejemplo el cálculo a través de los DESCRIBE... IN BYTE MODE me da 12kb entonces el archivo sale con un tamaño de 6 kb (aproximadamente).

Con respecto a los registros de control, fin de línea y de archivo, serán mi desvío y esto es lo que tendré que tomar como "margen de error" ya que como bien dicen ustedes, es casi imposible calcularlos.

Por otro lado tampoco puedo tomar el tamaño del archivo resultado, por la funcionalidad misma del objeto que estoy programando: Necesito el estimativo del tamaño del archivo para ver si este se baja al servidor o se hace otra cosa...

Haré un par de casos mas con este cálculo que dije al principio y cualquier sugerencia será bienvenida.

Saludos.


Husos Horarios son GMT. La hora en este momento es 12:04:35.

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