CDS Views

ABAP, Java, BSP, etc.
3 Beiträge Seite 1 von 1
3 Beiträge Seite 1 von 1

CDS Views

Beitrag von SAP_ENTWICKLER (Specialist / 418 / 212 / 6 ) » 4. Sep 2018 11:56

Hallo zusammen,

jetzt wage ich mich autodidaktisch an das Thema CDS Views. Mit eclipse Oxygen.3 habe ich versucht eine(n) CDS View anzulegen. Mal abgesehen von den unter Umständen vorhandenen sonstigen Syntaxfehlern bekomme ich beim folgenden Coding einen

Code: Alles auswählen.

@AbapCatalog.sqlViewName: 'Z_TESTVIEW_001'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Call of CDS view in report'

Context Materialtext {
 zc_mtart : String(04) = 'FERT';
 
define view Z_TESTVIEW_001 as select from makt as a {

  b.matnr,
  a.maktx,
  b.mtart,  
    }
  inner join mara as b
    where a.matnr = b.matnr
      and b.mtart = zc_mtart;
}
Fehler, 'Unexpected word Context'. Egal ob ich das Wort lösche oder die Leerzeilen entferne, nach '@EndUserText.label: 'Call of CDS view in report'' kommt für die nächste Zeichenkette der Fehler ''Unexpected word ......'.

Scheinbar ist das ein grundsätzlicher Fehler. Die Frage ist welcher? Im InterNet habe ich dazu nichts gefunden.

Kann mir jemand einen Tipp geben?

Vielen Dank und viele Grüße
Norbert


Re: CDS Views

Beitrag von zzcpak (Expert / 650 / 5 / 59 ) » 4. Sep 2018 13:26

bin jetzt nicht wirklich firm in CDS views, aber muss die CONTEXT Definition nicht erst mit einer geschweiften Klammer abgeschlossen sein, bevor der View definiert wird?

Folgende Benutzer bedankten sich beim Autor zzcpak für den Beitrag:
SAP_ENTWICKLER


Re: CDS Views

Beitrag von edwin (Specialist / 261 / 5 / 40 ) » 4. Sep 2018 14:03

Hi,
- zuerst einmal die Namen, der Name des 'view Z_TESTVIEW_001' darf nicht gleich dem "@AbapCatalog.sqlViewName: 'Z_TESTVIEW_001' sein, aber soweit ich mich erinnere, bekommst Du Probleme, falls Du versuchst im Nachhinein den "@AbapCatalog.sqlViewName" zu ändern, ändere lieber den view name.

- CONTEXT im CDS Umfeld ist mir nicht bekannt
Du kannst aber die MTART als Parameter definieren und diesen dann füllen

z.b. so:

Code: Alles auswählen.

@AbapCatalog.sqlViewName: 'Z_TESTVIEW_001'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Z_TESTVIEW_001N'

define view Z_TESTVIEW_001N
with parameters p_mtart : MTART   
                           as select from makt as a 
                                inner join mara as b
                                on a.matnr = b.matnr {
  
  b.matnr,
  a.maktx,
  b.mtart  
   
} where b.mtart = :p_mtart


oder als Konstante direkt :

Code: Alles auswählen.

@AbapCatalog.sqlViewName: 'Z_TESTVIEW_001'
@AbapCatalog.compiler.CompareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Z_TESTVIEW_001N'

define view Z_TESTVIEW_001N
                           as select from makt as a 
                                inner join mara as b
                                on a.matnr = b.matnr {
  
  b.matnr,
  a.maktx,
  b.mtart  
   
} where b.mtart = 'FERT'
/Edwin

Folgende Benutzer bedankten sich beim Autor edwin für den Beitrag:
SAP_ENTWICKLER


Seite 1 von 1

Aktuelle Forenbeiträge

Datenquelle einer Query ändern
vor 20 Stunden von Level83 3 / 65
Spaltennummer-Umwandlung Excel.
Gestern von il.ost 7 / 168
Black out im Bereich Objekterzeugung bei Vererbung gelöst
Gestern von Thomas R. 4 / 101

Unbeantwortete Forenbeiträge

Transaktion VL06 Verteilung ausgehender Lieferungen
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
FuBa EXIT_SAPLVEDC_003 S/4 1809
vor 4 Tagen von SAP_ENTWICKLER 1 / 87
CDS VIEW mit BOPF Framework update
vor einer Woche von Abapanfänger 1 / 84
SAP Document Builder: Dokumenterzeugung
vor einer Woche von robin.heidrich 1 / 201
Lohnsteuerbescheinigung
vor einer Woche von kaim77 1 / 121