Que tal Alex, de hecho ya había probado eliminar todos los setCurrentLine y no pasa nada. Todo el código lo tengo dentro de un try-catch para manejar los errores, aun así probé el código que me propones pero no hay error. También intenté agregando el cardCode y sigue igual.
Respecto a los almacenes origen y destino, es el mismo porque solo quiero mover mercancía entre ubicaciones. Aun así probé quitar esas lineas, no marca error pero tampoco hace nada.
Ya con eso pude ver el error, gracias Alex. Primero me marcaba que no estaba especificando el BaseLine del Lote, corregí eso y ahora tengo el siguiente error :S
8 corresponde al campo BaseLineNum en OIBT del lote que estoy seleccionando. En la parte de la ubicacion que recibe da igual que tenga o no tenga BaseLineNum, no marca error.
Da el mismo error. Para descartar un problema con mi equipo probé en otra maquina pero obtengo el mismo error. Pudiera pensar que ya no es error en de “código”, ya que este error lo cacho en el “catch” y no en la validacion if (sttrans.Add() != 0), porque al mostrar oCompany.GetLastErrorCode() es 0. Por eso fue que decidí probar en otro equipo.
Hola Luis, no manejo número de serie. Si intente agregar el SysNumber pero el error sigue igual. También hago lo que tu en el catch. El Message en realidad me da una versión resumida del mismo error.
Gracias.
En ese caso lo último que te podría recomendar es que replicaras exactamente el ejemplo que intentas pero en el SAP, y luego obtuvieras el XML de ese documento para ver línea por línea lo que requieres declarar y qué tantos parámetros el DI API te solicita para hacer el movimiento correctamente.
Yo hice una breve función que lo genera, por si te es de utilidad, sólo debes conectarte al objeto oCompany y pasarle el DocEntry al método:
Nadamas se requiere que cambies el tipo de documento a StockTransfer, y personalizar la ruta del archivo.
Espero que puedas resolverlo. Saludos cordiales.
Gracias por la sugerencia Luis, ya he generado el XML de una transferencia y estoy analizando que pudiera faltar. Espero con esto poder solucionarlo y regresas con el código final.
Saludos.
Hola, finalmente logre hacerlo. Me pasaron un código de ejemplo y en resumen tenía los mismos campos, pero creo que la diferencia fue algo que había mencionado @alexnavarrovaSerialAndBatchNumbersBaseLine. Es extraño porque ya lo había probado, pero entre tantas cosas que estuve probando posiblemente lo probé con alguna otra linea que no debería ir. Gracias a todos fueron de gran ayuda. Dejo aquí el código básico para hacer una transferencia de stock entre ubicaciones como a mi me funcionó.
Saludos.