You are on page 1of 208

IDiA

BIT350 ALE Enhancements


Material de Formacin

Versin:
Fecha:

CONFIDENTIAL AND PROPRIETARY


Any use of this material without specific permission of The Birchman Group is strictly
prohibited.

1.0
29-sep-14

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Objetivos del Curso

Ser capaces de analizar un escenario ALE y mejorarlo


Asesorar sobre el mtodo ms indicado para optimizar un determinado escenario
Optimizar el Customizing para mejorar el rendimiento de un proceso ALE

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

1. Ampliar escenarios ALE:


Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

El Proceso ALE y Posibilidades de ajustes y mejoras

Veamos el siguiente proceso ALE y el correspondiente flujo de Status:

1. Ampliar escenarios ALE:


Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

El Proceso ALE y Posibilidades de ajustes y mejoras

Posibles puntos de ajustes y mejoras a nivel tcnico:

1. Ampliar escenarios ALE:


Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes por Field Conversion

Para reemplazar valores por constantes o variables sin programar ABAP:

1. Ampliar escenarios ALE:


Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo IDoc

Para ampliar con ABAP el envo de un IDoc sin necesidad de aadir campos:

1. Ampliar escenarios ALE:


Introduccin

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc

Para transferir campos adicionales, p.e. se han extendido tablas del estndar:

10

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
Tipos
Tipos IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
Procesos
Procesos ALE:
ALE: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

11

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

IDoc: Intermediate Document


Message Type: Semntica del mensaje
Tipo IDoc: Estructura del IDoc

12

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

WE60: Documentacin

13

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

WE30: Herramienta de edicin de segmentos

14

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

Atributos de IDoc, Segmento y Campo

15

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

Tipo IDoc

El

Tipo IDoc de un Tipo de Mensaje determina qu datos de aplicacin


contiene un mensaje y en qu orden
Un mismo Tipo IDoc podra ser utilizado por ms de un Tipo de Mensaje
El Tipo IDoc se debe ampliar siempre de forma retrocompatible
Debemos intentar escoger siempre el Tipo IDoc con versin inferior para
asegurarnos compatibilidad de interface con otros sistemas SAP ms antiguos.
Los Tipos IDoc suministrados por SAP son conocidos como Tipos Basic y
pueden ser combinados de la forma adecuada con ampliaciones de cliente.
Un IDoc debe informar siempre su Tipo de Mensaje y su Tipo IDoc.

16

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

Tipo de Segmento

Los datos se organizan en segmentos, y su estructura viene definida por el Tipo

de Segmento.
Un Tipo de Segmento puede ser usado por ms de un segmento.
A su vez, un Tipo de Segmento puede ser usado por ms de un Tipo IDoc.
Los segmentos pueden estar relacionados jerrquicamente los unos con los
otros, y si un IDoc debe contener un segmento obligatoriamente as como su
cardinalidad se define en el Tipo IDoc.
Aadir campos a los segmentos existentes no altera el Tipo Idoc, sin el Tipo
de Segmento.
Aadir nuevos segmentos, requiere de la creacin de un nuevo Tipo IDoc.
Los elementos de datos de los campos determinan semntica, tipo y longitud.
Un IDoc no tiene porqu informar todos sus segmentos, ni sus campos.

17

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

Elementos de Datos

El Elemento de Datos describe el tipo interno de un campo, que es idntico a las

propiedades del campo en la tabla del diccionario.


Sin embargo, los datos en un segmento de IDoc estn representadas por un tipo
externo.
Slo se permiten campos cadena de caracteres, lo que significa los tipos ABAP C,
N, D y T.
Cuando se estructura el IDoc, hay que considerar las reglas de conversin de
formato interno a externo.

18

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

2. Procesamiento IDoc: Detalles


Tcnicos
Tipos IDoc: Detalles Tcnicos

19

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Tipos IDoc: Detalles Tcnicos

Ejercicio Prctico 1

Analizar el Tipo IDoc MATMAS05


Crear una estructura Z1INCO## con los campos de tipo INCO1 e INCO2
Crear el Tipo de Segmento Z1INCO##

20

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
Tipos
Tipos IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
Procesos
Procesos ALE:
ALE: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

21

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

2. Procesamiento IDoc: Detalles


Tcnicos
Estructura

22

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

2. Procesamiento IDoc: Detalles


Tcnicos
Estructura

23

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Estructura

Un

Master IDoc contiene una tabla interna con diversas lneas. Cada lnea tiene
una parte de control y una parte de datos. Lo ms importante de la parte de
control es el Tipo de Segmento el cual describe la estructura de la parte de datos

Control

Datos

24

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Estructura

Estructura de un IDoc de comunicacin:

25

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Estructura

IDoc de Comunicacin

Consta de un registro de control, diversos registros de datos, y de registros

de estado.
Registro de Control:
La parte ms importante es el nmero de IDoc (DOCNUM)
El DOCNUM es nico en un sistema lgico
Tambin contiene los datos de interlocutor y el ltimo estado procesado
Registros de datos: Corresponden al master IDoc
Registros de estado:
Determinan los pasos de procesamiento de un IDoc
Se mantiene un registro de los estados previos
Tiene mucha importancia para la monitorizacin y anlisis de errores

26

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

2. Procesamiento IDoc: Detalles


Tcnicos
Estructura

Estructura de Control

27

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

2. Procesamiento IDoc: Detalles


Tcnicos
Estructura

Estructura de Estados

28

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

29

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

WE64: Cdigos de Proceso

30

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Mecanismos de lanzamiento
Mecanismos que pueden desencadenar la creacin de un master IDoc:
Replicacin de Dato Maestro: Basado en documentos de cambio, se puede
planificar un report que genere IDocs para los datos maestros que hayan
cambiado y replicarlos a uno o ms sistemas destino peridicamente.
Control de mensajes: Muchas aplicaciones usan mensajes, por ejemplo la
creacin de pedidos. A nivel de control de mensajes podemos especificar si
queremos que el documento se imprima o se enve de forma electrnica.
Programa de Aplicacin: Algunas aplicaciones generan IDocs directamente de
dos formas:
La aplicacin rellena una tabla interna en formato IDoc y la transfiere a la
capa ALE
La aplicacin usa una BAPI con un interfaz ALE

31

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Cmo se lanza la generacin de un IDoc no afecta al IDoc en s:

32

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc


Desde el programa o mdulo de funciones ser necesario rellenar adems de los
datos, los datos de control mediante una variable de tipo EDIDC:

33

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc (continuacin)


Declaracin de la tabla interna
para el master IDoc:

34

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc (continuacin)


Declaracin de los registros de datos:

35

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc (continuacin)


Consideraciones
Siempre hay que asignar correctamente el SEGNAM y dems campos de control
Hay que convertir los datos a formato externo
Por lo tanto, los campos numricos deben ser convertidos a carcter y
justificados a la izquierda
Se puede utilizar el comando MOVE para copiar los datos al campo SDATA

36

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc (continuacin)


Estructura del
master IDoc:

37

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento IDoc (continuacin)


Mediante INSERT y APPEND aadimos los segmentos para formar el master IDoc.
Consideraciones adicionales:
Segmento Obligatorio: Un IDoc debe contener al menos un registro con este
Tipo de Segmento.
Segmento Opcional: Un IDoc no tiene porqu tener ningn registro de este tipo.
Min. Nmero: Debe haber al menos este nmero de segmentos (puede ser 0 o
1).
Mx. Nmero: No debe excederse este nmero de segmentos (puede ser 1 o )
Para un segmento hijo, el segmento padre debe estar tambin disponible y en el
registro anterior al primer hijo

38

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento Idoc (continuacin)


Traspaso del
master IDoc
a la capa ALE:

39

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento Idoc (continuacin)

Mediante

el mdulo de funciones MASTER_IDOC_DISTRIBUTE transferimos el


IDoc a la capa ALE. La capa ALE complementar los campos de control necesarios,
numera los segmentos, y rellena los campos de nivel de jerarqua, el nmero de
fila del segmento padre y el nmero de IDoc:
El mdulo de funciones devuelve los registros de control de los IDocs transferidos.
Si el IDoc debe generarse en la misma Logical Unit of Work (LUW) que el
documento de aplicacin, y el segundo se genera por tarea de UPDATE, la llamada
al mdulo de funciones deber contener la addicin IN UPDATE TASK.
Es una decisin del programador lanzar un IDoc en la misma LUW que el
documento de aplicacin en sncrono o en asncrono en el proceso de UPDATE.
Finalmente el COMMIT WORK deber ejecutarlo el programa a la finalizacin, en
caso de omitirse no se ejecutar la distribucin del IDoc.

40

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Ejercicio Prctico 2

Visualizar el mdulo de funciones MASTERIDOC_CREATE_MATMAS.


Buscar la llamada al mdulo de funciones MASTER_IDOC_DISTRIBUTE

en el

mdulo de funciones MASTERIDOC_CREATE_MATMAS .


Comentar con la clase la interface de llamada y cmo encontrar el nombre de la
variable que contiene el master IDoc.
Buscar la lnea de cdigo donde se hace la asignacin del segmento E1MARAM.

41

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento Idoc (continuacin)


Ejemplo con MATMAS:

42

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento Idoc (continuacin)


Customer enhancements:

43

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Crear master IDoc

Programacin Lanzamiento Idoc (continuacin)


Tcnicamente estas mejoras pueden ser realizadas de la siguiente forma:
Se pueden reconocer las customer exits por la sentencia CALL CUSTOMERFUNCTION.
En Business Transaction Events (BTEs), si existe un mdulo de funciones que se
llama siguiendo la siguiente convencin de nombre: OPEN_FI_PERFORM<nombre
de la BTE>.
Se puede reconocer una Business Add-In en una interface por la nomenclatura
IF_EX_<badi>. Adems aparece una variable de referencia declarada: DATA
ref_name TYPE REF TO if_ex_<badi>. y una llamada al mtodo CALL METHOD
ref_name->

44

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

Creacin del IDoc de Comunicacin y Servicios ALE

45

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

1. El programa de procesamiento saliente pasa el master IDoc a la capa ALE


2. La capa ALE determina los destinatarios desde el modelo de distribucin, y
extiende el IDoc para cada destinatario aadiendo un registro de control y los de
estado correspondientes, esto es, creando un IDoc de comunicacin para cada
destinatario.
3. El IDoc de comunicacin corre a travs de diversos servicios ALE y finalmente es
almacenado en la Base de Datos.
4. Dependiendo de los parmetros en los acuerdos de interlocutor, el IDoc de
comunicacin es inmediatamente traspasado a la capa de comunicaciones o se
colecta en la Base de Datos. En caso de colectarse, un programa en fondo ser el
iniciador del envo de todos ellos.

46

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

Consideracin importante para los IDocs generados por control de mensajes:


1. El control de mensajes utiliza un cdigo de proceso, el cual se almacen en el
acuerdo de interlocutores, para llamar un mdulo de funciones de procesamiento
saliente.
2. El master IDoc es estructurado en este mdulo de funciones.
3. El cdigo de proceso contiene un atributo que controla si los servicios ALE sern
utilizados.
4. Si se pretende utilizar un servicio ALE, entonces hay que verificar este atributo.

47

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

48

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

1. Determinar destinatario y filtro: La capa ALE lee todos los destinatarios para
un tipo de mensaje del modelo de distribucin y si se han definido grupos de filtro
para un destinatario, tambin se determinan las condiciones de filtro.
2. Filtrado mediante objetos de filtro: La capa ALE verifica si las condiciones de
filtro se cumplen para cada destinatario. Si no es el caso, el segmento afectado y
todos sus hijos son eliminados del IDoc de comunicacin. Si la condicin afecta a
un segmento obligatorio se elimina el IDoc de comunicacin completamente.
3. Filtro de segmento: La capa ALE verifica si los filtros han sido definidos para un
sistema lgico (transaccin BD56, vista de mantenimiento V_TBD20). Los
segmentos introducidos en esta transaccin sern eliminados del IDoc de
comunicacin.
4. Field conversion: Si hay reglas enlazadas a un campo de segmento mediante la
herramienta de field conversion, los contenidos del campo sern ajustados de
acuerdo a las reglas.

49

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Saliente (Outbound) Servicios ALE

5. Cambio de versin: Si el presente Tipo IDoc no est introducido en el acuerdo


de interlocutores, los segmentos aadidos en versiones posteriores sern
eliminados.
6. Escribir IDoc y estados en la Base de Datos: Si todos los servicios se han
ejecutado satisfactoriamente para un determinado IDoc de comunicacin, ser
almacenado en Base de Datos con estado 30. Un texto corto ser generado para
el estado, detallando qu servicios han realizado modificaciones en el IDoc.

La capa de comunicacin la omitimos, ya que todo ajuste debe ser realizado en la


parte de aplicacin.

50

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Servicios ALE

51

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Servicios ALE

El

iniciador de procesamiento entrante es normalmente el programa RBDAPP01


el cual se planifica con una determinada periodicidad como job de fondo.
Si en el acuerdo de interlocutor est configurado el procesamiento inmediato
Trigger inmediately para este tipo de mensaje, entonces se procesa
inmediatamente a la recepcin.
El IDoc ejecuta primero unos servicios ALE y finalmente se transfiere a la
aplicacin

52

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Servicios ALE

53

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Servicios ALE

Ejercicio Prctico 3

Ir a la WE64, examinar los cdigos de operacin entrantes y navegar al mdulo de


funciones de uno.

54

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Servicios ALE

Determinacin del cdigo de proceso y del mdulo de funciones entrante: La capa


ALE lee el cdigo de proceso del acuerdo de interlocutor.
1. Si es del tipo Processing by Function Module, se determina el mdulo de
funciones que corresponde.
2. Si es del tipo Processing with ALE Service, se usan los siguientes servicios
ALE:
1. Filtrado de segmentos: La capa ALE verifica si se han definido filtros de
segmento para este sistema lgico en la transaccin BD56 en la vista de
mantenimiento V_TBD20. Los segmentos definidos aqu sern eliminados del
IDoc.
2. Field Conversion: Si hay reglas enlazadas al campo del segmento mediante
la herramienta de Field Conversion, los contenidos del campo sern
ajustados de acuerdo a las reglas.
3. Escribir IDoc y estado en la Base de Datos: Si todo fue bien, se guarda
con estado 64. Se registra qu servicios han hecho cambios.

55

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

56

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

57

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

Los siguientes pasos son implementados por el mdulo de funciones entrante:


1. Mapeo de formato externo a interno.
2. Chequeos de consistencia dependiendo de la aplicacin
3. Escritura de los documentos de aplicacin bien de forma sncrona o asncrona
4. Actualizar el estado del IDoc: El mdulo de funciones debe ser programado
para que todos los documentos de un IDoc y el estado del IDoc sean llevados a
cabo en una misma LUW.
El mdulo de funciones de la aplicacin o bien actualiza el estado en la misma LUW o
informa a la capa ALE que est pendiente. En el segundo caso, se encarga la capa
ALE.

58

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

Mejoras en procesamiento entrante:

59

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

Los datos del IDoc son evaluados a nivel de segmentos:


1. Se lee un segmento del IDoc en una estructura de tipo EDIDD. Para evaluar los
datos, el campo SDATA se copia con la instruccin MOVE a una estructura de tipo
correspondiente al tipo de segmento a analizar.
2. Los campos del segmento son asignados a campos de una estructura de
aplicacin. Dependiendo del tipo de campo, se aplicar conversin a formato
interno si procede.
3. Tienen lugar pasos especficos de la aplicacin como clculos o chequeos de
consistencia.
4. Se ejecuta el cdigo del Customer enhancement.
5. Se escribe el documento de aplicacin, seguramente va sentencias SQL.
Normalmente se lanza en asncrono IN UPDATE TASK.

60

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Entrante (Inbound) Traspaso Aplicacin

El mdulo de funciones de inbound debe asegurarse que el estado del IDoc se


actualiza en la misma LUW.
Si se ejecuta en asncrono el MF debe informar el parmetro export
IN_UPDATE_TASK
Si el registro de estado ha sido modificado, debe informar el parmetro
CALL_TRANSACTION_DONE. Si es inicial, la capa ALE actualiza el registro de
estado y finaliza la LUW con un COMMIT WORK.
Ms adelante se ve como realizar Package processing.

61

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
Ajustes
Ajustes usando
usando Field
Field Conversions
Conversions
Ajustes
Ajustes sin
sin ampliar
ampliar el
el Tipo
Tipo IDoc
IDoc
Ajustes
Ajustes ampliando
ampliando el
el Tipo
Tipo IDoc
IDoc
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

62

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions

Comportamiento en tiempo de ejecucin:

63

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions

Paso donde tiene lugar Field conversion en el procesamiento saliente de la capa


ALE:

64

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions

Paso

donde tiene lugar el Field Conversion en el procesamiento entrante de la


capa ALE:

65

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions Configurar una regla

Configurar una regla de Field Conversion:


1. Crear una regla: Ir a la SALE e
introducir los siguientes datos:
1. Nombre de la conversion rule
2. Descripcin
3. Nombre del segmento sobre el
cual definimos la regla.
2. Mantener la regla para los campos de
segmentos que deben ser convertidos.
3. Asignar regla a Tipo de Mensaje

66

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions Configurar una regla

Ejercicio Prctico 4

Pasar

proveedores de un mandante a otro sobreescribiendo el Nombre 2 por el


Nombre 1.
Abrir el maestro de proveedores de la Central y buscar un proveedor, verificar en
delegacin que no existe
Escribir alguna cosa en el campo Nombre 2
Realizar la parametrizacin de Field Conversion
Ejecutar el programa de lanzamiento de punteros de modificacin RBDMIDOC
Acceder a la delegacin y comprobar el maestro de proveedor

67

2. Procesamiento IDoc: Detalles


Tcnicos

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes usando Field Conversions Configurar una regla

Ejercicio Prctico 4 - Solucin

Parametrizacin de Field Conversion:

68

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
Ajustes
Ajustes usando
usando Field
Field Conversions
Conversions
Ajustes
Ajustes sin
sin ampliar
ampliar el
el Tipo
Tipo IDoc
IDoc
Ajustes
Ajustes ampliando
ampliando el
el Tipo
Tipo IDoc
IDoc
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

69

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo IDoc

Tenemos opciones de aplicar ampliaciones en el Outbound y en el Inbound:

70

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo IDoc

Los mtodos que disponemos para realizar ampliaciones son:


Utilizar un mdulo de funciones o customer exit.
Usar una Business Transaction Event (BTE)
Usar una Business Add-In (BAdI)

71

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Customer Exit

Flujo de proceso de una Customer Exit:

72

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Customer Exit

Flujo de llamada a una Customer Exit:

73

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Customer Exit

El desarrollador decide dnde realizar la llamada a su Customer Exit


Puede incluir otras funciones Z dentro de su Customer Exit usando INCLUDE
Para realizar la llamada se debe usar la instruccin CALL CUSTOMER-FUNCTION

'nnn', dnde 'nnn' es un nmero de 3 dgitos.


El grupo de funciones tambin debe crearlo el programador y nombrarlo
empezando por X.
El mdulo de funciones debe llamarse EXIT_<programa_que_llama>_<nnn>
La sentencia CALL CUSTOMER-FUNCTION no funcionar hasta que no se active el
enhancement project.

74

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BTE

Flujo de llamada de una BTE:

75

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BTE

El programa estndar realiza una llamada a un mdulo de funciones de servicio


Identificaremos estos mdulos de funciones con la siguiente nomenclatura:

OPEN_FI_PERFORM_<nr>_E o OPEN_FI_PERFORM_<nr>_P.
El mdulo de funciones de servicio determina las implementaciones activas para
un determinado enhancement y los apila en una tabla interna.
Los mdulos de funciones encontrados son ejecutados por orden y de acuerdo a
las condiciones que se hayan especificado.

76

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BTE

Las funciones activas en la BTE se llaman en un LOOP:

