Learn SAP-ABAP with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
1
Calculate Compound Interest in ABAP
DATA(principal) = 1000.
DATA(rate) = 0.05.
DATA(periods) = 10.
DATA(amount) TYPE p DECIMALS 2.
amount = principal * (1 + rate) ** periods.
WRITE: / 'Compound Interest Amount:', amount.
Compute compound interest for a principal amount over periods with a given rate.
2
Compute Portfolio Return
DATA: weights TYPE STANDARD TABLE OF f WITH DEFAULT KEY,
returns TYPE STANDARD TABLE OF f WITH DEFAULT KEY.
weights = VALUE #( ( 0.6 ) ( 0.4 ) ).
returns = VALUE #( ( 0.02 ) ( 0.03 ) ).
DATA(pReturn) = 0.
LOOP AT weights INTO DATA(w) INDEX DATA(i).
pReturn = pReturn + w * returns[ i ].
ENDLOOP.
WRITE: / 'Portfolio Return:', pReturn.
Calculate weighted return for a simple portfolio.
3
Calculate Forward Price
DATA(S) = 100.
DATA(r) = 0.05.
DATA(T) = 1.
DATA(F) TYPE p DECIMALS 2.
F = S * (EXP( r * T )).
WRITE: / 'Forward Price:', F.
Compute the forward price of an asset given spot price, rate, and time to maturity.
4
Discount Cash Flows
DATA: cashflows TYPE STANDARD TABLE OF p DECIMALS 2 WITH DEFAULT KEY.
cashflows = VALUE #( (100) (100) (100) ).
DATA(r) = 0.05.
DATA(pv) TYPE p DECIMALS 2.
LOOP AT cashflows INTO DATA(cf) INDEX DATA(i).
pv = pv + cf / ( ( 1 + r ) ** i ).
ENDLOOP.
WRITE: / 'Present Value:', pv.
Compute present value of future cash flows.
5
Calculate Portfolio Variance
DATA: cov_matrix TYPE STANDARD TABLE OF STANDARD TABLE OF f WITH DEFAULT KEY.
cov_matrix = VALUE #( ( (0.0004 0.0002) (0.0002 0.0003) ) ).
DATA(weights) = VALUE #( (0.6) (0.4) ).
DATA(portfolioVariance) TYPE f.
portfolioVariance = weights[1]*weights[1]*0.0004 + weights[1]*weights[2]*0.0002 + weights[2]*weights[1]*0.0002 + weights[2]*weights[2]*0.0003.
WRITE: / 'Portfolio Variance:', portfolioVariance.
Compute portfolio variance using weights and covariance matrix.
6
Compute Sharpe Ratio
DATA: returns TYPE STANDARD TABLE OF f WITH DEFAULT KEY.
returns = VALUE #( (0.02) (0.03) (0.015) (0.01) ).
DATA(risk_free) = 0.01.
DATA(meanReturn) TYPE f.
LOOP AT returns INTO DATA(r).
meanReturn = meanReturn + r.
ENDLOOP.
meanReturn = meanReturn / LINES( returns ).
WRITE: / 'Sharpe Ratio:', ( meanReturn - risk_free ) / 0.008.
Calculate the Sharpe ratio given returns and risk-free rate.
7
Monte Carlo Simulation for Option Pricing
DATA: S0 TYPE p DECIMALS 2 VALUE 100,
K TYPE p DECIMALS 2 VALUE 100,
r TYPE p DECIMALS 2 VALUE 0.05,
sigma TYPE p DECIMALS 2 VALUE 0.2,
T TYPE p DECIMALS 2 VALUE 1,
N TYPE i VALUE 100000,
payoff TYPE p DECIMALS 2,
optionPrice TYPE p DECIMALS 2.
"Random numbers generation and simulation omitted for brevity"
Estimate European option price using Monte Carlo simulation.
8
Calculate Correlation Between Assets
DATA: returns1 TYPE STANDARD TABLE OF f WITH DEFAULT KEY VALUE #( (0.02) (0.01) (0.03) ),
returns2 TYPE STANDARD TABLE OF f WITH DEFAULT KEY VALUE #( (0.01) (0.015) (0.02) ).
"Correlation calculation implementation simplified"
Compute correlation coefficient between two asset return series.
9
Yield Curve Construction
DATA: maturities TYPE STANDARD TABLE OF i WITH DEFAULT KEY VALUE #(1 2 3 4 5),
prices TYPE STANDARD TABLE OF p DECIMALS 3 WITH DEFAULT KEY VALUE #(0.99 0.975 0.96 0.945 0.93),
zero_rates TYPE STANDARD TABLE OF f WITH DEFAULT KEY.
LOOP AT maturities INTO DATA(i) INDEX DATA(idx).
APPEND -LOG( prices[ idx ] ) / i TO zero_rates.
ENDLOOP.
Build a simple zero-coupon yield curve from bond prices.
10
Compute Present Value of Annuity
DATA(payment) = 100.
DATA(rate) = 0.05.
DATA(n_periods) = 5.
DATA(pv) TYPE p DECIMALS 2.
LOOP AT n_periods INTO DATA(i).
pv = pv + payment / ( ( 1 + rate ) ** i ).
ENDLOOP.
WRITE: / 'Present Value of Annuity:', pv.
Calculate present value of a fixed annuity given payment and rate.