#1
|
|||
|
|||
Subcontratación con función BAPI_GOODSMVT_CREATE
Hola.
Comparto esto que estuve buscando durante mucho tiempo y nunca encontré algo publicado. Cómo utilizar la función BAPI_GOODSMVT_CREATE para el registro de los movimientos de subcontratación? Un proceso de subcontratación es aquel en que enviamos materiales a un proveedor que les realiza una transformación y nos lo devuelve (como otro producto). El material que se envía lo denominamos componente, surge de la Lista de Materiales del Producto que compramos al Proveedor y es el que se va a consumir al realizar el alta en stock del producto que nos entrega el Proveedor. En la transformación realizada por el Proveedor también se pueden obtener desperdicios o subproductos que queremos registrar en stock. En general en un proceso de subcontratación tenemos tres tipos de movimientos de materiales. - Movimiento 101 para el material recibido (producido por el proveedor). - Movimiento 543 para el material consumido. Este es el componente que enviamos al proveedor y que el mismo utiliza para la producción del material que luego entrega. - Movimiento 545 para la generación del subproducto que se puede generar por el proceso productivo por parte del proveedor. En esta BAPI se completan las siguientes tres Tablas. GOODSMVT_HEADER PSTNG_DATE Fecha de Contabilización DOC_DATE Fecha de Documento REF_DOC_NO Nota de Entrega HEADER_TXT Texto de Cabecera GOODSMVT_CODE se indica el valor 01. GOODSMVT_ITEM Para el primer ítem que se recepciona. MATERIAL 100000001 PLANT 1000 STGE_LOC AL01 BATCH LOTE_00001 MOVE_TYPE 101 VENDOR 100000001 ENTRY_QNT 1.000,000 ENTRY_UOM KG PO_NUMBER 4500000000 PO_ITEM 00010 MVT_IND B LINE_ID 000001 PARENT_ID 000000 MATERIAL 111000001 PLANT 1000 BATCH LOTE_FA001 MOVE_TYPE 543 ENTRY_QNT 1.100,000 ENTRY_UOM KG LINE_ID 000002 PARENT_ID 000001 MATERIAL 5000001 PLANT 1000 MOVE_TYPE 545 ENTRY_QNT 100,000 ENTRY_UOM KG LINE_ID 000003 PARENT_ID 000001 Ejemplo si tenemos un Segundo ítem que se recepciona. MATERIAL 100000002 PLANT 1000 STGE_LOC AL01 BATCH LOTE_00002 MOVE_TYPE 101 VENDOR 100000001 ENTRY_QNT 1.000,000 ENTRY_UOM KG PO_NUMBER 4500000000 PO_ITEM 00020 MVT_IND B LINE_ID 000004 PARENT_ID 000000 MATERIAL 111000002 PLANT 1000 BATCH LOTE_FA002 MOVE_TYPE 543 ENTRY_QNT 1.200,000 ENTRY_UOM KG LINE_ID 000005 PARENT_ID 000004 MATERIAL 5000001 PLANT 1000 MOVE_TYPE 545 ENTRY_QNT 200,000 ENTRY_UOM KG LINE_ID 000006 PARENT_ID 000004 Si tuviéramos un tercer ítem que se está recibiendo y suponemos que tiene 2 componentes y 2 subproductos. MATERIAL 100000003 PLANT 1000 STGE_LOC AL01 BATCH LOTE_00003 MOVE_TYPE 101 VENDOR 100000001 ENTRY_QNT 1.000,000 ENTRY_UOM KG PO_NUMBER 4500000000 PO_ITEM 00030 MVT_IND B LINE_ID 000007 PARENT_ID 000000 MATERIAL 111000003 PLANT 1000 BATCH LOTE_FA003 MOVE_TYPE 543 ENTRY_QNT 1.300,000 ENTRY_UOM KG LINE_ID 000008 PARENT_ID 000007 MATERIAL 111000004 PLANT 1000 BATCH LOTE_FA004 MOVE_TYPE 543 ENTRY_QNT 1.400,000 ENTRY_UOM KG LINE_ID 000009 PARENT_ID 000007 MATERIAL 5000001 PLANT 1000 MOVE_TYPE 545 ENTRY_QNT 300,000 ENTRY_UOM KG LINE_ID 000010 PARENT_ID 000007 MATERIAL 5000002 PLANT 1000 MOVE_TYPE 545 ENTRY_QNT 400,000 ENTRY_UOM KG LINE_ID 000011 PARENT_ID 000007 Lo que se hace es ir combinando las posiciones con los campos LINE_ID y PARENT_ID. LINE_ID comienza en 000001 y se va incrementando en 1 con cada línea que se completa en la tabla. PARENT_ID = 000000 indica que es la posición que se está recibiendo por lo que no depende de nadie. PARENT_ID con valor indica la posición de la que depende la línea que se está registrando. Esto es para el consumo o la generación del subproducto. De esta forma se establecen las relaciones. El Primero producto que se recibe tiene: LINE_ID 000001 PARENT_ID 000000 Es por esto que los productos dependientes de esta línea (componente y subproducto) tienen PARENT_ID 000001. El Segundo producto que se recibe tiene: LINE_ID 000004 PARENT_ID 000000 Es por esto que los productos dependientes de esta línea (componente y subproducto) tienen PARENT_ID 000004. El Tercer producto que se recibe tiene: LINE_ID 000007 PARENT_ID 000000 Es por esto que los productos dependientes de esta línea (componente y subproducto) tienen PARENT_ID 000007. Luego pueden darse varias combinaciones con lo que se tiene que adecuando esto. - Es posible que un Producto que se está recibiendo tenga un único componente (543) y un único Co-Producto (545). - Es posible que un Producto que se está recibiendo tenga un único componente (543) y varios Co-Productos (545). - Es posible que un Producto que se está recibiendo tenga varios componentes (543) y un único Co-Producto (545). - Es posible que un Producto que se está recibiendo tenga varios componentes (543) y varios Co-Productos (545). - Es posible que un Producto que se está recibiendo tenga un único componente (543) y no tenga Co-Producto (545). - Es posible que un Producto que se está recibiendo tenga un varios componentes (543) y no tenga Co-Productos (545). Espero que les sirva. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|