Inicio del área de contenido

Documentación proceso de fondo Comunicación técnica Localizar documento en árbol de navegación

En la siguiente sección se tratan los aspectos técnicos de la comunicación y del flujo de datos entre SAP R/3 y un sistema externo (subsistema).

Transmisión de solicitudes de planificación

El siguiente resumen muestra el procedimiento para transmitir mensajes de R/3 a un subsistema.

Este gráfico es explicado en el texto respectivo

Creación de una necesidad de planificación en el transporte

La necesidad de planificación para las entregas de planificación pueden crearse con las funciones descritas en la sección Entrega de salida. El procedimiento puede llevarse a cabo como una actividad interactiva o como un job de fondo utilizando el control de mensajes.

Grabación de los datos en el layer ALE

Dentro del mismo proceso (unidad lógica de trabajo o LUW) los datos son formateados en forma de estructuras de repositorio (diccionario de datos) por el módulo de funciones del nivel Application Link Enabling (ALE). Estas estructuras se denominan documentos intermedios (IDOC). Los IDOC que se han creado se graban en la base de datos.

Estructura de comunicación y transmisión de IDOC

La transmisión del IDOC se realiza de forma asincrónica a su creación, es decir, el ALE transmite el IDOC después de su creación. Un IDOC puede transmitirse directamente o bien puede combinarse primero y enviarse después como parte de un paquete de varios IDOC.

Durante la transmisión de IDOC, el ALE utiliza el Remote Function Call (RFC) transaccional. El sistema inicia un shell remoto en el subsistema y llama el programa C al que se transferirá la función que se llamará dentro del programa. La técnica subyacente que permite realizar la transmisión de forma correcta según el log que se ha descrito anteriormente como un layer RFC. Una biblioteca de programas de desarrollo C está disponible para el desarrollo del programa.

Para obtener más información sobre la creación de programas C y el resto de parametrizaciones del sistema, consulte las siguientes secciones y la documentación de las bibliotecas RFC.

Tareas del subsistema

Se debe suministrar el programa C para la recepción de datos en el subsistema. Existe un programa de muestra a este efecto. La biblioteca RFC que recibirá de SAP como interlocutor homologado (RFC SDK, Remote Function Call Software Development Kit) ofrece soporte a este programa.

El programa debe grabar los datos cuando los reciba antes de enviar el acuse de recibo de vuelta al sistema R/3. A continuación, puede iniciarse el tratamiento de datos en el subsistema. SAP recomienda este procedimiento de grabación intermedio, que permite llevar a cabo de forma separada la comunicación de la lógica de procesos en el subsistema.

Del mismo modo, el subsistema debe disponer de una gestión de status para los datos que recibe. La gestión de status puede evitar la duplicación de procesos. Observe que el subsistema debe ser capaz de reconocer si un IDOC ya ha sido transmitido una vez por el sistema R/3. Ello es posible gracias al uso de un ID de transacciones unívoco para cada actividad de comunicación. (Véase también la documentación técnica del RFC.)

Además del ID de transacción, también puede utilizarse el número de IDOC para indicar que ya se ha transferido un IDOC. El número de IDOC sólo es unívoco dentro de un mandante determinado de un sistema SAP. Si se lleva a cabo la comunicación con varios mandantes y/o varios sistemas SAP, no podrá identificarse el IDOC utilizando únicamente el número de IDOC.

Tratamiento de errores de comunicación

Durante la transmisión pueden surgir los siguientes problemas:

Anulación de la contabilización en la aplicación (por ejemplo, al crear una necesidad de planificación)

En este caso, el error no es crítico para la comunicación, ya que los IDOC no pueden crearse sin una necesidad de planificación. Ambas contabilizaciones se llevan a acabo en el mismo LUW y, por lo tanto, se contabilizan de forma sincrónica.

Errores en el layer ALE

  1. Los datos que se formatearon en el LUW (el cual crea el IDOC) y que se enviaron al ALE son erróneos sintácticamente. El IDOC es copiado y grabado por ALE pero no puede transmitirse. Para obtener más información sobre este error, consulte la sección Parametrizaciones y modificaciones del sistema SAP.
  2. El acuerdo entre interlocutores EDI para el proceso de salida no está definido para el destinatario ni para el mensaje IDOC en ALE. El IDOC se graba pero no puede transmitirse. Para obtener más información sobre este error, consulte la sección Parametrizaciones y modificaciones del sistema SAP.

