SAP GENERAL_DERIV_METHOD_AMORT Function Module for Amortization for Position Changes









GENERAL_DERIV_METHOD_AMORT is a standard general deriv method amort SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for Amortization for Position Changes processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.


See here to view full function module documentation and code listing for general deriv method amort FM, simply by entering the name GENERAL_DERIV_METHOD_AMORT into the relevant SAP transaction such as SE37 or SE38.

Function Group: FPM_DERIVATION_METHODS
Program Name: SAPLFPM_DERIVATION_METHODS
Main Program: SAPLFPM_DERIVATION_METHODS
Appliation area: F
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:



Function GENERAL_DERIV_METHOD_AMORT pattern details

In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.
CALL FUNCTION 'GENERAL_DERIV_METHOD_AMORT'"Amortization for Position Changes
EXPORTING
I_TRANSACTION = "Business Transaction
* I_FLOW_CAT_ISSUE_SPREAD = ' ' "Bewegungstyp für ISSUE SPREAD
* I_FLOW_CAT_NEGOTIATION_AMORT = ' ' "Bewegungstyp für Stichtagsamort. NEG. SPREAD
* I_FLOW_CAT_ISSUE_AMORT = ' ' "Bewegungstyp für Stichtagsamort. ISSUE SPREAD
* I_FLOW_CAT_PARTIAL_AMORT_II = ' ' "Bewegungstyp für Amortisierung des abgehenden Bestandes
* I_FLOW_CAT_TOTAL_AMORT_II = ' ' "Bewegungstyp für Amortisierung des Depotgruppenbestandes
* I_FLOW_CAT_AGIO_II = ' ' "Bewegungstyp für kapitalanteilige Auflösung
* I_FLOW_CAT_PARTIAL_AMORT_I = ' ' "Bewegungstyp für Amortisierung des abgehenden Bestandes
* I_FLOW_CAT_TOTAL_AMORT_I = ' ' "Bewegungstyp für Amortisierung des Depotgruppenbestandes
* I_FLOW_CAT_AGIO_I = ' ' "Bewegungstyp für kapitalanteilige Auflösung
I_TAB_COMPLETE_REVAL = "Position Information
I_SUB_TRANSACTION = "Business Subtransaction
* I_ISSUE_SPREAD = ' ' "ISSUE SPREAD berechne? (--> Langtext)
* I_NEGOTIATION_SPREAD_METHOD = '1' "NEGOTATION SPREAD Methode (--> Langtext)
* I_BRUT_NET_METHOD = '1' "Brutto oder Netto Methode? (--> Langtext)
* I_TOTAL_AMORTIZATION = 'X' "Gesamtbestand amortisieren? (--> Langtext)
* I_ALL_POSITION_CHANGES = ' ' "Wann sollen Bew. erzeugt werden? (--> Langtext)
* I_FLOW_CAT_NEGOTIATION_SPREAD = "Bewegungstyp für NEGOTIATION SPREAD

IMPORTING
E_TAB_NEW_PLANED_FLOWS = "neu erzeugte Planbewegungen
E_TAB_NEW_POSTED_FLOWS = "neu erzeugte Istbewegungen
E_TAB_DELETED_PLANED_FLOWS = "zu löschende Planbewegungen
E_TAB_AMORTIZATION_FLOWS = "generierte Amortisierungsbewegungen

EXCEPTIONS
INVALID_METHOD = 1
.



IMPORTING Parameters details for GENERAL_DERIV_METHOD_AMORT

I_TRANSACTION - Business Transaction

Data type: TRSEK_TRANSACTION
Optional: No
Call by Reference: Yes

I_FLOW_CAT_ISSUE_SPREAD - Bewegungstyp für ISSUE SPREAD

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_NEGOTIATION_AMORT - Bewegungstyp für Stichtagsamort. NEG. SPREAD

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_ISSUE_AMORT - Bewegungstyp für Stichtagsamort. ISSUE SPREAD

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_PARTIAL_AMORT_II - Bewegungstyp für Amortisierung des abgehenden Bestandes

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_TOTAL_AMORT_II - Bewegungstyp für Amortisierung des Depotgruppenbestandes

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_AGIO_II - Bewegungstyp für kapitalanteilige Auflösung

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_PARTIAL_AMORT_I - Bewegungstyp für Amortisierung des abgehenden Bestandes

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_TOTAL_AMORT_I - Bewegungstyp für Amortisierung des Depotgruppenbestandes

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_AGIO_I - Bewegungstyp für kapitalanteilige Auflösung

