Está en la página 1de 6

PROG - MM Lote interno con máscara (Año/semana-Numeración correlativa)

Instalar exits de cliente p.asignación interna de núm.lote

En el marco de la asignación interna de números de lote el usuario tiene a su disposición la ampliación de


SAP SAPLV01Z con las dos exits de módulos de funciones siguientes para almacenar determinados
rangos de números o máscaras de edición para el número de lote a asignar:

 EXIT_SAPLV01Z_001. Con este exit se puede sustituir el objeto de rangos de número y/o el
intervalo propuestos por un objeto de rangos de número y/o intervalo definidos por el usuario.
También se tiene la posibilidad de suprimir la asignación de un número interno dependiendo, p.ej.,
del material o del centro. Con este exit también es posible suprimir la ventana de diálogo

 EXIT_SAPLV01Z_002. Con este exit se puede modificar el número determinado o asignar un


número propio.

Condiciones previas

1. La adjudicación interna de números de lote mediante el exit de cliente está activada:


Para ello seleccione en el Customizing Logística general -> Gestión de lotes ->
Asignación de números de lote-> Activar asignación interna de números de lote.
2. Actualizar objeto de rango de números
Se suministran dos objetos de rango de números para la adjudicación de números de lote:

o Rango de números estándar de la adjudicación de números de lote BATCH_CLT

o Rango de números para la adjudicación de números de lote BATCH_MAT


dependiente o independiente de material

Actividades

1. Utilice la ampliación SAP SAPLV01Z:


a) Cree un proyecto nuevo en la transacción CMOD o bien utilice un proyecto
existente.
b) Inserte la ampliación SAP SAPLV01Z en el proyecto.
2. Toma del código de ejemplo:
a) Seleccione Componentes.
b) Seleccione Modificar.
c) Seleccione:
EXIT_SAPLV01Z_001 para los ejemplos 1-4
EXIT_SAPLV01Z_002 para los ejemplos 1-2 y 5-6
d) Seleccione Tratar -> Tomar código fuente SAP.
El código de ejemplo se copia en el include correspondiente del exit de módulo de
funciones.
e) Para tomar el ejemplo quite el carácter de comentario antes del include
correspondiente.
3. Active el proyecto.
Al activar el proyecto se hará efectiva la ampliación mediante el exit de módulo de funciones
EXIT_SAPLV01Z_001 y EXIT_SAPLV01Z_002.

Ejemplo 5 y 6
Inclusión de la fecha y del número de centro en el número de lote

Los rangos de números de los números de lote deben definirse de tal forma que las plantillas no se
sobrescriban sobre ninguna cifra.

CMOD: Nuevo proyecto MMPLV01Z

Creamos un paquete con la SE80: Está creado, el ZMM


Activamos el objeto y copiamos el código del ejemplo 5 :

*&---------------------------------------------------------------------*
*& Include ZXVBZU02
*&---------------------------------------------------------------------*
DATA HELP LIKE SCAL-WEEK.
HELP = NEW_CHARG(6).
IF HELP = '000000'.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
DATE = SY-DATUM
IMPORTING
WEEK = HELP
EXCEPTIONS
DATE_INVALID = 1
OTHERS = 2.

NEW_CHARG(6) = HELP.
ELSE.
MESSAGE E803(LB).
RAISE CANCELLED.

ENDIF.
*&---------------------------------------------------------------------*

Activamos el programa y el proyecto :

EJEMPLO: MIGO

Modificación:

Como nos queda muy corto vamos a modificar el código para tener 11+41+6 números
(año+semana+6 nº):

*&---------------------------------------------------------------------*
*& Include ZXVBZU02
*&---------------------------------------------------------------------*
DATA HELP LIKE SCAL-WEEK.
DATA NEW_CHARG1(6) TYPE C.
HELP = NEW_CHARG1(6).
IF HELP = '000000'.
CALL FUNCTION 'DATE_GET_WEEK'
EXPORTING
DATE = SY-DATUM
IMPORTING
WEEK = HELP
EXCEPTIONS
DATE_INVALID = 1
OTHERS = 2.

NEW_CHARG1(6) = HELP.
NEW_CHARG(4) = NEW_CHARG1+2(4).
ELSE.
MESSAGE E803(LB).
RAISE CANCELLED.

ENDIF.

*&---------------------------------------------------------------------*

NOTA DESARROLLO:
En desarrollo se ha hecho de otra manera, utilizando el código original del ejemplo:
d) Seleccione Tratar -> Tomar código fuente SAP.
El código de ejemplo se copia en el include correspondiente del exit de módulo de
funciones.
e) Para tomar el ejemplo quite el carácter de comentario antes del include
correspondiente.
Este incluye no lo puedo editar por ser original de SAP.
Podría entrar en el y activar una ampliación: y aquí poner mi código, etc.

SE09:

También podría gustarte