0% found this document useful (0 votes)
9 views7 pages

2.3. Código Fuente - Modelo de Datos

The document outlines the SAP ABAP RESTful programming model, specifically focusing on data models and database tables such as ZTRAVEL_LOG, ZBOOKING_LOG, ZBOOKSUPPL_LOG, and ZLOG_LOG. It includes details on the structure of these tables, their fields, and relationships, as well as a class definition for inserting data into these tables. The document serves as a technical reference for developers working with the RAP model in SAP ABAP.

Uploaded by

jasonpdf32
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views7 pages

2.3. Código Fuente - Modelo de Datos

The document outlines the SAP ABAP RESTful programming model, specifically focusing on data models and database tables such as ZTRAVEL_LOG, ZBOOKING_LOG, ZBOOKSUPPL_LOG, and ZLOG_LOG. It includes details on the structure of these tables, their fields, and relationships, as well as a class definition for inserting data into these tables. The document serves as a technical reference for developers working with the RAP model in SAP ABAP.

Uploaded by

jasonpdf32
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

SAP ABAP RESTful – Modelo de programación RAP

Modelo de datos

CÓDIGO FUENTE
Modelo de datos
SAP ABAP RESTful – Modelo de programación RAP

1
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

Contenido
1. Tablas de base de datos ....................................................................................................... 3
1.1. ZTRAVEL_LOG ................................................................................................................ 3
1.2. ZBOOKING_LOG ............................................................................................................ 4
1.3. ZBOOKSUPPL_LOG ........................................................................................................ 4
1.4. ZLOG_LOG ..................................................................................................................... 5
2. Inserción de datos ................................................................................................................ 6
2.1. ZCL_INSERT_DATA_LOG ................................................................................................ 6

2
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

1. Tablas de base de datos

1.1. ZTRAVEL_LOG

@EndUserText.label : 'Flights Managing Travels'


@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table ztravel_log {
key client : abap.clnt not null;
key travel_id : /dmo/travel_id not null;
agency_id : /dmo/agency_id;
customer_id : /dmo/customer_id;
begin_date : /dmo/begin_date;
end_date : /dmo/end_date;
@Semantics.amount.currencyCode :
'ztravel_log.currency_code'
booking_fee : /dmo/booking_fee;
@Semantics.amount.currencyCode :
'ztravel_log.currency_code'
total_price : /dmo/total_price;
currency_code : /dmo/currency_code;
description : /dmo/description;
overall_status : /dmo/overall_status;
created_by : syuname;
created_at : timestampl;
last_changed_by : syuname;
last_changed_at : timestampl;

3
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

1.2. ZBOOKING_LOG

@EndUserText.label : 'Flight Booking'


@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zbooking_log {
key client : abap.clnt not null;
@AbapCatalog.foreignKey.label : 'Travel'
@AbapCatalog.foreignKey.screenCheck : false
key travel_id : /dmo/travel_id not null
with foreign key [0..*,1] ztravel_log
where travel_id = zbooking_log.travel_id;
key booking_id : /dmo/booking_id not null;
booking_date : /dmo/booking_date;
customer_id : /dmo/customer_id;
carrier_id : /dmo/carrier_id;
connection_id : /dmo/connection_id;
flight_date : /dmo/flight_date;
@Semantics.amount.currencyCode :
'zbooking_log.currency_code'
flight_price : /dmo/flight_price;
currency_code : /dmo/currency_code;
booking_status : /dmo/booking_status;
last_change_at : timestampl;

1.3. ZBOOKSUPPL_LOG

@EndUserText.label : 'Flight Booking Supplement'


@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zbooksuppl_log {
key client : abap.clnt not null;
@AbapCatalog.foreignKey.label : 'Travel'
4
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

@AbapCatalog.foreignKey.screenCheck : false
key travel_id : /dmo/travel_id not
null
with foreign key [0..*,1] zbooking_log
where travel_id = zbooksuppl_log.travel_id;
@AbapCatalog.foreignKey.label : 'Travel'
@AbapCatalog.foreignKey.screenCheck : false
key booking_id : /dmo/booking_id not
null
with foreign key [0..*,1] zbooking_log
where travel_id = zbooksuppl_log.travel_id
and booking_id = zbooksuppl_log.booking_id;
key booking_supplement_id :
/dmo/booking_supplement_id not null;
supplement_id : /dmo/supplement_id;
@Semantics.amount.currencyCode :
'zbooksuppl_log.currency'
price : /dmo/supplement_price;
currency : /dmo/currency_code;
last_changed_at : timestampl;

1.4. ZLOG_LOG

@EndUserText.label : 'Log Table'


@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table zlog_log {
key client : abap.clnt not null;
key change_id : abap.raw(16) not null;
travel_id : /dmo/travel_id;
changing_operation : abap.char(10);
changed_field_name : abap.char(32);
changed_value : abap.char(32);
created_at : timestampl;
user_mod : syuname;
}
5
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

2. Inserción de datos

2.1. ZCL_INSERT_DATA_LOG

CLASS zcl_insert_data_log DEFINITION


PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.

CLASS zcl_insert_data_log IMPLEMENTATION.

METHOD if_oo_adt_classrun~main.

DATA: lt_travel TYPE TABLE OF ztravel_log,


lt_booking TYPE TABLE OF zbooking_log,
lt_book_sup TYPE TABLE OF zbooksuppl_log.

SELECT travel_id,
agency_id,
customer_id,
begin_date,
end_date,
booking_fee,
total_price,
currency_code,
description,
status AS overall_status,
createdby AS created_by,
createdat AS created_at,
lastchangedby AS last_changed_by,
lastchangedat AS last_changed_at

6
SAP ABAP RESTful – Modelo de programación RAP
Modelo de datos

FROM /dmo/travel INTO CORRESPONDING FIELDS OF


TABLE @lt_travel
UP TO 50 ROWS.

SELECT * FROM /dmo/booking


FOR ALL ENTRIES IN @lt_travel
WHERE travel_id EQ @lt_travel-travel_id
INTO CORRESPONDING FIELDS OF TABLE
@lt_booking.

SELECT * FROM /dmo/book_suppl


FOR ALL ENTRIES IN @lt_booking
WHERE travel_id EQ @lt_booking-travel_id
AND booking_id EQ @lt_booking-booking_id
INTO CORRESPONDING FIELDS OF TABLE
@lt_book_sup.

DELETE FROM: ztravel_log,


zbooking_log,
zbooksuppl_log.

INSERT: ztravel_log FROM TABLE @lt_travel,


zbooking_log FROM TABLE @lt_booking,
zbooksuppl_log FROM TABLE @lt_book_sup.

out->write( 'DONE!' ).

ENDMETHOD.

ENDCLASS.

You might also like