Hallo,
ich möchte Zinsen vom RBW zum Jahresende berechnen (im EA-FIN ist 24 jetzt RBW zur Jahresanfang), aber SAP unterteilt nach Buchung anteilig in Zeitintervalle mit den Faktor FAA_DC_TRACE_CD__PERFACTOR (aw01n Schaltfläche Berechnen).
Hat jemand eine Idee, wo ich den auf 1 manipulieren kann?
Danke.
MfG
Jörg Niedzwetzki
Im bapi se 18 FAA_EE_CUSTOMER in der eigenen Implementierung habe ich schon umgesetzt bei Methode SET_BASE_VALUE:
METHOD if_ex_faa_ee_customer~set_base_value.
FIELD-SYMBOLS: <ls_calcdata> type faa_ee_s_calcdata,
<ls_segment> TYPE faa_ee_s_segment,
<ls_parameter> TYPE faa_ee_s_parameter,
<ls_cumvalue> TYPE faa_ee_s_cumvalue,
<ls_calcamount> TYPE faa_ee_s_calcamount.
DATA: ld_basevalue TYPE faa_ee_s_calcdata-basevalue,
ld_baseval_prev TYPE faa_ee_s_calcdata-baseval_prev,
ld_amount TYPE faa_ee_s_calcdata-amount,
ld_amount_prev TYPE faa_ee_s_calcdata-amount.
ASSIGN: isx_cdata-s_segment TO <ls_segment>.
ASSIGN: <ls_segment>-ref_parameter->* TO <ls_parameter>,
<ls_segment>-ref_cumvalue->* TO <ls_cumvalue>,
<ls_segment>-ref_calcamount->* TO <ls_calcamount>,
<ls_segment>-ref_calcdata->* TO <ls_calcdata>.
CHECK: <ls_parameter> IS ASSIGNED,
<ls_cumvalue> IS ASSIGNED,
<ls_calcamount> IS ASSIGNED,
<ls_calcdata> IS ASSIGNED.
CASE <ls_parameter>-baseval_key.
WHEN 'ZE'. "Restbuchwert zum Geschäftsjahresende (GJE)
if <LS_SEGMENT>-PERIOD_TO eq 16.
*nur das letzte Segment berücksichtigen.
ld_baseval_prev = <ls_calcdata>-NETVAL_PREV.
** cumulated, posted, proportional values related to previuos years
* ( <ls_cumvalue>-prev_prev-apc +
* <ls_cumvalue>-prev_prev-invs +
* <ls_cumvalue>-prev_prev-downp +
* <ls_cumvalue>-prev_prev-resv +
* <ls_cumvalue>-prev_cur-resv ).
ld_basevalue = <ls_calcdata>-NETVALUE.
* <ls_cumvalue>-prev_prev-apc +
* <ls_cumvalue>-prev_prev-invs +
* <ls_cumvalue>-prev_prev-downp +
* <ls_cumvalue>-prev_prev-resv +
* <ls_cumvalue>-prev_prev-depr_o +
* <ls_cumvalue>-prev_prev-depr_s +
* <ls_cumvalue>-prev_prev-depr_u +
* <ls_cumvalue>-prev_cur-depr_u +
* <ls_cumvalue>-prev_cur-depr_o +
* <ls_cumvalue>-prev_cur-depr_s +
* <ls_cumvalue>-cur-apc +
* <ls_cumvalue>-cur-invs + "
* <ls_cumvalue>-cur-downp +
* <ls_cumvalue>-cur-resv +
* <ls_cumvalue>-cur-depr_u +
* <ls_cumvalue>-cur-depr_o +
* <ls_cumvalue>-cur-depr_s +
* <ls_calcamount>-total-apc +
* <ls_calcamount>-total-invs +
* <ls_calcamount>-total-depr_o +
* <ls_calcamount>-total-depr_s +
* <ls_calcamount>-total-depr_u +
* <ls_calcamount>-total-resv +
* <ls_calcamount>-total-downp.
* basevalue prior years <-Setzen?
cs_calcdata-baseval_prev = ld_baseval_prev * <ls_parameter>-baseval_factor.
* basevalue prior years plus current year
cs_calcdata-basevalue = ld_basevalue * <ls_parameter>-baseval_factor.
endif.
ENDCASE.
ich möchte Zinsen vom RBW zum Jahresende berechnen (im EA-FIN ist 24 jetzt RBW zur Jahresanfang), aber SAP unterteilt nach Buchung anteilig in Zeitintervalle mit den Faktor FAA_DC_TRACE_CD__PERFACTOR (aw01n Schaltfläche Berechnen).
Hat jemand eine Idee, wo ich den auf 1 manipulieren kann?
Danke.
MfG
Jörg Niedzwetzki
Im bapi se 18 FAA_EE_CUSTOMER in der eigenen Implementierung habe ich schon umgesetzt bei Methode SET_BASE_VALUE:
METHOD if_ex_faa_ee_customer~set_base_value.
FIELD-SYMBOLS: <ls_calcdata> type faa_ee_s_calcdata,
<ls_segment> TYPE faa_ee_s_segment,
<ls_parameter> TYPE faa_ee_s_parameter,
<ls_cumvalue> TYPE faa_ee_s_cumvalue,
<ls_calcamount> TYPE faa_ee_s_calcamount.
DATA: ld_basevalue TYPE faa_ee_s_calcdata-basevalue,
ld_baseval_prev TYPE faa_ee_s_calcdata-baseval_prev,
ld_amount TYPE faa_ee_s_calcdata-amount,
ld_amount_prev TYPE faa_ee_s_calcdata-amount.
ASSIGN: isx_cdata-s_segment TO <ls_segment>.
ASSIGN: <ls_segment>-ref_parameter->* TO <ls_parameter>,
<ls_segment>-ref_cumvalue->* TO <ls_cumvalue>,
<ls_segment>-ref_calcamount->* TO <ls_calcamount>,
<ls_segment>-ref_calcdata->* TO <ls_calcdata>.
CHECK: <ls_parameter> IS ASSIGNED,
<ls_cumvalue> IS ASSIGNED,
<ls_calcamount> IS ASSIGNED,
<ls_calcdata> IS ASSIGNED.
CASE <ls_parameter>-baseval_key.
WHEN 'ZE'. "Restbuchwert zum Geschäftsjahresende (GJE)
if <LS_SEGMENT>-PERIOD_TO eq 16.
*nur das letzte Segment berücksichtigen.
ld_baseval_prev = <ls_calcdata>-NETVAL_PREV.
** cumulated, posted, proportional values related to previuos years
* ( <ls_cumvalue>-prev_prev-apc +
* <ls_cumvalue>-prev_prev-invs +
* <ls_cumvalue>-prev_prev-downp +
* <ls_cumvalue>-prev_prev-resv +
* <ls_cumvalue>-prev_cur-resv ).
ld_basevalue = <ls_calcdata>-NETVALUE.
* <ls_cumvalue>-prev_prev-apc +
* <ls_cumvalue>-prev_prev-invs +
* <ls_cumvalue>-prev_prev-downp +
* <ls_cumvalue>-prev_prev-resv +
* <ls_cumvalue>-prev_prev-depr_o +
* <ls_cumvalue>-prev_prev-depr_s +
* <ls_cumvalue>-prev_prev-depr_u +
* <ls_cumvalue>-prev_cur-depr_u +
* <ls_cumvalue>-prev_cur-depr_o +
* <ls_cumvalue>-prev_cur-depr_s +
* <ls_cumvalue>-cur-apc +
* <ls_cumvalue>-cur-invs + "
* <ls_cumvalue>-cur-downp +
* <ls_cumvalue>-cur-resv +
* <ls_cumvalue>-cur-depr_u +
* <ls_cumvalue>-cur-depr_o +
* <ls_cumvalue>-cur-depr_s +
* <ls_calcamount>-total-apc +
* <ls_calcamount>-total-invs +
* <ls_calcamount>-total-depr_o +
* <ls_calcamount>-total-depr_s +
* <ls_calcamount>-total-depr_u +
* <ls_calcamount>-total-resv +
* <ls_calcamount>-total-downp.
* basevalue prior years <-Setzen?
cs_calcdata-baseval_prev = ld_baseval_prev * <ls_parameter>-baseval_factor.
* basevalue prior years plus current year
cs_calcdata-basevalue = ld_basevalue * <ls_parameter>-baseval_factor.
endif.
ENDCASE.