Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/ddic/ddls/zage_cds_projection.ddls.asddls
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'AGE Sample CDS Projection View'
@Metadata.ignorePropagatedAnnotations: true
define view ZAGE_C_PROJECTION
as select from ZAGE_I_SAMPLE
{
key client,
key name,
description,
IsActiveEntity
}
19 changes: 19 additions & 0 deletions src/ddic/ddls/zage_cds_projection.ddls.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DDLS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DDL>
<DDLNAME>ZAGE_CDS_PROJECTION</DDLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HISTORY>
<DDL>
<AUTHOR>DEVELOPER</AUTHOR>
<CREATEDON>20240101</CREATEDON>
</DDL>
</HISTORY>
<DESCRIPTION>AGE Sample CDS Projection View</DESCRIPTION>
<MAIN_ENGINE>EP</MAIN_ENGINE>
</DDL>
</asx:values>
</asx:abap>
</abapGit>
11 changes: 11 additions & 0 deletions src/ddic/ddls/zage_cds_sample.ddls.asddls
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'AGE Sample CDS View'
define view ZAGE_I_SAMPLE
as select from zage_tabl
{
key client,
key name as Name,
description as Description,
@ObjectModel.virtualElement: true
cast('X' as abap.char(1)) as IsActiveEntity
}
19 changes: 19 additions & 0 deletions src/ddic/ddls/zage_cds_sample.ddls.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DDLS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DDL>
<DDLNAME>ZAGE_CDS_SAMPLE</DDLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HISTORY>
<DDL>
<AUTHOR>DEVELOPER</AUTHOR>
<CREATEDON>20240101</CREATEDON>
</DDL>
</HISTORY>
<DESCRIPTION>AGE Sample CDS View</DESCRIPTION>
<MAIN_ENGINE>EP</MAIN_ENGINE>
</DDL>
</asx:values>
</asx:abap>
</abapGit>
12 changes: 12 additions & 0 deletions src/ddic/ddlx/zage_ddlx_sample.ddlx.asddlxs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@Metadata.layer: #CORE
@UI: {
headerInfo: {
typeName: 'Sample',
typeNamePlural: 'Samples'
}
}
annotate view ZAGE_C_PROJECTION with
{
@UI.lineItem: [{ position: 10 }]
Client;
}
20 changes: 20 additions & 0 deletions src/ddic/ddlx/zage_ddlx_sample.ddlx.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DDLX" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DDLX>
<DDLNAME>ZAGE_DDLX_SAMPLE</DDLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HISTORY>
<DDLX>
<AUTHOR>DEVELOPER</AUTHOR>
<CREATEDON>20240101</CREATEDON>
</DDLX>
</HISTORY>
<DESCRIPTION>AGE Sample CDS Metadata Extension</DESCRIPTION>
<DEFINE>ZAGE_C_PROJECTION</DEFINE>
<MAIN_ENGINE>EP</MAIN_ENGINE>
</DDLX>
</asx:values>
</asx:abap>
</abapGit>
55 changes: 43 additions & 12 deletions src/ddic/tabl/zage_tabl.tabl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,49 @@
<BUFALLOW>N</BUFALLOW>
</DD09L>
<DD03P_TABLE>
<DD03P>
<FIELDNAME>CLIENT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CLNT</DATATYPE>
<LENG>000003</LENG>
<MASK> CLNT</MASK>
</DD03P>
</DD03P_TABLE>
<DD03P>
<FIELDNAME>CLIENT</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000006</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CLNT</DATATYPE>
<LENG>000003</LENG>
<MASK> CLNT</MASK>
</DD03P>
<DD03P>
<FIELDNAME>NAME</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000040</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000020</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>DESCRIPTION</FIELDNAME>
<KEYFLAG>X</KEYFLAG>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000100</INTLEN>
<NOTNULL>X</NOTNULL>
<DATATYPE>CHAR</DATATYPE>
<LENG>000050</LENG>
<MASK> CHAR</MASK>
</DD03P>
<DD03P>
<FIELDNAME>LOCALLASTCHANGEDAT</FIELDNAME>
<ADMINFIELD>0</ADMINFIELD>
<INTTYPE>C</INTTYPE>
<INTLEN>000016</INTLEN>
<DATATYPE>LTST</DATATYPE>
<LENG>000014</LENG>
<MASK> LRAW</MASK>
</DD03P>
</DD03P_TABLE>
<TABL_EXTRAS>
<TDDAT>
<TABNAME>ZAGE_TABL</TABNAME>
Expand Down
10 changes: 10 additions & 0 deletions src/rap/zage_c_rap_sample.ddls.asddls
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
@EndUserText.label: 'AGE Sample RAP Projection'
@ObjectModel.result: #FIRST_ENTITY
define view ZAGE_C_RAP_SAMPLE
as projection on ZAGE_C_PROJECTION
{
key Client,
key Name,
Description,
IsActiveEntity
}
19 changes: 19 additions & 0 deletions src/rap/zage_c_rap_sample.ddls.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DDLS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DDL>
<DDLNAME>ZAGE_C_RAP_SAMPLE</DDLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<HISTORY>
<DDL>
<AUTHOR>DEVELOPER</AUTHOR>
<CREATEDON>20240101</CREATEDON>
</DDL>
</HISTORY>
<DESCRIPTION>AGE Sample RAP Projection View</DESCRIPTION>
<MAIN_ENGINE>EP</MAIN_ENGINE>
</DDL>
</asx:values>
</asx:abap>
</abapGit>
26 changes: 26 additions & 0 deletions src/rap/zage_rap_sample.bdef.asbdef
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
managed implementation in class ZCL_AGE_RAP_SAMPLE unique;

