Projection

This commit is contained in:
2025-10-30 10:57:54 +00:00
parent 5b30ab8a68
commit 307d185c33
14 changed files with 309 additions and 66 deletions

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_SUSH" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<HEAD>
<NAME>1AD3ED7D9603BC0A8E4E5F5956BB10</NAME>
<TYPE>HT</TYPE>
<DISPLAY_NAME>R3TR IWSV ZHS_UI_SIMPLE_PARTNER_O2 0001</DISPLAY_NAME>
<DEVCLASS>ZHS_SOFTWAREHEROES</DEVCLASS>
<ABAP_LANGUAGE_VERSION>5</ABAP_LANGUAGE_VERSION>
</HEAD>
<USOBX>
<USOBX>
<NAME>1AD3ED7D9603BC0A8E4E5F5956BB10</NAME>
<TYPE>HT</TYPE>
<OBJECT>S_SERVICE</OBJECT>
<OKFLAG>X</OKFLAG>
</USOBX>
</USOBX>
<USOBX_EXT>
<item>
<OBJECT>S_SERVICE</OBJECT>
<TTEXT>Check at Start of External Services</TTEXT>
<OCLSS>AAAB</OCLSS>
<OKFLAG>X</OKFLAG>
<DEVCLASS>S_PROFGEN</DEVCLASS>
<PS_POSID>BC-SEC-AUT-PFC</PS_POSID>
<CI_TEXT>Check</CI_TEXT>
<CH_TEXT>Check</CH_TEXT>
<PR_TEXT>No</PR_TEXT>
<EXCEP>3</EXCEP>
<EXCEP_TX>Okay</EXCEP_TX>
<EXCEP_ICON>@08@</EXCEP_ICON>
</item>
</USOBX_EXT>
</asx:values>
</asx:abap>
</abapGit>

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_SUSH" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<HEAD>
<NAME>EE566F319ECABE8ED3191480F35C18</NAME>
<TYPE>HT</TYPE>
<DISPLAY_NAME>R3TR IWSG ZHS_UI_SIMPLE_PARTNER_O2_0001</DISPLAY_NAME>
<DEVCLASS>ZHS_SOFTWAREHEROES</DEVCLASS>
<ABAP_LANGUAGE_VERSION>5</ABAP_LANGUAGE_VERSION>
</HEAD>
<USOBX>
<USOBX>
<NAME>EE566F319ECABE8ED3191480F35C18</NAME>
<TYPE>HT</TYPE>
<OBJECT>S_SERVICE</OBJECT>
<OKFLAG>X</OKFLAG>
</USOBX>
</USOBX>
<USOBX_EXT>
<item>
<OBJECT>S_SERVICE</OBJECT>
<TTEXT>Check at Start of External Services</TTEXT>
<OCLSS>AAAB</OCLSS>
<OKFLAG>X</OKFLAG>
<DEVCLASS>S_PROFGEN</DEVCLASS>
<PS_POSID>BC-SEC-AUT-PFC</PS_POSID>
<CI_TEXT>Check</CI_TEXT>
<CH_TEXT>Check</CH_TEXT>
<PR_TEXT>No</PR_TEXT>
<EXCEP>3</EXCEP>
<EXCEP_TX>Okay</EXCEP_TX>
<EXCEP_ICON>@08@</EXCEP_ICON>
</item>
</USOBX_EXT>
</asx:values>
</asx:abap>
</abapGit>

View File

@@ -0,0 +1,9 @@
projection;
strict;
define behavior for ZHS_C_RAPPartner alias Partner
{
use create;
use update;
use delete;
}

View File

@@ -0,0 +1,39 @@
<?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>
<NAME>ZHS_C_RAPPARTNER</NAME>
<TYPE>BDEF/BDO</TYPE>
<DESCRIPTION>RAP consumption for partner</DESCRIPTION>
<DESCRIPTION_TEXT_LIMIT>60</DESCRIPTION_TEXT_LIMIT>
<LANGUAGE>EN</LANGUAGE>
<LINKS>
<item>
<HREF>./zhs_c_rappartner/source/main/versions</HREF>
<REL>http://www.sap.com/adt/relations/versions</REL>
<TITLE>Historic versions</TITLE>
</item>
<item>
<HREF>./zhs_c_rappartner/source/main</HREF>
<REL>http://www.sap.com/adt/relations/source</REL>
<TYPE>text/plain</TYPE>
<TITLE>Source Content</TITLE>
</item>
<item>
<HREF>./zhs_c_rappartner/source/main</HREF>
<REL>http://www.sap.com/adt/relations/source</REL>
<TYPE>text/html</TYPE>
<TITLE>Source Content (HTML)</TITLE>
</item>
</LINKS>
<MASTER_LANGUAGE>EN</MASTER_LANGUAGE>
<ABAP_LANGU_VERSION>5</ABAP_LANGU_VERSION>
<SOURCE_URI>./zhs_c_rappartner/source/main</SOURCE_URI>
<SOURCE_TYPE>ABAP_SOURCE</SOURCE_TYPE>
<SOURCE_FIXED_POINT_ARITHMETIC>true</SOURCE_FIXED_POINT_ARITHMETIC>
<SOURCE_UNICODE_CHECKS_ACTIVE>true</SOURCE_UNICODE_CHECKS_ACTIVE>
</BDEF>
</asx:values>
</asx:abap>
</abapGit>

