#1
|
|||
|
|||
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 |
#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. |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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. |
#5
|
|||
|
|||
Logo Empresa
JSDIAZ gracias por tu ayuda, fue muy útil tu manual y esta bien detallado.. ya por fin lo conseguí.
Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|