ABAP: Modificar contenido de variante

Con la función estándar de RS_CHANGE_CREATED_VARIANT modificaremos el contenido de la variante.

 

Parametros de entrada

  • CURR_REPORT: Nombre del report donde está la variante que queremos modificar
  • CURR_VARIANT: Nombre de la variante
  • VARI_DESC: Descripción de la variante
  • VARI_CONTENTS: Tabla interna con tel contenido de la variante

 

Función

DATA: lv_programa  TYPE RSVAR-REPORT,
      lv_variante  TYPE RSVAR-VARIANT,
      lw_vari_desc TYPE VARID,
      li_valtab    TYPE STANDARD TABLE OF RSPARAMS.

CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'
     EXPORTING
        CURR_REPORT               = lv_programa
        CURR_VARIANT              = lv_variante
        VARI_DESC                 = lw_vari_desc
     TABLES
        VARI_CONTENTS             = li_valtab                                  
     EXCEPTIONS
        ILLEGAL_REPORT_OR_VARIANT  = 1
        ILLEGAL_VARIANTNAME        = 2
        NOT_AUTHORIZED             = 3
        NOT_EXECUTED               = 4
        REPORT_NOT_EXISTENT        = 5
        REPORT_NOT_SUPPLIED        = 6
        VARIANT_DOESNT_EXIST       = 7
        VARIANT_LOCKED             = 8
        SELECTIONS_NO_MATCH        = 9
        OTHERS                     = 10.

 

Pasos a seguir

1. Obtener el conteido de la variante que queremos modificar con la función RS_VARIANT_CONTENTS, puedes como utilizar esta función aqui

2. Realizar las modificaciones requeridas en la tabla interna obtenida de la función anterior.

3. Ejecutar la función RS_CHANGE_CREATED_VARIANT indicandole el programa, variante y la tabla interna con el contenido modificado.

 

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Recuperar contenido de variante

Con la función estandar de SAP RS_VARIANT_CONTENTS obtendremos el contenido de la variante en una tabla interna, para obtenerla le pasaremos el nombre del programa y la variante que queremos obtener.

 

Parámetros de entrada

  • REPORT: Nombre del report donde existe la variante
  • VARIANT: Nombre de la variante
  • VALUTAB: Tabla interna con el contenido de la variante

 

Función

DATA: lv_programa TYPE RSVAR-REPORT,
      lv_variante TYPE RSVAR-VARIANT,
      li_valtab   TYPE STANDARD TABLE OF RSPARAMS.

CALL FUNCTION 'RS_VARIANT_CONTENTS'
         EXPORTING
            report              = lv_programa
            variant             = lv_variante
         TABLES
            valutab             = li_valtab
        EXCEPTIONS
           variant_non_existent = 1
           variant_obsolete     = 2
           OTHERS               = 3.
                       

 

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Redondeo y decimales en SAP

En el siguiente ejemplo veremos ejemplos para tratar redondeo y decimales en ABAP,

Opciones

  • ABS: Devuelve el valor absoluto
  • CEIL: Redondeo hacia arriba
  • FLOOR: Redondeo hacia abajo
  • TRUNC: Se queda con la parte enterea y borra la decimal
  • FRAC: Se queda con la parte decimal y borra la entera
  • SIGN:
    • Si el valor es > 0 devuelve 1
    • Si el valor es = devuelve 0
    • Si el valor es < 0 devuelve -1

Leer más

SAP: ¿Qué es una BTE?

Las BTE’s (Business TransactionsEvents, o eventos de las transacciones de negocio) son un tipo de extensión para el módulo FI de SAP (para SD están los User-Exits de la transacción CMOD), SAP creó las BTE’s para poder adaptar el módulo FI del sistema SAP.

Las BTE’s se basan en los siguientes principios:

  • Los diseñadores de aplicaciones deben definir la interfase en un módulo de función
  • Una tabla de asignación es leída en el código generado
  • Los módulos de usuario se llaman de manera dinámica.

 

Diferencia entre BADI y BTE

Los conceptos de las BADI’s y las BTE’s son similares en algunos aspectos, pero se diferencian en los diferentes puntos:

  • Las BTE’s sólo pueden utilizarse para ampliar el código estándar de SAP (no es posible ampliar interfases como con las BADI’s).
  • Las BTE’s son sólo de 3 niveles: SAP, Partners y Clientes, las BADI’s que soportan múltiples capas).
  • En las BTE’s se utilizan funciones para ampliar el código SAP; en las BADI’s se usan Objetos ABAP (ABAP Objects).

Leer más