RAP e CDS SAP BAS - SAP Public Cloud - PARTE 1
1. RAP e CDS SAP BAS - SAP Public Cloud
RAP = RESTful Application Programming
Lo scopo è quello di creare un APP Fiori
che consenta di effettuare tutte le operazioni CRUD su una tabella custom
creata in ambiente SAP Public Cloud.
2.
Lavoro
di backend lato Eclipse
2.1.
Creare
package
In Eclipse creiamo un package dove salvare tutti i nostri sviluppi,
quindi premere tasto dx e selezionare ABAP PackageNella
schermata successiva inserire il nome del package e una descrizione e premere
NEXT
Nella
schermata successiva inserire il software component HOME, ed il
Transport Layer e premere NEXT
2.2.
Creare
tabella custom
Creiamo
ora una tabella custom. Tasto dx sul package creato in precedenza, selezionare
ABAP Repository Object, successivamente nella popup seelzionare Dictionary->
Database Table e premi il NEXT
Nella popup successiva, inserire il nome della tabella e la descrizione.
Inserire
i nomi dei campi e la loro tipologia:
@EndUserText.label : 'Demo app Fiori'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
@AbapCatalog.dataMaintenance : #RESTRICTED
define table
zdemo_app {
key client :
abap.clnt not null;
key ebeln : ebeln not null;
key ebelp : ebelp not null;
txz01 : txz01;
matnr : matnr;
data : abap.dats;
ora : abap.tims;
}
2.3.
Creare
la CDS View e la relativa interfaccia
Creiamo una CDS View sulla tabella creata in precedenza.
Selezionare la tabella creata in
precedenza, tasto dx, selezionare “New Data Definition”
Modifichiamo la
definizione della CDS view in questo modo:
@AbapCatalog.sqlViewName: 'ZDEMOAPPCDS'
@AbapCatalog.compiler.compareFilter: true
//@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'CDS view della tabella ZDEMO_APP'
@Metadata.ignorePropagatedAnnotations: true
define root view
ZDEMO_APP_DEFCDS as select from zdemo_app
{
key ebeln,
key ebelp,
txz01
matnr,
data,
ora
}
Creiamo l’interfaccia di
Consumo della CDS View creata in precedenza
Selezionare la definizione della CDS
view creata in precedenza, tasto dx, selezionare “New Data Definition”
Modifichiamo
l’interfaccia in questo modo:
@AccessControl.authorizationCheck:
#NOT_REQUIRED
@EndUserText.label:
'Interfaccia di consumo della CDS View'
@Metadata.allowExtensions:
true
define root
view entity ZDEMO_APP_INTERFACE_CDS provider contract
transactional_query
as projection
on ZDEMO_APP_DEFCDS as DemoAppInterface
{
@EndUserText.label: 'Documento'
@Search.defaultSearchElement: true
key ebeln as Ebeln,
@EndUserText.label: 'Posizione'
key ebelp as Ebelp,
@EndUserText.label: 'Testo Breve'
txz01 as Txz01,
@EndUserText.label: 'Materiale'
matnr as Matnr,
@EndUserText.label: 'Data'
data as Data,
@EndUserText.label: 'Ora'
ora as Ora
}
2.4. Creare definizione di comportamento per la CDS view creata in precedenza (Behavior Definition)
Selezionare il nome della definizione
della CDS view creata in precedenza (ZDEMO_APP_DEFCDS_CDS) , tasto dx, selezionare “New Behavior
Definition”
Inseriamo la descrizione e il Tipo di implementazione Managed e premere NEXT
Inserire il seguente codice e poi ATTIVARE:
managed;
//strict ( 2 ); //Uncomment this line in order to enable strict mode 2. The strict mode has two variants (strict(1), //strict(2)) and is prerequisite to be future proof regarding syntax and to be able to release your BO.
define behavior
for ZDEMO_APP_DEFCDS alias ZDEMO_APP
persistent table
zdemo_app
lock master
//authorization
master ( instance )
//etag
master <field_name>
{
field ( mandatory )
ebeln, ebelp, matnr, data, ora, txz01;
create; // ( authorization : global )
update;
delete;
mapping for zdemo_app
{
ebeln = ebeln;
ebelp = ebelp;
txz01 = txz01;
matnr = matnr;
data = data;
ora = ora;
}
}
2.5. Creare definizione di comportamento per l'interfaccia di Consumo della CDS View creata in precedenza (Behavior Definition)
Inseriamo la descrizione e il Tipo di implementazione Projection e premere NEXT
Inserire il seguente codice e poi ATTIVARE:
projection;
//strict (
2 ); //Uncomment this line in order to enable strict mode 2. The strict mode
has two variants (strict(1), //strict(2)) and is prerequisite to be future
proof regarding syntax and to be able to release your BO.
define
behavior for ZDEMO_APP_INTERFACE_CDS alias ZDEMO_APP
{
use create;
use update;
use delete;
}
Creaimo il Servizio sull’interfaccia di
Consumo della CDS View creata in precedenza (ZDEMO_APP_INTERFACCE_CDS),
tasto dx, selezionare “New Service Definition”
Inserire il nome del servizio (ZDEMO_APP_INTERFACCE_CDS_SRV) e la sua descrizione e premere NEXT
Inserire il seguente codice e poi ATTIVARE:
@EndUserText.label:
'Servizio Demo App'
define service
ZDEMO_APP_INTERFACE_CDS_SRV
{
expose ZDEMO_APP_INTERFACE_CDS;
}
Creaimo il Service Binding sul servizio
creato in precedenza (ZDEMO_APP_INTERFACCE_CDS_SRV) , tasto dx,
selezionare “New Service Binding”
Inserire il nome dell’associazione (ZDEMO_APP_IF_CDS_SRV_BIND)
,
la sua descrizione e il tipo Binding “Odata V2 – UI” e premere NEXT.
Alla fine Attivare l’associazione.
A questo punto pubblichiamo il servizio premendo il pulsante PUBLISH
attendere la fine della pubblicazione
Creaimo l’estensione metadati sull’interfaccia di
Consumo della CDS View creato in precedenza (ZDEMO_APP_INTERFACCE_CDS), tasto dx, selezionare “New Metadata Extension”
Inserire il nome del Metadata Extension (ZDEMO_APP_METADATA_EXT),
la sua descrizione e premere NEXT. Alla fine Attivare l’associazione.
Inserire il seguente codice e poi ATTIVARE:
@Metadata.layer: #CORE
@UI: {
headerInfo: {
typeName: 'Dati
Documenti',
title: { type:
#STANDARD, label: ‘ZDemo_App’, value: 'ebeln'}
}
}
annotate entity
ZDEMO_APP_INTERFACE_CDS
with
{
@UI.facet: [{ id: 'ZDemo_App',
purpose: #STANDARD,
type:
#IDENTIFICATION_REFERENCE,
label: 'Gestione
Documenti',
position: 10 }]
@UI: { lineItem:[{
position: 10,
importance: #HIGH,
label:'Documento'}],
identification: [{
position: 10}],
selectionField: [{
position: 10}]
}
Ebeln;
@UI: { lineItem:[{
position: 20,
importance: #HIGH,
label:'Posizione'}],
identification: [{
position: 20}],
selectionField: [{
position: 20}]
}
Ebelp;
@UI: { lineItem:[{
position: 30,
importance: #HIGH,
label:'Testo Breve'}],
identification: [{
position: 30}],
selectionField: [{
position: 30}]
}
Txz01;
@UI: { lineItem:[{
position: 40,
importance: #HIGH,
label:'Materiale'}],
identification: [{
position: 40}],
selectionField: [{
position: 40}]
}
Matnr;
@UI: { lineItem:[{
position: 50,
importance: #HIGH,
label:'Data'}],
identification: [{
position: 50}],
selectionField: [{
position: 50}]
}
Data;
@UI: { lineItem:[{
position: 60,
importance: #HIGH,
label:'Ora'}],
identification: [{
position: 60}],
selectionField: [{
position: 60}]
}
Ora;
}
Facciamo doppio click sul Service Binding del servizio (ZDEMO_APP_INTERFACCE_CDS_SRV), e nella schermata di dx, selezionare l’Entity Set and Association e premere il pulsante “Preview”
Si aprirà il Browser con la preview
della nostra APP.
Premendo sul pulsante
“Adapt Filters” è possibile modificare i filtri presenti nella schermata.
Premendo il pulsante
Create è possibile creare un record in tabella.
Inserire i dati e premere il pulsante Create
Tornando nella schermata principale si potrà vedere il record inserito
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
>>> RECENSIONI DEI LIBRI su Amazon Kindle <<<
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews


























Nessun commento:
Posta un commento