Data type: TZB03-SBEWZITI
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_TAB_COMPLETE_REVAL - Position Information

Data type: TRSEK_TAB_REVAL
Optional: No
Call by Reference: Yes

I_SUB_TRANSACTION - Business Subtransaction

Data type: TRSEK_SUB_TRANSACTION
Optional: No
Call by Reference: Yes

I_ISSUE_SPREAD - ISSUE SPREAD berechne? (--> Langtext)

Data type: C
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_NEGOTIATION_SPREAD_METHOD - NEGOTATION SPREAD Methode (--> Langtext)

Data type: C
Default: '1'
Optional: Yes
Call by Reference: Yes

I_BRUT_NET_METHOD - Brutto oder Netto Methode? (--> Langtext)

Data type: C
Default: '1'
Optional: Yes
Call by Reference: Yes

I_TOTAL_AMORTIZATION - Gesamtbestand amortisieren? (--> Langtext)

Data type: C
Default: 'X'
Optional: Yes
Call by Reference: Yes

I_ALL_POSITION_CHANGES - Wann sollen Bew. erzeugt werden? (--> Langtext)

Data type: C
Default: SPACE
Optional: Yes
Call by Reference: Yes

I_FLOW_CAT_NEGOTIATION_SPREAD - Bewegungstyp für NEGOTIATION SPREAD

Data type: TZB03-SBEWZITI
Optional: Yes
Call by Reference: Yes

EXPORTING Parameters details for GENERAL_DERIV_METHOD_AMORT

E_TAB_NEW_PLANED_FLOWS - neu erzeugte Planbewegungen

Data type: TRSEK_TAB_FLOWS
Optional: No
Call by Reference: No ( called with pass by value option)

E_TAB_NEW_POSTED_FLOWS - neu erzeugte Istbewegungen

Data type: TRSEK_TAB_FLOWS
Optional: No
Call by Reference: No ( called with pass by value option)

E_TAB_DELETED_PLANED_FLOWS - zu löschende Planbewegungen

Data type: TRSEK_TAB_FLOWS
Optional: No
Call by Reference: No ( called with pass by value option)

E_TAB_AMORTIZATION_FLOWS - generierte Amortisierungsbewegungen

Data type: TRSEK_TAB_FLOWS
Optional: No
Call by Reference: No ( called with pass by value option)

EXCEPTIONS details

INVALID_METHOD - Amortisierungsmethode wird nicht unterstützt

Data type:
Optional: No
Call by Reference: No ( called with pass by value option)

Copy and paste ABAP code example for GENERAL_DERIV_METHOD_AMORT Function Module

The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.

