Tips and Tricks SAP BW / BO /R3

23
En BO las siguientes fórmulas tienen comportamiento inesperado: =Suma(Si([Orden2Referencias].[TipoDocumento]=95;1;0)) > NO FUNCIONA BIEN =Cuenta([Orden2Referencias].[TipoDocumento]) Donde ([Orden2Referencias].[TipoDocumento]=95) > SI FUNCIONA BIEN Si a una característica que está en un cubo, le añadimos nuevos atributos, para que nos los reconozca, tenemos que quitarla del cubo y volverla a añadir. No se puede cambiar la estructura de un infocubo añadiendo características que sean atributos de datos maestros a menos que borremos antes el contenido del infocubo; sí que se pueden añadir sin borrar ratios. Para borrar una variable de texto creada previamente en BEx Query Designer, se escribe & y aparecerá un menú contextual; seguidamente se selecciona la variable y al hacer clic sobre ella podremos entrar para editarla, y pulsar en el botón de la papelera para borrarla. Una vez borrada seguirá apareciendo hasta que no se cierre y se vuelva a abrir de nuevo el BEx Query Designer. Para que no aparezcan los mensajes de advertencia en BEx Analyzer, pulsar en opciones y activar la opción “Suprimir advertencias”. Si cambiamos algo que extraemos de r/3 mediante un extractor, en BW hay que volver a repetir la fuente de datos, pero no basta con eso, hay que volver a activar las reglas de transferencia del infopaquete, y quizás en caso de que no funcione, borrar el infopaquete y volverlo a crear. Los Universos creados a partir de una query de BW no soportan dimensiones numericas, sólo carácter. Si le cambiamos el tipo a numérico obtendremos un error OLAP driver not capable. ver http://forums.sdn.sap.com/thread.jspa?threadID=1495306 . Al diseñar un universo, comprobar que ningún objeto de tipo medida tenga asociadas listas de valores. Si no queremos que se pueda navegar haciendo clic en el valor de una medida de un informe Webi, crear una variable con la medida en cuestión y mostrar en el informe la variable en vez de la medida. De esta forma, no aparecerá la opción para hacer drillup / drilldown. La opción “use query drill” (usar exploración de consulta) en Webi puede mejorar el rendimiento de las navegaciones. Si tenemos un conjunto de medidas muy grande en una consulta BEx, activar la opción “use

description

Algunos trucos sobre pequeños problemas que he ido encontrando en el trabajo diario con estas tecnologías

Transcript of Tips and Tricks SAP BW / BO /R3

Page 1: Tips and Tricks SAP BW / BO /R3

­ En BO las siguientes fórmulas tienen comportamiento inesperado: =Suma(Si([Orden2Referencias].[TipoDocumento]=95;1;0)) ­> NO FUNCIONA BIEN =Cuenta([Orden2Referencias].[TipoDocumento]) Donde ([Orden2Referencias].[TipoDocumento]=95) ­> SI FUNCIONA BIEN ­ Si a una característica que está en un cubo, le añadimos nuevos atributos, para que nos los reconozca, tenemos que quitarla del cubo y volverla a añadir. ­ No se puede cambiar la estructura de un infocubo añadiendo características que sean atributos de datos maestros a menos que borremos antes el contenido del infocubo; sí que se pueden añadir sin borrar ratios. ­ Para borrar una variable de texto creada previamente en BEx Query Designer, se escribe & y aparecerá un menú contextual; seguidamente se selecciona la variable y al hacer clic sobre ella podremos entrar para editarla, y pulsar en el botón de la papelera para borrarla. Una vez borrada seguirá apareciendo hasta que no se cierre y se vuelva a abrir de nuevo el BEx Query Designer. ­ Para que no aparezcan los mensajes de advertencia en BEx Analyzer, pulsar en opciones y activar la opción “Suprimir advertencias”. ­ Si cambiamos algo que extraemos de r/3 mediante un extractor, en BW hay que volver a repetir la fuente de datos, pero no basta con eso, hay que volver a activar las reglas de transferencia del infopaquete, y quizás en caso de que no funcione, borrar el infopaquete y volverlo a crear. ­Los Universos creados a partir de una query de BW no soportan dimensiones numericas, sólo carácter. Si le cambiamos el tipo a numérico obtendremos un error OLAP driver not capable. ver http://forums.sdn.sap.com/thread.jspa?threadID=1495306 . ­ Al diseñar un universo, comprobar que ningún objeto de tipo medida tenga asociadas listas de valores. ­ Si no queremos que se pueda navegar haciendo clic en el valor de una medida de un informe Webi, crear una variable con la medida en cuestión y mostrar en el informe la variable en vez de la medida. De esta forma, no aparecerá la opción para hacer drill­up / drill­down. ­ La opción “use query drill” (usar exploración de consulta) en Webi puede mejorar el rendimiento de las navegaciones. ­ Si tenemos un conjunto de medidas muy grande en una consulta BEx, activar la opción “use

