Vous êtes sur la page 1sur 63

i 3S

retail











TECNOLOGA ALE: INTERFAZ IDOC
SAP R/3 4.6C




















1 de 63 25/07/2005
i 3S
retail



1.- INTRODUCCIN A ALE ................................................................................................................................................................................................................3
1.1.- ALE...........................................................................................................................................................................................................................................3
1.2.- EDI............................................................................................................................................................................................................................................3
1.3.- SISTEMA LGICO (LS)...........................................................................................................................................................................................................4
1.4.- TIPO DE MENSAJ E .................................................................................................................................................................................................................6
1.5.- TIPO DE IDOC Y IDOC............................................................................................................................................................................................................6
1.6.- MANTENIMIENTO DEL MODELO DE DISTRIBUCIN........................................................................................................................................................10
1.7.- PUERTAS...............................................................................................................................................................................................................................11
1.8.- CDIGOS DE OPERACIN..................................................................................................................................................................................................14
1.9.- PERFILES DE INTERLOCUTOR EDI....................................................................................................................................................................................15
2.- DISTRIBUCIN DE DATOS MAESTROS...................................................................................................................................................................................16
2.1.- ENVAR DATOS DIRECTAMENTE: CASO PRCTICO, ENVIAR DATOS MAESTROS DE ARTCULOS .........................................................................20
2.2.- PUNTEROS DE MODIFICACIN: CASO PRCTICO, ENVIAR DATOS MAESTROS DE ARTCULOS............................................................................23
3.- DISTRIBUCIN DE DATOS TRANSACCIONALES...................................................................................................................................................................26
3.1.- INTERFAZ DE SALIDA: CASO PRCTICO, ENVIAR UN PEDIDO DE COMPRAS ............................................................................................................26
3.2.- INTERFAZ DE ENTRADA: CASO PRCTICO, RECIBIR UNA ENTRADA DE MERCANCAS.........................................................................................35
4.- OPTIMIZACIN ALE: EXTENSIN Y REDUCCIN DE IDOCS...............................................................................................................................................42
4.1.- EXTENSIN DE IDOCS. CASO PRCTICO AADIR CAMPOS PARA LA DISTRIBUCIN DE CLIENTES.....................................................................42
4.2.- REDUCCIN DE IDOCS. CASO PRCTICO REDUCIR CAMPOS EN LA DISTRIBUCIN DE ACREEDORES ..............................................................52
5.- BAPIS ...........................................................................................................................................................................................................................................56
5.1.- INTRODUCCIN A LAS BAPIS.............................................................................................................................................................................................56
5.2.- EL BUSINESS OBJ ECT BROWSER (SWO2).......................................................................................................................................................................57
5.3.- EL EXPLORADOR BAPI ........................................................................................................................................................................................................58
5.4.- INTRODUCCIN A LA DISTRIBUCIN MEDIANTE BAPIS ................................................................................................................................................59
5.4.1.- Filtrado de Datos y Determinacin de los receptores......................................................................................................................................................62


2 de 63 25/07/2005
i 3S
retail



1.- INTRODUCCIN A ALE

1.1.- ALE

Application Link Enabling es la tecnologa de SAP que permite la comunicacin de datos entre dos o ms sistemas SAP y/o entre SAP y/o entre un
sistema SAP y sistemas externos.
ALE facilita el desarrollo de las interfaces reduciendo su tiempo de implantacin.
Los escenarios ALE se encuentran en tres categoras:
o Datos maestros
o Datos transaccionales
o Control de los datos distribuidos
Las principales ventajas de la utilizacin de la tecnologa ALE son:
o Son independientes de versin
o Posee potentes mecanismos de captura de cambios para los maestros de datos y transacciones
o Reduce el tiempo de implementacin
o Necesita poco desarrollos ABAP.

1.2.- EDI

Electronic Data Interchange es una tecnologa que permite el intercambio de documentos entre distintos interlocutores de una empresa como bancos,
clientes, acreedores.
Tienen un formato normalizado.
Algunas reas de SAP tienen capacidad EDI, dentro de SAP, EDI y ALE, utilizan las mismas herramientas.



3 de 63 25/07/2005
i 3S
retail



1.3.- Sistema Lgico (LS)

Un sistema lgico (LS) es la representacin de un sistema externo (ya sea SAP o no) para la distribucin de datos
Cada mandante SAP tambin representa un sistema lgico.
La asignacin Mandante vs Sistema Lgico debe ser unvoca: Un mandante nicamente debe estar asignado a un sistema lgico. Esto
tambin es vlido para los sistemas preproductivos y productivos
En una interface ALE de entrada, el LS representa el remitente con respecto al LS original (receptor).
En una interface ALE de salida, el LS representa el receptor o el sistema externo.

Mantenimiento de los sistemas lgicos
Dentro del men de customazing SALE podemos encontrar todas las transacciones que necesitamos
Definir Sistema Lgico
Men IMG Base Application Link Enable Preparar sistemas
receptores y de envo Preparar sistemas lgicos Nombrar
sistema lgico
Cdigo de Transaccin
BD54
Por ejemplo creamos el sistema lgico TEST1.














4 de 63 25/07/2005
i 3S
retail



Asignar sistema lgico a un mandante
Tal y como hemos comentado con anterioridad, los mandantes deben estar asociados unvocamente a un sistema
lgico. Esta parametrizacin no se puede transportar.
Men SALE Preparar sistemas lgicos Asignar sistema lgico a
un mandante
Cdigo de Transaccin
SCC4

