Circuito de Reparaciones (Orden de Renovación)

25 12 2008

Ingresamos a la transacción IW81. Todos los campos deben ser completados tal como se indica en la figura:
clip_image002[4]
Clase de orden:PM04
Prioridad: Muy elevado, Alto, Medio (utilizado normalmente) y Bajo.
Número material: Material a reparar.
Centro planificación:1100” en este caso, Varía según la configuración de cada empresa. 

Luego presionamos ENTER o el botón Datos cab.

Pantalla inicial:
Completar en la parte superior de la pantalla el nombre o descripción del proceso (ejemplo : Prueba repa motor).

clip_image018

 

Debemos completar los siguientes campos en la solapa “Datos cab.”:
Responsable:
Rs.pto.tr.: Colocar el responsable de la operación.

Renovación:
Debemos completar tanto el centro y almacén de ingreso y salida (DE…A).

Primera operación:
Operación: Texto libre referente a la operación a realizar.

Pto Trab/Ce: Colocar el responsable de la operación.

ClvCtrol: Completar con la clave de control.

Cl.activ: Se puede dejar vacío o completar con la clase de actividad.

Trabinvert, Cantidad, y Dur.oper: El tiempo a emplear en la operación.

 

Luego vamos a la solapa “Interloc.”:
Y colocamos el número de cliente y seleccionamos del matchcode el título AG SOLICITANTE. Presionamos ENTER y se completan los datos.
Si necesitamos visualizar los datos del cliente ingresamos por la parte superior de la pantalla al botón clip_image025.
Antes de grabar debemos presionar el botón clip_image029 para liberar la orden y poder continuar con el proceso.
Finalizar grabando la orden clip_image036

 

!!!Con la transacción IW32 podemos visualizar esta orden una vez creada.

 

El siguiente paso es la entrada de la mercadería y se explica a continuación:
Ingresamos a la transacción IW8W:

Colocamos en el campo el número de orden generado previamente. Y presionamos ENTER.
clip_image044
Completamos los campos de fecha, almacén y cantidad del material que recibimos para reparar. Y finalizamos grabando el documento.

 

Notificación de OT:
Ingresamos a la transacción IW42

En la siguiente pantalla presionamos ENTER para visualizar los datos (horas de trabajo) grabados en la orden (Notificación tiempo).
Y deberíamos incluir los materiales adicionales que se usarán en la reparación. Centro/ Almacén (Movimientos de mercancías).

 

Ahora debemos generar el remito o formulario que acompañará la operación:
Ingresamos a la transacción MB11.

Chequear que esté puesto el tilde en el campo “IMPR.”. Presionamos el botón Por orden…

Completamos el campo de Orden. Presionamos el botón Tomar + Detalle.

Y se visualizarán los datos, si lo necesitamos… podemos agregar un texto en el campo del mismo nombre.

Presionando ENTER, veremos el detalle del movimiento de salida que se está por realizar.

Finalmente si hacemos doble click sobre el número de material; se abrirá una nueva pantalla donde podremos elegir las opciones de impresión con el botón «Mensajes«.

Volvemos entonces a la pantalla inicial donde ahora sí contabilizamos el documento utilizando el botón de grabar. Emitiendo así el remito.


Technorati tags:





Cambiar la denominación de las clases de órdenes

23 04 2008

Este documento explica cómo cambiar la denominación de las clases de órdenes para una orden de trabajo (OT).

La modificación se debe realizar desde el mandante de desarrollo. Para luego transportar una orden hasta el mandante de producción.

Pasos a seguir:

1º) Ingresar al Customizing:

clip_image002 y clickear en botón clip_image004

 

2º) Seguir el camino:

Mantenimiento y servicio al cliente -> Gestión de mantenimiento y servicio -> Órdenes de mantenimiento y de servicios -> Funciones y parametrizaciones de clases de orden -> Parametrizar clases de órdenes

clip_image006

 

3º) Modificar los textos de las Clases de órdenes que deseamos y luego apretar el botón de guardar

clip_image008

Nos pedirá que grabemos los cambios en una orden de transporte

 

4º) El último paso es agregar las modificaciones en nuestra orden de transporte:

Hay que pasar al modo de visualización: clip_image010

Seleccionamos las filas que queremos transportar:

clip_image012

Y vamos al menú: Tratar -> Transporte -> Incluir en la orden

Finalmente, sólo nos resta pedir que pasen la orden de transporte hasta el ambiente de producción.


Technorati tags:





RSTXPDFT4 – Pasar orden de spool (formulario) a PDF

7 12 2007

RSTXPDFT4 es un programa estándar que se corre desde la transacción SE38 y que sirve para convertir un sapscript (formulario) o orden de spool a pdf.

Solamente hay que pasarle como filtro el número de una orden de spool y si deseamos una ruta para guardarla en PDF.
Para encontrar una orden de spool, hay que ir al menú Sistema –> Órdenes SPOOL propias o bien buscarla en la tabla TSP01.


Technorati tags:





Pasar orden de spool a PDF

6 12 2007

Es común que nos pidan hacer un resguardo de un formulario. Y probablemente tengamos que hacer el backup a PDF.
Con este código vamos a poder tomar una orden de spool, por ejemplo de un formulario, para luego crear el PDF.


  DATA: IT_TSP01 LIKE TSP01 OCCURS 0 WITH HEADER LINE.
  DATA: NUMBYTES TYPE I,
             PDFSPOOLID LIKE TSP01-RQIDENT,
             IT_PDF LIKE TLINE OCCURS 0.

*Lo primero es buscar el número de la orden de spool en la tabla  TSP01. *En este caso le paso el nombre del usuario y el mandante.
  SELECT RQIDENT
     INTO (IT_TSP01-RQIDENT)
     FROM TSP01
     WHERE RQOWNER EQ SY-UNAME
       AND RQCLIENT EQ SY-MANDT.
    APPEND IT_TSP01.
  ENDSELECT.

*Ordeno en forma descendente para quedarme con el último formulario *generado
  SORT IT_TSP01 DESCENDING.

*Al siguiente módulo de función le paso el número de la orden para que *me devuelva el formulario dentro de la tabla IT_PDF
  CALL FUNCTION ‘CONVERT_OTFSPOOLJOB_2_PDF’
    EXPORTING
      SRC_SPOOLID              = IT_TSP01-RQIDENT
    IMPORTING
      PDF_BYTECOUNT            = NUMBYTES
    TABLES
      PDF                      = IT_PDF
    EXCEPTIONS
      ERR_NO_OTF_SPOOLJOB      = 1
      ERR_NO_SPOOLJOB          = 2
      ERR_NO_PERMISSION        = 3
      ERR_CONV_NOT_POSSIBLE    = 4
      ERR_BAD_DSTDEVICE        = 5
      USER_CANCELLED           = 6
      ERR_SPOOLERROR           = 7
      ERR_TEMSEERROR           = 8
      ERR_BTCJOB_OPEN_FAILED   = 9
      ERR_BTCJOB_SUBMIT_FAILED = 10
      ERR_BTCJOB_CLOSE_FAILED  = 11
      OTHERS                   = 12.

  IF SY-SUBRC EQ 0.

*Una vez que tengo el formulario en la tabla hago el download 
    CALL FUNCTION ‘GUI_DOWNLOAD’
      EXPORTING
        BIN_FILESIZE            = NUMBYTES
        FILENAME                = P_FILE
        FILETYPE                = ‘BIN’
      TABLES
        DATA_TAB                = IT_PDF
      EXCEPTIONS
        FILE_WRITE_ERROR        = 1
        NO_BATCH                = 2
        GUI_REFUSE_FILETRANSFER = 3
        INVALID_TYPE            = 4
        NO_AUTHORITY            = 5
        UNKNOWN_ERROR           = 6.

    IF SY-SUBRC EQ 0.
      MESSAGE I014(ZSM) WITH P_FILE
           ‘ .Nombre de archivo creado’
           ‘ con Nro. Doc. Interno Sap.’.
    ELSE.
      MESSAGE I014(ZSM) WITH P_FILE.
      DELETE FROM TSP01 WHERE RQIDENT EQ T_TSP01-RQIDENT.
    ENDIF.

  ENDIF.


