MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Formularios - SAPScript - Smartforms
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 29/04/14, 13:45:02
tgonza0801 tgonza0801 is offline
Member
 
Fecha de Ingreso: mar 2012
Mensajes: 35
Talking logo empresa

buenos dias

Colegas si me puden dar una mano seria de gran ayuda. tengo un formulario Smartforms de pedidos de compra, el cual lo comparten dos sociedades, queremos incluirle el logo de cada empresa, pero no he podido encontrar la forma de decirle al formulario que para una sociedad tomo la imagen correspondiente y para lo otra sociedad la otra imagen, si me pueden colaborar se les agradece.

Saludos
Responder Con Cita
  #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
  #3  
Viejo 29/04/14, 21:07:50
tgonza0801 tgonza0801 is offline
Member
 
Fecha de Ingreso: mar 2012
Mensajes: 35
Talking Logo Empresa

gracias por tu ayuda lo estoy haciendo paso a paso,

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.


hasta aca voy bien pero ya me enrede un poco, me podrias ayudar teniendo en cuenta que:

la sociedad es 1100 y nombre de la imagen es FIRMA_1100.
la sociedad es 1000 y nombre de la imagen es FIRMA_TG.

Gracias
Responder Con Cita
  #4  
Viejo 30/04/14, 03:44:13
jsdiaz jsdiaz is offline
Junior Member
 
Fecha de Ingreso: oct 2013
Mensajes: 2
Listo entonces el código que te voy a mostrar lo deberías poner en el Programa (Reporte) que llama a el smartform. (supongo que debes de tener un programa donde este la rutina que llama al smartform )

*Se declara el campo Logo para ser usado*
DATA: logo TYPE tdobname. "Este logo es el que se declaro en el código de inicializacion del smartform


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

*aquí se hace el llamado al smartform (busca esta función en tu reporte)
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFORM_LOGO' - Nombre del smartform
IMPORTING
fm_name = logo_smt - función que se declara en el DATA
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.


*creer un case para las dos opciones de sociedad

CASE sociedad. - "Nombre de tu sociedad" (Generalmente creo que el campo o la variable es BUKRS)

WHEN 1100. "-sociedad 1 (1100)

Logo = 'FIRMA_1100'.

*En esta función es donde se pasan los parámetros al smartforms que vas a imprimir (en este caso es solo el campo logo) (supongo que en tu reporte estará esta misma función en esta es solo agregar el campo logo).

CALL FUNCTION logo_smt
EXPORTING

logo = logo

* TABLES

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


WHEN 1000. "-sociedad 2 (1000)

Logo = ' FIRMA_TG'

*En esta función es donde se pasan los parámetros al smartforms que vas a imprimir (en este caso es solo el campo logo) (supongo que en tu reporte estará esta misma función en esta es solo agregar el campo logo).


CALL FUNCTION logo_smt
EXPORTING

logo = logo

* TABLES

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

ENDCASE.

Úlima edición por jsdiaz fecha: 30/04/14 a las 13:56:29.
Responder Con Cita
  #5  
Viejo 30/04/14, 20:00:07
tgonza0801 tgonza0801 is offline
Member
 
Fecha de Ingreso: mar 2012
Mensajes: 35
Talking Logo Empresa

JSDIAZ gracias por tu ayuda, fue muy útil tu manual y esta bien detallado.. ya por fin lo conseguí.


Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 15:10:52.


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