Use
REPORT REPORT_TRAVELAGENCY.
************************************************************************
*
*
* Example to show how to fill the EXTENSION_IN Structure in a BAPI *
* which uses table extension as possibility for a customer to extend *
* SAP functionality without modification. *
*
*
* In this example we use the BAPI *
* BAPI_TRAVELAGENCY_CREATE
*
*
*
************************************************************************
data x_agencynumber type bapisadeta-agencynum.
data x_agencydata_in type bapisadtin.
data x_cus_data_in type travelag.
data begin of x_extensionin occurs 0.
include structure bapiparex.
data end of x_extensionin.
data begin of x_return occurs 0.
include structure bapiret2.
data end of x_return.
data x_bapi_te_sa type bapi_te_sa.
* only for this example we hardcode the data, normaly you would
* write an own transaction to fill this fields.
x_agencydata_in-name = 'Galactical Travel Agency'.
x_agencydata_in-street = 'Lunatic'.
x_agencydata_in-postbox = '123456'.
x_agencydata_in-postcode = '984735'.
x_agencydata_in-city = 'Luna 1'.
x_agencydata_in-country = 'Moon'.
x_agencydata_in-region = 'Moon'.
x_agencydata_in-telephone = '30457584375374957'.
x_agencydata_in-url = 'http://lunatic.com'.
x_agencydata_in-langu = 'E'.
x_cus_data_in-planetype = 'Space Shuttle'.
x_cus_data_in-company = 'Moon Shuttle Service'.
x_cus_data_in-seatsmax = 24.
* now fill the key of the extension parameter
move 'BAPI_TE_SA' to x_extensionin-structure.
* now normally you fill the object key into the BAPI_TE_SA structure
* but in this case the create will give internal the key for the new
* travel agency, so here only a clear
clear x_bapi_te_sa-agencynum.
* but the other fields we have, so fill
move-corresponding x_cus_data_in to x_bapi_te_sa.
* fill the fields in the data part of x_extension in, take care that
* you have 960 bytes in pieces of 240 byte. Luckily we have less than
* 240 byte so we need only one move.
move x_bapi_te_sa to x_extensionin-valuepart1.
append x_extensionin.
CALL FUNCTION 'BAPI_TRAVELAGENCY_CREATE'
EXPORTING
AGENCYDATA_IN = x_agencydata_in
IMPORTING
AGENCYNUMBER = x_agencynumber
TABLES
EXTENSIONIN = x_extensionin
RETURN = x_return.
.
*
write : / 'Return messages in handling the bapi.'.
loop at x_return.
write : / 'return..:', x_return.
endloop.
write : / 'The new travel agency has the number...:', x_agencynumber.