Technorati tags:





Transporte de una orden de un ambiente a otro

19 11 2007

Voy a explicar cómo se transporta una orden de un ambiente a otro. En el ejemplo voy a mostrar como pasar una orden de DEV (desarrollo) a QUA (calidad o test).


El primer paso es ir a la transacción SE10 (transport organizer). Llenamos el campo Usuario con el nombre de usuario con el cual creamos la orden que queremos transportar y seleccionamos la opción Modificable.
En la siguiente pantalla nos posicionamos en la orden en cuestión:

image
Seleccionamos primero la tarea () y clickeamos en el botón image ; luego seleccionamos la orden () y volvemos a clickear el botón image .

Nuestra orden ya está liberada y sólo faltaría terminar de pasarla. Generalmente en nuestros clientes suele existir un job corriendo de fondo que se encarga de terminar de pasar las órdenes.

En caso de que este Job no exista tenemos que ir a la transacción STMS y hacer lo siguiente:

1º_ Hacemos doble click en la opción:
 image

2º_ A continuación vamos al final de la tabla y apretamos el botón image hasta que aparezca nuestra orden. Acto seguido marcamos la orden y clickeamos en el botón image.

3º_ Nos saldrá una ventana donde completamos el mandante de destino. Y en la solapa Fecha y Opciones marcamos como se muestra en las imágenes. 
image  image

Nos aparecerá un POP UP preguntando si deseamos Iniciar el import, y obviamente elegimos que SÍ.

Luego nos pedirá completar el mandante y un usuario del ambiente de destino:
image

4º_ Terminado lo anterior, nuestro cuarto y último paso es actualizar nuestra orden hasta que quede con el tilde verde.


Technorati tags:





Creación de IDOCs de Orden de Compra

13 11 2007

El siguiente documento explica como generar IDOCs de Orden de Compra (Purchase order) con “Punteros de Modificación” (Changer Pointers).
Con las siguientes configuraciones una vez creada una orden de compra desde la transacción ME21N se generará un archivo de salida (OUTBOUND) de formato XML con el contenido de la orden de compra (IDOC).

Primero un poco de teoría para entender qué es un IDOC y para qué se utilizan:
Los IDocs permiten intercambiar información entre distintos sistemas. Se lo puede ver como un archivo de texto plano, con registros. Un Idoc es por ejemplo los datos de un proveedor, o una oferta.
Contiene una cabecera y posiciones, pero todos los datos pertenecen a la misma entidad. O sea, para transmitir datos de más de un proveedor, haría falta más de un Idoc.
Los IDocs se crean y luego se envían. Este envío se realiza en un segundo paso; o sea que podría haber IDocs que todavía no se hayan enviado.

