使用する
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 parametermove '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 clearclear x_bapi_te_sa-agencynum.* but the other fields we have, so fillmove-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.