Sin conexión

Si se crea un IDOC pero no puede realizarse la conexión, un informe que funciona en proceso de fondo garantiza que se realicen intentos de comunicación de vez en cuando. Si se restablece la conexión, los IDOC se transmiten automáticamente.

Recepción de documentos de expedición planificados

En el siguiente resumen se ilustra la recepción de los documentos de expedición que se han generado a partir de las solicitudes de planificación presentadas por el subsistema.

Este gráfico es explicado en el texto respectivo

Formateo y transmisión de datos de transporte

La tarea primaria del subsistema consiste en perfeccionar la planificación de transporte basándose en las solicitudes de planificación que se han transmitido del sistema R/3. Los transportes completamente planificados deben transmitirse de nuevo al sistema R/3 utilizando la ruta de comunicación propuesta (RFC transaccional). El subsistema lleva a cabo las siguientes tareas dentro de la estructura de comunicación con el Sistema SAP R/3:

Almacenamiento de datos intermedio y formateo de IDOC

Los datos de transporte del subsistema deben grabarse en una estructura de datos específicos de IDOC. Para obtener más información sobre la definición y estructura de los diferentes IDOC, consulte las secciones Descripciones de IDOC y Segmentos, campos y valores de dominio de IDOC.

Llamada a un módulo de funciones centralizado de R/3 utilizando el programa de transferencia

También necesita la biblioteca RFC para programar el soporte para el programa de transferencia. El módulo de funciones centralizado forma parte del layer ALE.

Pueden transferirse varios IDOC en un solo procedimiento de comunicación, es decir, cuando se llama una vez un módulo de funciones R/3 pueden transferirse varios IDOC.

Actualización después de la transmisión de IDOC

Durante la transmisión, el subsistema debe proporcionar la administración de status para los datos transmitidos. Si no consigue transmitir el IDOC correctamente, deberá retransmitirlo más adelante.

SAP debe evitar la duplicación en la transferencia de IDOC. En este momento, entra en juego el ID de transacción, el cual es asignado por SAP para cada procedimiento de comunicación. Los datos transferidos por el subsistema siempre deben transmitirse con este ID de transacción (véase también la documentación técnica sobre el RFC). Debe registrarse el mismo ID de transacción en retransmisiones posteriores.

El sistema SAP no utiliza el número de IDOC para verificar transferencias duplicadas.

Recepción y contabilización de datos

ALE recibe el IDOC y lo registra en la base de datos. Después de este procedimiento de grabación intermedio, se envía un acuse de recibo al subsistema. A continuación, se envía el IDOC a la aplicación (de forma asincrónica en cuanto a la recepción) y se inicia el tratamiento.

La aplicación de R/3 que crea, modifica y borra documentos de transporte envía un status a ALE para cada IDOC. Este status de IDOC es la base utilizada para procesar cualquier error posible.

Tratamiento de errores

Pueden producirse los siguientes errores:

No puede establecer la conexión en este momento

El subsistema también debe utilizar la administración de status para garantizar que puede llevarse a cabo la contabilización posterior.

Errores en el layer ALE

Se ha creado un IDOC pero no se ha iniciado el tratamiento del mismo.

Este error se produce (como en la transmisión desde R/3) si el IDOC recibido es erróneo desde un punto de vista sintáctico o si falta el acuerdo entre interlocutores EDI para procesos de entrada para el emisor y la clase de mensaje de este IDOC. Para obtener más información sobre este error, consulte la sección Parametrizaciones y modificaciones del sistema SAP.

Error en la aplicación (por ejemplo, al contabilizar la solicitud de transferencia)

Se trata de un error lógico en la aplicación. Se envía un mensaje a una posición con el status de IDOC que se ha citado anteriormente. Pueden asignarse varios usuarios a una posición. Cada usuario recibe el mensaje de error en su propia entrada SAP OFFICE. En cuanto un usuario registra y trata el mensaje de error, éste desaparece de las otras entradas.

Programación técnica para la conexión de subsistema

