You are on page 1of 2

* Set dates for selection for faster responce

LV_DATE_PREV_PER = <LFS_EABL_ALV>-ADAT - 100. " Meter reading date


relevant to billing
LV_DATE_PREV_YR = <LFS_EABL_ALV>-ADAT - 380. "
LV_DATE_PREV_YR_FRM = <LFS_EABL_ALV>-ADAT - 10.
LV_DATE_PREV_YR_TO = <LFS_EABL_ALV>-ADAT + 10.

SELECT ABLBELNR ADAT ATIM V_ZWSTNDAB


N_ZWSTNDAB ADATSOLL ADATTATS ISTABLART
INTO TABLE LT_EABL_PREV
FROM EABL
WHERE EQUNR = <LFS_EABL_ALV>-EQUNR AND "this data is from
method, not by code.
ZWNUMMER = <LFS_EABL_ALV>-ZWNUMMER AND
GERNR = <LFS_EABL_ALV>-GERNR AND
(
ADAT LT <LFS_EABL_ALV>-ADAT AND
ADAT GE LV_DATE_PREV_YR.
SORT LT_EABL_PREV BY ADAT DESCENDING.

CLEAR LS_EABL_PREV_2.
SORT LT_EABL_PREV BY ADAT. 28072016, 20032017, 4444, 444
READ TABLE LT_EABL_PREV INTO LS_EABL_PREV_2 INDEX 1.

CALL FUNCTION 'ISU_CONSUMPTION_DETERMINE'


EXPORTING
X_GERAET = <LFS_EABL_ALV>-GERNR 9
X_EQUNR = <LFS_EABL_ALV>-EQUNR 10000017
X_ZWNUMMER = <LFS_EABL_ALV>-ZWNUMMER 001
X_ADAT = LS_EABL_PREV-ADAT 28062017
X_V_ZWSTNDAB = LV_CONS_V_TMP 0
X_N_ZWSTNDAB = 0 "<lfs_eabl_alv>-n_zwstndab
X_V_ZWSTVOR = LS_EABL_PREV_2-V_ZWSTNDAB 5
X_N_ZWSTVOR = LS_EABL_PREV_2-N_ZWSTNDAB 0
X_WABLT = LS_WABLT "* V1.1
X_WTHG = LS_WTHG "* V1.1
X_NO_INSTSTRU_READ = 'X' "* V1.1
IMPORTING
Y_V_ABRMENGE = LV_CONS_V o/p 9995
Y_N_ABRMENGE = LV_CONS_N
EXCEPTIONS
GENERAL_FAULT = 1
ZWSTANDAB_MISSING = 2
ZWSTAND_MISSING = 3
PARAMETER_MISSING = 4
NO_INST_STRUCTURE = 5
NO_RATETYP = 6
NO_GAS_PROC = 7
OTHERS = 8.

IF SY-SUBRC IS INITIAL.
LV_PREV_NUM_DAY = LS_EABL_PREV-ADAT - LS_EABL_PREV_2-ADAT.
41 = 20170628 - 20170518.
LV_AVRG = LV_CONS_V / LV_PREV_NUM_DAY * LV_CUR_NUM_DAY.
<LFS_EABL_ALV>-AVGCONSUMP = LV_AVRG. 7313.41
********** condense <lfs_eabl_alv>-AVGCONSUMP.
* <lfs_eabl_alv>-AVGCONSUMP = lv_cons_v / lv_prev_num_day *
lv_cur_num_day.

You might also like