¿Necesita generar informes basados en períodos fiscales y requiere KPI, como un año fiscal móvil o un año fiscal hasta la fecha? ¿Su año fiscal se desvía de un año calendario? Si está utilizando SAP Data Warehouse Cloud con SAP Analytics Cloud o una herramienta de informes de terceros, esta serie de blogs lo ayudará a cumplir esos requisitos. Hoy en día, no existe una función lista para usar que proporcione esto, pero esta serie de blogs le brinda generadores para calendarios fiscales y varias plantillas de SQL para crear sus KPI basados en el período fiscal.
Figura 1: Cálculo del año fiscal hasta la fecha basado en esta serie de blogs
Para generar informes con KPI basados en el año fiscal, los períodos fiscales o incluso las semanas fiscales, básicamente necesita dos cosas:
Para cumplir con los requisitos de los KPI, como el año fiscal móvil o el YTD fiscal, primero necesitamos un calendario fiscal en SAP Data Warehouse Cloud. Eso es lo que se maneja en esta publicación de blog. La lógica para calcular los KPI se maneja en publicaciones de blog posteriores.
Esta publicación de blog y la publicación posterior describirán cada una un método para generar un calendario fiscal:
Para que sepa cómo se ve esto, busquemos una configuración de período fiscal en un sistema fuente real basado en SAP ABAP. A continuación se muestra un ejemplo de una configuración de período fiscal en un sistema de origen basado en SAP ABAP, que se puede encontrar en la transacción OB29. Es probable que en su caso, la configuración aquí ya se haya realizado y no haya razón para realizar ningún cambio. Para este blog, solo me gustaría mostrar esta captura de pantalla para que sepa qué entrada estoy usando para el resultado que verá más adelante. Como puede ver, tenemos un año fiscal que funciona con meses calendario completos, pero que comienza en abril.
Las tablas T009 y T009B en un sistema fuente ABAP contienen los metadatos de los calendarios fiscales en su sistema fuente. Primero, estas tablas deben replicarse en SAP Data Warehouse Cloud, antes de que podamos ejecutar un procedimiento para generar el calendario completo. A continuación dos capturas de pantalla del contenido de estas tablas.
Las tablas T009 y T009B deben importarse a SAP Data Warehouse Cloud desde ECC/S4, por ejemplo, mediante la conexión ABAP de SAP Data Warehouse Cloud. Puede obtener estas tablas en SAP Data Warehouse Cloud de la forma que prefiera, solo se trata de tener las tablas y los datos disponibles.
El procedimiento generador que crea los datos del calendario fiscal solo se puede llamar desde el esquema Open SQL. Por lo tanto, para ejecutar el procedimiento utilizando las tablas T009 y T009B, estas primero deben estar expuestas al esquema Open SQL. Al momento de escribir, no se pueden exponer tablas, solo vistas. Entonces, primero debemos crear una vista envolvente alrededor de cada una de las tablas. En mi caso, los he llamado LV_T009 y LV_T009B.
Si aún no tiene un esquema Open SQL creado, cree un usuario de base de datos en la administración del espacio. Habilite el acceso de lectura (SQL) y Habilite el acceso de escritura (SQL).
Necesitamos una tabla de destino para que el procedimiento escriba los datos. Debajo del código para dicha tabla. Para su referencia, la estructura de esta tabla se deriva de la tabla _SYS_BI.M_FISCAL_CALENDAR, que ya existe en la base de datos de HANA debajo de su instancia de SAP Data Warehouse Cloud. Sin embargo, no tendrá los derechos para escribir en esta tabla, por lo que la creamos nosotros mismos.
CREATE COLUMN TABLE "OT_FISCAL_CALENDAR_SAP"(
"CALENDAR_VARIANT" NVARCHAR(2),
"DATE" NVARCHAR(8),
"DATE_SQL" DATE,
"FISCAL_YEAR" NVARCHAR(4),
"FISCAL_PERIOD" NVARCHAR(3),
"CURRENT_YEAR_ADJUSTMENT" NVARCHAR(2),
PRIMARY KEY INVERTED INDIVIDUAL(
"CALENDAR_VARIANT",
"DATE"
)
);
Antes de poder ejecutar el procedimiento, debe crear tablas de copia con los datos de las vistas expuestas y crear sinónimos que apunten a esas tablas. Esto parece un poco aleatorio, pero la razón de esto es que el procedimiento para generar los datos de muestra es muy específico con respecto a sus requisitos de entrada. Por lo general, este procedimiento se llama desde una interfaz de usuario, como SAP HANA Studio o SAP Business Application Studio, donde estos requisitos previos ya se cumplen y están ocultos para el usuario final.
CREATE TABLE OT_T009 AS (SELECT * FROM SEFANSFISCALSTUFF.LV_T009);
CREATE TABLE OT_T009B AS (SELECT * FROM SEFANSFISCALSTUFF.LV_T009B);
CREATE SYNONYM OT_T009_SYN FOR OT_T009;
CREATE SYNONYM OT_T009B_SYN FOR OT_T009B;
Ahora se puede ejecutar el procedimiento. El procedimiento UPDATE_FISCAL_CALENDAR ya reside en la base de datos de HANA debajo de SAP Data Warehouse Cloud, y debería poder ejecutarlo directamente usando su usuario de esquema Open SQL. Utilice el siguiente código y ajuste los parámetros cuando sea necesario.
CALL "UPDATE_FISCAL_CALENDAR"(
T009_SYNONYM_NAME => 'OT_T009_SYN'/*<NVARCHAR(256)>*/,
T009B_SYNONYM_NAME => 'OT_T009B_SYN'/*<NVARCHAR(256)>*/,
T009_SCHEMA_NAME => 'SEFANSFISCALSTUFF#FISCAL_CALENDAR_SAP'/*<NVARCHAR(256)>*/,
FISCAL_VARIANT => 'K1'/*<NVARCHAR(3)>*/,
FROM_YEAR => '2022'/*<NVARCHAR(4)>*/,
TO_YEAR => '2023'/*<NVARCHAR(4)>*/,
CLIENT => '100'/*<NVARCHAR(3)>*/,
TARGET_SCHEMA_NAME => 'SEFANSFISCALSTUFF#FISCAL_CALENDAR_SAP'/*<NVARCHAR(256)>*/,
TARGET_TABLE_NAME => 'OT_FISCAL_CALENDAR_SAP'/*<NVARCHAR(256)>*/,
WITH_LEADING_ZEROS => 0 /*<TINYINT>, use 0 or 1 */
);
Ahora, los datos del período fiscal deben generarse en la tabla de destino en el esquema Open SQL, y debería poder volver a consumir estos datos en SAP Data Warehouse Cloud, como puede ver en la siguiente captura de pantalla.
En caso de que la generación de procedimientos no funcione como se esperaba, puede ejecutar un seguimiento para diagnosticar los llamados «procedimientos integrados». Las dos declaraciones a continuación indican que se activa y desactiva dicha traza. El seguimiento se puede encontrar en el archivo indexserver.trc.
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'system') SET ('trace', 'BuiltinProc') = 'debug' WITH RECONFIGURE;
ALTER SYSTEM ALTER CONFIGURATION ('indexserver.ini', 'system') UNSET ('trace', 'BuiltinProc') WITH RECONFIGURE;
Mientras escribía este blog, primero ejecuté el procedimiento sin usar sinónimos para apuntar a las tablas de origen T009 y T009B. Se lanzó el siguiente error, que señaló el problema.
[2509]{213222}[3089/-1] 2022-12-08 14:16:12.709533 d BuiltinProc FiscalCalendar.cpp(00052) : UpdateFiscalCalendarInHDI: theSynonym is not a synonym: T009_COPY
[2509]{213222}[3089/-1] 2022-12-08 14:16:12.709562 d BuiltinProc BP_UpdateFiscalCalendar.cpp(00106) : BuiltinProcedure_UPDATE_FISCAL_CALENDAR finished with status: 1. Invalid synonym parameter specified: 'T009_COPY'
Este blog explicó cómo generar datos del período fiscal, utilizando un procedimiento que ya se entrega con SAP Data Warehouse Cloud. Este es el primer paso para trabajar con informes fiscales. En publicaciones de blog posteriores, analizaré ejemplos sobre cómo crear KPI sobre esto.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073