Devolver el Año de una Fecha

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • cvargas
    Junior Member
    • jun
    • 7

    #1

    Devolver el Año de una Fecha

    Saludos
    Tengo un parametro de tipo fecha y me estan pidiendo realizar una consulta pero que tenga el año y el mes de un mes anterior a la fecha de parametro. Como ejemplo
    FechaParametro : 25-01-2008
    MesConsultar=12
    Año=2007

    Emtonces necesito hacer 2 cosas :
    Fecha Anterior
    Obtener Mes Fecha
    Obtener Año Fecha
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola .. creo q por funcion no existe eso ... pero podrias hacer un pequeño algoritmo el cual no esta muy dificil ... aver si t ayudo

    Código:
    PARAMETER p_datum TYPE bkpf-bldat.
    
    DATA: wc_anio TYPE bkpf-gjahr,
          wc_mes TYPE bkpf-monat.
    
    * Tener en cuenta que el tipo de formato de fecha es de la siguente manera
    * AAAAMMDD
    
    START-OF-SELECTION.
    
      PERFORM encontrar_fecha USING p_datum
                             CHANGING wc_anio wc_mes.
    
      ... "(Demas parte del codigo)
    
      FORM encontrar_fecha USING p_datum
                          CHANGING p_anio p_mes.
    
        p_mes = p_datum+4(2) - 1.
        
        IF p_mes = '00'.
          p_mes = '12'.
          p_anio = p_datum(4) - 1.
        ELSE.
          p_anio = p_datum(4).
        ENDIF.
      
      ENDFORM.
    Espero de sirva
    David Carballido Córdova

    Comentario

    • sandra86
      Junior Member
      • ene
      • 6

      #3
      Otra alternativa

      Con la función 'MONTH_PLUS_DETERMINE' Calculas el mes que resulta de sumar
      o restar un numero de meses a una fecha.

      A continuación puedes obtener el año de tu propia fecha, salvo que el mes obtenido anteriormente sea diciembre en cuyo caso tendrias que tener en cuenta que es el año anterior.

      Espero que te sirva la alternativa que te propongo .
      http://www.abap4.es.kz/

      Comentario

      • cvargas
        Junior Member
        • jun
        • 7

        #4
        Originalmente publicado por sandra86
        Con la función 'MONTH_PLUS_DETERMINE' Calculas el mes que resulta de sumar
        o restar un numero de meses a una fecha.

        A continuación puedes obtener el año de tu propia fecha, salvo que el mes obtenido anteriormente sea diciembre en cuyo caso tendrias que tener en cuenta que es el año anterior.

        Espero que te sirva la alternativa que te propongo .


        Muchas gracias a Ambos, fue de gran ayuda

        Comentario

        • danny
          Member
          • mar
          • 36

          #5
          Holas:
          un poco tarde con la rpta..pero mas vale tarde que nunca,

          Data : wl_mesant like sy-datum.

          CALL FUNCTION 'MONTH_PLUS_DETERMINE'
          EXPORTING
          months = -1
          olddate = fecha parametro
          IMPORTING
          newdate = wl_mesant.

          y tendrias el año: wl_mesant(4)
          el mes wl_mesant+4(2) y la fecha competa es wl_mesant

          Saludos;

          Comentario

          Trabajando...