Esta página abarca los siguientes temas:
-
Definiciones/Detalles
-
Cuándo usar Direct
-
Funcionalidades no disponibles en Direct (a menos que el desarrollador las haya incorporado específicamente)
-
Diferencias con Transaction
-
Preparación antes de usar Direct
-
Sugerencias para Direct
-
Crear un script de Direct
-
Prácticas recomendadas de Direct
Definiciones
-
llamada de función remota
-
Interfaz estándar de SAP que utilizan las aplicaciones externas para comunicarse con SAP
-
Se usa para ejecutar una función en SAP
-
RFM (módulo de funciones activado de forma remota): RFM significa módulo de funciones activado de forma remota
-
Llamar a funciones predefinidas y ejecutarlas
-
-
BAPI (interfaz de programación de aplicaciones de negocio): se debe habilitar de forma remota
-
Una BAPI puede ser una BAPI de SAP estándar o una BAPI personalizada creada por un equipo de programación de SAP BASIS para uso interno
-
Una BAPI es un módulo de funciones habilitado para RFC que se usa para llamar al código interno de SAP
-
Interfaz estándar para los modelos de objetos de negocio en SAP sin usar una interfaz de usuario de códigos de transacción de SAP
-
Devuelve una colección de errores en lugar de errores individuales
-
Cada BAPI corresponde a un determinado objeto de negocio
-
Puede disponer de documentación relacionada para explicar el formato, la estructura y el comportamiento
Notas:
-
Se puede acceder a la documentación desde la pestaña Documentación dentro de las pestañas Área de trabajo, Vista y Asignación de Direct, desde la cinta Área de trabajo o desde la transacción SE37 de SAP.
-
Es muy importante entender cómo funciona la BAPI para interactuar correctamente con ella.
-
-
Cuándo usar Direct
-
La única opción para registrar una transacción de SAP requiere GUI Scripting y hay un requisito para ejecutar el script en los casos en los que no se admite GUI Scripting: desde un Automate Server mediante programación o un formulario web
-
No hay ninguna transacción de SAP disponible para gestionar los requisitos
-
El rendimiento es un requisito principal (cargas masivas, etc.)
-
No hay forma de posicionarse en una cuadrícula y/o la complejidad de la automatización es demasiado alta
-
Las pantallas de SAP presentan una cantidad variable de ventanas emergentes
-
El uso de la BAPI o los RFM es una preferencia personal
Funcionalidades no disponibles en Direct (a menos que el desarrollador las haya incorporado específicamente)
-
Validar y simular
-
Solución: Compruebe los datos o cree un script de validación/ejecución de prueba
-
Funciones avanzadas: Texto largo, documentos adjuntos (solución: aprovechar los RFM de Automate)
-
Hacer copia de seguridad de los datos (solución: leer los datos desde SAP antes de actualizar con una BAPI)
-
Depurar y ejecutar deteniéndose en los errores
-
Diferencias con Transaction
-
Los mensajes de SAP pueden ser diferentes y se pueden devolver varios mensajes
-
Los bucles se incluyen automáticamente. Se puede editar y reutilizar la columna del id. de columna
-
Las mayúsculas o minúsculas pueden ser importantes
-
Puede ser necesario introducir datos en alemán para algunas BAPI/RFM. Ejemplos:
-
Vendido a: Inglés: «SP» | alemán: «AG»
-
Enviar a: Inglés: «SH» | alemán: «WE»
-
La BAPI espera la versión alemana
-
Preparación para usar Direct
-
Busque la BAPI o el RFM que desea utilizar. Opciones:
-
Comunidad SAP
-
Búsqueda en internet
-
Query: Cree un script de Query en la tabla SWOLTV de SAP Añada criterios similares al campo ABAPNAME
Campos clave:
-
ABAPNAME (nombre de la función ABAP)
-
DESCRIPT (nombre)
-
SHORTTEXT (descripción)
-
COUNTPARAM (número de parámetros en el método)
-
LOBJTYPE (tipo de objeto)
-
VERB (componente del tipo de objeto)
-
-
-
Verifique que la BAPI o el RFM esté habilitado de forma remota
-
Los usuarios deben tener acceso para ejecutar la BAPI o el RFM (los permisos son fundamentales)
-
Realice pruebas en SE37 (opcional)
-
Para seleccionar y probar una BAPI/un RFM en SAP, el usuario debe tener acceso a SE37
-
Pruebe los datos con la BAPI o el RFM con el código de transacción SE37
-
Nota: Puede que haya datos de pruebas anteriores en SE37 que podrá utilizar como referencia
-
-
Identifique los campos obligatorios
-
Identifique los campos que desee usar
Sugerencias para Direct
-
Si no puede abrir la BAPI o el RFM estándar de SAP en Direct, compruebe:
-
Los permisos
-
Si cuenta con habilitación remota
-
-
ESTRUCTURAS DE ENTRADA: Datos que se van a transferir a SAP
-
ESTRUCTURAS DE SALIDA: Datos que devuelve SAP
-
TABLAS: Se usan tanto para la entrada como la salida
-
Tabla ImportOthers: Tabla de importación de parámetros
-
Algunos pueden ser necesarios
-
Coincide con la pestaña de importación de SE37
-
-
Tabla ExportOthers: Tabla de exportación de parámetros
-
Coincide con la pestaña de exportación de SE37
-
-
Las BAPI/los RFM no incluyen exits de usuario y otras personalizaciones presentes en el código de transacción correspondiente. Se deben añadir a una BAPI personalizada o al script y/o formulario web de Studio.
-
Al seleccionar campos en el área de trabajo, la vista de experto tendrá automáticamente un bucle creado alrededor de cada estructura individual. En muchos casos, deberá llamarse a varias estructuras en un mismo bucle, en lugar de hacerlo en varios bucles. Puede eliminar los bucles individuales alrededor de las estructuras y, en su lugar, ampliar un único bucle para que abarque todas las estructuras que se vayan a repetir.
-
Por ejemplo, en la BAPI Creación de material, cada vista se inicia automáticamente con su propio bucle. Es muy probable que deba crear todas las vistas en una sola llamada, así que elimine todos los bucles excepto uno, y amplíe ese bucle para que abarque todas las vistas.
-
-
En las versiones 11 y posteriores, es posible aplanar la estructura de una BAPI quitando todos los bucles. También puede copiar y pegar estructuras completas en la vista de experto para realizar varias llamadas a una estructura sin bucle. Debe seleccionar toda la estructura mediante un clic en la línea de pantalla azul/verde para poder copiar y pegar.
-
Busque tablas «X»: Si utiliza una BAPI que escribirá en SAP, busque tablas que tengan otra con el mismo nombre, con la diferencia de que una de ellas acaba en «X». No todas las BAPI tienen estos tipos de tabla, pero, si existen, debe saber cómo usarlas.
Ejemplo: Tablas CONDITIONITEMDATAIN y CONDITIONITEMDATAINX en BAPI_CONDITION_CONTRACT_CREATE BAPI
Asigne campos de identidad/distintos: Para que la BAPI sepa en qué registro actualizar los campos, busque campos de identidad/distintos.
-
Ejemplo: ORDER_KEY, COND_COUNT y UPDATE_FLAG son campos clave en las tablas CONDITIONITEMDATAIN y CONDITIONITEMDATAINX
-
Estos campos deben contener los mismos datos en cada registro de ambas tablas y se pueden asignar a la misma columna de la plantilla de datos.
-
Campos en la tabla «X»
-
Asigne un valor fijo de «X» para cada campo coincidente asignado en la tabla CONDITIONITEMDATAIN. Busque:
-
Descripción: Información actualizada en el campo relacionado de datos de usuario
-
Tipo: CHAR
-
Longitud: 2
Los valores X se utilizan para indicar con qué campos trabajará en la tabla correspondiente. Esto hace que la BAPI sea más ágil de ejecutar, ya que hay multitud de tablas y campos en muchas BAPI.
-
-
Crear un script de Direct
-
Puede usar los siguientes enlaces para obtener más información: