Ver Mensaje Individual
  #6  
Viejo 15/05/08, 19:04:16
Attilio Travascio Attilio Travascio is offline
Member
 
Fecha de Ingreso: jun 2006
Mensajes: 54
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
__________________
ATTILIO TRAVASCIO

Úlima edición por Attilio Travascio fecha: 15/05/08 a las 19:18:22.
Responder Con Cita