EXPORTING
bukrs = c_bukrs
budat_low = gv_fr_dt
budat_high = gv_to_dt
TABLES
er_poper = gt_poper.
> Function source
DATA: BEGIN OF lt_t009 OCCURS 0,
bdatj TYPE t009b-bdatj,
bumon TYPE t009b-bumon,
butag TYPE t009b-butag,
poper TYPE t009b-poper,
reljr TYPE t009b-reljr,
END OF lt_t009.
RANGES s_bdatj FOR t009b-bdatj.
DATA l_budat TYPE dats.
DATA: lv_low TYPE sy-datum,
lv_high TYPE sy-datum.
CLEAR: lv_low, lv_high.
lv_low = budat_low.
lv_high = budat_high.
SELECT bdatj bumon butag poper reljr
INTO TABLE lt_t009 FROM t009b
WHERE periv = 'ZF'
AND bdatj = lv_low(4).
IF lv_high IS INITIAL.
lv_high = lv_low.
ENDIF.
LOOP AT lt_t009.
CONCATENATE lt_t009-bdatj lt_t009-bumon lt_t009-butag INTO l_budat.
IF l_budat >= lv_low AND l_budat <= lv_high.
er_poper-gjahr = lt_t009-bdatj + lt_t009-reljr.
er_poper-poper = lt_t009-poper.
er_poper-budat = l_budat.
er_poper-rpmax = CEIL( lt_t009-poper / 16 ) * 16.
er_poper-gigan = er_poper-poper MOD 16 .
IF er_poper-gigan = 0.
er_poper-gigan = 16.
ENDIF.
APPEND er_poper. CLEAR er_poper.
ENDIF.
CLEAR lt_t009.
ENDLOOP.
SORT er_poper BY budat.
> Function 수행후 값 가져오는 부분
LOOP AT gt_poper.
LOOP AT gt_ska1.
CLEAR faglflext.
SELECT * FROM faglflext WHERE ryear = p_woldo(4)
AND rpmax = gt_poper-rpmax
AND rldnr = 'Z1'
AND rbukrs = '1000'
AND racct = gt_ska1-saknr.
ASSIGN ' ' TO <fs>.
CONCATENATE 'FAGLFLEXT-HSL' gt_poper-gigan INTO l_field.
ASSIGN (l_field) TO <fs>.
IF <fs> IS NOT INITIAL.
gt_data2-budat = gt_poper-budat.
gt_data2-hkont = faglflext-racct.
gt_data2-gsber = faglflext-rbusa.
IF faglflext-rfarea IS INITIAL.
gt_data2-fkber = 'ZZZZZZ'.
ELSE.
gt_data2-fkber = faglflext-rfarea.
ENDIF.
IF faglflext-drcrk = 'S'.
gt_data2-s_amt = <fs>.
ELSE.
gt_data2-h_amt = <fs> .
ENDIF.
COLLECT gt_data2. CLEAR gt_data2.
ENDIF.
ENDSELECT.
CLEAR gt_ska1.
ENDLOOP.
CLEAR gt_poper.
ENDLOOP.
'FI일반' 카테고리의 다른 글
거래데이타삭제 및 자산초기화 (0) | 2010.03.09 |
---|---|
리포트페인터 Selection screen 위치변경 (0) | 2009.12.31 |
기타 마스타관련 IMG 대신 분기하는 T-CODE (0) | 2009.10.14 |