Page 2: Tips and Tricks SAP BW / BO /R3

selection of structure members” en el “query monitor” (transacción RSRT). ­Abrir SAP desde un link: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/21867 (Creating a Hyperlink from WebI to an ECC transaction) ­ En BW pasa a menudo que los infopaquetes, las infofuentes, estructuras de comunicación, etc se crean en una orden local ($TMP). Para cambiar el paquete de $TMP a uno transportable, desde el objeto en cuestión, por ejemplo, una vez que estamos en una infofuente utilizamos el menú Detalles ­ Entrada catálogo obj. ­ Infofuente, etc. y vamos cambiando a nuestro paquete transportable, y asignando a una orden de transporte:

Le asignamos nuestro paquete (en nuestro caso era ZBW0001), y nos sugiere la orden de

Page 3: Tips and Tricks SAP BW / BO /R3

transporte en la que añadirlo, si es el primer objeto a transportar, deberemos crear una orden nueva. ­ En la transacción SE09 (Transport Organizer) podemos ver las órdenes de transporte y lo que llevan ­ Mantenimiento orden BEx. Si transportamos todas las queries, etc del BEx nos podemos encontrar con que la orden estándar BEx se ha liberado, y no hay una orden asociada para este tipo de objetos en BW. Si ocurre esto, al abrir una query con el BEx no nos dejará modificarla, porque hay que asignar una orden para este tipo de objetos. Ver http://mistrucossapbi.blogspot.com.es/2007/04/orden­bex.html ­ Variaciones porcentuales en BEx: Operador % Las variaciones porcentuales del tipo Real respecto a Plan, (REAL ­ PLAN) / PLAN* 100 se pueden escribir utilizando este operador como como REAL% PLAN. (se lee Varianza porcentual entre PLAN y REAL) Otros ejemplos: Margen = (Ingresos ­ Costes) / Ingresos = ­ (Costes % Ingresos) Variación % s/presupuesto = (actual ­ presupuesto) / presupuesto = actual % presupuesto ­ SE09: Transport Organizer, transacción para visualizar las órdenes de transporte ­ Otro truco para los transportes en BW. Muchas veces fallan, porque algún objeto dependiente que hay que transportar se ha quedado en $TMP y no somos capaces de encontrarlo. Lo más conveniente es incluir los objetos en la orden de transporte mediante RSA1 Conexión de transporte. Este modo de incluir objetos en orden de transporte es mucho más potente que incluirlos uno a uno y normalmente nos arrastra a la orden los objetos dependientes quitándonos problemas para más adelante. ­ Cómo modificar un cubo desde transaccional a normal o viceversa. Este check no se puede modificar en un cubo directamente; ya esté lleno o vacío una vez creado el infocubo, en principio no se puede modificar, pero existe un programa estándar que podemos ejecutar desde la SE38, llamado SAP_CONVERT_NORMAL_TRANS que nos permite llevar a cabo esta tarea y ahorrarnos el trabajo de eliminar el cubo y volver a definirlo en caso que nos hayamos equivocado al crearlo. ­ Para controlar que no se pisen cadenas de procesos hay una transacción: RSBATCH ­ Problema: Excel inplace no muestra datos en R3: Nota OSS 696069, donde aparece un video explicativo, hay que activar ejecución de VBA en la seguridad de las macros en Excel.

