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.

martes, 28 de octubre de 2014

Como crear su propio rango de Números (SNRO)

Es usual que cuando se genera una factura, esta haga referencia a un número único, hecho que se convierte en un elemento especifico para identificar la factura.
 
SAP permite la creación y administración de los rangos de número disponiendo de las transacciones SNRO para la creación del objeto y la definición de los rangos de número y dentro de los programas se utiliza la función NUMBER_GET_NEXT para incrementar el número actual al siguiente número del rango.
 
Para crear un rango de número los pasos son los siguientes:

  • Ingresar a la transacción SNRO.
  • Ingresar el nombre del rango de Número y Click en crear.
  • Ingresar el dominio, tipo de datos y descripción asociada al rango de números.
  • Implementación del rango de número.
 
  • Definir el rango de número por sociedad dado el caso que se haya establecido así.
 
 
  • Definir el rango de numero y asignar el consecutivo.

jueves, 23 de octubre de 2014

Como extender las vistas del maestro de materiales usando la MM50

Prerrequisitos:
Si una de las vistas del maestro de materiales no se esta visualizando cuando se ingresa a la transacción MM50, entonces usted deberá hacerla visible seleccionando la vista a traves de la transacción OMS2.
 
Ejemplo:
Para el material HALB la vista de ventas no debería ser visualizada para extenderla ni en la transacción MM01 ni en la MM50, por lo que generalmente las personas no la deberían seleccionar en la transacción OMS2 para el material HALB.
En este caso lo que requerimos ir a la transacción OMS2, luego dar doble click en el tipo de material respectivo, en este caso HALB y luego seleccionar la vista que desea visualizar.


Nota: El número del material debería ser mantenido para que tenga todos los datos básicos y vistas(Datos Básicos 1, Datos Básicos 2 and Datos de Etiqueta) que sean requeridos.
 
  1. Tomar la lista de materiales y utilizarla para limitar los registros.
  2. Seleccione las vistas que desea extender, por ejemplo 'V' es para ventas.
  3. Ejecute la transacción.
Paso 1:
  • Seleccione estado de mantenimiento.
  • Ingrese el numero de material.
  • Ejecutar
 
 
Paso 2:
Haga Click en el botón seleccionar todo para hacer la selección y a continuación click en 'Mantenimiento de Materiales', presione el botón para continuar.


Paso 3:
Una vez haya seleccionado los materiales, haga Click en

Paso 4:
Ingrese los datos que serán modelo para la extensión masiva de materiales

Paso 5:
Actualizar los materiales seleccionados

Paso 6:
Actualizar los datos obligatorios dependientes de la vista que este extendiendo para el material y guarde la información.
 

domingo, 19 de octubre de 2014

Pruebas de Software en SAP

El diseño de pruebas de software en SAP es el mismo que el utilizado para probar cualquier otro software, por lo que se tienen los siguientes tipos de pruebas:
 
Pruebas de Integración :
Las pruebas de integración, son desarrolladas cuando se adiciona código a una base de código existente; por ejemplo cuando se adiciona un nuevo modulo de función a un grupo de funciones. 
Las pruebas de integración miden la forma en que este código se integra y trabaja con el código existente, verificando entonces la forma en la cual se comportan las variables de entrada y salida, el formato de datos y como se manipulan las variables.
 
Pruebas de Regresión:
Cuando hablamos de pruebas de regresión, podemos hablar en dos formas, la primera hace referencia cuando un problema existente en el código ha sido corregido, por lo que una prueba de regresión permite verificar que el defecto haya sido solucionado; esto evita que posteriormente pueda volver a encontrarse el mismo defecto.
En una segunda instancia, una prueba de regresión es la contraparte de una prueba de integración, cuando el código se adiciona, es aquí donde la prueba de regresión verifica que el código existente trabaje correctamente cuando se haya adicionado el nuevo código, garantizando que el existente no se haya dañado.

Como crear una BTE en SAP

En este caso tomaremos como ejemplo la creación de una BTE para la visualización de la Fecha Valor (Campo VALUT) en la transacción FBL5N.

1. Ingresar a la transacción FIBF

2. Seleccionar




3. Especifique el nombre del producto


4. Identifique el evento asociado a la transacción y tome como base el modulo de función.

5. Active el modulo de función

jueves, 25 de septiembre de 2014

