logo empresa

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • tgonza0801
    Member
    • mar
    • 35

    #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
  • jsdiaz
    Junior Member
    • oct
    • 2

    #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
    Editado por última vez por jsdiaz; 29/04/2014, 18:41:15.

    Comentario

    • tgonza0801
      Member
      • mar
      • 35

      #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

      Comentario

      • jsdiaz
        Junior Member
        • oct
        • 2

        #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.
        Editado por última vez por jsdiaz; 30/04/2014, 13:56:29.

        Comentario

        • tgonza0801
          Member
          • mar
          • 35

          #5
          Logo Empresa

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


          Saludos.

          Comentario

          Trabajando...