SAP BO. Windows 7, MAC compatibles con SAP Business One

Antes que nada una disculpa por la tardanza del post pero había estado ocupado con varias cosas entre ellas un fallo en mi disco duro lo cual me hizo perder bastante información. Al recibir mi computadora nueva me encontré con una (des)agradable sorpresa "Windows 7 profesional".

Después de haber hecho corajes un tiempo, empece a hacer lo necesario para trabajar en ella, cuando una interrogante capto mi atención, "en mi empresa usamos SAP Business One SP0 PL 49 ¿Como voy hacer para que mi cliente de SAP funcione en Windows 7 si se supone que no soporta ese cliente este sistema operativo?"

SAP BO. Por fin es Viernes...

Como no todo es trabajo, también tenemos que tener nuestros buenos muy muy buenos ratos de ocio, así que empecemos con diversos temas a hojear.

Primero y antes que nada, pues a menos de una semana del SuperBowl XLIV, uno de los eventos deportivos mas importante, si no es el que mas año con año, aparte de brindarnos un buen partido de futbol americano, también esta lleno de buena muy buena publicidad... y para muestra un botón; como este comercial en donde sale la que tiene el dedo mas feo de Hollywood, Megan Fox, la cual sale anunciando el nuevo Motorola Blur que viene con Android. Bueno aqui les dejo el video par que lo aprecien.


Fuente: PanchoSoft
Ahora que si quieren hecharle una hojeada al sin fin de publicidad que apareció en este evento vayan al canal de YouTube dedicado a esto o si no les agrada mucho esto del futbol americano, ahí que ver la otra cara de la moneda de este deporte.

Bueno tambien recordemos que se próxima el día del amor y la amistad no saben que regalar, que les parece una cena romántica con un toque extra:

"La fantasía de practicar “sexo en el baño” ya dejó de ser un hecho prohibido porque en Canadá una casa de comida ofrece para el día de los enamorados -14 de febrero- la posibilidad de que además de disfrutar de una excelente comida, las parejas se hagan una escapada al baño para tener un “encuentro romántico”" mas información
Ahora que si pasamos a algo mas seria, nunca hay que dejar de apreciar las cosas que la
naturaleza nos brinda:

"Un grupo de científicos ha avistado por primera vez en su entorno natural una Regalecidae o pez remo, un extraordinario y escurridizo pez que puede llegar a medir 17 metros -es uno de los más largos del mundo-, dotado con una prominente aleta dorsal que le da una inusual forma de serpiente. El equipo, en el que participan investigadores de la Universidad de Lousiana (Baton Rouge, EE.UU.) logró filmar al animal en aguas del Golfo de México cuando exploraba las profundidades marinas."

Y ya para los que tienen tiempo de sobra Friday Wild Girls

Saludos la siguiente semana seguiremos con mas de SAP Business One

SAP BO. Falta cuenta mayor en SAP Business One Parte II


Continuando con la saga de los errores prosigamos con lo siguientes errores que nos pueden aparecer en SAP. Como recuerdan nos quedamos en los errores que se generan en las lineas de los documentos, asi que continuemos con ellos.


Otros mensajes de error distintos en lineas de documento.

Consideremos un caso mas complejo. Para seguir estos pasos previamente haremos los siguiente:
  • Se creara una cotización (recordemos que este documento no revisa cuentas).
  • Se creara un entrega a clientes en base a la cotización que creamos previamente.
  • Se copia a una factura la entrega a clientes que acabamos de hacer
Ok supongamos que ahora al momento de crear la factura obtenemos el siguiente error:
La cuenta de impuestos no existe


En este caso el el error es muy claro, hay un impuesto que estamos usando en una liena del documento que no tiene una cuenta de impuesto de ventas asociada. Hagamos un poco de investigación para localizar el error. Vayamos a Gestión > General > Finanzas > Impuesto > Clase de impuesto. Seleccionamos la clase a la que pertenece nuestro impuesto y vemos los siguiente:


Como vemos, un impuesto que esta aplicando en la factura de ventas que queremos crear le hace falta su cuenta contable por lo tanto SAP nos informa del error al querer crear dicho documento. Después de asignar la cuenta correspondiente para ese impuesto podemos crear el documento sin ni un problema.

Ahora si ay que vimos ejemplificados algunos de los problemas mas comunes en las lineas de un documento pasemos a los siguientes tipos de errores. Estos errores son los errores de cabecera o de pie de documento, así que para no darle mas vueltas a este asunto continuemos.