strict ( 2 );
define behavior for ZAGE_C_PROJECTION
persistent table zage_tabl
lock master
authorization master ( instance )
etag master LocalLastChangedAt
{
field ( mandatory : create, readonly : update ) Client;
field ( mandatory : create ) Name;
field ( readonly ) IsActiveEntity;

create;
update;
delete;

validation validateData on save { field Name; }

mapping for zage_tabl
{
Client = client;
Name = name;
Description = description;
}
}
18 changes: 18 additions & 0 deletions src/rap/zage_rap_sample.bdef.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_BDEF" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<BDEF>
<BDEF_NAME>ZAGE_RAP_SAMPLE</BDEF_NAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DESCRIPTION>AGE Sample RAP Behavior Definition</DESCRIPTION>
<HISTORY>
<BDEF>
<AUTHOR>DEVELOPER</AUTHOR>
<CREATEDON>20240101</CREATEDON>
</BDEF>
</HISTORY>
</BDEF>
</asx:values>
</asx:abap>
</abapGit>
18 changes: 18 additions & 0 deletions src/rap/zage_rap_sample.sbtt.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_SBTV" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOSBT>
<BTYPE>E</BTYPE>
<SBTNAME>ZAGE_RAP_SAMPLE</SBTNAME>
<SBTBAME>ZAGE_C_RAP_SAMPLE</SBTBAME>
<SBTVFORMAT>JSON</SBTVFORMAT>
<SBTLANGU>E</SBTLANGU>
<SBTDES>AGE Sample RAP Service Binding</SBTDES>
<SBTVMODE>PROXY</SBTVMODE>
<SBTLOIO>0000000000000000000000000000000000000000</SBTLOIO>
<SBTNOAUTH>X</SBTNOAUTH>
</VSEOSBT>
</asx:values>
</asx:abap>
</abapGit>
39 changes: 39 additions & 0 deletions src/rap/zcl_age_rap_sample.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
CLASS zcl_age_rap_sample DEFINITION
FINAL
CREATE PUBLIC.

PUBLIC SECTION.
INTERFACES if_oo_adt_classrun.
INTERFACES if_rap_query_provider.
PRIVATE SECTION.
METHODS validate_data
IMPORTING
keys TYPE if_rap_query_provider=>tt_key
RETURNING
VALUE(result) TYPE abap_boolean.
ENDCLASS.

CLASS zcl_age_rap_sample IMPLEMENTATION.

METHOD if_oo_adt_classrun~main.
out->write( 'RAP Sample Implementation Class' ).
ENDMETHOD.

METHOD if_rap_query_provider~select.
DATA filter TYPE if_rap_query_filter=>tt_range_option.
DATA lt_data TYPE STANDARD TABLE OF zage_tabl.

filter = io_query->get_filter( )->get_filter_conditions( ).

SELECT FROM zage_tabl
FIELDS client, name, description
INTO TABLE lt_data.

io_response->set_data( lt_data ).
ENDMETHOD.

METHOD validate_data.
result = abap_true.
ENDMETHOD.

ENDCLASS.
17 changes: 17 additions & 0 deletions src/rap/zcl_age_rap_sample.clas.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_AGE_RAP_SAMPLE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>AGE Sample RAP Behavior Implementation</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<ABAP_LANGUAGE_VERSION>5</ABAP_LANGUAGE_VERSION>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>