77

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BAdI

Flujo de proceso de BAdI:

78

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BAdI

Hay que declarar la variable de referencia a la interfaz BAdI.


Se genera un objeto al incio y se transfiere la

clase

de

servicio

CL_EXITHANDLER.
En la definicin de la BAdI se genera una clase conocida como adapter class.
La Adapter Class encuentra las implementaciones disponibles para esa BAdI y
ejecuta los mtodos implementados de cada una.

79

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc BAdI

1. Declara variable con


referencia a la clase
de servicio y llama a
la clase de servicio
para obtener las
BAdIs

2. Ejecuta las
ampliaciones de
cliente

80

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Encontrar el Enhancement

Para encontrar el Enhancement que ms se adapte a nuestra necesidades podemos


buscar de dos formas distintas:
Buscar por un Enhancement directamente:
Para Customer Exits y BAdIs: Usar Repository Infosystem (transaccin
SE84), Environment Exit Methods
Para BTEs: Usar transaccin FIBF, Environment Infosystem
Buscar la llamada a un mtodo de enhancement en el programa de
inbound o outbound:
Es posible reconocer una customer exit por la instruccin CALL CUSTOMERFUNCTION
Es posible reconocer una BTE por la instruccin CALL FUNCTION
'OPEN_FI_PERFORM*'.
Es posible reconocer una BAdI por la instruccin IF_EX_<badi>, incluso ya
en la declaracin DATA <ref_name> TYPE REF TO if_ex_<badi>.

81

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Enhancements en Outbound

82

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Enhancements en Outbound

Si se requiere realizar cambios en el master IDoc deberemos buscar enhancements


que se llaman antes de la llamada a MASTER_IDOC_DISTRIBUTE y se debe cumplir
una de las siguientes premisas:
Se transfiere el segmento al enhancement, se recupera modificado y se adjunta
a la tabla interna del master IDoc.
Se transfiere el master IDoc completo al enhancement y se recupera desde el
programa principal.
Como buena prctica, hay que intentar evitar acceder a la Base de Datos si el
master IDoc ya nos ofrece toda la informacin que necesitamos para actuar en el
Enhancement.

83

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Enhancements en Inbound

84

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Enhancements en Inbound

El

enhancement debe ser aplicado en el mdulo de funciones que corresponde


cdigo de operacin de entrada de ese message type, antes de que se produzca
la gravacin del IDoc en la Base de Datos.
Una vez identificado el mdulo de funciones correspondiente al cdigo de
operacin de entrada, encontraremos diversos mecanismos disponibles de
enhancement.

85

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejemplo de Enhancement

El

siguiente ejemplo muestra una Customer Exit en el Outbound de Maestro de


Materiales donde se modifica el campo BISMT Cdigo de Material antiguo.

86

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

Ejercicio Prctico 5 - Exposicin


El siguiente ejercicio consiste en ampliar el Outbound para concatenar el nmero
de material a las descripciones de material en la forma <maktx> (<matnr>).

87

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

Ejercicio Prctico 5 - Enfoque


Buscamos la ampliacin a usar

88

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Ejercicio 5

89

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Ejercicio 5

1
3
4

7
5

90

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

9
8
IMPORTANTE
Para que cada alumno
pueda hacer el ejercicio con
independencia, se asignar
un maestro de material a
cada uno,y en el punto 9 se
crear una CASE por cada
material.

10
11

12
13

91

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Ejercicio 5

92

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

Ejercicio 5 Tarea A para el alumno

Cada alumno escoger un maestro de material para las pruebas y lo comunicar

al instructor para que modifique la CASE.


Cada alumno se crear su grupo de funciones ZBIT350_## y crear un mdulo
de funciones Z_BIT350_SAPLMV01_## con el mismo interface que
EXIT_SAPLMV01_002.
Cada alumno deber escribir el cdigo ABAP adecuado para satisfacer el
requerimiento de la exposicin del ejercicio.
Debuguear con breakpoint en el mdulo de funciones para comprobar el flujo de
ejecucin.

93

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

Ejercicio 5 Tarea A - Solucin

Cdigo del mdulo de funciones Z_BIT350_SAPLMV01_00.

94

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 5

Sin embargo, parece ser que el MATNR no lo est cogiendo:

95

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Ejercicio 5 - Solucin

96

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes sin ampliar el Tipo Idoc Ejercicio 5 - Solucin

97

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Ejercicio Prctico 6 - Exposicin

El siguiente ejercicio consiste en ampliar el Inbound para actualizar el cdigo de

material antiguo (campo BISMT) substrayendo una parte del cdigo de material,
por ejemplo CH-8934 8934.

98

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Ejercicio Prctico 6 - Enfoque

Identificar el cdigo de operacin


de entrada para Maestro
Materiales y ampliarlo.

de

99

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Enfoque

Buscamos exits:

100

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Preparacin

Aplicaremos

la misma estrategia que en el Outbound aunque el paso de


parmetros es distinto:

101

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Preparacin

Aplicaremos

la misma estrategia que en el Outbound aunque el paso de


parmetros es distinto:

102

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Preparacin

Cada alumno con un material


El instructor modificar la CASE
Cada alumno crea un mdulo
de funciones para su ejercicio

103

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes sin ampliar el Tipo Idoc Ejercicio 6

Solucin

Modificar el campo BISMT (Cdigo de material antiguo)


Comprobar lanzando una modificacin del IDoc (llega el valor)
Chequear en la MM02 (Hola!)

104

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
Ajustes
Ajustes usando
usando Field
Field Conversions
Conversions
Ajustes
Ajustes sin
sin ampliar
ampliar el
el Tipo
Tipo IDoc
IDoc
Ajustes
Ajustes ampliando
ampliando el
el Tipo
Tipo IDoc
IDoc
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

105

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc

En este apartado, cada uno de los siguientes grandes bloques constan de una parte
de explicacin, ejercicio prctico y demostracin de funcionamiento para poder
continuar con el siguiente punto:
Definicin: Definicin del ejercicio.
Estructura: Definir un Enhancement para el Tipo IDoc
Inbound: Enhancements en el procesamiento entrante
Outbound: Enhancements en el procesamiento saliente
ALM: Transporte, Pruebas y Paso a produccin
Tablas de cliente: Visin rpida sobre ALE enhancements con tablas Z.
El hilo conductor de este apartado es el ejercicio prctico 7 que consiste en
ampliar el Maestro de Materiales para aadir informacin de Competidores, lo que
hace necesaria la ampliacin de la MARA y el envo y grabacin de estos datos en el
sistema destino.

106

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes ampliando el Tipo IDoc - Definicin

107

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes ampliando el Tipo IDoc - Definicin

108

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Definicin

En

primer lugar ampliaremos la MARA. Para ms informacin ver nota OSS


44410
Para replicar sus datos deberemos aadir un segmento hijo al E1MARAM y crear
el Tipo IDoc como extensin al tipo base MATMAS05.
Seguidamente informaremos datos para el material de cada alumno.
En el Outbound deberemos crear un Enhancement para rellenar en el master
IDoc los datos del segmento aadido.
En el Inbound deberemos crear un Enhancement para escribir en Base de Datos
los datos del IDoc extendido.
Hay que plantear este ejercicio como un proyecto real, donde nos imaginaremos
que tenemos que coordinarnos con otros equipos de consultores e integrarnos
con un sistema del que no tendremos visibilidad hasta la fecha de las pruebas de
integracin.

109

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Para el curso se ha ampliado la MARA con un APPEND ZBIT350_00:


Campo

Descripcin

Elemento de
Datos

Tipo

Long.

ZZARTNR

Referencia

CHAR20

CHAR

20

ZZPRODUCER

Fabricante

NAME1_GP

CHAR

35

ZZPRICE

Precio

NETWR_AK

CURR

15

ZZCURRENCY

Moneda

WAERK

CUKY

ZZDATE

Fecha

ERDAT

DATS

Cada alumno, para su material, actualizar datos

en el mandante de Central en
la nueva tabla por medio del programa ZBIT350_MARA_UPDATE.

110

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ampliar el Tipo IDoc

111

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ampliacin creando el tipo de segmento:

112

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ampliar el Tipo IDoc

113

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

En base a la estructura ZBIT350_## aadida a la MARA:

Crear tipo de segmento Z1BIT350_## pero en formato externo (carcter)

114

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ir a WE31 y crear el tipo de segmento Z1BIT350_## (cada alumno):

115

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ir

a la WE30 y ampliar el MATMAS05 insertando el Z1BIT350_## como


subsegmento del E1MARAM creando la extensin ZBIT350EXT_##.

116

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Seleccionar E1MARAM y pulsar en Crear

117

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Seleccionar E1MARAM y pulsar en Crear

118

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Estructura

Ir a la WE82 a asignar la ampliacin al tipo de mensaje MATMAS.

EN RESUMEN:
Hemos creado el tipo de segmento Z1BIT350_## con los campos del
APPEND de la MARA llamado ZBIT350_00.
Hemos creado la extensin ZBIT350EXT_## con el segmento
Z1BIT350_## aadido bajo el E1MARAM.
La extensin cuelga del tipo bsico MATMAS05

119

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Flujo de proceso Inbound (en el sistema de Delegacin):

120

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Al tratarse de mandantes de un mismo sistema, en el sistema de Delegacin no

ser necesario repetir la ampliacin de la MARA, puesto que ya estar ampliada.


No ser preciso que los alumnos informen datos, ya que stos vendrn por la
integracin.

121

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

La exit elegida deber ejecutarse antes de la grabacin en Base de Datos

122

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Recordemos: MATMAS MATM IDOC_INPUT_MATMAS01

123

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Igual que en ejercicios anteriores, tenemos un CASE por alumno (Material):

124

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Flujo de proceso con el tratamiento de SDATA y las conversiones :

125

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Inbound

Cada alumno en su funcin introducir sustituyendo en la declaracin (lnea 29):

126

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes ampliando el Tipo IDoc - Outbound

127

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

El programa principal es el mdulo de funciones MASTERIDOC_CREATE_MATMAS

128

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

Hay que considerar que el segmento no se


va a rellenar ni aadir slo y que el
acuerdo de interlocutor debe modificarse
para indicar la extensin.
Hay que:
1. Aadir la Extensin en el acuerdo de
interlocutor (ZBIT350EXT_00).
2. Ampliar el programa de outbound para
que genere los datos del nuevo
segmento y lo aada al master IDoc.

.En el modelo de distribucin no hay que


modificar nada.
.En el acuerdo de interlocutor
sistema destino tampoco.

del

129

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

Solucin

Cada

alumno ajustar su mdulo


de
funciones
Z_BIT350_SAPLMV01_## con el
siguiente cdigo

130

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

Comprobaciones
modificar
el
Podemos
material (MM02) y lanzar los
punteros de modificacin con
el report RBDMIDOC pasando
por parmetro MATMAS
o bien podemos lanzar la
BD10 para enviar un material
concreto.

131

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

Cambiar

el
tipo
de
procesamiento de Inmediato a
Programa de Fondo,

De

este modo podremos entrar


en debugging desde la BD87
con breakpoint en la funcin.

132

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

3. Ajustar un Escenario ALE


Ajustes ampliando el Tipo IDoc - Outbound

133

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Outbound

Comprobar que los valores llegan en el IDoc


Comprobar que se traspasan los valores correctamente
Comprobar que sin embargo los datos no se graban en la APPEND de la MARA:

134

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Customizing

Para

que los campos ampliados entren a la aplicacin, hay que aadirlos a la


transaccin OMSR:

135

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Customizing

Asignamos el Grupo de Seleccin 11

136

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - Customizing

Debemos mantener los siguientes atributos de cada campo, sobretodo el ALE


field group GR_GLOB. Generamos el resto de campos por copia.

137

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - ALM

Cuando abordamos un proyecto de integracin ALE, con frecuencia nos enfrentamos


a los siguientes problemas:
Los integradores del otro extremo ofrecen resistencia a la complejidad de
estructura que ofrecen los IDocs de SAP o sencillamente hay demasiado
incertidumbre sobre con qu valores rellenar qu campos de qu segmentos.
Si bien en SAP disponemos de entornos de desarrollo e integracin adems de
productivo, con otros entornos las opciones de entorno de pruebas son ms
limitadas.
No existe visibilidad del otro sistema, por lo que desconocemos cmo estn
llegando los datos que mandamos, aunque sepamos cmo los estamos
mandando.
Un cambio en un extremo suele implicar otro cambio en el otro lado. Coordinarse
es difcil, hay que buscar ventanas de baja actividad o incluso cortes.
La fase de pruebas se eterniza porque debemos comunicarnos con el otro equipo
que nos contesta tarde y sin entender lo que queramos probar.

138

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - ALM

ALE nos ofrece las siguientes herramientas:


Con gran facilidad se puede preparar un escenario ALE, unos datos y generar un
IDoc con el objetivo de servir como modelo para el desarrollo de la integracin.
Mediante los modelos de distribucin podemos, fcilmente, enviar los IDocs de
nuestro entorno de pruebas a diversos sistemas externos y mediante las puertas
podemos redirigir de forma rpida a otro sistema el envo de IDocs.
El sistema nos permite ver el IDoc de comunicacin, con todos los datos
enviados ya en los formatos externos a SAP, e incluso se podra llegar a lanzar
contra una puerta de fichero plano para su posterior anlisis, o incluso configurar
el escenario contrario de Inbound y cargar el fichero generado.
Utilizando adecuadamente las extensiones y los tipos IDoc podemos ser
retrocompatibles en estructura y no ser disruptivos en los correctivos o
evolutivos.
Disponemos de un amplio abanico de herramientas de pruebas, la BD10, la
WE19, mediante las cuales podemos simular prcticamente cualquier situacin
minimizando el nmero de peticiones a terceros para que nos generen un test.

