DATE_CHECK_PLAUSIBILITY Fonksiyon Modülü

SAP ABAP’taki DATE_CHECK_PLAUSIBILITY fonksiyon modülü, verilen bir tarihin geçerliliğini kontrol etmek için kullanılır. Bu modül, bir tarih bilgisinin mantıklı (plausible) olup olmadığını kontrol eder. Örneğin, bir ay için geçerli olmayan günleri veya geçersiz bir tarihi (örneğin, 30 Şubat gibi bir tarihin olmayacağını) tespit eder.

Kullanıcının manuel olarak bir tarih girdiği durumlarda, bu fonksiyon kullanılarak girdinin geçerli olup olmadığı kontrol edilebilir.

Tarih Formatı:

  • Tarih her zaman YYYYMMDD formatında olmalıdır.
  • Örneğin, 20250113 formatı geçerli bir tarihtir.
  • Eğer yanlış bir format sağlanırsa (13-01-2025 gibi), fonksiyon hatalı sonuç dönebilir.

  SUBRC Değerleri:

  • sy-subrc = 0: Tarih geçerli.
  • sy-subrc = 1: Tarih mantıksal olarak geçersiz.
  • sy-subrc = 2: Diğer bilinmeyen hata.

Örnek kullanım:

*&———————————————————————*
*& Report ZMP_DATE_CHECK_PLAUSIBILITY
*&———————————————————————*
*&
*&———————————————————————*
REPORT zmp_date_check_plausibility.

CONSTANTS: gc_date TYPE sydatum VALUE ‘20250230’.


CALL FUNCTION ‘DATE_CHECK_PLAUSIBILITY’
  EXPORTING
    date                      = gc_date
  EXCEPTIONS
    plausibility_check_failed = 1
    OTHERS                    = 2.
IF sy-subrc <> 0.
  WRITE: ‘Incorrect date type!’.
ELSE .
  WRITE: ‘Date:’, gc_date.
ENDIF.

2.yol:OO Method
*CONSTANTS: gc_date TYPE sydatum VALUE ‘20250103’.
*
*cl_isu_date_check=>date_check_plausibility(
*  EXPORTING
*    x_date                    = gc_date           ” Date and time, current (application server) date
*  EXCEPTIONS
*    plausibility_check_failed = 1                ” Date is not plausible
*    OTHERS                    = 2
*).
*IF sy-subrc <> 0.
**  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
**    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*  WRITE: ‘Incorrect date type!’.
*ELSE .
*  WRITE: ‘Date:’, gc_date.
*ENDIF.

İyi çalışmalar dilerim,

Merve Polat

https://medium.com/@pmervepolat977

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir