Ansicht
Dokumentation

JBP_FTP_CALCULATR_PA - BAdI für Opportunitätsverfahren: Gewichtete unabhängige Tranchen

JBP_FTP_CALCULATR_PA - BAdI für Opportunitätsverfahren: Gewichtete unabhängige Tranchen

CL_GUI_FRONTEND_SERVICES - Frontend Services   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

In der Kalkulationsregel ist es möglich, als Opportunitätszinsverfahren das Verfahren Gewichtete unabhängige Tranchen auszuwählen. Zu diesem Verfahren können Sie in der Kalkulationsregel weitere umfangreiche Einstellungen vornehmen. Das Business Add-In ermöglicht Ihnen, diese Einstellungen auf Einzelgeschäftsbasis zu verfeinern.

Die Business Add-In Implementierung wird jeweils für mehrere Geschäfte, die derselben Kalkulationsregel zugeordnet sind, aufgerufen.

Die Business Add-In Implementierung dient dazu, die changing Parameterzu ändern. Darüber hinaus werden dem Business Add-In weitere Inputparameter zur Verfügung gestellt, aus denen die Einstellung der Tranchen durch die Implementierung abgeleitet werden können. Wenn diese Inputparameter nicht ausreichen, dann kann man in dem Business Add-In auch kundeneigene Customizingtabellen lesen. Da der Aufruf des Business Add-Ins für mehrere Geschäfte gleichzeitig erfolgt, sollte es zu keinen Performance- Problemen kommen.

In der changing Tabelle CT_TRAN_FTP_TRANCHE_CUST der Schnittstelle der Methode CHANGE_FTP_PARAMETERSwerden der Implementierung die in der Kalkulationsregel ausgeführten Einstellungen übergeben. Diese changing Tabelle enthält pro Geschäft wiederum zwei Tabellen der sogenannten Tranchen; eine für die Geschäftswährung und eine für die Hauswährung. Die Tabelle der Hauswährung wird jedoch nur dann gefüllt, wenn der Währungstransformationsbeitrag berechnet wird und eine getrennte Einstellung des Opportunitätszinses für die Geschäfts- und Hauswährung vorliegt.

Die Implementierung soll nur die Parameter der Tranchen ändern, die logischerweise nicht auf Kalkulationsregelebene gesetzt werden können. Der Parameter Tranchennummer (TRANCHE_NR) soll auf keinen Fall geändert werden. Auch die Reihenfolge der Tranchen soll nicht geändert werden, da dass System voraussetzt, dass die Tranchennummern absteigend sortiert sind.

Da die Business Add-In Implementierung den Ergebnisbereich als Filter hat, können Sie für jeden Ergebnisbereich unterschiedliche Implementierungen vornehmen.

Tranchenparameter

Im Vergleich zu den möglichen Einstellungen in der Kalkulationsregel stehen dem Business Add-In mehrere Tranchenparameter zur Verfügung. Zu diesen Parametern gehören unter anderem die Auf- oder Abschläge zum Opportunitätszinssatz (MARKUP_FTR), der fest angegebene Opportunitätszinssatz (FIXED_FTR) und die Zinsberechungsmethode( INTEREST_METHOD). Die Zinsberechnungsmethode ist für den fest angegebenen Opportunitätszinssatz von Bedeutung. Wenn die Methode und der Zinssatz angegeben sind, dann werden die Volumen mit ihnen verzinst. Der fest angegebene Zinssatz ersetzt die Angabe eines Referenzzinssatzes sowie die Angabe einer Zinskurve. Wenn Sie diese Parameter bereits gefüllt haben, müssen Sie sie löschen, bevor Sie einen fest angegebenen Zinssatz verwenden können. Wenn der feste Zinssatz in dem Business Add-In gefüllt wird, die Zinskurve aber nicht gelöscht wurde, dann wird der feste Zinssatz ignoriert und das System liest automatisch aus der Zinskurve.

Weiterhin verfügt das Business Add-In über die optionalen Tranchenparameter Anpassungsende (ADJUSTMENT_END_DATE), Bezugsdatum der Anpassung (ADJUSTMENT_REFERENCE_DATE) und Bezugsuhrzeit der Anpassung (ADJUSTMENT_REFERENCE_TIME). Wenn Sie das Anpassungsende sowie die Schrittweite der Anpassung füllen, dann gibt es kein Anpassungdatum, das hinter dem Anpassungsende liegt. Wenn Sie als Bezugsdatum ein explizites Datum eingeben, dann wird dieses Datum als Bezugsdatum verwendet. In diesem Fall machen mehrere Anpassungsdaten keinen Sinn, da die Zinssätze in bezug auf dieses Datum berechnet werden. Wenn Sie die Bezugsuhrzeit der Anpassung füllen, dann liest das System immer mit dieser Uhrzeit aus der Zinskurve (bzw. dem Referenzzinssatz), anstatt automatisch die Uhrzeit 23:59:59 zu verwenden.

Die Bedeutung aller anderen Tranchenparameter können Sie aus der jeweiligen Einstellung der Tranchen in der Kalkulationsregel ableiten.

Die Tranchen der Änderungstabelle der Schnittstelle haben den Parameter Business Add-In für gewichtete unabhängige Tranchen verwenden (USE_FTP_CALCULATOR_BADI). Es liegt in der Verantwortung der Business Add-In Implementierung, die Tranchen, bei denen dieser Parameter nicht gesetzt ist, nicht zu modifizieren.

method if_ex_jbp_ftp_calculatr_pa~change_ftp_parameters.

  data:
  t_opportunity_conditions        type  jbp_tab_fo_oc.

  field-symbols:
                            type  jbp_str_tran_ftp_tranche_cust,
                         type  jbp_str_ftp_tranche_cust,
                    type  jbp_str_costdata,
                         type  jbp_str_fo_oc,
                     type  jbp_str_fo_oc_pos.

  loop at ct_tran_ftp_tranche_cust assigning .
    read table it_costing_data assigning index sy-tabix.
    loop at -t_ftp_tranche_cust_trans_curr assigning <tranche>
        where use_ftp_calculator_badi <> ''.
      if -tranche_nr = '1'.

*       Find the Most Recent Opportunity Condition

        t_opportunity_conditions = -fo-oc.
        sort t_opportunity_conditions by hdr-dguel_kk descending.
        read table t_opportunity_conditions assigning index 1.
        if sy-subrc <> 0. -error_found = 'X'. exit. endif.

*       Find the Most Recent Opportunity Condition Item

        sort -pos by dguel_kp descending.
        read table -pos assigning index 1.
        if sy-subrc <> 0. -error_found = 'X'. exit. endif.

*       Set Individual Term from Opportunity Condition Item

        -interest_term_nr_units  = <oppconditem>-nozgew.
        -interest_term_unit      = <oppconditem>-xozgew.
      endif.
    endloop.
    if -error_found <> ''.
      call function 'ISB_DETAILPROT_MESSAGE'
        exporting  i_objnr       = -object_number
                   i_severity    = 'E'
                   i_arbgb       = 'J2'
                   i_msgnr       = '745'
        tables     i_sprot_k_tab = ct_error_log
        exceptions others        = 1.
    endif.
  endloop.

endmethod.






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 10024 Date: 20240602 Time: 113451     sap01-206 ( 129 ms )