Tabla de datos maestros de los usuarios

26 02 2013

Mediante la tabla USR01 podemos visualizar las parametrizaciones de datos maestros de los usuarios SAP.

Esta tabla nos será de utilidad por ejemplo cuando necesitemos saber cuál es el formato de fecha o cuál es separador decimal de un usuario SAP.

A esta tabla se ingresa simplemente colocando el nombre de usuario en el campo BNAME.

USR01


Technorati tags:





Transportar registros de una tabla sin diálogo de actualización

14 03 2012

Cuando una tabla no tiene diálogo de actualización no se pueden realizar los transportes de registros mediante la transacción SM30.

Ante estos casos, la manera de transportar entradas a otro ambiente es la siguiente: 

                1. Ir a la transacción SE10 y crear una orden nueva de tipo workbench:image image
                2. Una vez creada la orden damos doble click sobre la misma. Y en la solapa “Objetos” completamos la siguiente información:
                  image
                  NOTA: el campo Objeto lo completamos con la tabla que queremos transportar. En este ejemplo se transportarán registros de la tabla SFLIGHT.
                3. A continuación hacer click en la llave (image) y en la ventana que se abre hacer doble click en la primera línea en blanco:
                  image
                  Completando los distintos campos podremos elegir los registros que queremos transportar. Para este ejemplo transportaremos la tabla completa del mandante 100
                  image

                4. Ya creada la entrada sólo resta hacer click en el botón remarcado en rojo para verificar el contenido que vamos a transportar:
                  image
                  image
                  image 

Finalmente hay que volver atrás, guardar (image) y cuando aparece el mensaje de advertencia elegimos que SÍ.
Con esto tendremos lista la orden para poder transportar.


Technorati tags:





Documento FI en distintos LEDGERS

19 10 2011

En esta ocasión comparto la función FAGL_GET_DOC_DETAILS_OF_LEDGER que nos servirá para conocer un documento FI en otro LEDGER.
Porque dependiendo de la configuración del sistema es posible que el número de un documento FI sea distinto según el LEDGER. E incluso puede hasta variar el ejercicio. 

A la función FAGL_GET_DOC_DETAILS_OF_LEDGER hay que pasarle el LEDGER de destino; y la sociedad, documento y ejercicio.

image

 

Como resultado, en la estructura ES_DETAILS, obtendremos: el ejercicio, período y número de documento del LEDGER de destino.

image


Technorati tags:





Función para obtener las cc-nóminas (sueldo) de un empleado

22 09 2011

En el mundo de SAP HR, la cc-nómina ("Clave Concepto Nómina") es cada uno de los conceptos que componen el sueldo de un trabajador.

Estos conceptos se ven muy claros en un recibo de sueldo. Cada renglón con código, descripción y monto es un concepto; y por ende una cc-nómina.

Es decir: el sueldo es un concepto, las horas extras es otro concepto, etc, etc.


Si alguna vez nos toca hacer un programa donde necesitemos conocer el sueldo y/o composición de un empleado. Entonces la función HRCM_PAYROLL_RESULTS_GET nos será de muchísima utilidad para evitar el uso de base de datos lógicas de HR y su “engorrosa” codificación.
Ya que con sólo pasarle el número de legajo del trabajador y una fecha de inicio y fin, obtendremos una estructura completa de tablas con información del sueldo y sus cc-nóminas.

image

Por ejemplo en la estructura payroll_result_tab tendremos la tabla RT con el listado de cc-nóminas con sus respectivos montos:

image


Technorati tags:





Pasar SmartForm a PDF

11 05 2011

Es común que nos pidan hacer un resguardo de un formulario. Y probablemente tengamos que hacer el backup a PDF.
Con las siguientes pocas líneas vamos a poder hacerlo.


*Declaraciones
DATA: w_ctrlop    TYPE ssfctrlop,
          w_compop TYPE ssfcompop,
          w_return    TYPE ssfcrescl,
          otfdata       LIKE itcoo OCCURS 0 WITH HEADER LINE,
          lc_name     TYPE rs38l_fnam,
          intab         TYPE  soli_tab,
          objbin       TYPE  solix_tab, 
          wa_intab   TYPE LINE OF soli_tab,
          wa_objbin TYPE LINE OF solix_tab,
          objpack    LIKE sopcklsti1 WITH HEADER LINE.

*Función que devuelve el modulo de función del SmartForm
CALL FUNCTION ‘SSF_FUNCTION_MODULE_NAME’
   EXPORTING
      formname           = ‘ZSMARTFORM’  “Nombre del formulario SmartForm
   IMPORTING
      fm_name            = lc_name
   EXCEPTIONS
      no_form                  = 1
      no_function_module = 2 
   OTHERS                     = 3.

