zejercicio_proyecto_alv02

3
REPORT ZEJERCICIO_PROYECTO_ALV01 NO STANDARD PAGE HEADING. START-OF-SELECTION. WRITE:/ ,65 'VER G…NEROS. ' COLOR 5 CENTERED HOTSPOT. "??? Como cambiar el formato del texto (co WRITE:/ ,65 'VER PELÕCULAS.' COLOR 7 CENTERED HOTSPOT. AT LINE-SELECTION. CASE sy-lilli. WHEN 2. "hay un problema: Al meterse en este tipo de ALV, y querer volver al start-of-selection, * WRITE:/ 'Tabla GÈneros..pulsaste la fila:', sy-lsind. DATA: tabIn_generos TYPE STANDARD TABLE OF ZTAB_GENEROS01, var_ref_tabgeneros TYPE REF TO CL_GUI_ALV_GRID, wa_columna_estilo TYPE LVC_S_LAYO, tabIn_fcat TYPE LVC_T_FCAT. FIELD-SYMBOLS: <columna> LIKE LINE OF TABIN_FCAT. SELECT * INTO TABLE TABIN_GENEROS FROM ZTAB_GENEROS01. CREATE OBJECT VAR_REF_TABGENEROS exporting I_PARENT = CL_GUI_CUSTOM_CONTAINER=>SCREEN0 " Parent Container exceptions ERROR_CNTL_CREATE = 1 ERROR_CNTL_INIT = 2 ERROR_CNTL_LINK = 3 ERROR_DP_CREATE = 4 OTHERS = 5 . if sy-subrc <> 0. * message id sy-msgid type sy-msgty number sy-msgno * with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif. CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING I_STRUCTURE_NAME = 'ZTAB_GENEROS01' CHANGING CT_FIELDCAT = TABIN_FCAT . IF SY-SUBRC <> 0. * Implement suitable error handling here ENDIF. WA_COLUMNA_ESTILO-ZEBRA = ABAP_true. LOOP AT TABIN_FCAT ASSIGNING <columna>. if <columna>-FIELDNAME = 'GENERO'. <COLUMNA>-COLTEXT = 'Nombre del gÈnero'. elseif <COLUMNA>-FIELDNAME = 'ID_GENERO'. <COLUMNA>-COLTEXT = 'CÛdigo de gÈnero'. <columna>-OUTPUTLEN = 15. <COLUMNA>-COL_POS = 3. "???COMO CENTRAR LA INFO DE LA COLUMNA endif. ENDLOOP. VAR_REF_TABGENEROS->SET_TABLE_FOR_FIRST_DISPLAY( exporting * I_STRUCTURE_NAME = 'ZTAB_GENEROS01' " Internal Output Table Structure Nam IS_LAYOUT =

Upload: upcdc19

Post on 16-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

ALV

TRANSCRIPT

  • REPORT ZEJERCICIO_PROYECTO_ALV01 NO STANDARD PAGE HEADING.

    START-OF-SELECTION.

    WRITE:/ ,65 'VER GNEROS. ' COLOR 5 CENTERED HOTSPOT. "??? Como cambiar el formato del texto (color,tamao..etc) WRITE:/ ,65 'VER PELCULAS.' COLOR 7 CENTERED HOTSPOT.

    AT LINE-SELECTION.

    CASE sy-lilli. WHEN 2. "hay un problema: Al meterse en este tipo de ALV, y querer volver al start-of-selection, no te lo permite..ALGUNA SOLUCION??* WRITE:/ 'Tabla Gneros..pulsaste la fila:', sy-lsind. DATA: tabIn_generos TYPE STANDARD TABLE OF ZTAB_GENEROS01, var_ref_tabgeneros TYPE REF TO CL_GUI_ALV_GRID, wa_columna_estilo TYPE LVC_S_LAYO, tabIn_fcat TYPE LVC_T_FCAT.

    FIELD-SYMBOLS: LIKE LINE OF TABIN_FCAT.

    SELECT * INTO TABLE TABIN_GENEROS FROM ZTAB_GENEROS01.

    CREATE OBJECT VAR_REF_TABGENEROS exporting I_PARENT = CL_GUI_CUSTOM_CONTAINER=>SCREEN0 " Parent Container exceptions ERROR_CNTL_CREATE = 1 ERROR_CNTL_INIT = 2 ERROR_CNTL_LINK = 3 ERROR_DP_CREATE = 4 OTHERS = 5 . if sy-subrc 0.* message id sy-msgid type sy-msgty number sy-msgno* with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif.

    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE' EXPORTING I_STRUCTURE_NAME = 'ZTAB_GENEROS01' CHANGING CT_FIELDCAT = TABIN_FCAT . IF SY-SUBRC 0.* Implement suitable error handling here ENDIF.

    WA_COLUMNA_ESTILO-ZEBRA = ABAP_true.

    LOOP AT TABIN_FCAT ASSIGNING . if -FIELDNAME = 'GENERO'. -COLTEXT = 'Nombre del gnero'. elseif -FIELDNAME = 'ID_GENERO'. -COLTEXT = 'Cdigo de gnero'. -OUTPUTLEN = 15. -COL_POS = 3. "???COMO CENTRAR LA INFO DE LA COLUMNA endif. ENDLOOP.

    VAR_REF_TABGENEROS->SET_TABLE_FOR_FIRST_DISPLAY( exporting* I_STRUCTURE_NAME = 'ZTAB_GENEROS01' " Internal Output Table Structure Name IS_LAYOUT = WA_COLUMNA_ESTILO

  • changing IT_OUTTAB = TABIN_GENEROS " Output Table IT_FIELDCATALOG = TABIN_FCAT* exceptions* INVALID_PARAMETER_COMBINATION = 1* PROGRAM_ERROR = 2* TOO_MANY_LINES = 3* OTHERS = 4 ). if sy-subrc 0.* message id sy-msgid type sy-msgty number sy-msgno* with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif.

    WRITE:/ ''.

    WHEN 4.* WRITE:/ 'Tabla Pelculas...pulsaste la fila:',sy-lilli. DATA: tabIn_peliculas TYPE STANDARD TABLE OF ZTAB_PELICULAS01, var_ref_tabpelicula TYPE REF TO CL_SALV_TABLE, var_ref_colpeli TYPE SALV_DE_ALIGNMENT.* wa_columna_estilo TYPE LVC_S_LAYO.* tabIn_fcat TYPE LVC_T_FCAT.

    FIELD-SYMBOLS: LIKE LINE OF TABIN_PELICULAS.

    SELECT * INTO TABLE TABIN_PELICULAS FROM ZTAB_PELICULAS01.

    CL_SALV_TABLE=>FACTORY(* exporting* LIST_DISPLAY = IF_SALV_C_BOOL_SAP=>FALSE " ALV Displayed in List Mode* R_CONTAINER = " Abstract Container for GUI Controls* CONTAINER_NAME = importing R_SALV_TABLE = VAR_REF_TABPELICULA " Basis Class Simple ALV Tables changing T_TABLE = TABIN_PELICULAS ).* catch CX_SALV_MSG. " ALV: General Error Class with Message

    * VAR_REF_COLPELI = 'CENTERED'. WA_COLUMNA_ESTILO-VAL_DATA = 3. VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ID_PELICULA' )->SET_MEDIUM_TEXT( 'Cdigo de pelcula' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ID_PELICULA' )->SET_LONG_TEXT( 'Cdigo de pelcula' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ID_PELICULA' )->SET_OUTPUT_LENGTH( 15 ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ID_PELICULA' )->SET_ALIGNMENT( 3 ). "iNTENTANDO PONER EL CONTENIDO DE LA COLUMNA EN EL CENTRO.

    VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'TITULO' )->SET_SHORT_TEXT( 'Ttulo' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'TITULO' )->SET_MEDIUM_TEXT( 'Ttulo' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'TITULO' )->SET_LONG_TEXT( 'Ttulo' ).

    VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ANIO' )->SET_SHORT_TEXT( 'Ao' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ANIO' )->SET_MEDIUM_TEXT( 'Ao' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'ANIO' )->SET_LONG_TEXT( 'Ao' ).

    * VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_GENERO' )->SET_SHORT_TEXT( 'Cdigo Gnero' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_GENERO' )->SET_MEDIUM_TEXT( 'Cdigo Gnero' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_GENERO' )->SET_LONG_TEXT( 'Cdigo Gnero' ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_GENERO' )->SET_OUTPUT_LENGTH( 15 ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_GENERO' )->SET_ALIGNMENT( 3 )."1=LEFT, 2=RIGHT, 3=CENTERED.

  • VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'IDFK_DIRECTOR' )->SET_VISIBLE( abap_false ). VAR_REF_TABPELICULA->GET_COLUMNS( )->GET_COLUMN( 'MANDANTE' )->SET_VISIBLE( abap_false ).

    VAR_REF_TABPELICULA->GET_DISPLAY_SETTINGS( )->SET_STRIPED_PATTERN( ABAP_ON ). VAR_REF_TABPELICULA->DISPLAY( ).

    ENDCASE.