• Viernes 3 de Mayo de 2024, 05:53

Autor Tema:  Bajar Imagenes  (Leído 8088 veces)

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Bajar Imagenes
« en: Viernes 13 de Octubre de 2006, 21:17 »
0
Bueno pues ya logre subir las imagenes tal y como se hace en la SE78, pero ahora tengo un problema como hago para que una imagen que se subio por ese medio ahora sea guardada en la PC...

Lo que pasa es que tengo que mandar esa imagen a un Punto de Venta No SAP...

Y no tengo ni idea de como hacerle para sacar los bytes de la imagen y que el punto de venta en punto net la reconstruya.

Ami se me ocurre lo siguiente:
1.-Sacar la Imagen en SAP.
2.-Guardarla en una carpeta compartida.
3.-Que el Punto de Venta pase a tomar la foto y posterior a eso la borre.

Pero pues no se como hacerle para bajar la imagen de sap a un PC.

La otra seria sacar los bytes tal y cmoo se hace en MS SQL Server 2000, aqui es facil solo hago un select al campo donde esta la imagen y lo demas es cosa de codificar en .Net.

Alguien tiene alguna idea?
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Bajar Imagenes
« Respuesta #1 en: Viernes 13 de Octubre de 2006, 21:24 »
0
Este FM tiene que funcionar  B)

ARCHIVFILE_SERVER_TO_CLIENT

Te parece conocido???  :rolleyes:  Si tienes que bajarlo a la PC, te va a servir perfectamente  B)

Saludos,

Blag  :smartass:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bajar Imagenes
« Respuesta #2 en: Viernes 13 de Octubre de 2006, 21:48 »
0
Oye pero no tengo la ruta en la que SAP alamcena las imagenes por la SE78 y esa funcion me pide la ruta en el server... Sabra dios cual sea :S...

Alguna idea de como sacarla

Tengo unas tx donde muestro la firma y uso la siguiente linea de codigo para obtener un URL de la imagen

Código: Text
  1.  
  2. * Obtiene url de la imagen
  3.     CALL FUNCTION 'DP_CREATE_URL'
  4.       EXPORTING
  5.         type     = 'image'                                  "#EC NOTEXT
  6.         subtype  = 'X-UNKNOWN' " 'X-UNKNOWN'
  7.         size     = graphic_size
  8.         lifetime = 'T'  " 'T'
  9.       TABLES
  10.         data     = graphic_table
  11.       CHANGING
  12.         url      = graphic_url
  13.       EXCEPTIONS
  14.         OTHERS   = 4.
  15.  
  16.  

Traté poniendo eso en la ruta de la funcion que me pasas  y trono como huevo jaja...