Aqu podemos ver que nuestro mandante (500) est asociado al sistema lgico 500T01





5 de 63 25/07/2005
i 3S
retail



1.4.- Tipo de Mensaje

Un tipo de mensaje, representa el mensaje que se intercambiado entre SAP y otro sistema externo (ya sea SAP o no)
Por lo general los tipos de mensajes estn asignados de forma unvoca a tipos de documentos SAP. En lo posible sus nombres corresponden a los del
estndar UN/EDIFACT. Los escenarios ALE, sin embargo, a menudo no corresponden a EDIFACT, por ejemplo, cuando se transmiten datos maestros.
El tipo de mensaje determina la estructura de los datos
Por ejemplo el tipo de mensaje MATMAS es el tipo de mensaje utilizado para el maestro de artculos, INVOIC para las facturas


1.5.- Tipo de IDOC y IDOC

Un tipo de IDOC (Intermediate DOCument) o tipo base representa la estructura de datos asociada a un tipo de mensaje ( por ejemplo el tipo base
MATMAS03 para el mensaje MATMAS, WMMBID01 para el tipo de mensaje WMMBXY movimiento de mercancas)
Un IDOC es un container de datos con inteligencia que contiene uno y solo un objeto empresarial. Por ejemplo, el pedido de compras 4711 fue enviado
al proveedor con el IDOC 0815, el IDOC 0815 tiene el formato del tipo base ORDERS01. El pedido de compra, se corresponde con el tipo de mensaje
ORDERS.
Un IDOC consiste en tres tipo de registros:
o Registro de control (EDI_DC)
o Registros de datos (EDI_DD)
o Registros de status (EDI_DS)




6 de 63 25/07/2005
i 3S
retail



El registro de control o EDI_DC contiene informacin sobre el IDOC, como el tipo base, el tipo de mensaje, el receptor, el emisor, direccin (1 de salida, 2
de entrada). El registro EDI_DC se guarda en la tabla EDIDC
El registro de datos o EDI_DD contiene los datos de la aplicacin, cada registro tiene una serie de campos clave que definen el contenido del registro y un
campo SDATA que contiene los datos de la aplicacin con en la estructura que indica el campo SEGNAM. Los registros EDI_DD se guardan en la tabla
EDID4
El registro de status o EDI_DS contiene informacin del estado del IDOC en las distintas etapas del proceso, mantiene el histrico del proceso. Los
registros EDI_DS se guardan en la tabla EDIDS. Los posibles status de los IDOCs se encuentran en la tabla TEDS1. Los valores de status de los IDOCs
de salida se encuentran entre el 01 y el 49 mientras que los de entrada estn entre el 50 y el 99.

Existen varias transacciones para obtener documentacin sobre los IDOCS:
o Para los campos de los tipos de registro
Men WEDI Documentacin Clases de registros IDOC
Cdigo de Transaccin
WE61














7 de 63 25/07/2005
i 3S
retail



Para los tipos de IDOC
Men WEDI Documentacin Tipos de IDOC
Cdigo de Transaccin
WE60

Ejemplo tipo base MATMAS03




8 de 63 25/07/2005
i 3S
retail



Para los segmentos de los IDOCS

Men WEDI Documentacin Segmentos IDOC
Cdigo de Transaccin
WE62
Ejemplo visualizacin del segmento E1MARM


9 de 63 25/07/2005
i 3S
retail



1.6.- Mantenimiento del Modelo de distribucin

El Modelo de Distribucin es una herramienta que almacena informacin sobre el flujo de mensajes entre varios sistemas
Es posible especificar filtros de la informacin que se va a enviar

Men SALE Modelar e implementar procesos empresariales
Actualizar modelo de distribucin y distribuir vistas
Cdigo de Transaccin
BD64

1. Pulsar Vista Modelo e introducir la siguiente informacin
















2. Aceptar y grabar la informacin


10 de 63 25/07/2005
i 3S
retail




1.7.- Puertas

Las puertas son el canal para la comunicacin usadas por SAP
En SAP existen varios tipos de puertas, la seleccin del tipo de puerta depende de la configuracin tcnica del sistema externo
En la mayora de casos, los IDOCs se transfieren como ficheros secuenciales y se utiliza el tipo de puerta Fichero
Se debe asignar al menos un puerto para cada sistema lgico

La siguiente imagen muestra como los IDOCs son enviados a dos sistemas lgicos a travs de tres puertas.


Port type Application area
File Interface Link to most EDI subsystems
Transactional
RFC
ALE distribution scenarios
CPI-C Link to R/2 System: Direct communication
with an R/2 System (from version 5.0F
onwards) is only possible via this port type.
Internet Sending to e-mail addresses
Programming
Interface (PI)
The IDoc is not exchanged with an external
system but rather with a function module you
have written. This means that any dispatch
type can be used.
XML E-commerce




















11 de 63 25/07/2005
i 3S
retail



Men Herramientas _ Business Comunication Base IDOC
IDOC Descripcin puerta
Cdigo de Transaccin
WE21

Por ejemplo creamos la puerta PUERTACURS de tipo Fichero




















El mdulo de fucnciones EDI_PATH_CREATE_CLIENT_DOCNUM se utiliza para crear los nombres de los ficheros


12 de 63 25/07/2005
i 3S
retail


Ejemplo de puerta tipo XML


13 de 63 25/07/2005
i 3S
retail




1.8.- Cdigos de operacin

