jueves, 26 de septiembre de 2013

User para bloquear campo del detalle en el pedido.

Me piden bloquear la introducción del material en el pedido: que la columna no esté habilitada para la entrada de datos (VA01, VA02, VA03). Por lo que veo el campo en el dynpro es el RV45A-MABNR. Si uso userexit_field_modification de la MV45AFZZ conforme a los ejemplos de este estilo

 CASE SCREEN-NAME.
   WHEN 'RV45A-MABNR'.
     SCREEN-ACTIVE = 0.
ENDCASE.

Sólo me bloquea el material para el registro una vez he metido los datos, pero no es lo que necesitamos. Al final con la ayuda de Laura, Jesús y gentes con parecidos problemas he puesto este código:

FORM userexit_field_modification.

    DATA: WA_COLS LIKE LINE OF TCTRL_U_ERF_AUFTRAG-COLS.
    LOOP AT TCTRL_U_ERF_AUFTRAG-cols INTO wa_cols.
      CHECK  WA_COLS-SCREEN-NAME = 'RV45A-MABNR'.

      WA_COLS-SCREEN-input = 0.

      MODIFY TCTRL_U_ERF_AUFTRAG-COLS FROM WA_COLS.

    ENDLOOP.

ENDFORM.  
Y funciona sin necesidad de Enhacements en otros sitios.

Epílogo: para saber que este campo y este Field Table hay que ir haciendo F1 y datos técnicos. Y si es vuestra primera user-exit del pedido.

miércoles, 25 de septiembre de 2013

BW: La variante de ejercicio R2 no está prevista FGV 1

Cargando datos por primera vez un un cubo de Business Warehouse (0PS_04) de 0CO_OM_NWA1, me ha dado el siguiente error:
La variante de ejercicio R2 no está prevista (FGV 001).
Después de buscar, la solución es ir al modelado de datos (RSA1). Sistemas fuentes, ponernos encima del sistema fuente que nos da el problema. Botón derecho, Adoptar parametrizaciones globales.


Seleccionamos las que nos interesen, en nuestro caso Variantes de ejercicio y Actualizar Tabla.

miércoles, 31 de julio de 2013

BW: Dump en Business Content al traer InfoObjeto.

En una nueva instalación de BW al intentar rescatar la primera característica me da el error DUMP con los siguiente datos más :

Categoría              Error de programación ABAP
Err.tmpo.ejec.         RAISE_EXCEPTION
Programa ABAP          SAPLRRSI
Application Component  BW-BEX-OT
Texto breve
    Exception condition "X_MESSAGE" raised.

Buscando por Internet, la solución que me ha funcionado ha sido usar la transacción RSRV. Desplegar Los tests en la transacción RSRV -> Test elementales (Todos) -> Datos maestros -> Ajustar rango de números y SID máximo. Arrastro al panel de la derecha, hago clic en el nodo y le indico InfoObjeto 0IOBJNM. Hay que poner este sea cual sea el InfoObjeto que nos dé error.

viernes, 5 de julio de 2013

BF00076: La entrada PT 1 4 en tabla T015Z no tiene delimitadores (;).

Al intentar imprimir una factura en portugués nos da el siguiente error al intentar convertir las cantidades en letras.
La entrada PT 1 4 en tabla T015Z no tiene delimitadores (;).

    Nº mensaje: BF00076

Diagnóstico

    Se ha producido una cancelación del módulo de funciones SPELL_AMOUNT: Se
    ha detectado que en una entrada en la tabla T015Z no se ha introducido
    el delimitador (delimiter ';'). Al cerrar la cifra con el delimitador se
    pueden también incluir espacios en blanco delante del mismo para separar
    la cifra de otras que eventualmente podrían venir detrás y que de otro
    modo no podrían ser reconocidas.

Procedimiento

    Corrija la entrada en tabla correspondiente.

Solución:  Ves a la transacción OBA9, y busca por idioma PT (portugués) o bien no tienes ninguna entrada o tienes la entrada 
PT 1 4 QUATORZE

Si no tienes ninguna entrada introduce 
PT 1 4 QUATORZE ;
Y si la tienes la corrigues para que acabe en ' ;', es decir espcaio y punto y coma.

jueves, 13 de junio de 2013

¿Dónde está el campo PLIKZ en el extractor 1_CO_PA****?

Necesitaba el extractor de COPA (1_CO_PA*) para un cubo, el que extrae la información de las tablas CE1*, CE2*, CE3* y CE4*, finalmente he encontrado como hacerlo con la KEB0. Pero al ir a la RSA6 para añadir los campos para filtrar o la RSA3 para ver los datos no encontraba el campo PLIKZ Indicador plan/real  finalmente me dicen que se transforma en WRTTP Tipo valor para informes.

Para quien necesite crear el extractor los 2 últimos links son buenas guías.

viernes, 24 de mayo de 2013

Error RSEC231.

He transportado unos roles. Al ejecutar la transacción RSECADMIN, pestaña de Análisis, botón Ejecutar como..., y poner otro usuario y ejecutar me ha dado el error RSEC231 "Sin autorización suficiente".

He visto que hablaban de notas, pero en mi caso he entrado en lo perfiles de los roles que había asignado al usuario que quería probar y los he vuelto a generar. Al transportar desde conexión de transporte  no vienen los perfiles, si transportamos desde el mantenimiento de roles no hace falta volver a generar, en principio.

viernes, 8 de marzo de 2013

Texto de mensaje.

Para tener el texto de un mensaje de forma entendible 'MESSAGE_TEXT_BUILD'. En mi caso tengo una tabla p_mensajes_out  TYPE   zws_mensajes_t con los datos necesarios.

  DATA : p_mensajes_out TYPE  zws_mensajes_t.

  
CONCATENATE sy-datum sy-uzeit INTO p_idpersona .
*
  
DATA: wa_mensajes_out TYPE zws_mensajes_l.
*
  wa_mensajes_out
-msgty = 'I'.
*  WA_MENSAJES_OUT-TEXT = 'xxx'.
  wa_mensajes_out
-arbgb = 'VF'.
  wa_mensajes_out
-txtnr = '006'.
  wa_mensajes_out
-msgv1 = 'SRG'.
*wa_mensajes_out-MSGV2
*wa_mensajes_out-MSGV3
*wa_mensajes_out-MSGV4
*
  
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
    
EXPORTING
      msgid               
= wa_mensajes_out-arbgb
      msgnr               
= wa_mensajes_out-txtnr
      msgv1               
= wa_mensajes_out-msgv1
      msgv2               
= wa_mensajes_out-msgv1
      msgv3               
= wa_mensajes_out-msgv1
      msgv4               
= wa_mensajes_out-msgv1
    
IMPORTING
      message_text_output 
= wa_mensajes_out-text.
*
  
APPEND wa_mensajes_out TO p_mensajes_out.