• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
Twitter Linkedin Instagram
S4PCADEMY_Logo
Twitter Linkedin Instagram
FORMACIÓN SAP

Generación de calendario fiscal para SAP Data Warehouse Cloud utilizando un procedimiento integrado

By s4pcademy 


¿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:

  1. Un calendario fiscal que le permite unir los datos de sus transacciones con años y períodos fiscales. Dicho calendario es básicamente una tabla que contiene fechas que se corresponden con el año fiscal, el período fiscal y, opcionalmente, la semana fiscal. Al momento de escribir, en SAP Data Warehouse Cloud, solo se puede generar un calendario estándar (gregoriano), pero no calendarios fiscales. Si su año fiscal es igual a un calendario regular (gregoriano), entonces está bien, pero de lo contrario necesita una alternativa.
  2. Lógica para calcular KPI’s en base a ejercicios y periodos. SAP Analytics Cloud tiene dicha funcionalidad, pero, en el momento de escribir este artículo, para SAP Data Warehouse Cloud solo funciona en las vistas de calendario gregoriano generadas en un espacio, no en calendarios (fiscales) personalizados.

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.

Generadores alternativos de calendario fiscal

Esta publicación de blog y la publicación posterior describirán cada una un método para generar un calendario fiscal:

  • La publicación de blog actual describe cómo aprovechar un calendario fiscal del sistema fuente de SAP utilizando un procedimiento integrado existente en SAP Data Warehouse Cloud.
  • La siguiente publicación de blog describe un método basado en sqlscript para generar un calendario fiscal, que puede usar sin necesidad de ningún sistema fuente SAP. Este calendario también admitirá requisitos algo diferentes, como un calendario fiscal semanal.

Ejemplo de configuración del período fiscal en el sistema de origen

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.

Figura%201%3A%20Fiscal%20Período%20configuración%20en%20fuente%20sistema

Figura 1: Configuración del período fiscal en el sistema de origen

Paso 1: Importe los metadatos del calendario fiscal en SAP Data Warehouse Cloud

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.

Figure%202%3A%20Table%20T009%20sample%20data%20%28K1%20is%20used%20throughto%20this%20blog%29

Figura 2: Datos de muestra de la tabla T009 (PERIV=K1 se usa a lo largo de este blog)

Figure%203%3A%20Table%20T009B%20sample%20data%20%28K1%20is%20used%20throughto%20this%20blog%29

Figura 3: Datos de muestra de la tabla T009B (PERIV=K1 se usa en este blog)

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.

Figure%202%3A%20Import%20fiscal%20variant%20tables%20from%20SAP%20source%20system

Figura 4: Importar tablas de variantes fiscales desde el sistema fuente de SAP

Paso 2: exponga los metadatos del calendario fiscal al esquema Open SQL

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.

Figura%203%3A%20Exponer%20tabla%20T009%20a%20el%20Abrir%20SQL%20esquema%20como%20vista%20LV_T009

Figura 5: Exponga la tabla T009 al esquema Open SQL como vista LV_T009

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).

Figura%203%3A%20Crear%20base de datos%20usuario%20bajo%20Espacio%20Administración

Figura 6: Crear usuario de base de datos en Administración de espacio

Paso 3: Cree una tabla de calendario fiscal y ejecute un procedimiento integrado

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.

Figura%204%3A%20Datos%20vista previa%20de%20los%20generados%20datos

Figura 7: Vista previa de los datos generados, importados a SAP Data Warehouse Cloud

Resolución de problemas: declaración de seguimiento para procedimientos internos

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'

Conclusión

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.




ASSERTION_FAILED o FAA_CMP Errores en tcode AJAB y OAAQ y FAA_CMP y OAAR
Previo
📢 ¡El servicio SAP Launchpad ahora es SAP Build Work Zone, edición estándar!
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.