Esta sección le proporciona un resumen de los detalles técnicos incluidos en la conexión de un subsistema al sistema R/3. Puede encontrar documentación detallada sobre el Remote Function Call en RFC SDK y en la documentación online de sistema R/3. El objetivo de esta sección es ofrecerle un resumen de las técnicas de programación. No es exhaustivo. Consulte la documentación citada anteriormente si desea realizar la conexión usted mismo.

Transmisión desde SAP a un subsistema

Los IDOC se transmiten desde el sistema SAP llamando el módulo de funciones INBOUND_IDOC_PROCESS con un lugar de destino. El lugar de destino utiliza una tabla del sistema R/3 para determinar la máquina y el programa de destino.

Debe existir en el subsistema un programa C con la denominación de programa de destino. El programa contiene una función con la denominación de la llamada del módulo de funciones.

En el sistema R/3, los datos de aplicación se trasladan a la tabla interna de la estructura EDI_DD. Además, también se traslada un registro de control de la estructura EDI_DC que contiene datos administrativos para cada IDOC. En el ejemplo, estos datos se trasladan en forma de tablas internas.

Para obtener más información, consulte la documentación anteriormente mencionada.

Puede generar un núcleo de programa C a partir de la visualización del módulo de funciones SE37 generado desde el sistema R/3. Puede utilizar este núcleo como base para su programa de recepción/transmisión. Para poder interpretar los datos en el IDOC, también necesitará las estructuras de datos de los IDOC a nivel del programa C. Si está disponible un sistema R/3, puede generar un fichero de cabecera h - IDOC directamente con la transacción de repositorio SE11.

Este gráfico es explicado en el texto respectivo

Notas sobre los parámetros TCP/IP

  1. Las necesidades del Transmission Control Protocol/Internet Protocol (TCP/IP) deben configurarse (en especial las direcciones IP de ambos archivos host) de modo que el sistema SAP pueda encontrar el sistema destino.
  2. Por regla general, en el sistema SAP los IDOC se transmiten desde la contabilización. Por esta razón, también debe crearse el enlace TCP/IP para el sistema de contabilización.
  3. Debe permitirse al gateway de SAP iniciar el programa C (servidor RFC) mediante el shell remoto. Por esta razón, el usuario encargado del gateway (por ejemplo, d11adm donde d11 = denominación de sistema) también debe ser reconocido como un usuario por el sistema destino.
  4. En UNIX, debe registrarse el nombre del gateway y el despachador en /etc/services, (sapgw00 y sapdp00, por ejemplo).

Para obtener más información sobre estos parámetros, consulte la documentación RFC citada anteriormente.

Transmisión desde SAP a un subsistema

Cuando entra en el Sistema SAP R/3, debe definirse en el programa C el nombre del servidor del sistema destino SAP, el acceso de SAP, el usuario, la clave de acceso, etc. La función RFC RfcOpen (..) ofrece soporte al acceso real. Puede obtener más detalles al respecto en la exhaustiva documentación de RFC.

Los datos deben tratarse en formato IDOC y colocarse en una tabla interna con la estructura EDI_DD. También debe crearse un registro de control para cada IDOC y registrarse en una tabla interna para la estructura EDI_DC. El formato de la transferencia de datos también se describe con detalle en la documentación.

Este gráfico es explicado en el texto respectivo

Gestión del ID de transacción

Para garantizar la seguridad de los datos que se deben transferir, debe utilizarse un ID unívoco para el procedimiento de comunicación. Este ID permite al sistema receptor reconocer si ya se han recibido y tratado estos datos.

Por ejemplo, la comunicación podría interrumpirse repentinamente durante la transmisión de datos para la entrada móvil de entradas de mercancías. El usuario transmitiría los datos de nuevo para asegurarse de que el sistema SAP contabiliza la entrada. No obstante, si los datos se recibieron y trataron correctamente en el primer intento, el sistema debe estar capacitado para reconocerlo. El sistema no debe tratar los datos una segunda vez.

Este ejemplo provocaría el siguiente flujo de procesos entre el sistema transmisor y el receptor.

Este gráfico es explicado en el texto respectivo

 

 

 

 

 

 

Fin del área de contenido