Problemas de cabecera
Como lo hemos estado mencionando anteriormente, cuando un error al crear un documento que crea un asiento contable no menciona textualmente la palabra linea, line o en el idioma que tengan configurado su SAP. El error esta indicando falta de cuentas contables ya sea en la cabecera o en el pie de documento.

Supongamos este ejemplo. Queremos hacer una solicitud de anticipo de clientes, creamos un documento parecido al que se muestra en la siguiente imagen. Al querer crear el documento. SAP nos regresa el siguiente error.
Anticipo cta. acreedor/deudor no definido.
Si analizamos con detenimiento este error a diferente de los que hemos visto en este y en el post anterior, no nos esta indicando un número de linea, por lo que nuestra búsqueda se centrara en otra parte. Y el mismo mensaje de error es el que no guía diciéndonos que la cuenta faltante esta en alguna parametrización del cliente.

Por lo tanto vamos a los datos maestros del Socio de Negocios. Inmediatamente a la parte que tenemos que ir a buscar es en la pestaña de Finanzas. Una vez ahi, damos clic, vemos que la parte de Cuentas de compensación de anticipos y en cuentas asociadas, no hay cuentas contables que hagan referencia a el control de anticipos.


Una vez que asignemos las cuentas correspondientes, actualizamos la información del cliente y podremos realizar nuestros anticipo a clientes sin ningún problema.




Problemas de pie de documento.

Esperando que hasta aquí no haya ni un problemas ahora veremos, como un manejar los problemas de cuentas contables en pie de documentos. Estos casos se dan, cuando un documento de marketing maneja gastos adicionales y estos no cuentas con las cuentas contables correctas.

Para ejemplificar esto ahora creemos una facutra con un gasto adicional de por concepto de fletes veamos el error que nos arroja SAP.
No existen registros coincidentes. 'Cuentas de mayor (OACT)'...


Como vemos este error ha sido el menos claro de todos, podríamos deducir de manera rápida siguiendo todos los antecedentes que hemos visto en este y en la parte I. Pero como aquí estamos propiciando un error con algo nuevo (gasto adicional) ya sabemos por donde atacar este error. Para ver por que un gasto adicional nos esta provocando este error iremos a Gestion > Definición > General > Gastos adicionales

Vemos que nuestro gasto adicional llamado Flete no esta configurada ni una de las cuentas contables necesarias para hacer la transacción. Una vez configurados correctamente los gastos adicionales no tendremos ningún problema en crear la factura con su gasto adicional.

Con esto hemos cubierto todos los puntos de generales que abarca el no tener una o más cuentas contables pertinentes a la hora de hacer un transacción en SAP Business One. Espero que esta información les sea útil.




SAP BO. Falta cuenta mayor en SAP Business One Parte I

En toda nueva implementación de SAP Business One es necesario implementar la cuentas contables correspondientes de la empresa. El objetivo a seguir en este post sera darle una solución a un problema que podemos ver muy seguido duranete la implementación: "Falta cuenta de mayor...". Estos mensajes de error se producen cuando SAP Business One detecta que una o mas cuentas involucradas en una transacción estan faltando.


Como referencia les pongo los requisitos previos en los cuales están basadas las imágenes que veremos a lo largo del post.
  • Localizacion.- México
  • Configuración del sistema.- Spanish Latin América
  • SAP Business One SP 00 PL 49
  • Plan de cuentas.- MX_COA
Una vez que cargamos nuestro plan de cuentas, ya sea mediante DTW o de manera manual. Vamos a hacer un recuento de todas las áreas donde se configura una cuenta.

Determinacion de cuentas de mayor.
Gestion > Definiciones > Finanzas > Determinación de cuentas de mayor

En esta pantalla se definen la mayor parte de las cuentas involucradas en todas las transacciones de SAP Business One. En esta pantalla se definen las cuentas que comúnmente se usaran para todos los documentos de marketing (compras, ventas, inventarios) . En mi caso como estoy usando el MX_COA algunas cuentas ya vienen definidas por default y dependen de la localización y del plan de cuentas; en caso contrario si yo tuviera mi modelo de plan de cuentas en Opcional todas las opciones de esta pantalla estarían vacías.

Definicion del codigo de impuesto.
Gestión > Definiciones > Finanzas > Impuesto > Clases de impuesto.

Para cada impuesto se deben de definir sus cuentas contables, estas cuentas contables pueden variar por cada uno de los impuestos definidos.

Definicion del codigo de impuesto.
Gestión > Definiciones > Finanzas > Impuesto > Retención de impuesto.

Al igual que los impuestos, la retención de impuestos lleva asignación de cuentas de mayor.

Definición de gastos adicionales.
Gestión > Definiciones > General > Gastos adicionales

Los gastos adicionales ya sea por ingresos o por costos adicionales se les debe anexar su correspondiente cuenta contable.

Definición de bancos propios.
Gestión > Definiciones > Gestión de Bancos > Cuentas de banco propio.

Definición de tarjetas de crédito.
Gestión > Definiciones > Gestión de Bancos > Tarjetas de crédito

Definición de grupos de artículos.
Gestión > Definiciones > Inventario > Grupo de artículos.

Definición de almacenes.
Gestión > Definiciones > Inventario > Almacenes.


Ok una vez que pasamos por todas estas áreas de configuración vamos a la sintomatologia de SAP Business One.

Sintomas.
Bueno entrando a esta etapa nos responderemos esta pregunta:

¿Como SAP Business One alerta al usuario?
Por regla SAP Business One alerta cuando una o mas cuentas que intervienen una transacción hacen falta. Lamentablemente SAP no nos especifica que cuenta es la que hace falta. En vez de eso,como nos ve muy aburridos, nos mandara el numero de la linea en el mensaje de error, si y solo si la cuenta que falta en la transacción pertenece a alguna linea del documento, en caso contrario no nos especificara numero de linea.

Cabe mencionar que Sap Business One no valida cualquier cuenta de control a la hora de añadir documentos de marketing como:
  • Cotización
  • Orden de venta
  • Orden de compra
Hay otros documentos de marketing y operaciones de stock, que solo validan las cuentas contables relacionadas a almacenes o grupo de artículos como:
  • Entrega cliente
  • Devolución cliente
  • Entrega de mercancía proveedor
  • Devolución de mercancía proveedor
  • Operaciones de inventario (entrada, salida o transferencia de mercancía)
Recordemos que SAP Business One solo válida cuentas contables de control, cuando el documento crea un asiento en el diario y cuando se tiene configurado el control de los limites de crédito y las cantidades comprometidas.

Como solucionamos estos mensajes de error
En esta sección veamos como podemos solucionar problemas de este tipo, lo cual lo veremos en dos partes.
Solucionar mensajes de error de lineas
Imaginemos un caso de una entrada de mercancía de proveedores. Al momento de que querer agregar dicha entrada obtenemos el siguiente Horror digo error:
No se ha definido cuenta de stock [pedido entrada mercancía - filas - código almacén] [line:3] ,'A0003'

Que podemos deducir de este mensaje:
  • Nos falta una cuenta de mayor.
  • El problema esta relacionado a una linea del documento.
  • El problema viene entonces de la asignación de cuentas por almacén, por articulo o grupo de articulos, dependiendo la configuración que tengamos.
  • Y por ultimo sabemos que el articulo "A0003" es el del problema
Para arreglar el problema vamos a los datos maestros del articulo A0003, vamos a la pestaña Datos de inventario y verificamos la opción Fijar cuentas contables por, en el ejemplo que hice este articulo lo tengo por nivel de articulo buscamos en las cuenta del articulo A0003 y vemos que la cuenta de existencia de un almacén nos hace falta.

Nota.-Para que los campos de las cuentas sean visibles, tienen que ir a parametrizaciones de formulario(engranes) para habilitar que se muestren todos los campos relacionados a la gestión de cuentas.

En este ejemplo la solución fue fácil y la causa del error es fácilmente identificable. En resumen podemos sacar las siguientes conclusiones:
  • El mensaje de error indico claramente en donde estaba en problema
  • Buscamos el articulo y vimos que al visualizar todas sus cuentas de mayor faltaba una de las cuentas involucradas en la transacción
  • Una vez que definimos esta cuenta se puede generar de manera correcta la entrada de mercancía y su asiento contable correspondiente.
Para no hacer mas largo este post los siguientes errores los continuare en otro que en breve lo publicare.

Posted in | 2 comentarios

SAP BO. Mantenimiento preventivo de servidor y servicios de SAP Parte II

Como lo había comentado continuamos con esta segunda parte de mantenimiento preventivo de nuestro servidor. Ahora nos enfocaremos a lo que respecta el mantenimiento dentro de SQL Server. Los puntos a tratar serán los siguientes:
  • Compactar base de datos "Shrink" SQL.
  • Log de SQL.
  • Log de SAP.
  • Indexación de base de datos.
