Utilizando LSMW (Legacy) para cargar el maestro de proveedores


La intención es cargar proveedores como si los estuviéramos grabando con la transacción XK01 (Mantenimiento central XK01). De esta forma, cargamos en un solo paso los datos generales (comunes a todas las sociedades), los datos de sociedad y los datos de organización de compras.

Empezamos a preparar la grabación siguiendo los pasos descritos en la transaccion LSMW (Legacy). Os dejo el documento PDF donde se describen los pasos a seguir:  Aprendesap – Curso MM – 19.1 – LSMW. (gracias a Aprendesap.com)

0) Creamos un proyecto llamado STARTUP_2010 Migración datos Startup Sap 2010-11, que tiene el subproyecto LOGISTICA Cargas Iniciales Módulo Logística, y el Objeto PROVEEDORES Carga de proveedores de compras.

1) Mantenemos los atributos del objeto: indicamos que vamos a utilizar el metodo de importación Batch Input  Recording.

Realizamos una grabación utilizando la transacción XK01, rellenando los datos de una ficha de proveedor completa. Una vez concluida la grabación, le asignamos a cada uno de los campos un nombre. Este  nombre nos va a permitir realizar posteriormente el mapeo entre lo que cargemos desde el fichero (estructura) y el batch input.

2) Definimos un nombre para la estructura del fichero que vamos a utilizar para hacer la carga (en nuestro caso, FILE_PROVEEDORES).

3) Definimos los diferentes campos que forman la estructura del fichero, indicando las longitudes de cada uno de los campos.

4) Asignamos al objeto una estructura de fichero (en este caso, la definida en el paso 2).

5) Realizamos el mapeo entre los campos de la grabación del batch input, y los campos del fichero: para cada uno de los campos de los campos de la grabación (a los que le pusimos un nombre en el paso 1), le asociamos uno de los campos que vienen en la estructura del fichero a cargar.

6) Asignación de valores fijos, mapeos, rutinas de usuario para conversiones: en nuestro caso no vamos a realizar ningun tratamiento en este paso.

7) Especificar fichero: fuera de Sap, los usuarios nos han preparado una hoja excel con los datos de los proveedores, con la misma estructura descrita en el paso 3.

El fichero lo hemos convertido a un fichero de texto con tabuladores. Ese fichero es el que indicamos en el paso 7 como el fichero que vamos a cargar en el sistema.

8) Asignamos el fichero físico (definido en el punto 7) a la estructura (definida en el punto 2).

9) Lectura de datos: al ejecutar este paso, se lee los datos del fichero fisico.

10) VIsualización de los datos leidos: los datos cargados en el punto 9 se puede leer para comprobar que la carga ha sido correcta.

El sistema nos ofrece un resumen, y podemos ver cada registro en detalle con la opción Field contents.

11/12) Conversión de los datos/visualización de los datos convertidos: para el caso de definir otros procesos de conversión sobre los datos leidos, lo realizaremos en estos pasos. En el ejemplo, no hemos hecho nada en esta parte.

13/14) Creación de la sesión de batch input y ejecución: a partir de los datos del fichero, la herramienta nos prepara un juego de datos, que podremos ejecutar desde la transacción SM35.

Desde esta transacción podemos ir ejecutando, revisando errores que se vayan generando. Con esta depuración prepararemos la carga final en productivo (lo lógico es hacer antes cargas de prueba en un sistema de Test).

PROCESO FINAL: verificación de los datos cargados. Entraremos a la transacción XK03 de Consulta de Proveedores, y con la ayuda de busqueda comprobaremos que la carga se ha realizado correctamente y que ya nos aparecen los datos de los proveedores

NOTA SOBRE LSMW: mi experiencia es que los consultores Sap cada vez utilizan mas esta herramienta para la carga de datos en los proyectos de implantación de Sap. Antes se utilizaban desarrollos a medida que también utilizaban los batch inputs, aunque esta opción practicamente ha desaparecido.