Un Idoc está formato por tres bloques:

  • Un registro de Control.
  • Una tabla con los datos del IDoc.
  • Varios registros de Estado

    El registro de control contiene toda la información administrativa del IDoc, como el origen y el destinatario, y qué tipo de IDoc es. Sería algo así como el sobre que acompaña a cualquier carta.
    Este registro es muy importante ya que es necesario para saber, entre otras cosas, cuál será el destinatario del IDoc. La tabla SAP donde se guardan es la EDIDC.

    Los registros de datos se guardan en la tabla EDID4 en un campo de 1000 caracteres. Para saber interpretar esa cadena, el registro cuenta con un campo que informa cuál es la estructura con la que se deben interpretar los datos.

    Generalmente, varios registros de estado se adjuntan a un IDoc. El sistema
    automáticamente asigna registros de estado durante todo el proceso, a medida que el IDoc va alcanzando diversos puntos de control.
    Contienen información de estado, tal como código de estado, fecha y hora en que el punto de control es alcanzado. Estos registros de estado existen solamente en SAP y no son almacenados en el archivo de salida.La estructura de los registros de estado está definida por la estructura del DDIC EDI_DS40. La tabla es EDIDS.

    Desde la transacción WE30 se puede ver el formato de los Idocs.


    IDOCs para órdenes de compra:

    Tipo Base de IDoc:
    El primer paso es verificar que contemos en el sistema con el Tipo Base de Idoc ORDERS05.

    Transacción: WE30
    clip_image003
    Ingresamos el tipo base ORDERS05 y clickeamos en “visualizar”.

    clip_image005
    Debemos obtener algo así.

     

    Tipo de Mensaje en SAP:
    En este paso verificamos que tengamos creado el Tipo de Mensaje ORDERS.

    Transacción: WE81
    Tenemos que encontrar esto.

    clip_image007

     

    Relación entre un tipo de Mensaje y un Tipo de IDoc:
    Ahora tenemos que controlar que exista la relación entre el tipo de base Idoc y la clase de mensaje.

    Transacción: WE82
    Controlamos que figure la siguiente línea:
    clip_image009

     

    Definición de puerta:
    Los Idocs pueden ser enviados y recibidos a través de diferentes medios. Con el objetivo de no acoplar la definición de las características del medio con la aplicación que lo está utilizando, el medio es accedido vía puertos. En otras palabras, un puerto es un nombre lógico para un dispositivo de entrada/salida. Los programas se comunican con un puerto a través de una interfaz estándar.
    En vez de definir el medio de comunicación directamente en el Acuerdo de Interlocutor (Partner Profile), se asigna un número de puerto, y es este puerto el que designa realmente al medio. Esto permite definir las características de los puertos individualmente y usar un puerto en múltiples Acuerdos de Interlocutores. Los cambios en un puerto se reflejarán automáticamente en todos los acuerdos que lo estén utilizando.
    Al menos un puerto debe existir para cada sistema externo.

    Los tipos de puertos más comunes son los siguientes:
    Ficheros (File Interface)
    Permite intercambiar Idocs a través de archivos del sistema operativo.
    El sistema que envía el IDoc crea un archivo en el file system. Luego notifica al sistema receptor vía RFC sincrónico que el archivo ha sido transferido, que está localizado en un determinado directorio, y que tiene un determinado nombre.
    SAP recomienda no usar nombres de archivos estáticos, dado que el archivo es sobre escrito cada vez que el Idoc se envía. Se recomienda usar el módulo de funciones EDI_PATH_CREATE_CLIENT_DOCNUM, el cual genera el nombre del archivo a partir del mandante y nro. de Idoc.

    RFC Transaccional
    Se usa para escenarios de distribución ALE. El nombre del puerto se puede definir a mano o dejar que SAP lo elija. Además del puerto, hay que definir el destino RFC.

    Archivo XML Envía documentos en formato XML. Para utilizar este tipo de puerto, es necesario definir el nombre del puerto, el formato del XML, y el nombre del archivo a generar. Al igual que con el tipo de puerto Fichero, se puede invocar a la función EDI_PATH_CREATE_CLIENT_DOCNUM para que genere los nombres del archivo en forma dinámica.

    XML-HTTP
    En vez de definir el nombre del archivo XML, se especifica un destino RFC.

    Para nuestro ejemplo vamos a elegir como salida un Archivo XML. Por lo cual invocaremos a la función EDI_PATH_CREATE_CLIENT_DOCNUM para que genere los nombres del archivo en forma dinámica.

    Transacción: WE21
    Dentro de la carpeta Fichero XML debemos crear y configurar nuestra Puerta de salida de la siguiente manera.
    clip_image011
    El Directorio físico lo podemos elegir a nuestro gusto, tiene que ser un directorio del servidor. Los directorios disponibles los podemos visualizar desde la transacción AL11.
    clip_image013

     

    Definición de sistemas lógicos:

    Transacción: BD54
    clip_image015
    Creamos un Sistema Lógico con el nombre y la descripción que queramos.

     

    Creación de los acuerdos de interlocutores:
    Un interlocutor ALE es un sistema SAP remoto o un sistema legacy con el que se intercambian datos.
    El acuerdo de interlocutor especifica varias de las características
    de los datos que se intercambian incluyendo el modo de operación y la organización o persona responsable por el manejo de los errores.
    Cuando los datos son
    intercambiados entre interlocutores, es importante que el emisor y el receptor estén de acuerdo en la sintaxis y semántica de los datos intercambiados.
    Este acuerdo es lo que
    se llama Acuerdo de Interlocutor, y es lo que le informa al receptor de la estructura de los datos enviados y cómo los contenidos deben ser interpretados.

    Los datos definidos en un acuerdo de interlocutor son:

    – Tipo de Idoc y Tipo de mensaje, los cuales son el identificador clave del acuerdo de interlocutor.

    – Nombre del Emisor y Receptor que intercambiarán los Idocs para el tipo de Idoc y mensaje.

    – Puerto por el cual el emisor y el receptor se comunicarán.

    En el interlocutor se definen datos específicos de cada mensaje a transmitir en los parámetros de salida o entrada según corresponda.
    Mediante la transacción WE20 se crea el acuerdo de interlocutor con el sistema lógico.

     

    Transacción: WE20
    Dentro de la carpeta Tp.interlocutor EDI Proveedor/Acreedor creamos lo siguiente:
    clip_image017
    El “Nº interl.EDI” debe llevar el mismo nombre del “Sistema Lógico” que creamos en el paso anterior.
    El “Tp.int.EDI” tiene que ser LI (Proveedor/Acreedor).
    Luego en la tabla “Parámetros salida” agregamos en Tipo mensaje: ORDERS.

    A continuación hacemos doble click sobre ORDERS y llenamos como muestra esta imagen:
    clip_image019
    En la solapa “Opciones salida”, ponemos la Puerta destino que definimos anteriormente y completamos los campos marcados con línea roja.

    En la solapa “Control de mensajes” completamos como se muestra en la imagen:
    clip_image021
    En “Aplicación” ponemos EF (Pedido de compras)
    Clase mensaje: NEU
    Código de operación: ME10

    Hacemos doble click sobre ME10 y chequeamos:
    clip_image023
    El módulo de función IDOC_OUTPUT_ORDERS es la función que se va a encargar de recolectar los datos y formar nuestro IDOC.

     

    Activación de punteros de modificación en forma global:

    Transacción: BD61
    Activamos nuestro puntero de modificación:
    clip_image025

     

    Activación de punteros de modificación por Tipo de Mensaje:

    Transacción: BD50
    Agregamos una entrada para el mensaje deseado, y la marcamos como activa.
    clip_image027

     

    Creación de una orden de compra:

    Transacción: ME21N
    Creamos un Pedido estándar (NB) y luego clickeamos en «Mensajes« 

    Generamos una clase de mensaje como esta:
    clip_image033
    Clase de mensaje: NEU
    Medio: EDI
    Función: PV

    Interlocutor: ORDERIDOC (nombre del interlocutor que creamos en la definición de sistemas lógicos)

    Chequeamos que en «Datos adicionales« tengamos esto:

    clip_image037

    Apretamos en el botón GUARDAR  y nos saldrá el mensaje:

    clip_image041


    Con todo esto, nuestro IDOC ya tiene que estar creado!!!. Para verificar vamos a la

    Transacción: WE02
    Al apretar el botón ejecutar nos listará nuestro IDOC:
    clip_image043
    La cantidad de registros de datos puede variar según la orden que hayamos creado.

    Sólo nos resta ir a buscar nuestro IDOC en formato XML en el directorio físico que hayamos definido en la parte de “Definición de puerta”


    Technorati tags: