Cómo poner un LOGO en la parte de cabecera que se quiera???

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • fence
    Member
    • sep
    • 34

    #1

    Cómo poner un LOGO en la parte de cabecera que se quiera???

    Hola!

    estoy con un ALV y en la cabecera quieren que salga, entre otras cosas, el logotipo de la empresa a la izquierda de la pantalla, alguien sabe cómo ponerlo ahí? Estoy utilizando un ALV GRID de los de toda la vida, nada de objetos y no sé cómo indicarle la tabulación

    Gracias de antemano
  • fanekas22
    Junior Member
    • nov
    • 8

    #2
    hola, yo he hecho lo siguiente:

    cuando llamas al alv, te creas un párrafo de cabecera:

    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = repname
    i_callback_top_of_page = 'TOP_OF_PAGE'
    i_structure_name = 'I_INFORME'
    i_grid_title =
    'Facturas Acreedores Contabilizadas'
    is_layout = layout
    it_fieldcat = fieldtab
    i_default = 'X'
    i_save = g_save
    it_events = events[]
    TABLES
    t_outtab = i_informe
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.


    Y en este párrafo utilizas la función:

    **---------------------------------------------------------------------*
    ** FORM TOP_OF_PAGE *
    **---------------------------------------------------------------------*
    FORM top_of_page.

    CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
    i_logo = logo

    ENDFORM.

    Comentario

    • fence
      Member
      • sep
      • 34

      #3
      Hola Fanekas22, he utilizado esas 2 funciones entre otras cosas porque el resto de datos que van en la cabecera sólo sé sacarlos así pero mi problema es que el logo me lo pone siempre donde le viene en gana y lo que yo quiero es ordenarle que el logo salga donde yo le diga, en mi caso a la izquierda, por defecto lo saca a la derecha de la cabecera y yo necesito moverlo de ahí.

      Comentario

      • azua14
        Senior Member
        • jul
        • 140

        #4
        No has pensado en hacer una imagen lo bastante larga hacia el lado donde el logo esté a la izquierda? en una de esas no hay porque complicarse tanto..

        Comentario

        • DavidXD_XD
          Moderator
          • ago
          • 1255

          #5
          Hola, tu puedes jugar como quieras con el logo en el ALV, lo unico malo es q se programaria en OO, para mi es muy util, en la parte estructurada con funciones el logo siempre sale en la parte superior derecha de tu pantalla , dale una checkeada a este programa DD_ADD_PICTURE
          David Carballido Córdova

          Comentario

          • Attilio Travascio
            Member
            • jun
            • 54

            #6
            Hola Buenas tardes, te dejo un molde que me ha sido muy util para utilzar OO, de verdad que no es nada complicado y cuando le agarras la vuelta, no lo dejaras de usar.

            Lo primero que se debe de hacer es crear la imagen dentro de SAP, pero no por la transaccion que comunmente se hace SE78, si no por la SMW0. Aqui crear el nombre del objeto y lo subes.
            Despues copia este mismo codigo.
            Debes crear una dympro en donde vas a colocar dos container en principio, uno en el lugar en donde quieres la imagen y el otro el contenido de la informacion, le colocas sus nombres respectivo por ejemplo Container_1 y Logo.
            Estos mismo nombre lo vas a poner como valor por defectos en las variables q estan declaradas en este codigo que te estoy dando (Se llaman Cuadro, y cuadro_logo).

            Espero que te sirva

            Anexo Codigo:

            PROGRAM ZMOLDE_ALV_CONTAINER.

            DATA:
            * Datos del Contenido del Primer Cuadro
            GT_SFLIGHT LIKE MARA OCCURS 0 WITH HEADER LINE,
            CUADRO TYPE SCRFNAME VALUE 'CUADRO',
            GRID1 TYPE REF TO CL_GUI_ALV_GRID,
            G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

            * Datos del Contenido del Segundo Cuadro
            GT_SFLIGHT2 TYPE TABLE OF MARC,
            CUADRO2 TYPE SCRFNAME VALUE 'CUADRO2',
            GRID2 TYPE REF TO CL_GUI_ALV_GRID,
            G_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,

            * Datos para el Logotipo en otro CUadro Aparte
            CUADRO_LOGO TYPE SCRFNAME VALUE 'CUADRO_LOGO',
            LOGO1 TYPE REF TO CL_GUI_PICTURE,
            OBJECT_ID LIKE WWWDATAID-OBJID,
            URL(256) TYPE C,
            MIME LIKE W3MIME OCCURS 0 WITH HEADER LINE.
            *&---------------------------------------------------------------------*
            *& Tabla de Salida
            *&---------------------------------------------------------------------*
            * text
            *----------------------------------------------------------------------*
            *
            DATA : BEGIN OF SALIDA OCCURS 0,
            MATNR LIKE MARA-MATNR,
            MAKTX LIKE MAKT-MAKTX,
            END OF SALIDA.

            DATA: GT_FIELDCAT TYPE LVC_T_FCAT WITH HEADER LINE.



            * Llamada a la Pantalla
            CALL SCREEN 1000.
            *&---------------------------------------------------------------------*
            *& Module STATUS_1000 OUTPUT
            *&---------------------------------------------------------------------*
            * text
            *----------------------------------------------------------------------*
            MODULE STATUS_1000 OUTPUT.
            * El estatus de la pantalla (Los Botones)
            SET PF-STATUS 'STA'.
            * El Titulo del Reporte cuando Salga en La barra del Menu
            SET TITLEBAR 'WWW'.

            * Llenar Catalago
            PERFORM TEXTO_REP.

            * Llenar el Primer cuadro
            SELECT * FROM MARA INTO TABLE GT_SFLIGHT.
            * Llenar el Segundo Cuadro
            * SELECT * FROM MARC INTO TABLE GT_SFLIGHT2.

            TABLES MAKT.
            LOOP AT GT_SFLIGHT.
            SELECT SINGLE * FROM MAKT WHERE MATNR EQ GT_SFLIGHT-MATNR
            AND SPRAS EQ 'S'.
            MOVE-CORRESPONDING MAKT TO SALIDA.
            APPEND SALIDA.
            CLEAR SALIDA.
            ENDLOOP.

            * Este es el metodo para el Primer Cuadro en la Pantalla
            IF G_CUSTOM_CONTAINER IS INITIAL.
            CREATE OBJECT G_CUSTOM_CONTAINER
            EXPORTING CONTAINER_NAME = CUADRO. "Nombre del Container
            CREATE OBJECT GRID1
            EXPORTING I_PARENT = G_CUSTOM_CONTAINER.
            CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
            EXPORTING
            I_STRUCTURE_NAME = 'MARA' "Nombre de la Tabla
            CHANGING
            IT_OUTTAB = GT_SFLIGHT[].



            * Este es el metodo para el Segundo Cuadro en la Pantalla

            CREATE OBJECT G_CUSTOM_CONTAINER2
            EXPORTING CONTAINER_NAME = CUADRO2. "Nombre del Container
            CREATE OBJECT GRID2
            EXPORTING I_PARENT = G_CUSTOM_CONTAINER2.
            CALL METHOD GRID2->SET_TABLE_FOR_FIRST_DISPLAY
            * EXPORTING I_STRUCTURE_NAME = 'MARC' "Nombre de la Tabla
            CHANGING IT_FIELDCATALOG = GT_FIELDCAT[]
            IT_OUTTAB = SALIDA[].


            * Este es el Metodo para Colocar el Logo en el Container especificado.
            CREATE OBJECT G_CUSTOM_CONTAINER
            EXPORTING CONTAINER_NAME = CUADRO_LOGO. "Nombre del Container
            CREATE OBJECT LOGO1
            EXPORTING PARENT = G_CUSTOM_CONTAINER.
            * Este logotipo debe de estar subido a sap, por medio de la transaccion
            * SMW0 que permite la subida de imagenes y hojas extencion de HTML
            OBJECT_ID = 'ZBEIBOL'. "Nombre del logo tipo a subir
            IMPORT MIME FROM DATABASE WWWDATA(MI) ID OBJECT_ID.

            CALL FUNCTION 'DP_CREATE_URL'
            EXPORTING
            TYPE = 'IMAGE'
            SUBTYPE = 'GIF'
            TABLES
            DATA = MIME
            CHANGING
            URL = URL.

            CALL METHOD LOGO1->SET_ADJUST_DESIGN
            EXPORTING
            ADJUST_DESIGN = 1.
            CALL METHOD LOGO1->LOAD_PICTURE_FROM_URL
            EXPORTING
            URL = URL
            EXCEPTIONS
            OTHERS = 4.
            ENDIF.
            ENDMODULE. " STATUS_1000 OUTPUT
            *&---------------------------------------------------------------------*
            *& Module USER_COMMAND_1000 INPUT
            *&---------------------------------------------------------------------*
            * text
            *----------------------------------------------------------------------*
            MODULE USER_COMMAND_1000 INPUT.
            IF SY-UCOMM EQ 'EXIT' OR SY-UCOMM EQ 'BACK'.
            LEAVE PROGRAM.
            ENDIF.
            ENDMODULE. " USER_COMMAND_1000 INPUT

            *&---------------------------------------------------------------------*
            *& Form TEXTO_REP
            *&---------------------------------------------------------------------*
            * text
            *----------------------------------------------------------------------*
            * -->P_GT_LIST_TOP_OF_PAGE[] text
            *----------------------------------------------------------------------*
            FORM TEXTO_REP.
            CLEAR GT_FIELDCAT.
            GT_FIELDCAT-FIELDNAME = 'MATNR'.
            GT_FIELDCAT-REPTEXT = 'Material'.
            APPEND GT_FIELDCAT.
            CLEAR GT_FIELDCAT.

            CLEAR GT_FIELDCAT.
            GT_FIELDCAT-FIELDNAME = 'MAKTX'.
            GT_FIELDCAT-REPTEXT = 'Descripción'.
            APPEND GT_FIELDCAT.
            CLEAR GT_FIELDCAT.
            ENDFORM. " TEXTO_REP
            Editado por última vez por Attilio Travascio; 15/05/2008, 19:18:22.
            ATTILIO TRAVASCIO

            Comentario

            Trabajando...