*Llama al modulo de función del SF
    w_ctrlop-getotf          = ‘X’.
    w_ctrlop-no_dialog    = ‘X’.
    w_compop-tdnoprev  = ‘X’.

CALL FUNCTION lc_name
   EXPORTING
        output_options        = w_compop 
        control_parameters = w_ctrlop
   IMPORTING
        job_output_info       = w_return
   EXCEPTIONS
        formatting_error   = 1
        internal_error       = 2
        send_error           = 3
        user_canceled      = 4
   OTHERS                    = 5.
   IF sy-subrc <> 0.
     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
   ELSE.
      otfdata[] = w_return-otfdata[].
   ENDIF.

*En la tabla otfdata nos queda guardado el formulario en formtao OTF
*Ahora sólo resta convertir el OTF en PDF
LOOP AT otfdata.
    wa_intab = otfdata.
    APPEND wa_intab TO intab.
    CLEAR wa_intab.
ENDLOOP.

*Convertir el OTF en PDF
CALL FUNCTION ‘SX_OBJECT_CONVERT_OTF_PDF’
    EXPORTING
      format_src           = ‘OTF’
      format_dst          = ‘PDF’
*     ADDR_TYPE        =
      devtype               = ‘LP01′
*     FUNCPARA          =
    CHANGING
      transfer_bin         = objpack-transf_bin
      content_txt          = intab
      content_bin         = objbin
      objhead              = intab
      len                     = objpack-doc_size
   EXCEPTIONS
      err_conv_failed   = 1 
   OTHERS                = 2.

*LISTO!!! En la tabla objbin nos queda guardado el PDF para salvarlo *en la PC con la función ‘GUI_DOWNLOAD’ o bien enviarlo por mail con *la función ‘SO_NEW_DOCUMENT_ATT_SEND_API1’


Technorati tags:





Pasar Sapscript a PDF

4 05 2011

Es común que nos pidan hacer un resguardo de un formulario. Y probablemente tengamos que hacer el backup a PDF.
Con las siguientes pocas líneas vamos a poder hacerlo.


*Declaraciones
TABLES: itcpo.

DATA: otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
          intab         TYPE  soli_tab,
          objbin       TYPE  solix_tab, 
          wa_intab   TYPE LINE OF soli_tab,
          wa_objbin TYPE LINE OF solix_tab,
          objpack    LIKE sopcklsti1 WITH HEADER LINE.

*Antes de la llamada a la función ‘OPEN_FORM’
itcpo-tdgetotf = ‘X’.
itcpo-tddest   = ‘LP01′.

CALL FUNCTION ‘OPEN_FORM’
   EXPORTING
      form       = ‘ZSAPSCRIPT’  “Nombre del formulario Sapscript 
      language = ‘S’
      options   = itcpo
      device    = ‘PRINTER’
      dialog     = ‘ ‘              “Vacío para que no muestre el pop-up de impresión
   EXCEPTIONS
   OTHERS   = 1.

 

*En el ‘CLOSE_FORM’
CALL FUNCTION ‘CLOSE_FORM’
   TABLES
      otfdata = otfdata
   EXCEPTIONS
   OTHERS  = 1.

*En la tabla otfdata nos queda guardado el formulario en formtao OTF
*Ahora sólo resta convertir el OTF en PDF

LOOP AT otfdata.
    wa_intab = otfdata.
    APPEND wa_intab TO intab.
    CLEAR wa_intab.
ENDLOOP.

*Convertir el OTF en PDF
CALL FUNCTION ‘SX_OBJECT_CONVERT_OTF_PDF’
    EXPORTING
      format_src           = ‘OTF’
      format_dst          = ‘PDF’
*     ADDR_TYPE        =
      devtype               = ‘LP01′
*     FUNCPARA          =
    CHANGING
      transfer_bin         = objpack-transf_bin
      content_txt          = intab
      content_bin         = objbin
      objhead              = intab
      len                     = objpack-doc_size
   EXCEPTIONS
      err_conv_failed   = 1 
   OTHERS                = 2.

*LISTO!!! En la tabla objbin nos queda guardado el PDF para salvarlo *en la PC con la función ‘GUI_DOWNLOAD’ o bien enviarlo por mail con *la función ‘SO_NEW_DOCUMENT_ATT_SEND_API1’


Technorati tags:





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:








Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 65 seguidores