jueves, 25 de septiembre de 2014

Guía de Configuración en SAP FI-AA: Parámetros Clave y Transacciones de Parametrización

En el módulo de Contabilidad de Activos Fijos (FI-AA), la correcta definición de los parámetros globales es el cimiento para asegurar una depreciación exacta, reportes financieros fiables y un cumplimiento estricto de las normas contables locales e internacionales (como las NIIF/IFRS).

La mayoría de los parámetros estructurales y de control de este módulo pueden ser creados y modificados haciendo uso de las siguientes transacciones clave del Customizing:



 

1. Transacción ORFA: El Menú de Configuración General de Activos Fijos

La transacción ORFA es, en realidad, el acceso directo al árbol de la guía de implementación (IMG) exclusivo para Activos Fijos. En lugar de navegar por toda la transacción SPRO, ORFA te sitúa directamente en el corazón de FI-AA.

Desde este menú estructurado, un consultor o administrador del sistema puede parametrizar:

  • Estructuras Organizativas: Definición y asignación de los planes de valoración (Chart of Depreciation), que agrupan las reglas de depreciación de una o varias sociedades.

  • Clases de Activos Fijos (Transacción OAOA): El enlace principal entre el maestro de activos fijos y la contabilidad de mayor (FI-GL). Aquí se define el rango de números y la asignación de cuentas.

  • Áreas de Valoración (Transacción OADB): Configuración de las diferentes "capas" de cálculo de amortización (por ejemplo, Área 01 para Libros Locales, Área 30 para IFRS/NIIF, Áreas Fiscales, etc.).

2. Transacciones Clave Complementarias para la Operación de FI-AA

Para complementar el uso de la ORFA, existen transacciones específicas que todo consultor de sistemas y analista contable de activos fijos debe dominar para la parametrización diaria:

A. Métodos y Claves de Amortización (Transacción AFAMA)

Las claves de amortización dictan la matemática exacta de cómo el sistema desgastará el valor del activo a lo largo de su vida útil. Mediante la AFAMA, se configuran y activan estas claves, combinando los métodos de cálculo básicos, de periodos y de fin de amortización.

B. Determinación de Cuentas (Transacción AO90)

Es uno de los puntos de integración más críticos entre FI-AA y FI-GL. En la AO90, se parametrizan las cuentas de balance (adquisición, producción, revalorización) y las cuentas de resultados (gastos de amortización y amortización acumulada) para cada clase de activo fijo y área de valoración.

C. Variantes de Pantalla y Reglas de Estructuración (Transacción AOLA)

Controla qué campos son obligatorios, opcionales, visualizables o invisibles al momento de crear un dato maestro de activo fijo (a través de la transacción AS01). Esto evita errores humanos de introducción de datos por parte de los usuarios operativos.

3. Consideraciones de Arquitectura en Entornos S/4HANA

Si estás administrando o configurando el sistema en entornos modernos de SAP, debes tener en cuenta que la arquitectura de activos fijos evolucionó hacia la Nueva Contabilidad de Activos Fijos (New Asset Accounting):

💡 El Impacto en S/4HANA: Aunque la transacción ORFA sigue siendo el punto de partida para la configuración, la integración con el Diario Universal (ACDOCA) elimina la necesidad de transacciones de reconciliación clásicas (como la ABST2). Ahora, la contabilización de la depreciación (transacción AFAB) escribe directamente en tiempo real en la contabilidad general para todos los principios contables definidos en los ledgers paralelos.

Conclusión

El uso estratégico de la transacción ORFA optimiza el tiempo de implementación y mantenimiento de la estructura financiera de la empresa. Conocer a fondo este mapa de parametrización asegura que el ciclo de vida completo del activo fijo —desde su alta o capitalización inicial, pasando por su amortización mensual, hasta su baja o desincorporación— esté perfectamente automatizado y alineado con los objetivos del negocio.

 

sábado, 20 de septiembre de 2014

Como corregir el error SoapUI JVM Maximum Heap Siz

soapUI es una herramienta muy útil y justamente esta es la razón por la cual se ha convertido en mi herramienta favorita para probar servicios web.
 
En una de mis ejecuciones de esta herramienta he apreciado que esta no ha querido iniciar el aplicativo y he obtenido el siguiente error: "soapUI JVM maximum heap size (-Xmx) error message"
 