Igualmente, me comentan que cada vez se utiliza mas como método de carga las BAPIS o el Direct Input. Estos métodos ofrecen un rendimiento más alto cuando estamos hablando de cargas de volúmenes de datos muy grandes. En cambio, el Batch input tiene un rendimiento muy bajo, y en procesos con muchos registros, el número de horas para cargar puede ser grande. Aunque sigue siendo el preferido en cargas pequeñas.

Como he indicado, lo lógico sería probar primero las cargas en un sistema de Test, que lo usuarios verificasen que todo se ha cargado correctamente, y luego cargar en un sistema productivo.

Los proyectos de LSMW se pueden reutilizar de un sistema a otro (desarrollo, test, producción), pues en la herramienta tenemos la opción Exportar e Importar, que nos permite pasar toda la configuración definida de un sistema a otro. Incluso, podríamos llevárnoslo de una instalación de Sap a otra (aunque habrá que llevar cuidado con la versión de Sap con la que estemos trabajando).

 

La intención es cargar proveedores como si los estuviéramos grabando con la transacción XK01 (Mantenimiento central XK01). De esta forma, cargamos en un solo paso los datos generales (comunes a todas las sociedades), los datos de sociedad y los datos de organización de compras.

Empezamos a preparar la grabación siguiendo los pasos descritos en el manual:

0) Creamos un proyecto llamado STARTUP_2010 Migración datos Startup Sap 2010-11, que tiene el subproyecto LOGISTICA Cargas Iniciales Módulo Logística, y el Objeto PROVEEDORES Carga de proveedores de compras.

1) Mantenemos los atributos del objeto: indicamos que vamos a utilizar el metodo de importación Batch Input  Recording.

Realizamos una grabación utilizando la transacción XK01, rellenando los datos de una ficha de proveedor completa. Una vez concluida la grabación, le asignamos a cada uno de los campos un nombre. Este  nombre nos va a permitir realizar posteriormente el mapeo entre lo que cargemos desde el fichero (estructura) y el batch input.

2) Definimos un nombre para la estructura del fichero que vamos a utilizar para hacer la carga (en nuestro caso, FILE_PROVEEDORES).

 

3) Definimos los diferentes campos que forman la estructura del fichero, indicando las longitudes de cada uno de los campos.

 

4) Asignamos al objeto una estructura de fichero (en este caso, la definida en el paso 2).

 

5) Realizamos el mapeo entre los campos de la grabación del batch input, y los campos del fichero: para cada uno de los campos de los campos de la grabación (a los que le pusimos un nombre en el paso 1), le asociamos uno de los campos que vienen en la estructura del fichero a cargar.

 

6) Asignación de valores fijos, mapeos, rutinas de usuario para conversiones: en nuestro caso no vamos a realizar ningun tratamiento en este paso.

 

7) Especificar fichero: fuera de Sap, los usuarios nos han preparado una hoja excel con los datos de los proveedores, con la misma estructura descrita en el paso 3.

El fichero lo hemos convertido a un fichero de texto con tabuladores. Ese fichero es el que indicamos en el paso 7 como el fichero que vamos a cargar en el sistema.

 

8) Asignamos el fichero físico (definido en el punto 7) a la estructura (definida en el punto 2).

9) Lectura de datos: al ejecutar este paso, se lee los datos del fichero fisico.

10) VIsualización de los datos leidos: los datos cargados en el punto 9 se puede leer para comprobar que la carga ha sido correcta.

 

El sistema nos ofrece un resumen, y podemos ver cada registro en detalle con la opción Field contents.

11/12) Conversión de los datos/visualización de los datos convertidos: para el caso de definir otros procesos de conversión sobre los datos leidos, lo realizaremos en estos pasos. En el ejemplo, no hemos hecho nada en esta parte.

 

13/14) Creación de la sesión de batch input y ejecución: a partir de los datos del fichero, la herramienta nos prepara un juego de datos, que podremos ejecutar desde la transacción SM35.

 

Desde esta transacción podemos ir ejecutando, revisando errores que se vayan generando. Con esta depuración prepararemos la carga final en productivo (lo lógico es hacer antes cargas de prueba en un sistema de Test).

PROCESO FINAL: verificación de los datos cargados. Entraremos a la transacción XK03 de Consulta de Proveedores, y con la ayuda de busqueda comprobaremos que la carga se ha realizado correctamente y que ya nos aparecen los datos de los proveedores

 

NOTA SOBRE LSMW: mi experiencia es que los consultores Sap cada vez utilizan mas esta herramienta para la carga de datos en los proyectos de implantación de Sap. Antes se utilizaban desarrollos a medida que también utilizaban los batch inputs, aunque esta opción practicamente ha desaparecido.

Igualmente, me comentan que cada vez se utiliza mas como método de carga las BAPIS o el Direct Input. Estos métodos ofrecen un rendimiento más alto cuando estamos hablando de cargas de volúmenes de datos muy grandes. En cambio, el Batch input tiene un rendimiento muy bajo, y en procesos con muchos registros, el número de horas para cargar puede ser grande. Aunque sigue siendo el preferido en cargas pequeñas.

Como he indicado, lo lógico sería probar primero las cargas en un sistema de Test, que lo usuarios verificasen que todo se ha cargado correctamente, y luego cargar en un sistema productivo.

Los proyectos de LSMW se pueden reutilizar de un sistema a otro (desarrollo, test, producción), pues en la herramienta tenemos la opción Exportar e Importar, que nos permite pasar toda la configuración definida de un sistema a otro. Incluso, podríamos llevárnoslo de una instalación de Sap a otra (aunque habrá que llevar cuidado con la versión de Sap con la que estemos trabajando).

 

Esta entrada fue publicada en SAP MM. Guarda el enlace permanente.

20 respuestas a Utilizando LSMW (Legacy) para cargar el maestro de proveedores

  1. sergio rodriguez juarez dijo:

    seria muy util anexar las estructuras que corresponden segun sea el caso de la carga, por ejemplo al de materiales¡¡¡

  2. Pingback: Manuales de LSMW. | Notas y trucos SAP (Bitacora)

  3. Maria Pereira dijo:

    Puedo crearle una transacción a una grabación realizada con LSMW?

  4. mar martinez dijo:

    El procedimiento para carga de contratos de compra sería igual? o deberia hacerlo de otra manera?

    • Hola Mar:

      Si para cargar los contratos puedes seguir el mismo procedimiento, haces una grabación para la transacción ME31K y luego preparas un fichero donde se carguen los datos.

      Hay una alternativa para h acerlo con una BAPI.

      Saludos.

  5. juan eduardo dijo:

    Estimados,
    Cuales son las precauciones al momento de exportar un proyecto LSMW a productivo…
    Lei en el post que se debia tener precaucion con la version que utilizamos ..”aunque habrá que llevar cuidado con la versión de Sap con la que estemos trabajando”..

    • Hola Juan:

      la precaución es por si estas pasando un proyecto de un sistema a otro (por ejemplo, yo soy consultor y tengo mis proyectos y me los llevo de mi servidor al del cliente, que puede estar en otra version de Sap).

      Si solo es el paso de desarrollo o test a productivo, no hay ningún problema en principio.

      Saludos.

  6. Seria bueno que se mencionaran los pros y contras comparandolo con un Ecatt

  7. Cristian jadue dijo:

    Estimado, se puede hacer esto de actualizaciones masivas para los contratos marco? donde quiero actualizar precios y cantidad en el detalle de las subposiciones de los contratos (que a priori no sé cuantas subposiciones voy a tener por cada posición del contrato, ni tampoco sé cuantas posiciones voy a tener en cada contrato). El usuario actualmente tiene que hacer esta actualización de manera manual (una a una) y la verdad que es demasiado ineficiente hacerlo así. Gracias de antemano

  8. Daniel Jerónimo dijo:

    Hola, estoy haciendo un LSMW para cargar partidas abiertas de proveedores, pero no he encontrado como hacerle para que pueda leer la contrapartida, por ejemplo. Lee la primer partida con una clave 40 pero ya no se como ponerle para que lea en el excel la contrapartida con una clave 31. me explico?

  9. Carlos dijo:

    Hola Roberto;

    En general he podido utilizar el Legacy para crear clientes; sin embargo para mantener sus direcciones de correo se me está presentando problemas.
    Las direcciones de correo están en la ADR6-SMTP ADDR. La relación se establece cuando KNA1-ADRNR = ADR6-ADDRNUMBER. Un procedimiento que se me ocurre podría ser:

    1.- Crear los datos generales de los clientes.
    2.- Actualizar el correo electrónico de los clientes antes creados.

    En el primer caso ya lo he hecho a través de una grabación y luego ejecutando el batch input; sin embargo en el punto 2 no tengo claro como hacerlo ya que la grabación que podría crear con la VD02 no me muestra el campo para poder actualizar el correo.
    Si ejecuto directamente la VD02 si que me lo deja actualizar; sin embargo con la grabación no.

    Gracias por tus comentarios.
    Saludos
    Carlos

  10. Iago Méndez dijo:

    Hola Roberto:

    Estoy haciendo una legacy para modificar pesos, medidas y volumenes de los artículos por la MM42. El problema viene cuando de los 6 campos con los que trabajo dejo alguno vacío porque eso artículo, por ejemplo, solo se trabaja por peso y no me interesa el resto de medidas. Cuando cargo el fichero lo he intentando dejando el campo en blanco o pasarlo a cero pero en los dos casos me da error.
    Me da este error: Los datos batch input para el dynpro SAPLMGMW 4008 no existen.
    Hay alguna forma de meterle código ha una legacy?.

  11. Miriam Ramos dijo:

    Hola Roberto ¿cómo estás?

    Derivado de una remodelación de todas las oficinas, tengo que crear cerca de 2,000 activos, pero tradicionalmente lo hacemos a través de la AS01, pero en este caso no se me hace viable por el tiempo y la cantidad de activos, he leido que podria hacer un batch input a través de las transacciones SHDB y LSMW ¿que me recomiendas?

    Saludos, excelente blog

  12. Juan Camilo dijo:

    Hola
    Se puede hacer uso de la LSMW para tablas de customizing en el spro?

    Gracias

  13. Yesse dijo:

    La LSMW cuantos registros permite, para una carga de activos cuanto es el max. recomendable?

  14. David dijo:

    Hola Roberto quisiera saber si los datos introducidos para crear la estructura en la grabación (los campos que rellenas en la transacción) deben ser exactamente los mismos que coloquemos en el paso de nombrar lo campos fuente?

    • Hola David:

      Si te he entendido bien. Por un lado, al hacer la grabación le ponemos unas etiquetas a los campos. Luego, en el LSMW, cuando definimos la estructura y los campos (que seran los del fichero fisico), le podemos poner otros nombres. Y luego se hace el mapeo de los campos de la grabacion con los campos del fichero, y no tienen pq llamarse igual.

      Un saludo.

      • David dijo:

        Vale Roberto, muchas gracias ha quedado claro, una cosa mas, quisiera saber, recomendarías hacer la carga de Materiales con dos LSMW o en uno incluir todo, me explico: pensaba hacer uno que me generara el rango de números, descripción breve, tipo de material, grupo de articulo, UMB y ramo, digamos los datos básicos o primarios, luego hacer otro por la transacción MM02 y digamos hacer la extensión a los centros, y colocar ya la información especifica de cada uno como categoría de valoración, peso, CeBe y control de precios (S/V)… que sería lo mejor? o informame si estoy perdido al respecto y lo que planteo es inviable… Muchas gracias y Saludos, soy admirador de este bonito proyecto de “saptricks”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s