El cdigo de operacin se utiliza para identificar el proceso especfico, por ejemplo el mdulo de funciones o la tarea workflow que utilizan los IDOCs para
ser enviados o recibidos.
Hay dos tipos de cdigos de operacin:
o Cdigos de operacin de salida. Si se utiliza la determinacin de mensajes para la generacin de IDOCs, el cdigo de operacin contiene
el mdulo de funciones que genera el fichero
o Cdigo de operacin de entrada. Contiene la tarea workflow o el mdulo de funciones que lee el IDOC y lo transfiere al sistema para crear
el documento

Para obtener informacin sobre los cdigos de operacin:
Men WEDI Documentacin Cdigo de Operacin
Cdigo de Transaccin
WE64
Ejemplo del cdigo de operacin M 10 para el tipo de mensaje ORD E ERS













14 de 63 25/07/2005
i 3S
retail



1.9.- Perfiles de Interlocutor EDI

Un perfil de interlocutor EDI es un identificador para un sistema usado en la comunicacin de mensajes, se debe mantener la informacin de tipo de
mensaje, puerta y cdigo de proceso utilizados.
Los principales tipos de interlocutores EDI son :
o B para bancos
o KU para clientes/deudores
o LI para proveedores/acreedores
o LS para sistemas lgicos


15 de 63 25/07/2005
i 3S
retail



2.- DISTRIBUCIN DE DATOS MAESTROS


Este captulo trata de la distribucin de datos maestros mediante ALE
Podemos distribuir abarcan un rango de datos como materiales, clientes, proveedores, clases, condiciones, centros de costeSe puede encontrar una
lista de los mensajes que se pueden distribuir en:
http://help.sap.com/saphelp_46c/helpdata/es/07/acdfab6829d3119b440060b0671acc/frameset.htm

Hay tres opciones para distribuir datos maestros desde SAP:
o Enviar datos maestros directamente, a travs de una serie de programas ALE
o Capturar todos los cambios ocurridos en los datos maestros, luego esos cambios se conviertan en IDOC y se transmiten. Es lo que se conoce
como punteros de modificacin
o ir a buscar los datos maestros desde otro sistema R/3, esta opcin es posible para unos cuantos tipos de mensajes.


Vamos a construir un ejemplo para distribuir datos maestros de material usando el tipo de mensaje MATMAS entre el sistema lgico de nuestro mandante
500T01 y el sistema lgico que creamos TEST1.

1. Mantener el Modelo de Distribucin
Men SALE Modelar e Implementar procesos empresariales
Actualizar modelo de distribucin y distribuir vistas
Cdigo de Transaccin
BD64

Nos posicionamos sobre el modelo que creamos en el captulo anterior (MODISTRCUR) y pulsamos Insertar tipo mensaje. Introduciremos la
siguiente informacin:


16 de 63 25/07/2005
i 3S
retail



















Grabamos


17 de 63 25/07/2005
i 3S
retail



2. Definir y mantener Acuerdos entre Interlocutores EDI

Definir Tipo de Interlocutor EDI
Men SALE Modelar e Implementar procesos empresariales
Configurar acuerdo entre interlocutores y fecha Actualizar a
mano acuerdos entre interlocutores EDI
WEDI IDOC Acuerdo entre interlocutores EDI
Cdigo de Transaccin
WE20

Elegimos Tipo de interlocutor EDI LS y pulsamos crear.Introducimos la siguiente informacin y pulsamos grabar:
















18 de 63 25/07/2005
i 3S
retail


Crear los parmetros de salida, pulsamos dentro de los parmetros de salida e introducimos la siguiente informacin:
























19 de 63 25/07/2005
i 3S
retail



2.1.- Envar datos directamente: Caso prctico, enviar datos maestros de artculos

SAP proporciona una serie de programas para enviar datos maestros completos. En el siguiente ejemplo, vamos a enviar seis materiales:

Men Herramientas ALE Distribucin de datos maestros
Multiaplicaciones Material Enviar
Cdigo de Transaccin
BD10



















El sistema nos informa que se han generado los IDOCs.







20 de 63 25/07/2005
i 3S
retail



Para generar los ficheros

Men BALE Monitoring Monitor status para mensajes ALE
Cdigo de Transaccin
BD87



Introducimos los criterios de seleccin pertinentes y procesamos los IDOCS, generados


















Para ver los ficheros generados, desde el log de cualquiera de los IDOCs procesados :



21 de 63 25/07/2005
i 3S
retail


Para visualizar el fichero, podemos utilizar la transaccin AL11





22 de 63 25/07/2005
i 3S
retail



2.2.- Punteros de modificacin: Caso prctico, enviar datos maestros de artculos

Los cambios en los datos maestros se guardan en las tablas CDHDR y CDPOS.
Una vez activados los punteros de modificacin, el sistema genera registros en las tablas BDCP y BDCPS.
Un programa ALE procesa selecciona todos los registros de las tablas no tratados y los convierte en IDOCs.
Se pueden establecer filtros.


1. Activar Punteros de Modificacin

Activacin general de punteros de modificacin
Men SALE Modelar e Implementar procesos empresariales
Configurar reproduccin de datos modificados Activacin
general de puntero de modificacin
Cdigo de Transaccin
BD61

Introducimos la siguiente informacin:









Activar puntero de modificacin por tipo de mensaje


23 de 63 25/07/2005
i 3S
retail



Men SALE Modelar e Implementar procesos empresariales
Configurar reproduccin de datos modificados Activar puntero
de modificacin por tipo de mensaje
Cdigo de Transaccin
BD61





