Conteúdo

Calendário de fábrica - Dias úteis - Intervalo de datas

Função que retorna os dias úteis e o total de dias úteis de acordo com o calendário de fábrica desejado.
REPORT ZSAPeiros.

DATA:
  lt_rke_dat  TYPE TABLE OF rke_dat,        "Tab. com os dias úteis
  ls_rke_dat  TYPE          rke_dat.        "Tab. com os dias úteis

DATA:
  lv_datab    TYPE          kona-datab,     "Data De
  lv_datbi    TYPE          kona-datbi,     "Data até
  lv_days     TYPE          sy-tabix.       "Index / Days

lv_datab = sy-datum.      "Data de (hoje)
lv_datbi = sy-datum + 30. "Data até (mais 30 dias)

CLEAR lt_rke_dat[].

CALL FUNCTION 'RKE_SELECT_FACTDAYS_FOR_PERIOD'
  EXPORTING
    i_datab               = lv_datab
    i_datbi               = lv_datbi
    i_factid              = 'BR' "Factory id (calendário)
  TABLES
    eth_dats              = lt_rke_dat
  EXCEPTIONS
    date_conversion_error = 1
    OTHERS                = 2.

IF sy-subrc IS INITIAL.
  DESCRIBE TABLE lt_rke_dat LINES lv_days.
ENDIF.

WRITE: / sy-uline.

WRITE: / 'Dias úteis:'.

WRITE: / sy-uline.

LOOP AT lt_rke_dat INTO ls_rke_dat.
  WRITE: / ls_rke_dat-periodat.
ENDLOOP.

WRITE: / sy-uline.

WRITE: / 'Total de dias úteis:'.

WRITE: / sy-uline.

WRITE: / lv_days.