139

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc - ALM

Discutir en grupo sobre las ventajas e inconvenientes de ALE para un proyecto de


integracin con otros entornos.

140

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc Tablas Cliente

Se debe ampliar el Tipo IDoc:

141

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc Tablas Cliente

En el Inbound, si los datos estn basados sobre un APPEND a una tabla estndar el
flujo sera:

142

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc Tablas Cliente

Pero si en el Inbound, los datos se sustentan en tabla de cliente (tabla Z):

143

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc Tablas Cliente

Durante un Inbound con tabla Z, se deber ejecutar la grabacin en la misma LUW:

144

3. Ajustar un Escenario ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Ajustes ampliando el Tipo IDoc Tablas Cliente

Resumiendo,
Cuando las tablas SAP sn mantenidas por proceso de UPDATE, nosotros
debemos hacerlo igual
Eso significa que debemos programar con mdulo de funciones las rutinas de
modificacin de datos y llamarlo desde el enhancement con la opcin IN UPDATE
TASK.
La forma ms sencilla de saber si un mdulo de funciones de Inbound genera los
documentos de aplicacin SAP por proceso de update, es ejecutar un whereused para el parmetro de export IN_UPDATE_TASK. Si este parmetro en el
mdulo de funciones se asigna a X, est implementado por UPDATE.

145

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
Procesamiento
Procesamiento en
en paquetes
paquetes yy en
en paralelo
paralelo
Serializacin
Serializacin
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

146

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Outbound

Flujo de envo individual de IDocs:

147

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Outbound

La

SM58 nos permite revisar el estado de los envos tRFC. Aquellas que estn
errneas se pueden reprocesar manualmente o mediante el report RSARFCEX
programado en fondo
Tambin hay que revisar a nivel de destino RFC los parmetros de envo tRFC y
aRFC:

148

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Outbound

El

envo por paquetes reduce el nmero de llamadas y de errores, reduce


contencin RFC y es muy apropiado cuando los IDocs son de tamao pequeo
(<100 segmentos)

149

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Outbound

En la WE20 podemos fijar el nmero de transacciones por paquete:

150

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Inbound

Procesamiento Inbound en paquetes en bucle. Programa RBDAPP01:

151

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Inbound

El

programa RBDAPP01 tiene un parmetro N para el nmero de IDocs por


paquete
Cuando hay X IDocs (X>N) por procesar, se procesan los N IDocs y a cada N el
programa hace COMMIT WORK (termina la LUW).

152

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Inbound

Existen mdulos de funcin de Inbound que permiten procesamiento en masa, es


decir procesar no 1 IDoc por vez sin n.

153

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo - Inbound

Para

identificar
qu
mdulos de funcin de
Inbound
permiten
proceso en masa de
IDocs, ir a transaccin
BD51:

154

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

El sistema dispone de un nmero concreto de procesos de trabajo. Cada proceso


de trabajo es independiente y puede estar procesando un IDoc cada uno de
ellos:

155

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Generar

IDocs directamente desde un


programa online
Sin paralelizacin: Por regla general, los
programas que se pueden lanzar en online
no generan IDocs en paralelo. Sin embargo,
s es posible que otros usuarios ejecuten
este mismo programa simultneamente.
Con procesamiento paralelo: Algunos
programas que estn diseados para ello,
lanzan IDocs en paralelo. Son reconocibles
porque tienen un parmetro de seleccin
para indicar un Server Group, y otro para
el nmero de documentos por proceso.
SAP Menu Tools ALE Master Data
Distribution.

156

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Generar

IDocs a partir de punteros de modificacin: El programa


RBDMIDOC se programa normalmente en fondo. No permite paralelizacin y
suele haber una variante y un job por cada Tipo de Mensaje. De hecho es
conveniente vigilar que no se solapen ya que el programa no est diseado para
la situacin en que dos jobs concurran.
Generacin IDocs desde control de mensajes: Dos variantes:
Opcin Processing by Periodic Job: Requiere ejecutar (en fondo
peridicamente) el programa RSNAST00. No tiene paralelizacin.
Opcin Process Inmediately: En este caso slo se genera un IDoc por cada
grabacin por lo que no aplica la paralelizacin.

157

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Procesamiento paralelo para el envo por tRFC:

158

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

El procesamiento por tRFC tiene las siguientes consideraciones:


Un paquete tRFC utiliza todos los procesos de trabajo disponibles para RFC

(de todo el sistema).


Requiere que en el otro lado se le atienda por otro proceso de trabajo, lo
cual, por contencin puede bloquearse a s mismo y bloquear tambin el
otro sistema.
No hay opcin de introducir un Server Group.
Se debe asignar el parmetro de nmero de work processes que quedarn
disponibles para atender a usuarios para evitar que tambin deje
desatendidos a los usuarios.
El comportamiento es el mismo tanto si se lanza en dilogo o en batch.

159

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Procesamiento paralelo en proceso Inbound

160

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

En Procesamiento paralelo en proceso Inbound debemos separar las situaciones:


Procesar Inmediatamente est asignado en el acuerdo de interlocutores:
El IDoc se traspasa a la aplicacin por parte del mismo proceso de trabajo
que ha atendido la comunicacin desde el sistema emisor. El processing
time se incrementa y en conjunto hay menos procesos libres.
Procesar por Job de Fondo est asignado en el acuerdo de interlocutores:
El traspaso a la aplicacin, la parte pesada de entrar un IDoc, se lanza por
el programa RBDAPP01 que permite procesamiento en paquetes y en
paralelo especificando Server Group.

161

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Programa RBDAPP01:

162

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Server Groups
Lista de instancias

que forman parte del sistema que habilitaremos para el


procesamiento en paralelo y bajo un conjunto determinado de parmetros.
De todos los parmetros el ms importante es el que indica cuantos
procesos de trabajo dejamos libres como mnimo para atender usuarios.
Cuando un programa solicita servidor, se conecta al servidor de mensajes,
ste se conecta a todos los servidores para averiguar la carga y reconecta el
solicitante al servidor ms descargado.
En situaciones de contencin RFC falla incluso el mecanismo del balanceo de
carga.

163

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Sistema Demo/Desarrollo

Sistema de Produccin

164

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento en paquetes y en paralelo