Marcar el Tipo de Mensaje MATMAS

1. Convertir punteros de modificacin en IDOCs

Ahora, al crear (MM01), modificar (MM02) o marcar para borrado (MM06) se debe enviar un IDOC. En nuestro ejemplo, modificamos la
descripcin del material 100113. Observamos que en la tabla BDCPV aparece la entrada :


El campo PROCESS, indica que todava no se ha generado un IDOC para esa e
El campo CDCHGID informa de si la entrada se refiere a una modificacin, si
ntrada
es un

registro nuevo o si se ha borrado










24 de 63 25/07/2005
i 3S
retail


Para generar el IDOC, procederemos de la siguiente manera

Men BALE Servicios Puntero de modificacin Evaluar
Cdigo de Transaccin
BD21



Introducimos el mensaje MATMAS y ejecutamos, el sistema nos informa de los IDOCs que se han creado

2. Visualizar los IDOCs generedos.
Existen varias transacciones para visualizar los IDOCs. Vamos a ver la siguiente:




Men BALE Monitoring Monitor status para mensajes ALE
Cdigo de Transaccin
BD87
Establecemos los criterios de seleccin pertinentes y ejecutamos la transaccin:

El status 30, indica que el IDOC ha sido creado pero no enviado, para hacerlo, ejecutamos la seleccin. Pulsamos Procesar
Ahora aparece la siguiente pantalla:

Si navegamos por la pantalla, doble clic en la seleccin y nuevamente doble clic en el nmero de IDOC, podemos ver la estructura del IDOC y donde
se ha grabado la informacin



25 de 63 25/07/2005
i 3S
retail





3.- DISTRIBUCIN DE DATOS TRANSACCIONALES

La principal diferencia entre la distribucin de datos maestros y la distribucin de datos transaccionales, es la manera de generar los IDOCs. Mientras que
para la distribucin de datos maestros, utilizamos mecanismos como los punteros de modificacin o programas que envan los datos cuando y como nosotros
queramos, la distribucin de datos transaccionales, en la mayora de casos, se realiza mediante la determinacin de mensajes.


3.1.- Interfaz de Salida: Caso Prctico, enviar un pedido de compras

En este captulo, vamos a enviar un pedido de compras, lo haremos mediante el tipo de mensaje ORDERS y con el tipo base ORDERS05. Seguiremos los
siguientes pasos:

1. Configurar el modelo de distribucin
Men SALE Modelar e Implementar procesos empresariales
Actualizar modelo de distribucin y distribuir vistas
Cdigo de Transaccin
BD64
Nos posicionamos en el modelo deseado, marcamos Insertar Tipo de Mensaje e introducimos la siguiente informacin:

Pulsamos continuar y grabamos



26 de 63 25/07/2005
i 3S
retail



2. Determinacin de salida.
Est basado en la determinacin de mensajes, tal y como configuramos por ejemplo que se genere un determinado formulario o para los precios de
compra o de venta. Deben estar creadas las tablas de condiciones y las secuencias de acceso para dichas tablas

Crear/Visualizar tablas de condiciones de pedido
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Tablas de condiciones Fijar tablas de
condiciones para pedido Mensajes: visualizar tabla de
condiciones de pedido.
Cdigo de Transaccin
M/61
En esta transaccin podemos ver las distintas posibilidades que tenemos para crear mensajes. Podemos crear nuevas tablas de condiciones si es
preciso. Para nuestro ejemplo elegimos la tabla 026 por Clase de documento.

Crear visualizar secuencias de acceso
Para acceder a las tablas de condiciones, necesitamos las secuencias de acceso.
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Secuencias de acceso Control de salida
Secuencias de acceso Fijar secuencia de acceso para
pedido
Vemos que la secuencia de acceso estndar 001, contiene la tabla 026








27 de 63 25/07/2005
i 3S
retail


3. Configurar el tipo de salida
Debemos configurar el tipo de mensaje que deseamos que se cree al generar un pedido.
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Clases de mensajes Fijar clases de
mensajes para pedido Actualizar clases de mensajes para
pedido
Cdigo de Transaccin
M/34
Creamos un tipo de mensaje como copia de NEU
Introducimos una descripcin y la Secuencia de acceso 0001
Dentro de los valores de propuesta elegimos









Dentro de Rutinas de proceso, nos aseguraremos que existe la entrada :



Dentro de Funciones de interlocutor que para el medio Distribucin ALE, existe la entrada PR Proveedor.


28 de 63 25/07/2005
i 3S
retail



En la siguiente actividad, indicamos para que operaciones vamos a crear los mensajes.
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Clases de mensajes Fijar clases de
mensajes para pedido Control detallado del pedido
Para indicar que queremos generar mensajes ZNEU cuando se creen o modifiquen pedidos:





Tenemos que enlazar el tipo de mensaje ZNEU con el esquema de mensajes
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Esquemas para mensajes Especificar
esquemas de mensajes para pedido Actualizar esquema para
mensajes: pedido
Cdigo de Transaccin

Aadimos la entrada ZNEU en el esquema estndar RMBEF1:



29 de 63 25/07/2005
i 3S
retail



Nos aseguramos que la orden de compra est asignada al esquema RMBEF1.
Men SPRO Gestin de materiales Compras Mensajes
Control de salida Esquemas para mensajes Especificar
esquemas de mensajes para pedido Asignar esquema a
pedido
Cdigo de Transaccin







