Tema: logo empresa
Ver Mensaje Individual
  #2  
Viejo 29/04/14, 16:34:47
jsdiaz jsdiaz is offline
Junior Member
 
Fecha de Ingreso: oct 2013
Mensajes: 2
Creo que yo te puedo ayudar con eso,
Empezemos (aclaro que lo haré mediante la ejecución del smartform ya que supongo que tu tienes un reporte que llama el smartform con todas sus salidas de impresion previamente configuradas)

1. iremos a el smartform y crearemos un elemento GRAPHIC (imagen)
luego llenaremos los campos como se muestra a continuación

Name &LOGO& - Referencia a un campo
Object GRAPHICS
ID BMAP

Y tenes seleccionado la parte que esta (BCOL) (esto puede variar si tu imagen es blanco y negro o a color en este caso a color)


2. En iterface de formulario en la pestaña Import debes de definir esta variable
LOGO TYPE TDOBNAME


3. en la parte de definiciones globales debes en la pestaña Datos Globales defines esta variable( GV_XSTRING TYPE XSTRING )

Luego en la pestaña de inicializacion debes poner

en el input ( LOGO )
en el output ( GV_XSTRING )

y en el codigo de inicializacion pegas este metodo

call method cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
exporting
p_object = 'GRAPHICS' - tipo del objero
p_name = LOGO - 'nombre del campo' (nombre de la imagen(se sube por la SE78) mas adelante te explico como usar esta variable)
p_id = 'BMAP'
p_btype = 'BCOL' - cuidado varia si es B/N o a color en este caso Color
receiving
p_bmp = GV_XSTRING.
Listo.

Ahora en el reporte que llama al smartform quedaría algo así

*Se declara el campo Logo para ser usado*
DATA: logo TYPE tdobname.




*Este Data es la función que se va exportar desde el smartform
DATA: logo_smt TYPE rs38l_fnam.

"Obtenemos el nombre de la funcion para nuestro formulario
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFORM_LOGO' - Nombre del smartform
IMPORTING
fm_name = logo_smt - funcion
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*
*

"Aquí intente recrear tu problema dependiendo si la sociedad es 1 o 2 cree un case en el cual le paso los parámetros que van a ser impresos en este caso el logo.


CASE sociedad. - "Nombre de tu sociedad"

WHEN 1. "-sociedad 1

Logo = 'el Nombre del logo de la sociedad 1' (aquí es donde cambiamos la variable logo y le asignamos el valor en esta caso (nombre de la imagen))

CALL FUNCTION logo_smt
EXPORTING

logo = logo

* TABLES

EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.


WHEN 2. "-sociedad 2

Logo = ' el Nombre del logo de la sociedad 2'
CALL FUNCTION logo_smt
EXPORTING

logo = logo

* TABLES

EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.

ENDCASE.

Espero haberte ayudado, Un saludo

Úlima edición por jsdiaz fecha: 29/04/14 a las 18:41:15.
Responder Con Cita