Palabras clave involucradas en este artículo:
Salida de cliente
Variable OLAP
Bex Variable
TVARVC
La cuestión es la siguiente:
tenemos muchos clientes, lo que resulta en una gran cantidad de DTP. Además, las DTP de diferentes clientes a veces tienen que elaborarse de forma colectiva.
En este momento, si hay más de diez valores de filtro en DTP, no podemos cambiarlos uno por uno. Cámbielo a un valor fijo y tendrá que cambiarlo más tarde.
En este momento se utilizarán variables. Echemos un vistazo a los siguientes ejemplos:
Directorio de artículos
Como puede ver a continuación, puede hacer clic en el filtro, 2 puede completar las constantes usted mismo, 3 cuadrados amarillos son variables, 4 cuadrados azules son rutinas.
Rutina de DTP
Supongamos que existe un escenario como el siguiente: al
comienzo de cada mes, quiero ejecutar la descripción general de datos del mes anterior. Es decir, los datos de mi proveedor de información se ejecutan una vez al comienzo del mes para extraer los datos del mes anterior. ¿Cómo se cumplieron los datos del mes pasado?
Usemos este filtro de fiscper como un ejemplo para ver:
Habrá un código generado automáticamente en la rutina, y luego vamos a completar> la
siguiente variante de año fiscal es completar el que use.
Llame al siguiente módulo de función:
OK, luego guarde la rutina, active DTP y finalmente ejecútelo para ver. Las funciones principales se encuentran en este módulo de funciones. Tenga en cuenta que el valor automático de fiscper este campo de filtro es el mes anterior.
Finalmente, configure una cadena de procesamiento, ejecute este DTP el primer día de cada mes y obtenga los datos del mes anterior.
Acerca de la introducción de la variante del año fiscal, haga clic aquí .
Variable OLAP
Otra forma es utilizar variables OLAP.
Estaba en el recuadro amarillo junto a la rutina.
Este también puede ser el mismo escenario de aplicación que antes. Por ejemplo, los datos que queremos extraer son un período anterior al período actual. Ven y corre una vez al mes.
Este escenario también se puede extender a otros campos, como el campo de la semana, los datos de la semana anterior a la ejecución semanal.
Primero, debe crear una variable OLAP para el campo de filtro y luego mejorarla en la exportación del cliente, y luego se puede usar en DTP.
Crear variables OLAP
Esto está integrado en las herramientas de modelado de BW, la anterior es el diseñador de consultas.
Busque el campo de valor del filtro, haga clic con el botón derecho en la nueva variable y asigne un nombre nuevo.
A través de la salida del cliente para tratar.
Tenga en cuenta que la entrada lista aquí está marcada de forma predeterminada, pero usamos código para asignar valores, por lo que no es necesario marcar esto para preparar los valores de entrada. Es mejor cambiar la descripción también, no la cambiaré aquí.
Entonces ve a escribir código.
CMOD a su código de salida de cliente, porque el filtro DTP debe llamar al código. Entonces i_step = 0 es el primer paso.
// A code block
IF i_step eq 0
and i_varnm eq '0FISCPER'.
DATA : i_date type SCAL-DATE,
o_fscper type /BI0/OIFISCPER.
CASE i_vnam.
WHEN ‘DTP_TEST'.
CLEAR l_s_range.
l_s_range-sign = 'I'.
l_s_range-opt = 'EQ'.
i_date = sy-datum.
CALL FUNCTION ’GET_PREVIOUS_MONTH'
EXPORTING
date = I_DATE
IMPORTING
month = o_fscper.
l_s_range - low = o_fscper.
APPEND l_s_range TO e_t_range.
ENDCASE.
ENDIF.
Guarde y active esta salida.
Luego puede volver a DTP y luego seleccionar la variable OLAP del filtro y completar la variable que creó.
La realización de DTP recuperará directamente los datos del mes anterior.
Programa ABAP
Este método también proviene de variable. La diferencia es que lo anterior se escribe directamente a partir de la dinámica en el código para determinar el valor de filtro que desea, esto se puede llamar función Ejecute DTP de acuerdo con el valor de entrada.
Este método es adecuado para DTP que cambia dinámicamente el valor del filtro, es decir, no es necesariamente el valor del mes pasado o la semana pasada, sino el valor que quiero rellenar, y finalmente se extraen los datos por qué valor.
La premisa es que debes tener un lugar para ingresar tu valor, y luego lo llamaré de acuerdo con el código.
Esto debe tener en cuenta esta tabla: TVARVC Ver: TVARVC La
tabla TVARVC se puede cambiar y se pueden completar los nombres de las variables. Este nombre de variable no es el otro nombre de variable.
Lo que queremos almacenar en esta tabla puede ser una variable que personalicemos. El punto variable puede ser un archivo, un valor único o un rango de valores. Tome nuestro período como ejemplo. Este es un rango de valores de tiempo. Y es un rango de valores que se puede cambiar en cualquier momento.
En otras palabras, después de definir también la variable FISCPER, necesito escribir un fragmento de código para llamar al valor dinámico de esta variable en TVARVC.
¿Cómo lo escribo?
METHOD DTP_TEST.
DATA: ls_tvarvc TYPE tvarvc.
SELECT SINGLE *
FROM tvarvc
INTO ls_tvarvc
WHERE name = '*_DTP_FILTER'. //TVARVC里面的变量的名字
l_s_range-low = ls_tvarvc-low. //变量的区间低值
l_s_range-high = ls_tvarvc-high.
l_s_range-sign = 'I'.
l_s_range-opt = 'BT'.
APPEND l_s_range TO e_t_range.
ENDMETHOD.
Bien, ese es el final aquí. Es una comprensión simple.
Profundiza más tarde.