Guía de Implementación Modulo Activos Fijos (Parte 1)

La mayoría de los parámetros pueden ser creados haciendo uso de las transacciones:

ORFA (Contabilidad de Activos)

 

sábado, 20 de septiembre de 2014

Como corregir el error SoapUI JVM Maximum Heap Siz

soapUI es una herramienta muy útil y justamente esta es la razón por la cual se ha convertido en mi herramienta favorita para probar servicios web.
 
En una de mis ejecuciones de esta herramienta he apreciado que esta no ha querido iniciar el aplicativo y he obtenido el siguiente error: "soapUI JVM maximum heap size (-Xmx) error message"
 
The JVM could not be started. The maximum heap size (-Xmx) might be too large or an antivirus or firmware tool could block the execution.
 

Solución

El problema Java maximum heap size (-Xmx) ocurre cuando Soap UI intenta obtener la cantidad de memoria en un solo bloque y esta no se encuentra disponible.

Paso #1. Diríjase a la ruta “C:\Program Files\SmartBear\soapUI-x.x.x\bin” en su sistema y localice el archivo  soapUI-x.x.x.vmoptions.
Donde x.x.x corresponde a la versión e Soap UI que usted utilice

soapUI Java Heap Memory Issue - soapUI-4.5.2.vmoptions
Paso #2. Ahora haga click derecho en el archivo y ábralo usando el editor de texto de su preferencia

soapUI Java Heap Size Issue - edit soapUI-4.5.2.vmoptions

Una vez lo abra, observará que el archivo luce de la siguiente manera:
-Xms128m
-Xmx1000m
-Dsoapui.properties=soapui.properties
-Dsoapui.home=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin
-Dsoapui.ext.libraries=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/ext
-Dsoapui.ext.listeners=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/listeners
-Dsoapui.ext.actions=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin/actions
-Dwsi.dir=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/wsi-test-tools
-Djava.library.path=C:\Program Files (x86)\SmartBear\soapUI-4.5.2/bin
-Djava.util.Arrays.useLegacyMergeSort=true
-Djxbrowser.xulrunner.dir=C:\Program Files (x86)\SmartBear\soapUI-4.5.2\.JxBrowser
Reduce el valor de  -Xmx a uno mas pequeño tal como 512m.

Paso #3. Guarde el archivo soapUI-x.x.x.vmoptions y ejecute el archivo soapUI.exe.

Versión Original:
http://quicksoftwaretesting.com/soapui-jvm-heap-size-xmx-error/

MRP Para algunos materiales - Ampliación M61X0001

SAP provee la funcionalidad MRP a nivel de planta (MD01) y a nivel de material (MD02/MD03). Dependerá de la implementación si se debe realizar la ejecución para una planta o para un conjunto especifico de materiales. 
 
Utilizando la ampliación  M61X0001

SAP provee la ampliación M61X0001. Esta puede ser verificada e implementada haciendo uso de la transacción SMOD



Una vez lo haga, seleccione la opción componentes.

Esta presentará dos módulos de función para los Exits:
  • EXIT_SAPLM61C_001 
  • EXIT_SAPMM61X_001

Double click uno de los modulos de función y visualice la lista de objetos (Ctrl+Shift+F5)
 
Una vez hecho esto, dentro del exit, en este caso el EXIT_SAPMM61X_001 encontrará el include ZXM61U01. Es en este lugar donde deberá incluirse el código. 
 
A continuación se ilustra un ejemplo del programa dentro del éxit. 

============================================

Function EXIT_SAPLM61C_001
*----------------------------------------------------------------------*
* INCLUDE ZXM61U02 *
*----------------------------------------------------------------------*
* PLEASE NOTE: this code must be identical to ZXM61U01.
CLEAR: NO_PLANNING, STOP_PLANNING.
CASE USER_KEY.
*----------------------------------------------------------------------*
* select materials for one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
WHEN '001'.
UXPAR = USER_PAR.
CONDENSE UXPAR.
WRITE UXPAR+0(3) TO DISPO.
IF DISPO IS INITIAL.
EXIT.
ENDIF.
IF MT61D-DISPO <> DISPO.
NO_PLANNING = 'X'.
ENDIF.
ENDCASE.