The JVM could not be started. The maximum heap size (-Xmx) might be too large or an antivirus or firmware tool could block the execution.
 

Solución

El problema Java maximum heap size (-Xmx) ocurre cuando Soap UI intenta obtener la cantidad de memoria en un solo bloque y esta no se encuentra disponible.

Paso #1. Diríjase a la ruta “C:\Program Files\SmartBear\soapUI-x.x.x\bin” en su sistema y localice el archivo  soapUI-x.x.x.vmoptions.
Donde x.x.x corresponde a la versión e Soap UI que usted utilice

soapUI Java Heap Memory Issue - soapUI-4.5.2.vmoptions
Paso #2. Ahora haga click derecho en el archivo y ábralo usando el editor de texto de su preferencia

soapUI Java Heap Size Issue - edit soapUI-4.5.2.vmoptions

Una vez lo abra, observará que el archivo luce de la siguiente manera:
-Xms128m
-Xmx1000m
-Dsoapui.properties=soapui.properties
-Dsoapui.home=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin
-Dsoapui.ext.libraries=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/ext
-Dsoapui.ext.listeners=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/listeners
-Dsoapui.ext.actions=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/actions
-Dwsi.dir=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/wsi-test-tools
-Djava.library.path=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin
-Djava.util.Arrays.useLegacyMergeSort=true
-Djxbrowser.xulrunner.dir=C:\Program Files (x86)\SmartBear\soapUI-4.5.2\.JxBrowser
Reduce el valor de  -Xmx a uno mas pequeño tal como 512m.

Paso #3. Guarde el archivo soapUI-x.x.x.vmoptions y ejecute el archivo soapUI.exe.

Versión Original:
http://quicksoftwaretesting.com/soapui-jvm-heap-size-xmx-error/

MRP Para algunos materiales - Ampliación M61X0001

SAP provee la funcionalidad MRP a nivel de planta (MD01) y a nivel de material (MD02/MD03). Dependerá de la implementación si se debe realizar la ejecución para una planta o para un conjunto especifico de materiales. 
 
Utilizando la ampliación  M61X0001

SAP provee la ampliación M61X0001. Esta puede ser verificada e implementada haciendo uso de la transacción SMOD



Una vez lo haga, seleccione la opción componentes.

Esta presentará dos módulos de función para los Exits:
  • EXIT_SAPLM61C_001 
  • EXIT_SAPMM61X_001

Double click uno de los modulos de función y visualice la lista de objetos (Ctrl+Shift+F5)
 
Una vez hecho esto, dentro del exit, en este caso el EXIT_SAPMM61X_001 encontrará el include ZXM61U01. Es en este lugar donde deberá incluirse el código. 
 
A continuación se ilustra un ejemplo del programa dentro del éxit. 

============================================

Function EXIT_SAPLM61C_001
*----------------------------------------------------------------------*
* INCLUDE ZXM61U02 *
*----------------------------------------------------------------------*
* PLEASE NOTE: this code must be identical to ZXM61U01.
CLEAR: NO_PLANNING, STOP_PLANNING.
CASE USER_KEY.
*----------------------------------------------------------------------*
* select materials for one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
WHEN '001'.
UXPAR = USER_PAR.
CONDENSE UXPAR.
WRITE UXPAR+0(3) TO DISPO.
IF DISPO IS INITIAL.
EXIT.
ENDIF.
IF MT61D-DISPO <> DISPO.
NO_PLANNING = 'X'.
ENDIF.
ENDCASE.


Function EXIT_SAPMM61X_001
*----------------------------------------------------------------------*
* INCLUDE ZXM61U01 *
*----------------------------------------------------------------------*
* PLEASE NOTE: this code must be identical to ZXM61U02.
CLEAR: NO_PLANNING, STOP_PLANNING.
CASE USER_KEY.
*----------------------------------------------------------------------*
* select materials for one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
WHEN '001'.
UXPAR = USER_PAR.
CONDENSE UXPAR.
WRITE UXPAR+0(3) TO DISPO.
IF DISPO IS INITIAL.
EXIT.
ENDIF.
IF MT61D-DISPO <> DISPO.
NO_PLANNING = 'X'.
ENDIF.
ENDCASE.