Compactar base de datos "Shrink" SQL

Como sabemos SAP libera notas que tratan temas de problemáticas, bugs, recomendaciones entre otras. En este caso hace tiempo SAP libero una nota que respecta a este tema. La nota es la numero 1224089 la cual textualmente dice lo siguiente:


Summary

Symptom
How to shrink the logfile of any database, including the sbo-common, on MSSQL Server 2005 or MSSQL Server 2008.

Other terms
shrink database, shrink, shrink DB, SAP Business One, MSSQL 2005 Server, MSSQL 2005, SQL 2005, SQL 2005 Server, Microsoft SQL Server 2005, MSSQL 2008 Server, MSSQL 2008, SQL 2008, SQL 2008 Server, Microsoft SQL Server 2008, truncate, truncate database, size, reduce, backup, logfile, log


Solution
1. Open the SQL Server Management Studio
2. Connect to the server (use user 'SA' and Password where the file to be shrunk is located.
3. In the Object Explorer window open the folder 'Databases'.
4. Right-click on the database, whose logfile you want to shrink.
5. Select 'Tasks', then 'Shrink' and then 'Files'.
6. Beside the field 'File type' click on the drop-down arrow and select 'Databasename_log'.
7. Select the 'Shrink action' desired. SAP Business One Product Support recommends to choose 'Release unused space' (Please refer to Microsoft documentation for details on 'Shrink action'.)
8. If desired, tick the box for 'Shrink the file later' and select a suitable date and time. (Please refer to Microsoft documentation for details on 'Shrink the file later'.)
9. Click on 'OK'and wait for the message from SQL Server Management Studio: 'Shrink log file completed successfully'.
10. Click on 'OK' in the message box.

Como ven la nota da los pasos a seguir para realizar el Shrink de una base datos. Esta nota aplica para SQL 2005 y 2008. Para aquellas personas que cuenta con SQL 2000 y quieran realizar esta acción les recomiendo que sigan la nota numero 1002099. Otra recomendación que les puedo hacer aquí, es que antes de realizar estos pasos de compactar su base de datos, primero cambien su modelo de recuperación (recovery model) a Simple y una vez hecho el proceso lo regresen a Completo, esto lo hacen:
  1. Seleccionen la base de datos.
  2. Clic derecho > Propiedades.
  3. Opciones.
  4. Modelo de recuperación = Simple, Completa, Registro Másivo
No ocupan reiniciar los servicios de SQL para que estos cambios apliquen.
Log de SQL.

Como se sabe es mucho mejor (aunque implique mas esfuerzo para el motor de SQL) manejar el modelo de recuperación Completa(Full) ya que estos nos brinda la capacidad de hacer respaldos del log de SQL. Y esto a su vez nos ayuda en gran parte a la alta disponibilidad de nuestro sistema mediante la combinación adecuada de respaldos de log, diferenciales y completos. Una de las consecuencias de tener nuestro modelo de recuperación completa, es que el tamaño del log de transacciones puede dispararse por diversas operaciones que se dan dia a día con el uso de SAP Business One, pero también ahí otras que suelen ocasionar un aumento indiscriminado de nuestro log como son las cargas masivas de información mediante DTW (Data Transfer Workbench) entre otras.

Los pasos que vamos a ver a continuación se deben de usar solo en caso de ser necesario y todos los usuarios deben de estar fuera del sistema antes de ejecutar este proceso. También les recomiendo realizar este proceso por la noche o fuera de horarios de trabajo y con mucho tiempo de holgura ya que este proceso puede tardar horas. Estos pasos son sentencias de SQL y los pasos son:

1.-Borrar el Log de transacciones.
BACKUP LOG WITH TRUNCATE_ONLY

2.-Reducir el tamaño del log de transacciones.
DBCC SHRINKDATABASE ( , TRUNCATEONLY)

Con estas dos instrucciones de SQL damos un mantenimiento adecuado a a nuestro log de transacciones. Les recomiendo que si sus archivos .ldf estan en el mismo disco duro que los .mdf, den este mantenimiento si los archivos .ldf superan los 2 Gb de espacio.

Log de SAP

Con lo que respecta al log de SAP solo es necesario hacer un pequeña configuración para que este no llene el disco duro de las computadoras que tienen el cliente de SAP. Este log se escribe cuando pasa algún error de SAP. Ejemplo claro de esto puede ser cuando perdemos conectividad con el servidor y al momento de querer establecer contacto de nuevo provoca un fallo (que no es de alarmarse).

La ruta por default donde se guardan dichos error es c:\Program Files\SAP\SAP Business One\Log\ donde se generar archivos *.DMP y archivos *.TXT. Los cuales traen información como esta:


--------Logger Started-------- at : 04/01/2010 10:10:55:468750
04/01/2010 10:10:55:421875 General NoteLogAlways ***** Help LOIO: Loading from Resource ***** C:\Program Files\SAP\SAP Business One\SAP Business One.exe PID=1188 TID=3512 d:\depot\BUSMB_B1\SBO\2006A_REL\Application\__Engines\HELP\__HELP.c 127
04/01/2010 10:12:12:203125 SystemMessage CriticalError Unhandled exception occur. See stack in 㾒δ㾐δ logfile C:\Program Files\SAP\SAP Business One\SAP Business One.exe PID=1188 TID=3512 d:\depot\BUSMB_B1\SBO\2006A_REL\InfraStructure\Common\UnHandledExceptionHandler.cpp 227

En algunas ocasiones para brindar soporte directo de SAP, se pueden llegar a solicitar los *.DMP que genera el sistema para su estudio. Estos generación de archivos es la que se configura en Parametrizaciones Generales en la pestaña Actividades

Indexación de base de datos

Como lo vimos en el punto Shrink, existe una nota de SAP con el numero 1241422 que nos indica y nos da una consulta que nos permite llevar la gestión de la indexación. Esta nota dice lo siguiente:


Summary

Symptom
During the lifetime of a SBO database and due to insert\update\delete of data, the information in indexes is fragmented. Fragmentation exists when indexes have pages in which the logical ordering, based on the key value, does not match the physical ordering inside the data file. Heavily fragmented indexes can cause slow performance.

Other terms
Index, performance, re-index, reindex, slow, poor, DB

Reason and Prerequisites
FAQ

Solution
It is recommended to run a rebuild the following procedure once\twice a month:

/*
Reindex procedure.
Will execute dbcc dbreindex on each table in db

*/

DECLARE @tableName as sysname
DECLARE @strExec as varchar(1000)

-- Cursor declartion
DECLARE tableNameCursor CURSOR READ_ONLY FAST_FORWARD FOR
-- Take all user table
SELECT [name] FROM sysobjects WHERE xtype = 'U'
OPEN tableNameCursor
FETCH NEXT FROM tableNameCursor INTO @tableName
WHILE @@FETCH_STATUS = 0
BEGIN
-- Create the statment
SET @strExec = 'dbcc dbreindex (''' + @tableName + ''','''',0 )'
-- Execute the procedure
exec (@strExec)
FETCH NEXT FROM tableNameCursor INTO @tableName
END
CLOSE tableNameCursor
DEALLOCATE tableNameCursor

Before running:
Be sure you have enough free space (up to twice the size of used space).
If you need to shrink the db (it is not recommended - it will create fragmentation) do it before re-index. You can use the following script:

/*------------------------------------------------------------------------
Shrink db
--------------------------------------------------------------------------*/
DECLARE @dbName as sysname
DECLARE @strExecShrink as varchar(500)

-- Get db name
SET @dbName = (select db_name())

SET @strExecShrink = 'DBCC SHRINKDATABASE(''' + @dbName + ''',10)'

EXEC(@strExecShrink)

The re-index will take a while (It may run more than two hours on large database); during his running the db will not be available for work.
Related resources:
SQL Server Books Online.
http://msdn.microsoft.com/en-us/library/ms189858(SQL.90).aspx.
Esta consulta es compatible con SQL 2005, y se puede obtener mas información en MSDN de Microsoft, al igual que con el log es importante que nadie este conectado y que se tenga el tiempo suficiente para que este proceso termine por que puede tardar horas. Antes de terminar con nuestro post le dejo un listado de recomendaciones.

Servicio Backup de SAP
- Respaldos diarios, 3 a.m. (preferentemente una unidad de almacenamiento diferente al servidor).
- Si es posible una unidad externa para uso exclusivo para respaldos.
- Depurar respaldos con antigüedad mayor a un mes.
- Archivar respaldos de cierre de mes en unidad externa (12 respaldos por año).

Servicios SQL
- Programar procesos de shrink e indexación por periodos de 3 meses
- Insisto hacerlo con tiempo de sobra, fuera de horarios de oficina y sin que ningún usuario este conectado al sistema.

Posted in | 0 comentarios
Related Posts with Thumbnails