Function EXIT_SAPMM61X_001
*----------------------------------------------------------------------*
* INCLUDE ZXM61U01 *
*----------------------------------------------------------------------*
* PLEASE NOTE: this code must be identical to ZXM61U02.
CLEAR: NO_PLANNING, STOP_PLANNING.
CASE USER_KEY.
*----------------------------------------------------------------------*
* select materials for one MRP controller (specified in user_par)
*----------------------------------------------------------------------*
WHEN '001'.
UXPAR = USER_PAR.
CONDENSE UXPAR.
WRITE UXPAR+0(3) TO DISPO.
IF DISPO IS INITIAL.
EXIT.
ENDIF.
IF MT61D-DISPO <> DISPO.
NO_PLANNING = 'X'.
ENDIF.
ENDCASE.

martes, 17 de junio de 2014

Logging on without being authorized

Client 066 usually exists in a SAP system due to EarlyWatch services.
Often this client does not have master users. If it is true, anyone can log into the system using the client 066,


user SAP*
password PASS.

lunes, 16 de junio de 2014

Tablas SAP - Modulo MM

SAP MM

1. Maestro de proveedores
TablaDescripciónComentario
LFA1Datos maestros
LFB1Proveedores por sociedad
LFB5Datos de reclamación
LFBKBancos/cuentas
LFC1Cifras de movimientos
LFC3Cifras de movimientos CME
LFM1Datos de la organización de compras


2. Documentos de compras
TablaDescripciónComentario
EKKOCabecera del doc. de comprasContiene el tipo de documento
EKPOPosición del doc de compras
EKETRepartos del plan de entregas
EKESConfirmaciones de pedido
EKKNImputación en el documento
EKANDirección del proveedor en el doc. de compras
EKBEHistorial para el doc.
EKUBÍnidce de pedidos para traslado de material
MDUBVista de lectura sobre pedido de traslado para toma-pedido
MDBSVista de material en posición de pedido/reparto



3. Solicitud de pedidos
TablaDescripciónComentario
EBANSolicitud de pedio por posición
EBKNImputación de solicitud de pedido



4. Libro de pedidos
TablaDescripciónComentario
EORDLibro de pedidos de compras



5. Registro info de compras
TablaDescripciónComentario
EINADatos generales
EINEDatos de la organización de compras
KONPCondiciones
EIPAHistorial del precio del pedido del registro info

Tablas SAP - Modulo SD

TABLAS SD

1. Maestro de clientes
TablaDescripciónComentario
KNA1Datos maestro de clientes
KNB1Clientes por sociedad
KNBKBancos/cuentas
KNVALugares de descarga
KNVKPersona contacto (interlocutor)
KNVPFunciones de interlocutorEl campo PARVW diferencia entre los distintos interlocutores
KNVSDatos de expedición
KNVVDatos de comercial
KNVKInterlocutor (personas de contacto)



2. Documentos comerciales
TablaDescripciónComentario
VBUKStatus cabecera y datos de gestión
VBUPStatus de posición
VBFAFlujo de doc. comerciales
VBPAInterlocutor



3. Pedidos de ventas
TablaDescripciónComentario
VBAKCabecera
VBAPPosición
VBFAFlujo de doc. comerciales
VBKDDatos comerciales
VBEPDatos de reparto



4. Entregas
TablaDescripciónComentario
LIKPDatos de cabecera
LIPSDatos de posición
LQUACuantos/almacenaje

5. Estructura de organización
TablaDescripciónComentario
TVKOOrganizaciones de ventaVista V_TVKO_LK
TVKOTTextos org. Ventas
TVKOVCanales de distribución por org. de ventasVista V_TVKOV_LK
TVKOSSectores pro org. de ventasVista V_TVKOS_LK
TVTAÁreas de ventasVista V_TVTA_LK
TVKBZOficina de ventas por área de ventasVista V_TVKBZ_LK
TVBVKGrupo vendedores por oficina de ventasVista V_TVBVK_LK
TVKWZCentros por org. de ventasVista V_TVKWZ_LK
TVSWZLugares de expedición por centroVista V_TVSWZ_LK
T001K
Vista V_T001K



6. Facturas
TablaDescripciónComentario
VBRKDatos de cabecera
VBRPDatos de posición



7. Índice de ventas
TablaDescripciónComentario
VAKPAPedidos por función interlocutor
VAPMAPosiciones pedido por material

8. Necesidades de ventas
TablaDescripciónComentario
VBBERegistro individual de necesidad de ventas