× ABAP

Disposiciones separadas para varios ALVs en report

9 años 8 meses antes - 9 años 8 meses antes #40 por raulete
Cuando un programa tiene varios ALV con disposiciones de visualización, debemos diferenciar uno de otro para que el programa no se haga un lío, e intentente aplicar una disposición de visualización que no le corresponda.

Para ello podemos usar el parametro is_variant al pintar el ALV, definiendo diferentes identificadores en la cabecera de este parámetro.
  DATA:	IS_VARIANT  TYPE DISVARIANT. 		" Variante

  MOVE SY-REPID  TO IS_VARIANT-REPORT  .        " Nombre del Programa
  MOVE '0001'    TO IS_VARIANT-HANDLE  .  	" Identificador 1 para ALV1 / Disposición
  MOVE SY-UNAME  TO IS_VARIANT-USERNAME.     	" Usuario de la disposición

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
   	I_CALLBACK_PROGRAM = IS_VARIANT-REPORT
   	IS_LAYOUT          = IS_LAYOUT
	IT_FIELDCAT        = IT_FIELDCAT
	IT_EXCLUDING       = LT_EXTAB
	I_SAVE             = 'A'
	IS_VARIANT         = IS_VARIANT		" ALV / Disposición
	IT_EVENTS          = IT_EVENTS
   TABLES
      T_OUTTAB                          = IT_ALV1
   EXCEPTIONS
      PROGRAM_ERROR        = 1
      OTHERS               = 2.

...

  MOVE SY-REPID  TO IS_VARIANT-REPORT  .        " Nombre del Programa
  MOVE '0002'    TO IS_VARIANT-HANDLE  .  	" Identificador 2 para ALV2 / Disposición
  MOVE SY-UNAME  TO IS_VARIANT-USERNAME.     	" Usuario de la disposición

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
   	I_CALLBACK_PROGRAM = IS_VARIANT-REPORT
   	IS_LAYOUT          = IS_LAYOUT
	IT_FIELDCAT        = IT_FIELDCAT
	IT_EXCLUDING       = LT_EXTAB
	I_SAVE             = 'A'
	IS_VARIANT         = IS_VARIANT		" ALV / Disposición
	IT_EVENTS          = IT_EVENTS
   TABLES
      T_OUTTAB                          = IT_ALV2
   EXCEPTIONS
      PROGRAM_ERROR        = 1
      OTHERS               = 2.

Por favor, Iniciar sesión o Crear cuenta para unirse a la conversación.

Tiempo de carga de la página: 0.213 segundos
Gracias a Foro Kunena