El ltimo paso es crear los registros de condicin para las tablas de condiciones
Men Logstica Gestin de materiales Compras Pedido
Datos maestros Mensajes Pedido Crear
Cdigo de Transaccin MN04

Elegimos la clase de mensaje ZNEU y para la secuencia de acceso Clase de documento












30 de 63 25/07/2005
i 3S
retail



4. Mantener los perfiles de Interlocutor
Men WEDI IDOC Acuerdo entre interlocutores comerciales EDI
Cdigo de Transaccin WE20
Creamos un nuevo parmetro de salida con las siguientes caractersticas:






















La entrada sin el indicador de mensajes es para la creacin de pedidos, mientras que la otra es para la modificacin de pedidos.


31 de 63 25/07/2005
i 3S
retail



5. Creacin del IDOC
Para crear el IDOC, ahora slo tenemos que crear o modificar un pedido de tipo NB, comprobamos que se crea un mensaje de tipo ZNEU.
Por ejemplo hemos creado el pedido de compras 4500000283, vamos a visualizarlo mediante la transaccin ME23N y en Pasar a Mensajes
podemos ver que efectivamente se ha creado el tipo de mensaje. En el log de proceso, nos informa del IDOC que se ha generado





32 de 63 25/07/2005
i 3S
retail



6. Visualizacin del IDOC.
En el captulo anterior vimos la transaccin BD87, ahora veremos otra transaccin para monitorizar los IDOCs:
Men WEDI IDOC Visualizar IDOC
Transaccin WE02

In











troducimos los parmetros de seleccin correspondientes:















33 de 63 25/07/2005
i 3S
retail



Haciendo doble clic sobre el nmero de IDOC:























34 de 63 25/07/2005
i 3S
retail



3.2.- Interfaz de entrada: Caso Prctico, recibir una entrada de mercancas


En esta seccin vamos a procesar un IDOC de entrada, concretamente, vamos a recibir una entrada de mercancas para un pedido, simulando que nos
lo envan de un almacn que no maneja SAP. El tipo de mensaje, ser el WMMBXY con el tipo base de IDOC WMMBID02.
WMMBXY es un potente mensaje que permite hacer muchos tipo de movimientos de mercanca: entradas con referencia a pedido, con referencia a
rdenes de produccin, cambio de status del stock.

1. Mantenimiento el Sistema Lgico y el modelo de distribucin
Vamos a crear un sistema lgico llamado ALMACN, que ser el emisor de nuestro mensaje.
Men IMG Base Application Link Enable Preparar sistemas
receptores y de envo Preparar sistemas lgicos Nombrar
sistema lgico
Cdigo de Transaccin
BD54
Mantenemos creamos un modelo de distribucin llamado MODELOALM con el sitema lgico emisor ALMACEN y con el sistema receptor
nuestro mandante 500T01. Incluimos el mensaje WMMBXY









35 de 63 25/07/2005
i 3S
retail



2. Actualizacin de los interlocutores EDI
Creamos















el interlocutor EDI, ALMACEN de tipo LS y le incluimos el parmetro de entrada WMMBXY:




36 de 63 25/07/2005
i 3S
retail



3. Generar el IDOC
Esta es la parte ms laboriosa, porque tenemos que fabricar un fichero con la estructura del IDOC. Ex
IDOCs, pero es muy posible que queramos construir desde el propio SAP un IDOC para simular el
isten softwares externos que mapean ficheros en
proceso de recepcin de un IDOC.
Podemos hacer un sencillo progra dems
de las estructuras correspondientes a cada segmento.
Con tipos de IDOC que son tanto de entrada como de salida podemos utilizar la transa
La opcin ms recomendada es utilizar la transaccin de test que SAP proporciona para crear, modificar I

En esta parte y con ayuda de la documentacin del IDOC (WE60, WE62) vamo




Mediante esta transaccin podemos genera IDOCs a partir de otro, podemos m
Tambin como en nuestro caso podemos crear un tipo de IDOC.
Ponemos tipo base WMMBID02 y ejecutamos:












ma en ABAP, utilizando las estructuras EDI_DC (para generar la cabecera) y EDI_DS (para generar el detalle), a
ccin WE12
DOCs.
s construyendo un IDOC.
odificarlo y ejecutarlos.
Men WEDI Test Herramientas de test
Cdigo de Transaccin
WE19


37 de 63 25/07/2005
i 3S
retail



Lo primero que rellenamos es la estructura del registro de control: EDIDC. Hacemos clic sobre EDIDC e introducimos la siguiente informacin


ar segn las















Ahora rellenamos el segmento E1MBXYH que corresponde a la cabecera del documento (obviamente esta informacin puede vari
parametrizaciones del sistema) en nuestro caso introducimos lo siguiente:


38 de 63 25/07/2005
i 3S
retail


Rellenamos el segmento E1MBXYI que corresponde a la posicin del documento de entrada de mercancas para el pedido 4500000284:


















39 de 63 25/07/2005
i 3S
retail


Creamos otro segmento de posicin como copia del anterior. Nos posicionamos sobre el segmento E1MBXYI botn derecho copiar.
el icono de pegar y elegimos al mismo nivel
Clic sobre
odificamo cin de


4. Procesar el IDOC.
Desde la misma transaccin podemos procesar el IDOC, podemos elegir procesarlo:
o De forma estndar (lo que est parametrizado en el mantenimiento de los acuerdos de inte n)
o Mediante un mdulo de funciones. El sistema nos deja elegir si hay ms de una funci demos
ejecutarlo en fondo o visibley podemos utilizar el debugg.
o A partir de un fichero.

Elegimos Entrada estndar , el primer mensaje que aparece, el sistema comprueba que la cabecera es correcta, (existe los acuerdos de
intrerlocutores, las puertas). Aceptamos el mensaje. Aparece lo siguiente:


Se crea un nuevo segmento de posicin, ahora m s los datos pertinentes como posi l pedido, cantidad
rlocutor, a travs del cdigo de operaci
n asociada a ese mensaje. Adems po












40 de 63 25/07/2005
i 3S
retail






I












5. Visualizar el IDOC.


ntroducimos el nmero de IDOC 202042
Men BALE Monitoring Monitor status para mensajes ALE
C


Si vemos el pedido 4500000284 (ME23N)










digo de Transaccin
BD87


41 de 63 25/07/2005
i 3S
retail




4.- P CIN ALE: EXTENSIN Y

dar no or completo los requerimientos que tenemos, en muchos casos es posible aadir funcionalidad a los IDOCs.
Por ejemplo, podemos extender el IDOC para crear nuevos campos y modificar la funcin ALE que lo procesa para dar contenido a esos campos
os los ficheros y mejorando por tanto

En este captulo trabaj s con el MATMAS.


En nue n el segmento E1KNVKM enva el nombre de la persona de contacto pero no la direccin del mismo (es
posib s el deudor 241 en la sociedad ARAN.
En la pesta




O TIMIZA REDUCCIN DE IDOCS
Es posible que los IDOCs estn cumplan p

Tambin podemos reducir el tipo de IDOC para eliminar campos que no necesitamos, haciendo ms peque
los procesos de comunicacin.
aremos la extensin de los IDOCs con el DEBMAS, mientras que la reduccin la trabajaremo
4.1.- Extensin de IDOCs. Caso prctico Aadir campos para la distribucin de clientes
stro ejemplo, el tipo de IDOC DEBMAS05 e
le que otros IDOCs si la enven). Si vamos al maestro del cliente: Transaccin XD03 e introducimo
a de Persona de contacto si pulsamos el botn Direc. Personal













42 de 63 25/07/2005
i 3S
retail


Sabem que los datos de direccin se encuentran en la tabla ADRC (se accede a ella a travs de la tabla KNVK, a partir del campo ADRNP_2).
Los pasos que deberemos seguir son:

to E1KNVKM
Se deber crear un tipo de extensin ZDEBMASX

1. Crea




Introducimos el nombre del segmento a crear Z1ADRC y clic sobre Crear
os
Crearemos un nuevo segmento Z1ADRC asociado al segmen
Crearemos un nuevo tipo de IDOC ZDEBMASX asociado al tipo de mensaje DEBMAS
Finalmente chequearemos los datos.
r el segmento Z1ADRC
Men WEDI Desarrollo Segmentos IDOCs
Cdigo de Transaccin
WE31
Insertamos la siguiente informacin:


43 de 63 25/07/2005
i 3S
retail



una pantalla de carcter informativo: Pulsamos grabar. Aparecer





. Crea un tipo de extensin y un



n



















2 cin de nuevo segmento
Me WE Desarrollo Tipos de IDOC n DI
C
En nombre, introducimos ZDEBMASX y marcamos el radio-button de Ampliaci
Clic en Crear, introducimos la siguiente informacin:
digo de Transaccin
WE30


44 de 63 25/07/2005
i 3S
retail



No nsaje informndonos que el nuevo segmento se aplica como hijo de E1KNVKM.



s posicionamos sobre E1KNVKM y clic sobre Crear, nos aparece un me
Introducimos la siguiente informacin y grabamos:





45 de 63 25/07/2005
i 3S
retail



3. Crear un nuevo tipo de IDOC
Debemos asociar nuestra ampliacin a un tipo de mensaje


Ahora asociamos la ampliacin ZDEBMASX al tipo base ZDEBMASZ. Desde la pantalla
principal de WE30 (Objeto ZDEBMASX y el check de Ampliacin: Utilidades
Ampliacin Asignar Tipo Base)












Introducimos ZDEBMASZ como nombre de Objeto
Marcamos el radio-buton de Tipo Base y clic sobre Crear
Men WEDI Desarrollo Tipos de IDOC
Cdigo de Transaccin
WE30


46 de 63 25/07/2005
i 3S
retail


4. Asociar el Tipo de IDOC al Tipo de Mensaje


Marcamos Modificar y Entradas
5.
n ZDEBMASX desde la transaccin WE30.

Men WEDI Desarrollo Tipos IDOC/Mensaje
Cdigo de Transaccin
WE82

Nuevas :



Grabamos la informacin introducida

Verificar el Tipo de IDOC
Primero debemos liberar el Tipo Base ZDEBMASZ y la ampliaci


47 de 63 25/07/2005
i 3S
retail



ve pliacin como para el Tipo Base

6. P

os el cdigo en la funcin EXIT_SAPLVV01_001




Ahora desde la misma transaccin WE30, pulsamos rificar, tanto para la am
rogramar la user-exist
Creamos un proyecto, (CMOD) y le asignamos la componente VSV00001, introducim


48 de 63 25/07/2005
i 3S
retail




7.


Actualizar los acuerdos de Interlocutor
Men WEDI IDOC Acuerdo entre interlocutores comerciales EDI
Cdigo de Transaccin WE20








49 de 63 25/07/2005
i 3S
retail


8. Testear la aplicacin.
hora, por fin, verificamos que el proceso funciona correctamente.


A
Men Herramientas ALE Distribucin de Datos Maestros
Multiaplicaciones Cliente Enviar
Cdigo de Transaccin BD12


















50 de 63 25/07/2005
i 3S
retail


Visualizamos el IDOC que acabamos de generar, por ejemplo con la BD87.












51 de 63 25/07/2005
i 3S
retail


4.2.- Reduccin de IDOCs. Caso prctico Reducir campos en la distribucin de acreedores


eos
No se pueden desactivar los segmentos o campos obligatorios
No todos los mensajes se pueden reducir, en el customazing encontramos una gua con los IDOC que se pueden reducir:






En nuestro ejemplo reduciremos el tipo de IDOC CREMAS
Procederemos de la siguiente manera:
1. Crear el IDOC reducido






Introducimos ZCREM y clicamos el botn de crear, le indicamos que el modelo es CREMAS









La reduccin de IDOCs optimiza el proceso de comunicacin ya que se generan ficheros ms pequ
s
Men SALE Modelar e implementar procesos empresariales
Configurar distribucin de datos maestros Especificar alca
de los datos que se deben distribuir Reducir mensajes
Crear tipo de mensaje reducido
nce
Cdigo de Transaccin Clicar sobre la ayuda
Men SALE Modelar e implementar procesos empresariales
Configurar distribucin de datos maestros Especificar alcance
de los datos que se deben distribuir Reducir mensajes
Crear tipo de mensaje reducido
Cdigo de Transaccin BD53


52 de 63 25/07/2005
i 3S
retail




Entramos una descripcin y aceptamos
Seleccionamos los campos que queremos aadir, primero debemos marcar el segmento y luego seleccionar los campos, en nuestro caso vamos a
a or.

el segmento no est
seleccionado
ndica que el segmento est
seleccionado








Los campos en verde son obligatorios y no se
pueden quitar
Clic sobre Seleccionar



rabamos

adir a los campos obligatorios, la fecha de creacin del registro y autor en la vista de sociedad del acreed
G
El signo (-) indica que
El signo (+) i








53 de 63 25/07/2005
i 3S
retail



2. Testear la aplicacin

Incluimos en nuestro modelo de distribucin el mensaje ZCREM (BD64)










Actualizamos los acuerdos de interlocutor (WE20)


54 de 63 25/07/2005
i 3S
retail



enviamos el IDOC con la transaccin BD14













Visualizamos el IDOC







55 de 63 25/07/2005
i 3S
retail



5.-


Las
Las
Gra
El siguiente grfico m
BAPIS
5.1.- Introduccin a las BAPIs
BAPIs (Business Application Programming Interfaces) son el estndar de las interfaces de SAP
BAPIs permiten la conexin entre un sistema SAP y otro sistema ya sea SAP o no.
cias a su componente RFC, pueden ser llamadas desde programas desarrollados en Visual Basic o J ava.
uestra las posibles utilidades de las BAPIs


56 de 63 25/07/2005
i 3S
retail