DATA:
lv_i_transaction  TYPE TRSEK_TRANSACTION, "   
lv_invalid_method  TYPE TRSEK_TRANSACTION, "   
lv_e_tab_new_planed_flows  TYPE TRSEK_TAB_FLOWS, "   
lv_i_flow_cat_issue_spread  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_negotiation_amort  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_issue_amort  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_partial_amort_ii  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_total_amort_ii  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_agio_ii  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_partial_amort_i  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_total_amort_i  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_flow_cat_agio_i  TYPE TZB03-SBEWZITI, "   SPACE
lv_i_tab_complete_reval  TYPE TRSEK_TAB_REVAL, "   
lv_e_tab_new_posted_flows  TYPE TRSEK_TAB_FLOWS, "   
lv_i_sub_transaction  TYPE TRSEK_SUB_TRANSACTION, "   
lv_e_tab_deleted_planed_flows  TYPE TRSEK_TAB_FLOWS, "   
lv_i_issue_spread  TYPE C, "   SPACE
lv_e_tab_amortization_flows  TYPE TRSEK_TAB_FLOWS, "   
lv_i_negotiation_spread_method  TYPE C, "   '1'
lv_i_brut_net_method  TYPE C, "   '1'
lv_i_total_amortization  TYPE C, "   'X'
lv_i_all_position_changes  TYPE C, "   SPACE
lv_i_flow_cat_negotiation_spread  TYPE TZB03-SBEWZITI. "   

  CALL FUNCTION 'GENERAL_DERIV_METHOD_AMORT'  "Amortization for Position Changes
    EXPORTING
         I_TRANSACTION = lv_i_transaction
         I_FLOW_CAT_ISSUE_SPREAD = lv_i_flow_cat_issue_spread
         I_FLOW_CAT_NEGOTIATION_AMORT = lv_i_flow_cat_negotiation_amort
         I_FLOW_CAT_ISSUE_AMORT = lv_i_flow_cat_issue_amort
         I_FLOW_CAT_PARTIAL_AMORT_II = lv_i_flow_cat_partial_amort_ii
         I_FLOW_CAT_TOTAL_AMORT_II = lv_i_flow_cat_total_amort_ii
         I_FLOW_CAT_AGIO_II = lv_i_flow_cat_agio_ii
         I_FLOW_CAT_PARTIAL_AMORT_I = lv_i_flow_cat_partial_amort_i
         I_FLOW_CAT_TOTAL_AMORT_I = lv_i_flow_cat_total_amort_i
         I_FLOW_CAT_AGIO_I = lv_i_flow_cat_agio_i
         I_TAB_COMPLETE_REVAL = lv_i_tab_complete_reval
         I_SUB_TRANSACTION = lv_i_sub_transaction
         I_ISSUE_SPREAD = lv_i_issue_spread
         I_NEGOTIATION_SPREAD_METHOD = lv_i_negotiation_spread_method
         I_BRUT_NET_METHOD = lv_i_brut_net_method
         I_TOTAL_AMORTIZATION = lv_i_total_amortization
         I_ALL_POSITION_CHANGES = lv_i_all_position_changes
         I_FLOW_CAT_NEGOTIATION_SPREAD = lv_i_flow_cat_negotiation_spread
    IMPORTING
         E_TAB_NEW_PLANED_FLOWS = lv_e_tab_new_planed_flows
         E_TAB_NEW_POSTED_FLOWS = lv_e_tab_new_posted_flows
         E_TAB_DELETED_PLANED_FLOWS = lv_e_tab_deleted_planed_flows
         E_TAB_AMORTIZATION_FLOWS = lv_e_tab_amortization_flows
    EXCEPTIONS
        INVALID_METHOD = 1
. " GENERAL_DERIV_METHOD_AMORT




ABAP code using 7.40 inline data declarations to call FM GENERAL_DERIV_METHOD_AMORT

The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.

 
 
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_issue_spread).
DATA(ld_i_flow_cat_issue_spread) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_negotiation_amort).
DATA(ld_i_flow_cat_negotiation_amort) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_issue_amort).
DATA(ld_i_flow_cat_issue_amort) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_partial_amort_ii).
DATA(ld_i_flow_cat_partial_amort_ii) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_total_amort_ii).
DATA(ld_i_flow_cat_total_amort_ii) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_agio_ii).
DATA(ld_i_flow_cat_agio_ii) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_partial_amort_i).
DATA(ld_i_flow_cat_partial_amort_i) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_total_amort_i).
DATA(ld_i_flow_cat_total_amort_i) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_agio_i).
DATA(ld_i_flow_cat_agio_i) = ' '.
 
 
 
 
 
DATA(ld_i_issue_spread) = ' '.
 
 
DATA(ld_i_negotiation_spread_method) = '1'.
 
DATA(ld_i_brut_net_method) = '1'.
 
DATA(ld_i_total_amortization) = 'X'.
 
DATA(ld_i_all_position_changes) = ' '.
 
"SELECT single SBEWZITI FROM TZB03 INTO @DATA(ld_i_flow_cat_negotiation_spread).
 


Search for further information about these or an SAP related objects



Comments on this SAP object

What made you want to lookup this SAP object? Please tell us what you were looking for and anything you would like to be included on this page!