MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 13/05/10, 15:06:16
neocloudmx2000 neocloudmx2000 is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Mensajes: 26
Problema sincronización creación de documentos

Hola a todos:

Me encuentro realizando una función que será llamada remotamente, la cual hace el proceso de:

1. Crear la entrega de un pedido de vtas
2. Confirmar la entrega (VL02N->Picking)
3. Crear la orden de transporte para la entrega
4. Crear el documento de materiales (salida de mercancías)
5. Crear una factura

Todo esto lo estoy haciendo con BAPI's y funciones, a exepción de la salida de mercancías (paso 4, ese lo hago con un CALL TRANSACTION a la VL02N->Contabilizar SM).

Me he topado con que, individualmente o cuando me encuentro en modo debug estos pasos funcionan a la perfección, pero cuando ejecuto este proceso para que corra completo se detiene al parecer en la creación de la factura, ya que parece que no está creando la salida de mercancías y manda el mensaje: Salida de mercancías todavía no contabilizada para la nota de entrega.

Entre cada paso que utiliza BAPI tengo el debido 'BAPI TRANSACTION COMMIT' , posterior al paso 4 tengo un COMMIT WORK y en ambos casos un tiempo de espera (WAIT UP TO n SECONDS) para tratar de sincronizarlos, pero aún así existe un punto donde el proceso de creación de un documento sucesor le gana al antecesor.

Alguien sabe de algo para forzar a que, entre cada paso, se pueda obligar a SAP a actualizar la BD para que se cree el documento o algo similar.

Saludos y gracias colegas.
Responder Con Cita
  #2  
Viejo 13/05/10, 16:37:44
ibai23 ibai23 is offline
Junior Member
 
Fecha de Ingreso: mar 2010
Mensajes: 19
Aupa compañero sapero

me parece que tienes el tipico problema de la ejecución sincronica o asincronioca de batch inputs.

Metete a la ayuda del call transaction con el tipico F1 y mirate la opción 'UPDATE'. Pon el valor que NO tiene por defecto, me parece que tendrías que poner 'S' y yo creo que con eso te vale.

Tambien acuerdate de poner la funcion BAPI_TRANSACTION_COMMIT después de cada bapi que haya sido ejecutada con exito

Comentanos si te funciona

Un saludo
Responder Con Cita
  #3  
Viejo 13/05/10, 16:52:19
neocloudmx2000 neocloudmx2000 is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Mensajes: 26
Muchas gracias colega. Pero en mi código ya tenía todo esto: BAPI TRANSACTION COMMIT para las BAPI's y algo así para el CALL TRANSACTION:

CALL TRANSACTION 'VL02' USING it_bdcdata MODE modo UPDATE 'S'
MESSAGES INTO it_messtab.

Aun así hay algo que no me deja ir de un paso a otro por problemas de sincronización.

Úlima edición por neocloudmx2000 fecha: 13/05/10 a las 19:23:28.
Responder Con Cita
  #4  
Viejo 14/05/10, 09:20:01
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Buenos dias

Lo primero decirte que mezclar llamadas a bapis y batch inputs no suele funcionar muy bien, en tu caso para crear un movimiento de mercancias puedes utilizar la funcion BAPI_GOODSMVT_CREATE, seguro que existen muchos ejemplos de como llamar a esta funcion y puede ser que te resolviera el problema

Si cambiando el batchinput por la bapi sigue sin funcionar lo que haria es asegurarme de que es un problema de sincronismo y no de datos o parametrizacion

Prueba a poner siempre commit work and wait en lugar de commit work y pon unos intervalos bastante grandes entre cada llamada a funcion para confirmar que efectivamente el problema es que se estan pisando las llamadas a las funciones

Si confirmas que efectivamente el problema es que cuando se llama a una funciona la otra todavia no ha terminado postea y encontraremos alguna solucion
Responder Con Cita
  #5  
Viejo 14/05/10, 15:52:31
neocloudmx2000 neocloudmx2000 is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Mensajes: 26
Problema resuelto camaradas. Efectivamente, mis procesos se estaban pisando (sincronismo), el que me causaba problemas era el segundo paso, en el cuál utilizaba la BAPI_OUTB_DELIVERY_CHANGE. Cuando el paso termina correctamente tenía originalmente BAPI_TRANSACTION_COMMIT para cerrarlo, el cuál sustituí por:

call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.

Esta contiene el mencionado commit work and wait. Ya con esto corre bien lo demás y ya no fué necesario poner un tiempo de espera (wait up to n seconds).

Gracias
Responder Con Cita
  #6  
Viejo 12/07/10, 23:27:08
troyaitl troyaitl is offline
Junior Member
 
Fecha de Ingreso: sep 2009
Mensajes: 2
Problemas con la BAPI BAPI_OUTB_DELIVERY_CHANGE

Hola.

Estoy programando una RFC para hacer el proceso de pedido, entrega, picking, y factura, en la modificación de la entrega uso esta BAPI BAPI_OUTB_DELIVERY_CHANGE pero no se como usarla para que solo se iguale la entrega en cantidad de picking y se guarde. puedes ayudarme.

de antemando agradezco su atención y apoyo.

Saludos!!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 13:20:28.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web