5.2.- El Business Object Browser (SWO2)
bu cumentos)
El Busine P.
Se accede m
Los siness objects types son la representacin de entidades de negocio (datos maestros, do
ss Ojecct Browser (BOR) muestra una visin en clave de Orientacin a Objetos del sistema SA
ediente la transaccin SWO2:


57 de 63 25/07/2005
i 3S
retail



5.3.- El Explorador BAPI
rador BAPI (Transaccin BAPI) permite buscar las BAPIS existentes en el sistema, bien por jerarqua de negocio bien por orden alfabtico:

El explo





58 de 63 25/07/2005
i 3S
retail


5.4.- Introduccin a la distribucin mediante BAPIs

obtener una lista de clientes. Antes de la
destino RFC
ra la lectura de datos externos. Por ejemplo, si generamos un documento FI
a destino, pero la red cae mientras la BAPI est siendo
umento podra ser creado nuevamente, con lo cul, el documento estara
car datos en uno o ms sistemas lgicos, por ejemplo, para distribuir datos
PIs, se debe haber generado una interfaz ALE IDOC que controla la


Deb stas
o Cambios en la base de datos. Se producen actualizaciones en la base d
o Conexin dbil (loose coupling). Con una interfaz sncrona entre
conexin, el cliente podra no ser capaz de trabajar correctamente.
o Rendimiento. La interfaz tiene un gran volumen de datos, o el servidor deb
la interfaz sncrona no puede ser utilizada porque su rendimiento puede

Si mediante las BAPIs estndar podemos modelar nuestro proceso ALE, entonces, simplem
o Filtrado de datos
o Determinacin de los Receptores
En cambio, si necesitamos desarrollar nuevas BAPIs o modificar las existentes, deberem
o Implementar una nueva BAPI
o Mantener la interfaz BAPI-ALE
o Determinacin de los receptores
ALE soporta dos tipos de llamadas:
o Llamadas sncronas.
a la lectura de datos en un sistema remoto, por ejemplo para Normalmente son utilizadas par
llamada a la BAPI se debe determinar el
Las llamadas asncronas deberan ser utilizadas nicamente pa
mediante una llamada sncrona, el documento se genera correctamente en el sistem
ejecutada, la aplicacin devolvera un mensaje de error y el doc
duplicado.
o Llamadas asncronas.
Las llamadas asncronas se utilizan normalmente para para repli
maestros. Para implementar una interfaz asncrona mediante BA
comunicacin entre los sistemas
eramos implementar un modelo asncrono si se cumple al menos una de e condiciones:
e datos de ambos sistemas
el cliente y el servidor es demasiado estrecha. Si se interrumpe la
e llevar a cabo una gran cantidad de operaciones. En este caso
ser muy pequeo.
ente necesitaremos seguir los siguientes pasos:
os seguir los siguientes pasos:


59 de 63 25/07/2005
i 3S
retail



asncrona, en el sistema receptor, el sistema llama a la interfaz ALE del IDOC en lugar de a la BAPI. Se realizan los
siguientes
o
o

El siguiente grfico, muestra el proceso de distribucin de datos mediante BAPIs

El proceso se divide en los siguientes subprocesos:

1. Proceso de salida:
Determinacin del receptor
Llamada al modulo de funcin de salida generado
Conversin BAPI <->IDOC
Filtrado de datos
Envo del IDOC
2. Envo del IDOC:
Los IDOCs son envados a la capa de comunicacin, mediante
tRFC o mediante ficheros.
3. Proceso de entrada:
Filtrado de datos
Conversin de los campos
Control de la transferencia (decide a que BAPI llamar)
Conversin IDOC <->BAPI
Determinacin del status del IDOC
Manejo de errores



Cuando utilizamos las BAPIs de forma
procesos:
o Crear un IDOC desde los datos del BAPI
Enviar el IDOC al sistema destino
Recibir el IDOC en el sistema destino y llamada a la BAPI.



60 de 63 25/07/2005
i 3S
retail


Se puede utilizar la transaccin BDBG para crear los objetos necesarios para el proceso, esto es, el IDOC y los mdulos de funciones.



Por ejemplo par mtodo CANCEL (BAPI_GOODSMVT_CANCEL)






Men Herramientas ALE Desarrollo ALE BAPI Actualizar
interfase ALE

a los movimientos de mercanca (objeto BUS2017) existe el



Cdi d BDBG go e Transaccin




61 de 63 25/07/2005
i 3S
retail



5
Para las lla d de filtrado de datos:
Reducc . No se basa en condiciones
Filtrado d
.4.1.- Filtrado de Datos y Determinacin de los receptores

ma as asncronas a BAPIs, existen dos tipos
in de la Interfaz. Puede ser mediante campos o completamente
e parmetros. Basado en condiciones.



Function module Features
ALE_BAPI_GET_FILTEROBJ ECTS Determining Filter Objects of BAPI a
ALE_ASYNC_BAPI_GET_RECEIVER Determining Receivers of Asy r nch onous BAPIs
ALE_SYNCH_BAPI_GET_RECEIVER Determining Receivers of Synchronous BAPIs
ALE_BAPI_GET_UNIQUE_RECEIVER Determining Unique Receivers s of Synchronous BAPI



El proceso de generacin del IDOC depende de la aplicacin, el siguiente ejemplo es apli , en el cual, un mdulo de funciones es el
responsable de la generacin del IDOC.
El mdulo de funciones es llamado por la transaccin
El mdulo de funciones, genera un IDOC, que es transferido a la funcin MASTER_IDO
MASTER_IDOC_DISTRIBUTE chequea el IDOC y llama a la funcin COMUNICATION es decir, elimina los datos que no
son necesarios para la comunicacin)
cable a un escenario ALE
C_DISTRIBUTE
_IDOC_CREATE (filtra el IDOC,


62 de 63 25/07/2005
i 3S
retail




Ejempl ograma con llamada asncr on llamada sncrona o de pr ona: Ejemplo de programa c


data declaration
data: fi
filterobj_types like bdi_fobjtype occurs 0,
exceptions
rror_in_filterobjects =1
rror_in_ale_customizing =2.
* call generated ALE interface function module
if sy-subrc <>0.
if not bapi_logsys[] is initial.
call function ALE_DEBITOR_CREDITACC_REPLICATESTATUS
tables
receivers =bapi_logsys
...
commit work.
endif.
endif.
* data declaration
data: filterobj_values like bdi_fobj occu 0,
...
endif.
endif.
lterobj_values like bdi_fobj occurs 0,
bapi_logsys like bdi_logsys occurs 0.
filterobj_types like bdi_fobjtype occurs 0
bapi_server like bdibapidest occurs 0.
rs
,
filterobj_values-objtype =KKBER.
filterobj_values-objvalue =0002.
append filterobj_values.
* get receiver fromALE distribution model
call function ALE_ASYNC_BAPI_GET_RECEIVER
exporting
object =BUS1010
method =REPLICATESTATUS
tables
receivers =bapi_logsys
filterobject_values =filterobj_values
* fill filterobject values into table
filterobj_values-objtype =KKBER.
filterobj_values-objvalue =0002.
append filterobj_values.
* get receiver fromALE distribution model
call function ALE_SYNC_BAPI_GET_RECEIVER
exporting
object =BUS1010
method =GETSTATUS
tables
receivers =bapi_server
filterobjects_values =filterobj_values
exceptions
error_in_filterobjects =1
error_in_ale_customizing =2.
* call synchronous BAPI locally/remotely
if sy-subrc <>0.
if not bapi_server[] is initial.
loop at bapi_server.
call function
BAPI_DEBITOR_CREDITACC_GETSTATUS
destination bapi_server-rfc_dest
...
endloop.
else.
call function
BAPI_DEBITOR_CREDITACC_GETSTATUS
e
e


63 de 63 25/07/2005

Vous aimerez peut-être aussi