Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
DHE
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
DHE
Funktionsbausteine/Programme mit "Statics" / "CLASS-DATA" statt "Data" um zwischen Aufrufen die performanceträchtigen Werte zwischen zu speichern.Meine Frage: gibt es einen performanteren Weg oder die Möglichkeit die Daten zwischenzuspeichern, so dass ich hier Zeit sparen kann?
Code: Alles auswählen.
CASE pv_perkz.
* Month and Day are copied from MC_... because easy "calculation"
WHEN 'M'.
pv_perid = pv_date(6).
WHEN 'T'.
pv_perid(4) = pv_date(4).
pv_perid+4(2) = pv_date+4(2).
pv_perid+6(2) = pv_date+6(2).
WHEN OTHERS.
* buffer requests for performance
READ TABLE gt_period_buffer ASSIGNING <fs_period_buffer> WITH KEY perkz = pv_perkz
datum = pv_date
periv = pv_periv
BINARY SEARCH.
IF sy-subrc = 0.
pv_perid = <fs_period_buffer>-perid.
pv_subrc = sy-subrc.
ELSE.
CALL FUNCTION 'MC_PERIODE_ZUM_DATUM'
EXPORTING
idate = pv_date
iperkz = pv_perkz
iperiv = pv_periv
IMPORTING
eperid = pv_perid
EXCEPTIONS
wrong_period = 1
OTHERS = 2.
pv_subrc = sy-subrc.
IF sy-subrc = 0.
gs_period_buffer-datum = pv_date.
gs_period_buffer-perkz = pv_perkz.
gs_period_buffer-periv = pv_periv.
gs_period_buffer-perid = pv_perid.
INSERT gs_period_buffer INTO TABLE gt_period_buffer. "sorted table
ENDIF.
ENDIF.
ENDCASE.
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
DHE