Alguna idea????
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Bajar Imagenes
« Respuesta #3 en: Sábado 14 de Octubre de 2006, 00:28 »
0
Luego de mucho buscar....he logrado avanzar un poco  :(

STXBITMAPS Aquí están los objetos gráficos....

SAPSCRIPT_BITMAP_GET Permite descargar la imagen con OTF

Ahora...Lo que falta es convertir esa OTF en un formato descente y bajarla con un GUI_DOWNLOAD

He revisado muchas funciones....Pero hasta ahora no doy con ninguna que sirva  :(

Descargar de frente el OTF no sirve, puesto que no es un formato de imagen.....


Saludos,

Blag  :smartass:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bajar Imagenes
« Respuesta #4 en: Sábado 14 de Octubre de 2006, 02:26 »
0
Hola Blag y foro....

Logré hacerlo con el siguiente codigo :S.. :lol:

Código: Text
  1.  
  2. DATA : l_bytecount TYPE i,
  3.        l_tdbtype   LIKE stxbitmaps-tdbtype,
  4.        l_content   TYPE STANDARD TABLE OF bapiconten INITIAL SIZE 0.
  5.  
  6. DATA: graphic_size TYPE i.
  7.  
  8. DATA: BEGIN OF graphic_table OCCURS 0,
  9. line(255) TYPE x,
  10. END OF graphic_table.
  11.  
  12. * Obtiene tamaño de la imagen
  13. CALL FUNCTION 'SAPSCRIPT_GET_GRAPHIC_BDS'
  14.   EXPORTING
  15.     i_object       = 'GRAPHICS'
  16.     i_name         = '0070000000'
  17.     i_id           = 'BMAP'
  18.     i_btype        = 'BMON'
  19.   IMPORTING
  20.     e_bytecount    = l_bytecount
  21.   TABLES
  22.     content        = l_content
  23.   EXCEPTIONS
  24.     not_found      = 1
  25.     bds_get_failed = 2
  26.     bds_no_content = 3
  27.     OTHERS         = 4.
  28.  
  29. * Obtiene caracteristicas de la imagen convertida a BMP 256
  30. CALL FUNCTION 'SAPSCRIPT_CONVERT_BITMAP'
  31.   EXPORTING
  32.     old_format               = 'BDS'
  33.     new_format               = 'BMP'
  34.     bitmap_file_bytecount_in = l_bytecount
  35.   IMPORTING
  36.     bitmap_file_bytecount    = graphic_size
  37.   TABLES
  38.     bds_bitmap_file          = l_content
  39.     bitmap_file              = graphic_table
  40.   EXCEPTIONS
  41.     OTHERS                   = 1.
  42.  
  43.  
  44. CALL FUNCTION 'WS_DOWNLOAD'
  45.   EXPORTING
  46.     bin_filesize            = graphic_size
  47.     filename                = 'C:\FirmaAsociado.bmp'
  48.     filetype                = 'BIN'
  49.   TABLES
  50.     data_tab                = graphic_table
  51.   EXCEPTIONS
  52.     invalid_filesize        = 1
  53.     invalid_table_width     = 2
  54.     invalid_type            = 3
  55.     no_batch                = 4
  56.     unknown_error           = 5
  57.     gui_refuse_filetransfer = 6.
  58.  
  59. IF sy-subrc <> 0.
  60.   MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  61.           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  62. ENDIF.
  63.  
  64.  
  65.  


Pero :rolleyes:  todo tiene un pero con esto del SAP jeje :P

Como sabras el ws_download no funciona en en JOBs y mucho menos en llamados via RFC en este caso es asi como yo nocesito consumir mi funcion jeje...

Voy a checar con el OPEN DATASET haber si de chiripa puedo bajarlo bien...

Ahi si tienes alguna opcion de como se podria hacer te agradeceria el dato jeje...

Saludos.
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bajar Imagenes
« Respuesta #5 en: Sábado 14 de Octubre de 2006, 03:08 »
0
Logre hacerlo con esta instruccion....

Código: Text
  1.  
  2. OPEN DATASET '\\192.168.1.13\vtas\FirmaAsociado.bmp' FOR OUTPUT IN BINARY MODE. " ENCODING DEFAULT.
  3. LOOP AT graphic_table.
  4.   TRANSFER graphic_table TO '\\192.168.1.13\vtas\FirmaAsociado.bmp'.
  5. ENDLOOP.
  6. CLOSE DATASET '\\192.168.1.13\vtas\FirmaAsociado.bmp'.
  7.  
  8.  

Pero el che programador de VB.Net quiere que le mande la tabla "graphic_table" con la que genero el archivo para ver si lo puede convertir el en vb.net.......

A mi ver si podrá jaja.... Pero no queria quedarme con las ganas de bajar el archivo....

Gracias blag.

Cualquier otra solucion que tengas será bien venida.
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Bajar Imagenes
« Respuesta #6 en: Sábado 14 de Octubre de 2006, 15:54 »
0
Excelente senzao18  :bravo:  Las funciones que utilizas son mejores que las que estaba utilizando  :lol:  Pero....Porque usar WS_DOWNLOAD, cuando puedes utilizar GUI_DOWNLOAD???  :huh:

 B)  Voy a probar tu código el Lunes, porque la verdad está muy bueno  :hola:  Aunque claro....Estaría mejor sacar algunos parámetros de tablas y no ponerlos directamente....Supongo que el código que pusiste solo es de ejemplo no???  :rolleyes:

Por lo menos, ya no tengo que romperme la cabeza buscando como transformar el OTF a BMP  :lol:

Saludos,

Blag  :smartass:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bajar Imagenes
« Respuesta #7 en: Sábado 14 de Octubre de 2006, 18:41 »
0
Citar
Porque usar WS_DOWNLOAD, cuando puedes utilizar GUI_DOWNLOAD???

Ja pues la verdad no se,, aunque se que el ws_download es obsoleto.. me entreo por usarlo en muchos programas será por que fue el que me dio resultado en su momento jiji bueno anuque no le busqué mucho, pero como tu sabes si nuscas como bajar un archivo desde sap siempre te ponen el WS_Download aunque son post en foros de uuuuuuuuuuuuuuuuuuuuuuuuuuu.....

Citar
Estaría mejor sacar algunos parámetros de tablas y no ponerlos directamente....Supongo que el código que pusiste solo es de ejemplo no???

Claro que lo saco de una tabla.... Pero pues para no pegar todo el codigo jeje...

Toda la info necesaria esta en la tabla stxbitmaps
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Bajar Imagenes
« Respuesta #8 en: Martes 17 de Octubre de 2006, 15:36 »
0
Ayer probé tu código.....Y debo decir que me encantó  :wub: La verdad es que quedó excelente!!! Felicitaciones!!!  :kicking:

Saludos,

Blag  :smartass:

senzao18

  • Miembro HIPER activo
  • ****
  • Mensajes: 553
    • Ver Perfil
Re: Bajar Imagenes
« Respuesta #9 en: Martes 17 de Octubre de 2006, 17:37 »
0
Si verdad... ami tambien me encantó....

Digo algo que se veia muy dificil lo haces casi casi sin codificar puesto que son funciones que ya trae el SAP.... jaja.....

Esperemos que a muchos les sea de utilidad.... No se que tan comun sea tener que bajar imagenes pero pues algun dia a alguien le tiene que pasar jiji..

Bye.

P.D. Voy a postear otra cosa en 5 minutos jeje.
---------------------------------------
Erick Aragon Zepeda
Dessarrollo de Aplicaciones .NET
http]
Blog de Articulos
Mi Blog
NoSolocodigo -->