View File

@@ -0,0 +1,14 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'RAP consumption for partner'
@Metadata.allowExtensions: true
define root view entity ZHS_C_RAPPartner
provider contract transactional_query
as projection on ZHS_I_RAPPartner
{
key PartnerNumber,
PartnerName,
Street,
City,
Country,
PaymentCurrency
}

View File

@@ -0,0 +1,19 @@
{
"BASEINFO":
{
"FROM":
[
"ZHS_I_RAPPARTNER"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}

View File

@@ -0,0 +1,13 @@
<?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>
<DDLS>
<DDLNAME>ZHS_C_RAPPARTNER</DDLNAME>
<DDLANGUAGE>E</DDLANGUAGE>
<DDTEXT>RAP consumption for partner</DDTEXT>
<SOURCE_TYPE>P</SOURCE_TYPE>
</DDLS>
</asx:values>
</asx:abap>
</abapGit>

View File

@@ -0,0 +1,71 @@
@Metadata.layer: #CUSTOMER
@UI: {
headerInfo: {
typeName: 'Partner',
typeNamePlural: 'Partners'
}
}
annotate entity ZHS_C_RAPPartner with
{
@UI.facet : [
{
id : 'FacetCollection',
type : #COLLECTION,
label : 'Partner Collection'
},
{
id : 'FacetPartnerAddress',
parentId : 'FacetCollection',
label : 'Address',
type : #IDENTIFICATION_REFERENCE,
targetQualifier: 'PARTNER_ADDRESS'
},
{
id : 'FacetPartnerFields',
parentId : 'FacetCollection',
label : 'Information',
type : #IDENTIFICATION_REFERENCE,
targetQualifier: 'PARTNER_INFO'
}
]
@UI.selectionField: [{ position: 10 }]
@UI.lineItem: [{ position: 20, importance: #MEDIUM }]
@UI.identification: [{ position: 20, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'Partner'
@EndUserText.quickInfo: 'Identifier of the partner'
PartnerNumber;
@UI.selectionField: [{ position: 20 }]
@UI.lineItem: [{ position: 10, importance: #MEDIUM }]
@UI.identification: [{ position: 30, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'Name'
@EndUserText.quickInfo: 'Partner name'
PartnerName;
@UI.lineItem: [{ position: 40, importance: #MEDIUM }]
@UI.identification: [{ position: 40, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'Street'
@EndUserText.quickInfo: 'Street and Housenumber'
Street;
@UI.lineItem: [{ position: 30, importance: #MEDIUM }]
@UI.identification: [{ position: 50, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'City'
@EndUserText.quickInfo: 'City of the partner'
City;
@UI.lineItem: [{ position: 50, importance: #HIGH}]
@UI.identification: [{ position: 60, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'Ctry'
@EndUserText.quickInfo: 'Country'
Country;
@UI.identification: [{ position: 70, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'PayCurr'
@EndUserText.quickInfo: 'Payment Currency'
PaymentCurrency;
}

View File

@@ -4,7 +4,7 @@
<asx:values>
<DDLX>
<METADATA>
<NAME>ZHS_I_RAPPARTNER</NAME>
<NAME>ZHS_C_RAPPARTNER</NAME>
<DESCRIPTION>Metdata extension</DESCRIPTION>
<MASTER_LANGUAGE>EN</MASTER_LANGUAGE>
</METADATA>

View File

@@ -1,6 +1,5 @@
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'RAP Interface for Partner'
@Metadata.allowExtensions: true
define root view entity ZHS_I_RAPPartner
as select from zhs_dmo_partner

View File

@@ -1,63 +0,0 @@
@Metadata.layer: #CUSTOMER
annotate entity ZHS_I_RAPPartner
with
{
@UI.facet : [
{
id : 'FacetCollection',
type : #COLLECTION,
label : 'Partner Collection'
},
{
id : 'FacetPartnerAddress',
parentId : 'FacetCollection',
label : 'Address',
type : #IDENTIFICATION_REFERENCE,
targetQualifier: 'PARTNER_ADDRESS'
},
{
id : 'FacetPartnerFields',
parentId : 'FacetCollection',
label : 'Information',
type : #IDENTIFICATION_REFERENCE,
targetQualifier: 'PARTNER_INFO'
}
]
@UI.selectionField: [{ position: 10 }]
@UI.lineItem: [{ position: 20, importance: #MEDIUM }]
@UI.identification: [{ position: 20, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'Partner'
@EndUserText.quickInfo: 'Identifier of the partner'
PartnerNumber;
@UI.selectionField: [{ position: 20 }]
@UI.lineItem: [{ position: 10, importance: #MEDIUM }]
@UI.identification: [{ position: 30, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'Name'
@EndUserText.quickInfo: 'Partner name'
PartnerName;
@UI.lineItem: [{ position: 40, importance: #MEDIUM }]
@UI.identification: [{ position: 40, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'Street'
@EndUserText.quickInfo: 'Street and Housenumber'
Street;
@UI.lineItem: [{ position: 30, importance: #MEDIUM }]
@UI.identification: [{ position: 50, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'City'
@EndUserText.quickInfo: 'City of the partner'
City;
@UI.lineItem: [{ position: 50, importance: #HIGH}]
@UI.identification: [{ position: 60, qualifier: 'PARTNER_ADDRESS' }]
@EndUserText.label: 'Ctry'
@EndUserText.quickInfo: 'Country'
Country;
@UI.identification: [{ position: 70, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'PayCurr'
@EndUserText.quickInfo: 'Payment Currency'
PaymentCurrency;
}

View File

@@ -1,4 +1,4 @@
@EndUserText.label: 'Simple Partner Service'
define service ZHS_SIMPLE_PARTNER {
expose ZHS_I_RAPPartner as Partner;
expose ZHS_C_RAPPartner as Partner;
}

View File

@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_SRVB" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<SRVB>
<METADATA>
<NAME>ZHS_UI_SIMPLE_PARTNER_O2</NAME>
<TYPE>SRVB/SVB</TYPE>
<DESCRIPTION>Simple UI Service O2</DESCRIPTION>
<LANGUAGE>EN</LANGUAGE>
<MASTER_LANGUAGE>EN</MASTER_LANGUAGE>
<ABAP_LANGU_VERSION>5</ABAP_LANGU_VERSION>
</METADATA>
<CONTENT>
<BIND_TYPE_IMPL>
<NAME>ZHS_UI_SIMPLE_PARTNER_O2</NAME>
</BIND_TYPE_IMPL>
<BIND_TYPE>ODATA</BIND_TYPE>
<BIND_TYPE_VERSION>V2</BIND_TYPE_VERSION>
<SERVICES>
<item>
<SERVICE_NAME>ZHS_UI_SIMPLE_PARTNER_O2</SERVICE_NAME>
<SERVICE_CONTENT>
<item>
<SERVICE_VERSION>0001</SERVICE_VERSION>
<RELEASE_STATE>NOT_RELEASED</RELEASE_STATE>
<SRVD_REF>
<URI>/sap/bc/adt/ddic/srvd/sources/zhs_simple_partner</URI>
<TYPE>SRVD/SRV</TYPE>
<NAME>ZHS_SIMPLE_PARTNER</NAME>
</SRVD_REF>
<BIND_TYPE_DATA>
<CONTENT>
<ENCODING>base64</ENCODING>
</CONTENT>
</BIND_TYPE_DATA>
</item>
</SERVICE_CONTENT>
</item>
</SERVICES>
</CONTENT>
<CONTRACT>C1</CONTRACT>
<RELEASE_SUPPORTED>true</RELEASE_SUPPORTED>
<PUBLISHED>true</PUBLISHED>
<BINDING_CREATED>true</BINDING_CREATED>
</SRVB>
</asx:values>
</asx:abap>
</abapGit>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_SCO2" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<SCO2>
<IBS_ID>ZHS_UI_SIMPLE_PARTNER_O2_IWSG</IBS_ID>
<IBS_TYPE>IWSG</IBS_TYPE>
<ODATA_SRV_IDENTIFIER>ZHS_UI_SIMPLE_PARTNER_O2_0001</ODATA_SRV_IDENTIFIER>
<REL_FOR_CUST_CSCN>X</REL_FOR_CUST_CSCN>
<ABAP_LANGUAGE_VERSION>5</ABAP_LANGUAGE_VERSION>
<NAME>ZHS_UI_SIMPLE_PARTNER_O2_IWSG</NAME>
<DESCRIPTION>ZHS_UI_SIMPLE_PARTNER_O2</DESCRIPTION>
<ABAP_LANGU_VERSION>5</ABAP_LANGU_VERSION>
</SCO2>
</asx:values>
</asx:abap>
</abapGit>