miércoles, 16 de enero de 2013

Pasar datos del pedido a factura SD. Centro de coste.

Después de poner informar el centro de coste en el pedido queremos que pase a la factura. Vamos al INCLUDE RV60AFZC del grupo de funciones V60A vamos a la subrutina y editamos como con el include mv45afzz la subrutina

  • USEREXIT_FILL_VBRK_VBRP

En nuestro caso queremos rescatar el centro de coste de la posición:
VBRP-KOSTL VBAP-KOSTL.

Una vez más gracias a Laura

lunes, 14 de enero de 2013

USER. Centro de coste en Pedido SD.

Queremos pode informar el Centro de coste en el pedido SD (VA01, VA02). Para ello vamos al include MV45AFZB del programa y aanálogamente a como lo haríamos con la mv45afzz en las siguientes subrutinas:

  • USEREXIT_COBL_SEND_ITEM

Con este código podremos rellenar el campo.
    INT_COBLF-FDNAM 'KOSTL'.
    INT_COBLF-OUTPUT '1'.
    IF T180-TRTYP NE CHARA AND
    VBAP-KZVBR NE KZVBR_P.
      INT_COBLF-INPUT    '1'.
    ENDIF.
    INT_COBLF-ACTIVE '1'.
    APPEND INT_COBLF.

  • USEREXIT_MOVE_FIELD_TO_COBL

 CH_COBL-KOSTL US_VBAP-KOSTL.

  • USEREXIT_COBL_RECEIVE_VBAP

 VBAP-KOSTL COBL-KOSTL.

  • USEREXIT_MOVE_FIELD_TO_VBAPKOM.

 VBAP-KOSTL US_VBAPKOM-KOSTL.

Hacer notar que en la CH_COBL son los datos de pantalla para centro de coste, lo digo por si queremos rellenarlo para que se visualice directamente. 

jueves, 10 de enero de 2013

USER de factura SD a FI. Anotación.

User para pasar información de facturas SD a FI peleandome con Elena, me refiero junto a no contra.

Con EXIT_SAPLV60B_002 (SDVFX002 User exit for A/R line in transfer to accounting / User Exit AC Interface (Customer Line) ) podemos modificar en la posición del deudor. Include ZXVVFU02.

Con EXIT_SAPLV60B_004 (SDVFX004 User exit G/L line in transfer to accounting / User Exit AC Interface (GL Account Item)) podemos modificar en las posiciones de cuentas de mayor (claves de contabilización 40 y 50).

Ambas están el grupo de funciones XVVF (User Exits Billing Document / User-exits p. factura).

viernes, 4 de enero de 2013

Fecha de Vencimiento (SD) - SD_PRINT_TERMS_OF_PAYMENT

Para obtener la fechas de vencimiento de las facturas de Ventas se puede utilizar la Función SD_PRINT_TERMS_OF_PAYMENT. Con tan solo pasar la fecha de documento(BLDAT)  (habitualmente es la de factura), el idioma y la condición de pago.

      DATAl_baseline_date TYPE  vbrk-fkdat,

      lt_top_text TYPE STANDARD TABLE  OF vtopis,

      ls_top_text TYPE vtopis.

      CALL FUNCTION 'SD_PRINT_TERMS_OF_PAYMENT'
        EXPORTING
         bldat                              ls_vbrk-fkdat
*   BUDAT                              = 00000000
*   CPUDT                              = 00000000
         language                           sy-langu
          terms_of_payment                   ls_vbrk-zterm
*   COUNTRY                            = ' '
*   HOLDBACK                           = ' '
*   TOP_HOLDBACK_INFO                  = TOP_HOLDBACK_INFO
*   DOCUMENT_CURRENCY                  = ' '
* IMPORTING
*   BASELINE_DATE                      = BASELINE_DATE
*   PAYMENT_SPLIT                      = PAYMENT_SPLIT
*   ZFBDT                              = ZFBDT
        TABLES
          top_text                           top_text
       EXCEPTIONS
         terms_of_payment_not_in_t052       1
         OTHERS                             2
                .
      IF sy-subrc <> 0.
* Implement suitable error handling here
      ENDIF.

viernes, 21 de diciembre de 2012

Imagen subida con SE78 ¡se pone el fondo gris!

Frecuentemente los clientes nos remiten logos e imágenes para los formularios (SapScript o Smarform) en formatos que no son los que le gustan a SAP, son jpg, son demasiado grandes,.... Cuando he intentado editarlos o pasarlos a BMP he tenido problemas.
Recomiendo 2 cosas, por una parte usar Paint.Net para editarlas, es gratis y funciona bastante bien. Fácilmente podemos retocar ya sea en píxeles o centímetros. Me lo chivaron hace tiempo los de sistemas.
Por otra parte me pasa que veo la imagen en cualquier editor con fondo blanco pero al subirla a SAP con la SE78 y visualizarla me queda el fondo gris. Para solucionarlo debo abrirla con este editor de imagen, ir a Ajustes -> Autonivel y la vuelvo a subir SAP. Una vez más me ha funcionado.

viernes, 30 de noviembre de 2012

Añadir columna salida en al VA05N.

Después de añadir un par de columnas a a la VA05, mi consultor preferido para SD me ha pedido si se podía hacer para la VA05N, he visto que pasaba por la user donde les daba valor pero luego no mostraba las columnas ni tampoco estaban en los variantes de visualización.
He mirado foros, blogs con "add fields VA05N" y decían que no se podía, pero al final se me ha encendido la luz.
Habría que hacer primero como con la VA05 y luego ir a la SE11, visualizar estructura SERPSLS_GENDOC. Hacemos un clic en Estr.Append y le añadimos un Append con los mismos campos que hemos añadido en VBMTVZ.

Por ahora lo dejo en cuarentena para ver que no tiene otra afectaciones.

Añadir columna salida en al VA05.

Bueno simplemente seguir los pasos de SAPTRICKS de Roberto Espinosa, simplemente hacer notar que en:
2) Inclusión del campo en la estructura VBMTVZ. Al intentar añadir los campos me pide que registre el objeto, lo he resuelto con el botón Estr.Append y me ha permitido poner los campos fácilmente sin registrar.
3) Ajuste del include V05TZZMO donde se llenara el valor del campo. He intentado añadir el código como se hace como con la VA01, VA02 y VA03 en la MV45AFZZ. Pero no me deja insertar código dentro del CASE, sino antes o después. ¿Versiones? ¿Opciones? ¿Lo que hay entre la pantalla y la silla?.