Page 4: Tips and Tricks SAP BW / BO /R3

Archivo ­ Opciones ­ Centro de confianza ­ botón Configuración de centro de confianza, Configuración de macros ­ check confiar en el acceso al modelo de objetos de proyectos de VBA ­ Copiar cadena de procesos en BW 3.5. Es posible copiar una cadena de procesos en BW, en la transacción de cadenas de procesos RSPC, abrir la cadena de procesos a copiar, introducir “COPY” en el lugar donde se introducen los códigos de transacción. Se abrirá un pantalla POP UP para poner el nuevo nombre y descripción de la cadena nueva. ­ Clasificar una cadena de procesos en una carpeta: Entramos en la cadena, y en el menú superior: Cadena de procesos ­ Atributos ­ Componente Visualización, y lo colgamos en la carpeta.

­ Cuando en una Bex Query aparece este mensaje:

Page 5: Tips and Tricks SAP BW / BO /R3

se puede solucionar accediendo a la transacción RSRT y modificando las propiedades de la query en el botón ATRIBUTOS para seleccionar el modo de caché 3:

­ Calendarios de fábrica en BW. Para poder programar cadenas de procesos con restricciones de festivos, etc, es necesario cargar los calendarios de fábrica de R/3 en BW. Esto se hace desde la RSA1, Sistemas fuente, Botón derecho, adoptar parametrizaciones globales. Desde aquí seleccionamos calendarios de fábrica y la opción Restructurar tablas. Una vez lo hayamos ejecutado tenemos disponibles los calendarios para utilizarlos desde las cadenas de procesos. ­ Cuando no esté visible una infofuente en el árbol acceder a la opción de menú:

Page 6: Tips and Tricks SAP BW / BO /R3

RSA1 ­­> Settings ­­> Display Generated Objects ­­> Y marcar: 'Show Generated ODS Objects' Existe una transacción para copiar queries de un cubo (o multicubo) a otro: RSZC. Funciona cuando los cubos son iguales. Pero aún siendo distintos los cubos, si tienen cosas en común, puede usarse el siguiente truco que nos ahorra bastante para copiar una query de un cubo a otro: (tomado de http://scn.sap.com/thread/106178): You can copy your query like this: 1 Go to SE37 2 Type in RSZ_I_COPY_QRY_TO_CUBE 3 Press Display 4 Scroll down and look for this line in the code: IF l_subrc <> 0 OR l_is_compliant = rs_c_false. 5 Position the cursor on the line and set a breakpoint by clicking the "stop" sign 6 Go back 7 Run the module by pressing F8 8 Type in your source + target cubes and press F8 9 You get to the debugger at the line where you set the breakpoint. Double click on l_is_compliant to make it show in "field names" (to the left) below the code. 10 Type in x in the "field contents" (to the right), press the pen symbol to the right of the line and press F8 11 Chose the query you want from the list and press "transfer selections" 12 Check the log: after all the error messages about the cubes not being identical, there should be one line with the green light of hope ­ this is your query that was copied 13 Check if all the objects in the query are available in the cube you copied to by opening the query from the query designer. 14 If some objects are missing in the cube you copied to, you'll have to fix this ­ If they are there, you can look busy for a couple of hours just doing your own thing and having everybody else think you are copying the query manually :­D (you might want to change the query tech name by using "save as" from the query designer)

Page 7: Tips and Tricks SAP BW / BO /R3

Enjoy, Jacob ­ En BO, para que el formato de fechas en el código SQL generado sea el correspondiente a nuesta localización (es­ES) hay que hacer este cambio (en el servidor para los accesos por Infoview y en las máquinas locales que usen Web Intelligence Rich Client):: For deski/full client, it's at C:\Program Files\Business Objects\BusinessObjects Enterprise 11.5\win32_x86\dataAccess\connectionServer\odbc\sqlsrv.prm Change line <Parameter Name="USER_INPUT_DATE_FORMAT">'mm/dd/yyyy HH:m:s'</Parameter> to <Parameter Name="USER_INPUT_DATE_FORMAT">'dd/mm/yyyy HH:m:s'</Parameter>

­ Para acceder a las exits de BW:

1. Entramos en la transacción CMOD. 2. Seleccionamos el proyecto ZBW00001 y en objetos parciales dejamos marcado “atributos”. 3. Entramos en “Componentes”. 4. Hacemos doble clic en el componente que queramos modificar.

Page 8: Tips and Tricks SAP BW / BO /R3

En BW 7.3, tuvimos un error de TIME_OUT al intentar reestructurar un sistema fuente R/3.

En la transacción RZ11 se puede modificar el valor actual del parámetro rdisp/max_wprun_time, lo cambiamos de 600 a 3600, tiene efecto hasta el próximo reinicio del servidor:

Page 9: Tips and Tricks SAP BW / BO /R3

Problema con memoria compartida (shared memory) en query. Tuvimos un problema con una query que sacaba gran volumen de datos, y daba error de memoria compartida agotada, se solucionó también cambiando un parámetro.

Page 10: Tips and Tricks SAP BW / BO /R3

Ver http://sap.ittoolbox.com/groups/technical­functional/sap­bw/shared­memory­issue­557049 el parámetro que cambiamos requería reiniciar el servidor, y se cambió en la RZ10 (no aparece el botón de modificar en la RZ11 cuando no está permitido modificar en caliente). En concreto en nuestro caso lo cambiamos multiplicando por 10 el parámetro rsdb/esm/buffersize_kb , pasándolo de 4096 a 40960 y se solucionó el problema. Problema de autorizaciones en informe WebI. Usuarios con nivel de acceso de Visores de WebIntelligence no podían aplicar filtros integrados en el informe (les aparece inhabilitado). Se resuelve concediendo el derecho “Informes: Formateado”. Tiene el inconveniente que habilita también el botón de diseño, con lo que el usuario podría jugar con el informe. En cualquier caso no puede grabar el informe con los cambios que realice. Resolución Problema en Dashboards 4, aparecen desabilitadas las queries BEX aunque tengan el check Acceso desde OLAP. Por lo visto hay un bug, la conexión en CMC se debe crear en inglés: ( http://scn.sap.com/thread/3316820 )

Page 11: Tips and Tricks SAP BW / BO /R3

Truquete BO complex join, outer join deshabilitado: Pregunta:

Posted: Tue Jul 08, 2008 11:09 am Post subject: Complex Joins

Is there a difference when joining tables on a multi part key between using seperate joins or one join containing all the relationships (complex)? If so, what are the advantages and dissadvantages of each method?

Respuesta:

Posted: Tue Jul 08, 2008 12:24 pm Post subject: Re: Complex Joins

the only disadvantage I can think of is the issue with creating outer join. If you create complex join the outer join box is dimmed. You have to first create simple join, check outer join box and then change the code of join by pasting another join.

Suprimir los ceros en BEx 7, se hace en representación valores cero como blanco. La otra opción de

suprimir ceros es para suprimir filas o columnas cuando todo es cero.

­ Error en activación (post processing) al transportar una query.

Page 12: Tips and Tricks SAP BW / BO /R3

Hay circunstancias en las que al transportar una query falla en el import. A mí me ocurrió con una query que tuve que transportar de producción a desarrollo mediante una orden de “traslado de copia” Ver la nota 1593665 ­ Missing Element Id when transporting query elements ­ "Error Activating Element xxxxxxxxxxxxx" Symptom

Error activating element Error when transporting Query element Inconsistency in the target system Issues with Query transport Query transported but is not available in target system

Environment

SAP release independent BW release independent

Reproducing the Issue

1. Create a query in the Query­designer 2. Write the query to transport request 3. Transport 4. Error message displayed: "Error activating element xxxxxxxxxxxxxxx" (xxxxx =

missing element id) Resolution Initial steps:

1. In the target system, start transaction SE38 2. Run report CHECK_MISSING_ELEMENTS 3. For 'Version', use M

Next steps: 1. Report is returned showing inconsistent elements 2. Start transaction SE09 3. Manually enter the missing object ids 4. Transport to target system

Keywords CHECK_MISSING_ELEMENTS, target system, transport query, activating error, missing element Ejecutando este report en el sistema destino donde ha fallado la parte final del import, obtivimos los elementos de query que faltaban, de manera que los incluimos manualmente en

Page 13: Tips and Tricks SAP BW / BO /R3

el contenido de la orden. Los introducimos en la orden especificando RSTR ELEM nombretécnicomissing. Esta nueva orden en la que se añadió manualmente elementos que faltaban ya sí que se transportó correctamente. ­ Transporte query de Producción a desarrollo mediante “transporte de copias.” Los pasos son:

Page 14: Tips and Tricks SAP BW / BO /R3
Page 15: Tips and Tricks SAP BW / BO /R3
Page 16: Tips and Tricks SAP BW / BO /R3

Recovering folder from bw­role

Hello friends,

one of our users has deleted folders from the bw­role (of workbooks).

Is there any way we can recover the folders and its content?

Replie

The best way would be to retransport the role (with it's folders) and assigned workbooks thru to

production. If, however, the workbooks have been altered in production (typical) then you will

have to recreate the folder(s) either in the Browser function or in PFCG directly To get the

workbooks reassigned, you will need to do them one by one in PFCG to the folders

To find the workbooks, go to table RSRWBINDEXT and you will see all the workbooks with

Business Names and the 30­position names. In PFCG you will have to add each one as a BW

Report ( Informe) to the folder, using the 30­position number, and then retype the original

Business Name over the generic BW Report name. It's a hassle but the only recovery procedure

I know if workbooks and roles cannot be retransported:

Page 17: Tips and Tricks SAP BW / BO /R3

­ A veces en una jerarquía hay un nodo que se repite sin explicación aparente. Aparece con valores en los ratios arriba y justo debajo repetido sin valores en los ratios. Si miramos la jerarquíe en BW no vemos nada raro. No hay esa repetición de nodo. Se puede evitar con la opción de Suprimir valores de nodo contabilizados en las propiedades del infoobjeto con jerarquía en la query BEx:

Después de cambiarlo, si estábamos en un libro de trabajo, tendremos que volver a insertar la query para que tome el cambio.

­ Añadir un libro de trabajo a los favoritos de un usuario: http://www.svenvanleuken.com/adding­a­sap­bw­workbook­to­favorites­of­a­user/ With a big thanks to Roger Pijpers, I can herewith describe how to add an (existing) workbook to

the favorites of a user. This ‘adding/assigning’ can be done by executing the following steps.

Execute transaction SE37

Page 18: Tips and Tricks SAP BW / BO /R3

Type in function module name BX_FAVOS_ADD_TRANSACTION Press F8 (execute/test) The following screen will appear:

Within the above screen, at least the following fields need to be entered:

Username: Enter the UserID!! (not the name) of the user TCODE: Always enter RRMX Text: Enter the description of the workbook (this can be found in table

RSRWBINDEXT) SAP_GUID: Enter the technical key/ID of the workbook (this can also be found in

tableRSRWBINDEXT)

After having entered the above 4 mandatory fields, press F8 (execute) again and you’re done!

­ Al hacer un transporte entre dos sistemas, con STMS puede aparecer un error en la ejecución de métodos RS_AFTER_IMPORT , o advertencia, que es debido a que hace falta parametrizar en la transacción RSTPRFC la contraseña del usuario de fondo en el sistema destino. Esto por ejemplo ocurre cuando se transporta un cambio en una cadena de procesos, que no se activa en el sistema destino.

Remodelado en infocubos para mejorar el rendimiento: SE38 ­ SAP_INFOCUBE_DESIGNS, nos da un listado en el que veremos en rojo características que deberíamos de mover a otra dimensión nueva, o bien tomar alguna medida para mejorar el diseño del infocubo. Para hacer esto será necesario borrar los datos del infocubo previamente. Fecha último acceso usuarios en BW: Se puede encontrar en la tabla USR02 . En ella el sistema actualiza varios datos interesantes para monitorizar los usuarios, fecha de creación, fecha de último acceso, etc

Page 19: Tips and Tricks SAP BW / BO /R3

­ Usuarios logeados en el sistema. Con la transacción SM04 podemos consultar qué usuarios están dentro del sistema, y el equipo cliente desde el que se están conectando. También nos dice si es una sesión de diálogo o de otro tipo y la memoria qu está consumiendo

­ Información tablas, campos, etc de SAP. En la web http://sapdatasheet.org/abap/ encontramos muchísima información sobre la estructura de SAP BeX Broadcaster: Aun no teniendo la pila java instalada se puede hacer uso de la herramienta BeX Broadcaster desde esta URL: http://servidorsapbw.dominio.com:1080/SAP/BW/BEx?CMD=START_BROADCASTER70 (sustituir servidorsapbw.dominio.com con la dirección del servidor donde está instaldo el BW) Email Bursting change sender: Para cambiar el remitente en BeX Broadcasting, podemos hacerlo en la tabla RSRD_SETTING , en el campo Owner http://scn.sap.com/thread/1670289 Copiar agregados de un cubo a otro.

Copy aggregates from cube to cube

any way for not to do that manually ?

Correct Answer by Prasad B on Sep 10, 2008 5:01 PM

Page 20: Tips and Tricks SAP BW / BO /R3

Go to SE38 and execute program RSDDK_AGGRCOMP_COPY.

Introduce el nombre técnico del agregado y el infocubo al cual se quieren copiar. El nombre técnico (GUID) se

puede dejar en blanco

Goto the below link also

https://forums.sdn.sap.com/click.jspa?searchID=1251397&messageID=3001350

Problemas autorizaciones (de datos) en queries: A veces hay problemas de autorización muy difíciles de diagnosticar. En una ocasión nos encontramos que al entrar en Visualizar datos de autorización después de un error de autorización nos indica “que necesita 0BI_ALL”

Page 21: Tips and Tricks SAP BW / BO /R3

Lo que ocurre que si asignamos esta autorización al rol, los usuarios que tengan el rol heredan esta autorización y estropeamos todas las autorizaciones específicas que se les hayan dado por RSECADMIN, dejándoles ver todo. Por tanto hemos de borrar esta autorizción 0BI_ALL y encontrar dónde está el problema. El log detallado lo obtenemos si activamos en RSECADMIN para el usuario que da problemas. Se hace desde la tercera pestaña de Análisis.

Page 22: Tips and Tricks SAP BW / BO /R3

Activamos el log para el usuario problemático,

Page 23: Tips and Tricks SAP BW / BO /R3

Ejecutamos la query que da problemas, y posteriormente miramos el log

De esta forma obtenemos un log más detallado que nos dice exactamente qué autorización está fallando. En nuestro caso se trataba de que había una excepción de agregación con 0CUSTOMER, y 0CUSTOMER estaba marcado como relevante para autorizaciones.