ABAP - SD - Funcion para calcular fecha de pago

 
Vista:

SD - Funcion para calcular fecha de pago

Publicado por Savi (1 intervención) el 21/01/2008 15:44:46
Hola a todos,

No se si alguien me puede echar un cable. A partir de la fecha de
factura y conociendo la 'Condicion de Pago' (p.e. Recibo giro 30 dias),
existe alguna funcion que me calcule la Fecha de Pago y Dias de Demora.

Muchas gracias.
Savi
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

SD - Funcion para calcular fecha de pago

Publicado por Alejandro (226 intervenciones) el 12/04/2023 22:34:54
Sí, en SAP existe una función que permite calcular la fecha de pago y los días de demora a partir de la fecha de factura y la condición de pago. La función se llama "SD_CALCULATE_DATE_OF_PAYMENT" y puedes utilizarla en tu programa ABAP.

Aquí te dejo un ejemplo de cómo utilizar esta función:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
DATA: wa_bseg TYPE bseg.
 
wa_bseg-belnr = '0000000001'. " Número de factura "
wa_bseg-gjahr = '2023'. " Año de la factura "
wa_bseg-budat = '20230401'. " Fecha de la factura "
wa_bseg-zterm = 'Z000'. " Condición de pago "
 
CALL FUNCTION 'SD_CALCULATE_DATE_OF_PAYMENT'
  EXPORTING
    i_bseg = wa_bseg
  IMPORTING
    e_zfbdt = wa_bseg-zfbdt " Fecha de pago "
    e_zbd1t = wa_bseg-zbd1t " Días de demora "
  EXCEPTIONS
    OTHERS = 1.
 
IF sy-subrc EQ 0.
  WRITE: / 'Fecha de pago:', wa_bseg-zfbdt,
          / 'Días de demora:', wa_bseg-zbd1t.
ELSE.
  WRITE: / 'No se pudo calcular la fecha de pago'.
ENDIF.

En este ejemplo, estamos utilizando la tabla BSEG para obtener el número, año y fecha de la factura, así como la condición de pago. Luego, llamamos a la función "SD_CALCULATE_DATE_OF_PAYMENT" y pasamos la estructura BSEG como parámetro de entrada. La función calculará la fecha de pago y los días de demora y los almacenará en la estructura BSEG. Finalmente, imprimimos la fecha de pago y los días de demora en la pantalla.

Espero que esto te sea de ayuda. ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar