viernes, 26 de diciembre de 2014

Proceso de Subcontratación de Proveedores

Subcontratación de Proveedores.

El ciclo de subcontratación consiste de:

  1. Creación de la Orden de Compra.
  2. Suministro de componentes.
  3. Manufactura de los Bienes / Servicios.
  4. Entrega de los bienes.
  5. Recepción de los bienes del item subcontratado.
  6. Ajustes Subsecuentes.
  7. Recepción de Factura.
  8.  
  9.  Invoice settlement > Paymponenent. 
Subcontratación de Vendedores.
 
El proceso de subcontratación de proveedores ocurre la mayoria de las veces en los procesos de la industria manufacturera. El cliente suministra los componentes requeridos que serán ensamblados por el proveedor.
 
Los materiales pueden ser despachados desde su propio almacen o centro al proveedor; pudiendo lograrse a través del código del proveedor en la pestaña de entrega en la orden de compra.
 
Tomemos un ejemplo para tener una mayor comprensión del escenario.
 
  1. Una compañia fabricante de teléfonos celulares, vende sus equipos a nivel global. Ellos no tienen su propia unidad de manufactura, por el contrario ellos diseñan los productos y estos son manufacturados por algún proveedor. Tales proveedores se convierten en sub contratistas. Esta compañía compra la materia prima y otros componentes de otros proveedores suministrándolos a quien se encargara de realizar el proceso manufacturado. El proveedor se encarga del proceso completo de ensamble y realiza la entrega del producto terminado, el cual es el teléfono móvil. Una vez se ha finalizado el proceso de ensamble, el producto es enviado de regreso a la ubicación de su cliente acorde a lo especificado en la orden de compra.
  2. Otro ejemplo puede ser una fabrica de automóviles, la cual llega a un acuerdo con un proveedor para que realice el proceso de ensamble de los motores. La materia prima requerida para realizar el proceso es suministrada por el fabricante de automóviles .
    El proveedor se encarga de ensamblar el producto terminado y regresarlo a la ubicación del cliente para que el proceso continúe.
 Detalles del proceso completo en SAP
 
  1. Creación de la Orden de Compra. Orden de Compra con la categoría “ L ”
    La Orden de Compra menciona los ítems subcontratados y componentes para ser povistos en la orden de Compra mediante una lista de materiales o manualmente.
    Los Precios indicados en la Orden de Compra son los precios subcontratados. Pueden también mantenerse los registros INFO para las categorías subcontratadas por material y contratista.
  2. Suministro de las  Materias Primas o Componentes: Los componentes pueden ser suministrados de las siguiente forma :
    MB1B : Traslado usando el movimiento 541+O con referencia a la orden de compra o de contratación.
    ME2O : Monitoreando el stock SC ( Compras ). En este caso muchos sistemas usan el tipo de movimiento  541+O.
    MIGO: Puede realizarse directamente haciendo uso del movimiento 101+O.
  3. Recepción de los bienes resultantes del proceso de subcontrataciónLos materiales terminados con respecto a la orden de compra pueden ser recepcionados en la transacción MIGO. La recepción de materiales es la misma que se re realiza normalmente utilizando el tipo de movimiento 101; el sistema determina el consumo de los componentes y crea la correspondiente salida de mercancía 543+O
    Un documento de material se genera con dos posiciones.
      => Entrada de mercancías de productos terminados, que fue entregado por el proveedor.  
      => Salidas de mercancía para los componentes utilizados para el producto terminado.
    En esta transacción el sistema lleva a cabo la contabilización de los documentos de material con documento contable si el documento es valorado.
  4. Rechazo y manejo de sobrantesTomemos como ejemplo un la tuerca y el tornillo que reciben roscas; mientras se realiza esta operación en la varilla de acero se acumulan desechos.
    Otro ejemplo es el proceso de manufacturado de teléfonos móviles, donde el 2% de las pantallas de los mismos es desechado.
    Tales desechos o rechazos pueden ser conservados en el inventario de materiales, el sistema propondrá la cantidad adicional en una orden de compra.
    El sistema lleva la contabilización con un tipo de movimiento 545+O en la ubicación del vendedor. Este puede ser traído de vuelta a la localización propia haciendo uso del movimiento 542+O.
  5. Tratamiento de subproductosEs la análogo al proceso de rechazo o baja. Este puede ser realizado a través del mantenimiento de valores negativos en el inventario de materiales.
    El sistema lleva a cabo un movimiento 545+O en la ubicación del proveedor. Este puede ser traído de regreso a la propia ubicación del negocio a traves del movimiento 542+O.
  6. Recepción de la Factura Este es manejado a través del proceso estándar haciendo uso de la transacción 'MIRO'.
  7. Pago al Proveedor Este se realiza en el modulo Financiero a través de la transacción 'FBL1N'.

lunes, 8 de diciembre de 2014

Como Visualizar las BADIS que se ejecutan en una transacción

1- Ingresar a la transacción SE80.

2- Seleccionar "Clase/Interface" y poner el nombre: "CL_EXITHANDLER" doble click en el método GET_INSTANCE.



3- Poner un break en:   CALL METHOD cl_exithandler=>get_class_name_by_interface y otro en uno de los When del Case del SY-SUBRC.



4- En la variable "exit_name" se verán las BADIS que se ejecutan en cada momento.

5- Visualizar las BADIS que encontré, usando la transacción SE18.

6- Para implementar la BADI que encontré se hace los siguiente:

6.1- Ingresar a la transacción SE19 y en BADI clásico pongo el nombre que encontré y le doy click al botón "Implementar", se diligencia el nombre iniciando con la letra  Z, a continuación se pide una descripción y listo

Como construir un WHERE dinamico en ABAP


1. Definir una variable tipo CHAR para almacenar las condiciones.

    lv_cond(72) TYPE c,

2. Definir una variable tipo tabla para adicionar la variable lv_cond.

    li_tab LIKE TABLE OF char72.

3. Validar si la variable esta asignada y adicionarla a las condicones

    IF lv_source IS NOT INITIAL.
        CONCATENATE '<campo>=' lv_source  INTO lv_cond SEPARATED BY space.
        APPEND lv_cond TO li_tab.
    ENDIF.