Ejercicio prctico 8
Definir un Server Group
Configurarlo para tener almenos 5 procesos de trabajo disponibles para usuarios
Lanzar un material por la BD10 contra el Server Group y seguidamente lanzar
un lote de 50.
Debatir sobre ste y el resto de parmetros con la clase

165

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
Procesamiento
Procesamiento en
en paquetes
paquetes yy en
en paralelo
paralelo
Serializacin
Serializacin
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI

166

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Serializacin por
Timestamp

Permite evitar que se

procesen IDocs de forma


desordenada, lo cual es
apropiado cuando hay
un volumen de
mantenimiento alto en
poco espacio de tiempo.

167

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de Proceso con Serializacin por Timestamp:


1. Justo antes que en origen se guarde el IDoc en Base de Datos, se genera un
cronomarcador (timestamp) en el campo SERIAL del registro de control. Esta
marca de tiempo se enva a destino conjuntamente con todo el IDoc.
2. En el mdulo de funciones de Inbound se utiliza el mdulo de funciones
IDOC_SERIALIZATION_CHECK para verificar si la entrada de serializacin ya
existe en la tabla BDSER. Si existe, se considera que ya ha sido procesado.
3. Si la marca de tiempo del IDoc es ms vieja que lo que indica la tabla de
serializacin, el Inbound se cancela y se asigna un estado de error.
4. La informaci de estado y serializacin se retorna a la capa ALE, que actualiza la
tabla BDSER y el estado del IDoc en la Base de Datos.
Usar BD59 para chequear si los campos de segmento estn definidos como clave
para la serializacin por timestamp.
En caso de activar la serializacin es recomendable programar el job RBDSRCLR
para reorganizar el contenido de la tabla BDSER.

168

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Serializacin por Tipo de Objeto

No todos los Tipos de Mensaje estn


habilitados para serializacin por Tipo de
Objeto
Chequear en BD57 los permitidos
Chequear en WE64 el mdulo de funciones
de inbound, tables, seleccionar
SERIALIZATION_INFO y buscar referencias
de utilizacin. Si no sale nada, no tiene
serializacin implementada. Sin, verificar
si el programa rellena la tabla en algn
punto.
Otra manera de verlo es ejecutar la whereused list del mdulo de funciones
IDOC_SERIALIZATION_CHECK

169

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9: Anlisis Tipo de Mensaje BLAREL


1. Ir a la BD57 a chequear el Tipo de Mensaje BLAREL:

2. Ir a la BD95 a examinar el tipo de objeto de Serializacin EBELP:

170

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9 - Examinando el tipo de objeto de Serializacin EBELP

Ir a la SE11 a analizar la tabla EKAB:

Localizamos el campo EBELP

171

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9 - Examinando el tipo de objeto de Serializacin EBELP

Para el elemento de datos del campo EBELP buscamos la tabla de verificacin:

172

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9 - Examinando el tipo de objeto de Serializacin EBELP

Analizamos la EKPO y nos fijamos en los campos clave:

Son EBELN y EBELP, mostrar el contenido de la tabla para ganar comprensin


del escenario.

173

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9 - Examinando el tipo de objeto de Serializacin EBELP

Vamos a la BD59 e introducimos BLAREL:

Se observa que los campos EBELN y EBELP forman clave del tipo de objeto ALE
EBELP y que pertenecen al segmento E1RDOCU.

174

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9
3. Examinar el mdulo de funciones de inbound del tipo de mensaje BLAREL y
dnde se llama a IDOC_SERIALIZATION_CHECK.
Vamos a la WE64, Inbound, BLAREL:

El cdigo de operacin BLAR llama al IDOC_INPUT_BLAREL.

175

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Ejercicio Prctico 9
3. Continuacin
Examinamos el cdigo de IDOC_INPUT_BLAREL:

176

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Serializacin por Object


Channel

Esta

serializacin
asegura que el orden de
los mensajes para un
objeto
particular
se
preserva siempre en el
sistema destino.

Si en destino se detecta

un
IDoc
que
no
corresponde
con
el
enviado se pospone su
procesamiento.

178

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de Proceso de la Serializacin por Object Channel


1. Cuando se crea un master IDoc, el programa principal utiliza un mdulo de
funciones para determinar un nmero de canal.
2. El programa transfiere este nmero de 4 dgitos junto con el master IDoc y el
registro de control a la capa ALE.
3. La capa ALE utiliza el Customizing para determinar el BOR object type asignado al
tipo de mensaje
4. Mediante la informacin clave del tipo de objeto BOR y el nmero de canal, el
siguiente nmero de secuencia se determina y se escribe en un campo de
serializacin del registro de control. La secuencia se persiste en la tabla BDRGOUT.
5. En el proceso Inbound, se verifica si el nmero de secuencia para cada tipo de
objeto BOR y nmero de canal es mayor que la entrada en una tabla llamada
BDRGIN. Si se cumple, el IDoc se transfiere al mdulo de funciones del cdigo de
operaciones de entrada.

179

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de Proceso de la Serializacin por Object Channel (continuacin)


5. Si no se cumple, el IDoc se pone en estado 66. Por medio del programa
RBDAPP01 se procesan los IDocs anteriores.
6. Tan pronto como el IDoc se procesa, se actualiza el contador en BDRGIN
para ese tipo de objeto BOR y canal.

180

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Nmero de Serializacin
Object Channel

en

El nmero de serializacin est


formado de:
Los
primeros
10
dgitos
contienen el nombre tcnico de
un tipo de objeto BOR
Los siguientes 4 dgitos estn
formados por un string creado
mediante un algoritmo a partir
de la clave del objeto de
aplicacin.
El programa de aplicacin obtiene el nmero mediante el mdulo de funciones
ALE_SERIAL_KEY2CHANNEL. Un nmero de material puede ser usado como clave.

181

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Nmero de Serializacin por Object Channel (continuacin)

Los ltimos 6 dgitos se les asigna una secuencia por parte de la capa
ALE. El nmero actual en la tabla BDRGOUT se usa para esto.

Para activar la Serializacin por Tipo de Objeto BOR es necesario realizar


un Customizing

182

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Customizing Serializacin por Object Channel

En el programa de Outbound, el nmero de canal debe ser determinado en


base a una clave de aplicacin antes de que el master IDoc sea transferido a
la capa ALE, mediante el mdulo de funciones ALE_SERIAL_KEY2CHANNEL.
Este nmero debe ser transferido a la capa ALE en el master IDoc y registro
de control.
Se debe haber liberado un tipo de objeto de negocio adecuado para la
serializacin por Object Channel. Esto se puede verificar en la BD105.
Un tipo de objeto de negocio liberado para serializacin por Object Channel
deber ser asignado a un tipo de mensaje. Eso se puede verificar en la
BD104.

183

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Customizing Serializacin por Object Channel

184

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de proceso para el Customizing de Serializacin por Object Channel


1. En el sistema origen, ir a la SALE y mantener en Application Link Enabling
(ALE) Modelling and Implementing Business Processes Master Data
Distribution Serialization for Sending and Receiving Data Serialization
Using Business Objects Activate Outbound Business Objects:

185

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de proceso para el Customizing de Serializacin por Object Channel


1. (continuacin):
1. Realizar una entrada por cada destinatario y tipo de objeto de negocio
2. Seleccionar el campo en la columna Ser. Flag para activar serializacin
por objeto de canal para el destinatario y el tipo de objeto de negocio.

186

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de proceso para el Customizing de Serializacin por Object Channel


2. En el sistema destino, ir a la SALE y mantener en Application Link Enabling
(ALE) Modelling and Implementing Business Processes Master Data
Distribution Serialization for Sending and Receiving Data Serialization
Using Business Objects Activate Inbound Business Objects:

187

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de proceso para el Customizing de Serializacin por Object Channel


2. (continuacin):
1. Realizar una entrada por cada origen y tipo de objeto de negocio
2. Seleccionar el campo en la columna Ser. Flag para activar serializacin
por objeto de canal para el origen y el tipo de objeto de negocio.

188

4. Optimizacin de Procesos ALE

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Serializacin

Flujo de proceso para el Customizing de Serializacin por Object Channel


3. Verificar consistencia, ir a la SALE y Application Link Enabling (ALE)
Modelling and Implementing Business Processes Master Data Distribution
Serialization for Sending and Receiving Data Serialization Using Business
Objects Check Consistency System-Wide:

189

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI
Generar
Generar interfaz
interfaz ALE
ALE para
para BAPI
BAPI
Procesamiento
Procesamiento Outbound
Outbound ee Inbound
Inbound
Customizing
Customizing

190

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Dada una BAPI que queramos ejecutar mediante un IDoc ser necesario generar
el interfaz ALE antes de implementar el programa de Outbound.

191

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Mediante

el Explorador de
BAPI
(transaccin
BAPI)
podemos encontrar la BAPI
ms adecuada a nuestras
necesidades.

Pulsando

en el ALE message
type
navegamos
a
la
transaccin BDBG:

192

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

As se estructura bajo el interfaz ALE una BAPI:

193

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

As se estructura bajo el interfaz ALE una BAPI (continuacin):


Tipo de Mensaje
Tipo IDoc
Tipos de Segmento: Los parmetros elementales (simples) del IMPORT de
la BAPI se agrupan en un tipo de segmento. Adicionalmente, por cada
parmetro estructurado (estructura o tabla interna) se crea otro tipo de
segmento.
Mdulo de funciones para procesamiento ALE Outbound: En el mdulo
de funciones de Outbound, los parmetros de interfaz se copian en los
segmentos del IDoc dando lugar a un master IDoc. Luego se llama un mdulo
de funciones que traslada el master IDoc a la capa ALE.
Mdulo de funciones para procesamiento ALE Inbound: El mdulo de
funciones de Inbound copia el contenido de los campos de los segmentos a
los parmetros correspondientes de la BAPI a llamar, y llama la BAPI de
forma local.

194

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Los siguientes pasos son para generar el interfaz y lo vamos a realizar en forma de
ejercicio prctico 10:
1. Definir un grupo de funciones: Reutilizamos el ZBIT350_##
2. Seleccionar una BAPI para la cual no existe ALE Interface

195

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Ejercicio prctico 10 (continuacin):


3. Abrir en BDBG
4. Pulsar en Crear
5. Introducir un tipo de mensaje ZBIT350_BACKGROUNDJOB_OPEN_##

196

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Ejercicio prctico 10 (continuacin):


6. Introducir el Package ZBIT350, y el grupo de funciones ZBIT350_##.

197

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Ejercicio prctico 10 (continuacin):

198

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Generar interfaz ALE para BAPI

Ejercicio prctico 10 (fin):

199

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI
Generar
Generar interfaz
interfaz ALE
ALE para
para BAPI
BAPI
Procesamiento
Procesamiento Outbound
Outbound ee Inbound
Inbound
Customizing
Customizing

200

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Outbound

Proceso de llamada Outbound

El COMMIT WORK es necesario.

201

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Outbound

Para

determinar los destinatarios hay que llamar al mdulo de funciones


ALE_SYNCH_BAPI_GET_RECEIVER.

202

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Outbound

Despus de que el IDoc ha sido transferido a la capa ALE, el proceso es idntico


a un IDoc estndar:

203

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Procesamiento Inbound

Si

bien para el Outbound es necesario implementar un programa de aplicacin


para realizar el Outbound, en el caso del Inbound no es necesario implementar
nada.
En el acuerdo de interlocutor de destino se deber asignar el cdigo de proceso
BAPI, la capa ALE eso lo identifica como un escenario basado en interfaz BAPIALE. La capa ALE determinar la funcin de inbound generada para este tipo de
mensaje.
Para realizar procesamiento por paquetes, usar el cdigo de proceso BAPP.

204

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

5. Escenario ALE con Tecnologa BAPI


Procesamiento Inbound

Flujo de proceso Inbound

205

Contenido
Introduccin
Introduccin
1.
1. Ampliar
Ampliar escenarios
escenarios ALE:
ALE: Introduccin
Introduccin
2.
2. Procesamiento
Procesamiento IDoc:
IDoc: Detalles
Detalles Tcnicos
Tcnicos
3.
3. Ajustar
Ajustar un
un Escenario
Escenario ALE
ALE
4.
4. Optimizacin
Optimizacin de
de Procesos
Procesos ALE
ALE
5.
5. Escenario
Escenario ALE
ALE con
con Tecnologa
Tecnologa BAPI
BAPI
Generar
Generar interfaz
interfaz ALE
ALE para
para BAPI
BAPI
Procesamiento
Procesamiento Outbound
Outbound ee Inbound
Inbound
Customizing
Customizing

206

5. Escenario ALE con Tecnologa BAPI

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

Customizing

Ser

necesario ajustar los acuerdos de interlocutor en origen y destino. En


origen:

207

Propiedad GRUPO BIRCHMAN 2013 - Prohibida su reproduccin y distribucin - Confidencial

5. Escenario ALE con Tecnologa BAPI


Customizing

Y en destino:

208

BIRCHMANGROUP
Spain
Av Diagonal 67 3 planta
08019 Barcelona
t: +34 93 553 38 21

Jos Antonio Aguayo / Technology Partner


+34 670 276 303
toni.aguayo@birchmangroup.com

f: +34 93 356 02 47
P de la Castellana 163, 4 dcha.
28046 Madrid

Pau Isern / Technology Manager


+34 617 491 274

t: +34 91 515 16 83
f: +34 91 345 74 32

pau.isern@ibirchmangroup.com

209

You might also like