gdata.io.handleScriptLoaded({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$georss":"http://www.georss.org/georss","xmlns$thr":"http://purl.org/syndication/thread/1.0","xmlns$blogger":"http://schemas.google.com/blogger/2008","id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615"},"updated":{"$t":"2023-12-26T13:46:15.660-08:00"},"category":[{"term":"scp"},{"term":"SAP ABAP"},{"term":"Tutorial series on SAP Enterpise Portal"},{"term":"geocoder"},{"term":"export sapui5 project"},{"term":"events in classical reports"},{"term":"util"},{"term":"layout"},{"term":"pull"},{"term":"joins"},{"term":"tables"},{"term":"SEGW"},{"term":"viz charts"},{"term":"sap cloud platform mobile services"},{"term":"types of views"},{"term":"Security Considerations"},{"term":"sap web ide deprecated"},{"term":"pool"},{"term":"SAP ABAP function modules"},{"term":"tree table"},{"term":"cloud foundry"},{"term":"custom login page"},{"term":"sap cloud platform for portal sites"},{"term":"admin cockpit sap cloud mobile services"},{"term":"Introduction to SAP portal sites"},{"term":"srv"},{"term":"hcp"},{"term":"OOPs Concepts"},{"term":"sap fiori tools"},{"term":"SAP ABAP Blog."},{"term":"export sap projects"},{"term":"ui5"},{"term":"maintainability"},{"term":"associations"},{"term":"combo box"},{"term":"SAP BAS"},{"term":"Logon Page in Enterprise Portal"},{"term":"margins"},{"term":"Web IDE"},{"term":"mtar"},{"term":"CAP"},{"term":"ABAP Development"},{"term":"sap viz frame"},{"term":"sort"},{"term":"Plugin"},{"term":"appearance"},{"term":"workflow"},{"term":"Agile Development"},{"term":"architecture of sap fiori"},{"term":"outer join"},{"term":"SAP S/4HANA"},{"term":"sap fiori"},{"term":"Data Storage"},{"term":"file"},{"term":"SAP overview"},{"term":"function"},{"term":"Sapui5 jobs"},{"term":"Classical report"},{"term":"sap fiori tutorial"},{"term":"webIDE application"},{"term":"Installation of sap ui5 plugin"},{"term":"app router"},{"term":"Scalable Applications"},{"term":"smarttable"},{"term":"odata tutorial"},{"term":"sap enterprise portal"},{"term":"vizframe control"},{"term":"stage"},{"term":"events"},{"term":"selected index"},{"term":"tab"},{"term":"How to export SAP Web IDE Workspace projects"},{"term":"hello world application"},{"term":"SAPUI5 data communication"},{"term":"online training abap"},{"term":"SAP NetWeaver Portal"},{"term":"apps"},{"term":"pfcg"},{"term":"sap mobility jobs"},{"term":"commit"},{"term":"launchpad"},{"term":"DPC"},{"term":"Pass by value and return"},{"term":"routing in split app"},{"term":"Module Pool"},{"term":"sapui5 xml editor"},{"term":"sap.m.list"},{"term":"searching"},{"term":"tag"},{"term":"CAPM Apps"},{"term":"css folder"},{"term":"get expanded entity"},{"term":"ABAP Job Preparation"},{"term":"mta"},{"term":"custom image"},{"term":"xlsx"},{"term":"Mock data"},{"term":"multi target application"},{"term":"javascript"},{"term":"Routing"},{"term":"responsive table in sapui5"},{"term":"add and delete operation"},{"term":"csv upload validation"},{"term":"saml"},{"term":"external library"},{"term":"ALV programming examples"},{"term":"sap btp"},{"term":"Custom Controls"},{"term":"Project structure"},{"term":"openui5"},{"term":"dv"},{"term":"create destinations to connect mobile services from sap web ide"},{"term":"sap custom portal sites"},{"term":"modules"},{"term":"Interactive Reports"},{"term":"user experience sap"},{"term":"odata v2"},{"term":"ABAP New Features"},{"term":"Developer Tips"},{"term":"sap fiori launchpad configuration"},{"term":"Logon to SAP ABAP"},{"term":"cloud foundary"},{"term":"SAP ABAP Certification"},{"term":"Tutorials"},{"term":"ABAP Interview Questions"},{"term":"controller"},{"term":"Routing in sapui5"},{"term":"Environment variables"},{"term":"ALV reports"},{"term":"Transport Request Number"},{"term":"sap fiori enterprise portal"},{"term":"CSN"},{"term":"Parts"},{"term":"jwt token"},{"term":"register cloud platform"},{"term":"annotations"},{"term":"Navigation Properties"},{"term":"component.js"},{"term":"deman pop-in"},{"term":"configure catalogs and groups"},{"term":"Best practices"},{"term":"local service"},{"term":"sap web ide"},{"term":"i18n"},{"term":"Dialog sapui5"},{"term":"chrome"},{"term":"ABAP Coding Best Practices"},{"term":"HANA Modeling"},{"term":"charts in sapui5"},{"term":"sap fiori enterprise portal sites"},{"term":"google maps"},{"term":"SAP Business Technology Platform"},{"term":"formatters"},{"term":"resource bundle"},{"term":"Pass by reference"},{"term":"pass multiple values"},{"term":"projection views"},{"term":"sapui5 diagnostics window"},{"term":"web dynpro"},{"term":"webapp"},{"term":"get expanded entityset"},{"term":"Setting Up an App Router in SAP CAPM Project on BTP: A Step-by-Step Guide"},{"term":"help views"},{"term":"BDC"},{"term":"contrller"},{"term":"video tutorial on nested views and fragments"},{"term":"iwfnd"},{"term":"odata"},{"term":"debugging javascript files"},{"term":"smart table"},{"term":"SAP Programming"},{"term":"SAP Development"},{"term":"SAP netweaver gateway"},{"term":"api"},{"term":"Blobs in JavaScript"},{"term":"sap fiori apps"},{"term":"Visual studio code"},{"term":"How to Change logon Page of Enterprise Portal"},{"term":"dynamic"},{"term":"sapui5 code editor"},{"term":"git"},{"term":"xml code editor"},{"term":"Transaction code"},{"term":"parameter"},{"term":"ABAP on HANA interview questions and answers"},{"term":"Global sub routines"},{"term":"interactive reports example"},{"term":"layouts"},{"term":"ABAP List Viewer"},{"term":"JDK"},{"term":"filter"},{"term":"Fragment in sapui5"},{"term":"controller.js"},{"term":"video tutorial on globalization"},{"term":"CLASSICAL REPORTS"},{"term":"Sorting"},{"term":"odata v4"},{"term":"CRUD operations"},{"term":"create OData service"},{"term":"crud"},{"term":"Navigation"},{"term":"authorization"},{"term":"responsive"},{"term":"SAP functional modules"},{"term":"validate using headers"},{"term":"CDL"},{"term":"SUB ROUTINES"},{"term":"interactive reports events"},{"term":"sheet.js"},{"term":"MDK introduction"},{"term":"SAP Bussiness Application Studio"},{"term":"begin set"},{"term":"UI5 Inspector"},{"term":"get cursor"},{"term":"drag and drop"},{"term":"component preload"},{"term":"ABAP"},{"term":"spider chart"},{"term":"interview tips"},{"term":"view"},{"term":"Sap RAP"},{"term":"Answers"},{"term":"Templates and Accelerators in SAP Portal sites"},{"term":"work Area"},{"term":"SAP ABAP on HANA"},{"term":"sap webide"},{"term":"read"},{"term":"ABAP HANA Integration"},{"term":"sap MDK"},{"term":"ABAP 7.5"},{"term":"submitbatch"},{"term":"version"},{"term":"transparent"},{"term":"Microservices in SAP BTP"},{"term":"resources"},{"term":"import"},{"term":"SAP Data Presentation"},{"term":"create"},{"term":"SAP ECC"},{"term":"debug files in production environment"},{"term":"sap fiori configuration cockpit portal sites"},{"term":"SAP cloud solutions"},{"term":"speech recognition"},{"term":"groups"},{"term":"icf"},{"term":"ABAP 7.6"},{"term":"custom control"},{"term":"configuring destination in sap web ide"},{"term":"viz control"},{"term":"Mta yaml"},{"term":"odata deep structures"},{"term":"BAS"},{"term":"push"},{"term":"ios"},{"term":"data element"},{"term":"search"},{"term":"ALV Grid Report"},{"term":"Internal Tables"},{"term":"properties"},{"term":"minScreenWidth"},{"term":"configuring tiles"},{"term":"aggregation binding"},{"term":"grouping"},{"term":"controller hooks"},{"term":"portal site"},{"term":"import project"},{"term":"ABAP Developer Tips"},{"term":"json model"},{"term":"Introduction"},{"term":"branding"},{"term":"list"},{"term":"SAP Technical Interviews"},{"term":"android"},{"term":"package"},{"term":"SAP Fiori Configuration cockpit"},{"term":"create cloud foundary account"},{"term":"sap app"},{"term":"custom sapui5 app extension"},{"term":"edit"},{"term":"SAP ABAP views"},{"term":"excel"},{"term":"ABAP Code Examples"},{"term":"SmartForms"},{"term":"logo"},{"term":"sap freestyle portal sites"},{"term":"HANA Development"},{"term":"fiori apps"},{"term":"Image Upload"},{"term":"javascript code editor"},{"term":"OData v4 advantages"},{"term":"Development"},{"term":"index of list"},{"term":"offline capabilities"},{"term":"containers"},{"term":"portal"},{"term":"changeset"},{"term":"Binary Data Handling"},{"term":"distance"},{"term":"sap cloud foundary"},{"term":"technical interview questions"},{"term":"Cloud Application Programming Model"},{"term":"implementing SAP Fiori"},{"term":"odat v4"},{"term":"MockSever"},{"term":"Event Handling"},{"term":"local development"},{"term":"RAP Implementation"},{"term":"sap ui5 excel upload"},{"term":"Data types"},{"term":"How to get Selected table index value?"},{"term":"xml view"},{"term":"hierarchial ALV"},{"term":"extending apps"},{"term":"sap capm"},{"term":"manifest.json"},{"term":"DDIC"},{"term":"ABAP Data Modeling"},{"term":"reports"},{"term":"User Interaction"},{"term":"batch processing in OData"},{"term":"login"},{"term":"sap backend system"},{"term":"event"},{"term":"authentication"},{"term":"css"},{"term":"job search"},{"term":"types of subroutines"},{"term":"LOCAL SUB ROUTINES"},{"term":"mobile development kit"},{"term":"item"},{"term":"sap fiori portal site"},{"term":"enable sap web ide"},{"term":"use strict"},{"term":"json"},{"term":"routing in full application"},{"term":"Introduction to sap enterprise portal"},{"term":"doalog"},{"term":"CDS"},{"term":"chart.js"},{"term":"Mdk app"},{"term":"ALE"},{"term":"mfa"},{"term":"view extensions"},{"term":"sap abap tutorials"},{"term":"system objects"},{"term":"maint_service"},{"term":"introduction to sapui5"},{"term":"Dev Tools"},{"term":"Configure Catalog and Groups in SAP Fiori Portal Sites"},{"term":"design principles"},{"term":"component configuration"},{"term":"ABAP Job Interview Insights"},{"term":"rest"},{"term":"sap fiori launchpad"},{"term":"google maps api"},{"term":"MPC"},{"term":"inline expressions"},{"term":"data binding"},{"term":"table"},{"term":"cache buster"},{"term":"setup"},{"term":"tiles"},{"term":"HANA Performance Tuning."},{"term":"Pass by value (or) call by value"},{"term":"beginset"},{"term":"path"},{"term":"XS-UAA"},{"term":"model folder"},{"term":"sapui5"},{"term":"view replacement"},{"term":"introduction to ERP"},{"term":"example classical report example"},{"term":"SAP MTA"},{"term":"external style"},{"term":"Internal Table"},{"term":"step by step process to create odata"},{"term":"update"},{"term":"add"},{"term":"walkthrough admin cockpit"},{"term":"fiori"},{"term":"python"},{"term":"hello world"},{"term":"sapui5 code validator"},{"term":"responsiveness"},{"term":"node.js"},{"term":"Search Help in DDIC"},{"term":"backend components"},{"term":"custom fiori app"},{"term":"xs security"},{"term":"introduction to sap web ide"},{"term":"SAP CAP"},{"term":"SAP technical modules"},{"term":"inner join"},{"term":"string"},{"term":"internal style"},{"term":"lpd_cust"},{"term":"radar chart"},{"term":"csv"},{"term":"OData v2 vs. OData v4"},{"term":"validation"},{"term":"nested view"},{"term":"push a project in github"},{"term":"aggregations"},{"term":"charts"},{"term":"SAP Fiori Launchpad Portal Site"},{"term":"sapui5 project"},{"term":"introduction to odata annotations"},{"term":"export project"},{"term":"types of tables"},{"term":"operations on internal table"},{"term":"large string"},{"term":"Activate OData Service in SICF"},{"term":"sapui5 lint"},{"term":"Most common examples in sap ui5"},{"term":"video tutorial on formatter and inline expressions"},{"term":"pdf"},{"term":"fiori launchpad"},{"term":"extending sapui5 apps"},{"term":"sap mobile services"},{"term":"sap mobile services tutorial"},{"term":"sap portal site"},{"term":"Fragment"},{"term":"Configuring Fiori Tiles in sap portal sites"},{"term":"mdk"},{"term":"annotations in OData"},{"term":"sap mobile development kit"},{"term":"metadata.xml"},{"term":"SAP Mobile cards"},{"term":"SAP ABAP video tutorials"},{"term":"btp"},{"term":"setup sap bussiness application studio"},{"term":"ABAP Innovations"},{"term":"Introduction and DDIC"},{"term":"introduction to sap fiori"},{"term":"optimization"},{"term":"examples"},{"term":"- SAP ABAP performance optimization\n\n- ABAP performance tuning\n\n- SAP ABAP best practices\n\n- SAP ABAP performance tips\n\n- ABAP performance optimization techniques\n\n- SAP ABAP performance improvements"},{"term":"sap"},{"term":"SAP Tech Trends"},{"term":"sapui5 csv file upload import"},{"term":"sap.m.table"},{"term":"frontend components"},{"term":"Field Catalog"},{"term":"File Manipulation"},{"term":"SAP RAP Tutorial"},{"term":"js"},{"term":"mobile services in cloud foundary"},{"term":"sicf"},{"term":"roles"},{"term":"file reader"},{"term":"maintainence view"},{"term":"Security"},{"term":"SAP implementation."},{"term":"domain"},{"term":"sap cloud platform SDK"},{"term":"Globalization and localization"},{"term":"xml"},{"term":"marker"},{"term":"SAP Interview Prep"},{"term":"sap web IDE Workspace export"},{"term":"re usability"},{"term":"sapui5 nested view"},{"term":"voice recognition"},{"term":"sap fiori application"},{"term":"video tutorial on routing"},{"term":"Offline app"},{"term":"index"},{"term":"Latest ABAP FAQs"},{"term":"Naming conventions"},{"term":"fiori tiles"},{"term":"fiori jobs"},{"term":"SAPui5 application on SAP bussiness application studio"},{"term":"database views"},{"term":"upload"},{"term":"sapui5 excel import"},{"term":"Batch"},{"term":"sapui5 project structuring"},{"term":"token"},{"term":"handling localized texts"},{"term":"globalization"},{"term":"SAP HANA clould cockpit"},{"term":"deploy to cloud foundry"},{"term":"test Odata service"},{"term":"github"},{"term":"sap fiori jobs"},{"term":"sap cloud platform"},{"term":"capm"},{"term":"sapui5 github"},{"term":"formatter"},{"term":"cluster"},{"term":"ALV Grid Tutorial"},{"term":"controller extension"},{"term":"fiori app"},{"term":"view extension"},{"term":"Cloud-Native Architecture"},{"term":"HANA"},{"term":"multi cloud environment"},{"term":"interview questions"},{"term":"filtering"},{"term":"ABAP CDS Views"},{"term":"variable names"},{"term":"CQL"},{"term":"gulp"},{"term":"boolean"},{"term":"SAP modules"},{"term":"delete"},{"term":"logon page"},{"term":"introduction to sap abap"},{"term":"sapui5 apps"},{"term":"pull a project"},{"term":"split app"},{"term":"sapui5 best practices"},{"term":"read table"},{"term":"SAP OData"},{"term":"Debugging ABAP"},{"term":"universal worklist"},{"term":"expression"},{"term":"controls and views"},{"term":"Custom control to make a Radar Chart using Chart.js library in SAPUI5."},{"term":"Cache"},{"term":"view modification"},{"term":"odata tutorial series"},{"term":"xls"},{"term":"sap BTP CAPM"},{"term":"append operation"},{"term":"code quality"},{"term":"example of CAP"},{"term":"header item relationship"},{"term":"launchpad configuration"},{"term":"Latest ABAP Updates"},{"term":"sap ui5"},{"term":"dataset"},{"term":"register odata service"},{"term":"padding"},{"term":"RAP"},{"term":"OData v2 benefits"},{"term":"v4"},{"term":"ABAP Enhancements"},{"term":"responsive table"},{"term":"npm"},{"term":"RAP Model"},{"term":"catalogs"},{"term":"sap fiori elements"},{"term":"login configuration"},{"term":"Web Application Development"},{"term":"application"},{"term":"value"},{"term":"enterprise portal"},{"term":"selected"}],"title":{"type":"text","$t":"SAP Development: Mastering SAP UI5, BTP, Fiori, CAPM, RAP, ABAP; and More!"},"subtitle":{"type":"html","$t":"Welcome to the ultimate SAP UI5, BTP, Fiori, CAPM, RAP, ABAP blog! Explore comprehensive tutorials, interview questions, and real-world examples to master SAP development. Elevate your skills in creating stunning UI5 apps, harnessing the power of BTP, and building Fiori applications. Unlock the potential of CAPM, RAP, and ABAP, and learn to integrate seamlessly with the enterprise portal. Whether you're a beginner or an experienced developer, this blog is your go-to resource for SAP expertise!"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/CAP?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/-/CAP?alt\u003djson-in-script\u0026max-results\u003d50"},{"rel":"alternate","type":"text/html","href":"http://www.sapui5tutors.com/search/label/CAP"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"generator":{"version":"7.00","uri":"https://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"3"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"50"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-5431221469649833054"},"published":{"$t":"2023-06-15T03:52:00.001-07:00"},"updated":{"$t":"2023-06-15T03:52:01.501-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"resources"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"modules"},{"scheme":"http://www.blogger.com/atom/ns#","term":"sap capm"},{"scheme":"http://www.blogger.com/atom/ns#","term":"file"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Mta yaml"}],"title":{"type":"text","$t":"Mta.yaml file in SAP CAPM Projects"},"content":{"type":"html","$t":"\u003cp\u003eWhen developing a project using SAP Cloud Application Programming Model (CAPM) in SAP Business Technology Platform (BTP), the mta.yaml file is an essential part of the project. The mta.yaml file is a deployment descriptor file that describes the deployment of the application, including its modules, resources, and dependencies. In this blog, we will discuss the importance of the mta.yaml file in SAP CAPM in BTP and the various aspects of the file.\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYyKpNmHO7uAR3i3-hBfDJD1iJ9FR7j38D_Sp3cA6UbKFjTV_FkMSEFjqfPHDJep1_Wyr2KeEWvTiee_zXmgReN58UfUOBbZ3qep9CuCrV9OyRbrTJaO67n3nyJNDpFN6pjNPAHz0QpoXOPZWhhUgJfmviSN-i6hJNJVXvUHLbLTTVRonLVWt6uo/s234/IMG_2212.png\" imageanchor\u003d\"1\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg border\u003d\"0\" data-original-height\u003d\"215\" data-original-width\u003d\"234\" height\u003d\"215\" src\u003d\"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYyKpNmHO7uAR3i3-hBfDJD1iJ9FR7j38D_Sp3cA6UbKFjTV_FkMSEFjqfPHDJep1_Wyr2KeEWvTiee_zXmgReN58UfUOBbZ3qep9CuCrV9OyRbrTJaO67n3nyJNDpFN6pjNPAHz0QpoXOPZWhhUgJfmviSN-i6hJNJVXvUHLbLTTVRonLVWt6uo/s1600/IMG_2212.png\" width\u003d\"234\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003eWhat is the mta.yaml file?\u003c/p\u003e\u003cp\u003eThe mta.yaml file is a YAML file that provides a configuration for deploying an application to SAP BTP. It is a deployment descriptor that specifies the resources, dependencies, and modules that compose an application. The mta.yaml file is used to create a deployment package, which can be deployed to SAP BTP.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003e\u003cb\u003e\u003cu\u003eImportance\u003c/u\u003e\u003c/b\u003e of the mta.yaml file:\u003c/p\u003e\u003cp\u003eThe mta.yaml file is an essential part of the SAP CAPM project. It is used to define the project's deployment configuration and is needed to deploy the project to SAP BTP. The mta.yaml file contains information about the project's modules, resources, and dependencies. It also specifies the order in which the modules should be deployed and the resources required for each module. This information is critical for the successful deployment of the project to SAP BTP.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003e\u003cu\u003e\u003cb\u003eStructure\u003c/b\u003e\u003c/u\u003e of the mta.yaml file:\u003c/p\u003e\u003cp\u003eThe mta.yaml file has a specific structure that must be followed. The file starts with the \u003cb\u003eID and version\u003c/b\u003e of the project. This information is used to uniquely identify the project and its version. The next section defines the modules that make up the project. Each module is defined with a name, type, and path. The type of the module can be a service, application, or library.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eThe \u003cb\u003eresources\u003c/b\u003e section of the mta.yaml file defines the resources required by the modules. This section specifies the name and type of each resource, along with its properties. The dependencies section of the mta.yaml file defines the dependencies between the modules. This section specifies the name and version of each module required by the other modules.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eThe \u003cb\u003ebuild parameters\u003c/b\u003e section of the mta.yaml file defines the build parameters for the project. These parameters are used to configure the build process of the project. The parameters section of the mta.yaml file defines the parameters used by the modules. This section specifies the name and type of each parameter, along with its default value.\u003c/p\u003e\u003cp\u003e\u003cbr /\u003e\u003c/p\u003e\u003cp\u003eIn conclusion, the mta.yaml file is a critical part of the SAP CAPM project. It is used to define the project's deployment configuration and is needed to deploy the project to SAP BTP. In this blog, we discussed the importance of the mta.yaml file in SAP CAPM in BTP and the various aspects of the file. We also discussed the structure of the mta.yaml file and the information it contains. The mta.yaml file is an essential part of the SAP CAPM project, and developers must understand its structure and importance to successfully deploy their projects to SAP BTP.\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/5431221469649833054/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2023/06/mtayaml-file-in-sap-capm-projects.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5431221469649833054"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5431221469649833054"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2023/06/mtayaml-file-in-sap-capm-projects.html","title":"Mta.yaml file in SAP CAPM Projects"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOYyKpNmHO7uAR3i3-hBfDJD1iJ9FR7j38D_Sp3cA6UbKFjTV_FkMSEFjqfPHDJep1_Wyr2KeEWvTiee_zXmgReN58UfUOBbZ3qep9CuCrV9OyRbrTJaO67n3nyJNDpFN6pjNPAHz0QpoXOPZWhhUgJfmviSN-i6hJNJVXvUHLbLTTVRonLVWt6uo/s72-c/IMG_2212.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-3222279360901356744"},"published":{"$t":"2021-05-03T03:56:00.003-07:00"},"updated":{"$t":"2021-05-03T03:56:49.895-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDL"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CQL"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CSN"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cloud Application Programming Model"}],"title":{"type":"text","$t":"CDS views in SAP Cloud Application Programming Model (CAP)"},"content":{"type":"html","$t":"\u003cp\u003e\u0026nbsp;\u003c/p\u003e\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn this blog, we will deep dive into \u003cb\u003eCDS views\u003c/b\u003e with respect\nto \u003cb\u003eSAP Cloud Application Programming Model\u003c/b\u003e \u003cb\u003e(CAP).\u003c/b\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDS stands for Core Data Services, but what exactly is CDS? CDS is\na collection of Domain specific languages, helping developers to entirely focus\non specifically on business domain model.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDS is base of the SAP Cloud Application programming Model.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt provides the means to express service definitions\u003c/span\u003e and\ndata models, as well as queries, and expressions, all of this in plain\nJavaScript object notations. It can parse from a variety of source\nlanguages and to compile them into various target languages. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe CDS models are plain JavaScript objects\u003c/span\u003e complying to\nthe Core Schema Notation, in short CSN, which is an open specification\nderived from JSON Schema.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"178\" data-original-width\u003d\"374\" height\u003d\"152\" src\u003d\"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou can easily create or interpret these models,\u003c/span\u003e which\nfosters extensions by third-party contributions. Models are processed\ndynamically at runtime and can also be created dynamically.\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eDefinition Language\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDL is a human-readable syntax for defining your models.\u003c/span\u003e\nHere are some of the available definitions of this language.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e1)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eEntities\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Entities are structured types\nrepresenting sets\u003c/span\u003e of persisted data that can be read and\nmanipulated using CRUD operations.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-l6rsYF-jg_w/YI_VV2p960I/AAAAAAAAazg/WlPlz775J2klXAlue5yL9SFGIqzDd1v8ACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"192\" data-original-width\u003d\"353\" height\u003d\"174\" src\u003d\"https://lh3.googleusercontent.com/-l6rsYF-jg_w/YI_VV2p960I/AAAAAAAAazg/WlPlz775J2klXAlue5yL9SFGIqzDd1v8ACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e2)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eViews\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Views are entities defined by\nprojection\u003c/span\u003e on underlying entities or other views, like the views\nin SQL.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe element signatures are inferred from the\nprojection.\u003c/span\u003e The projection can be any valid query.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-0T1lh-ClNuw/YI_VYB0pCZI/AAAAAAAAazk/0chXyddGTkYslJ_q-hIn-zxY7Dw-L1EfgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"90\" data-original-width\u003d\"347\" height\u003d\"83\" src\u003d\"https://lh3.googleusercontent.com/-0T1lh-ClNuw/YI_VYB0pCZI/AAAAAAAAazk/0chXyddGTkYslJ_q-hIn-zxY7Dw-L1EfgCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e3)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAssociations\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\n\u003c/span\u003eAssociations capture relationships between entities.\u003c/span\u003e They are\nlike forward-declared joins added to a table definition in SQL.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-MUa9u8DqrbE/YI_VZr1TvTI/AAAAAAAAazo/mJTXRHDbFr8tzb3zp6bF5rqdo7Slvb3dACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"136\" data-original-width\u003d\"283\" height\u003d\"154\" src\u003d\"https://lh3.googleusercontent.com/-MUa9u8DqrbE/YI_VZr1TvTI/AAAAAAAAazo/mJTXRHDbFr8tzb3zp6bF5rqdo7Slvb3dACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e4)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAspects\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Aspects help to separate concerns\ninto partial definitions\u003c/span\u003e and, in this way, to avoid polluting your\nstructure. They can be declared in the same or different files or\neven in different projects, \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-jFFLPOrrns8/YI_Va709nNI/AAAAAAAAazw/izea-b0YRD4Zy6QtQV-OT5bOuu-68DynACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"143\" data-original-width\u003d\"291\" height\u003d\"157\" src\u003d\"https://lh3.googleusercontent.com/-jFFLPOrrns8/YI_Va709nNI/AAAAAAAAazw/izea-b0YRD4Zy6QtQV-OT5bOuu-68DynACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e5)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eTypes\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\n\u003c/span\u003eYou can declare custom types to reuse later on\u003c/span\u003e for example for\nelements in entity definitions.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-rivLdxZuE4Y/YI_VcCwAtcI/AAAAAAAAaz0/zWElbX-YT4sS9DpQtNntfV26eyq7-vGfQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"151\" data-original-width\u003d\"268\" height\u003d\"180\" src\u003d\"https://lh3.googleusercontent.com/-rivLdxZuE4Y/YI_VcCwAtcI/AAAAAAAAaz0/zWElbX-YT4sS9DpQtNntfV26eyq7-vGfQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpLast\" style\u003d\"mso-list: l1 level1 lfo1; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e6)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eService Definitions\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - Service\ndefinitions, service interfaces should be defined\u003c/span\u003e as collections of\nexposed entities enclosed in a service block. A service could\nalso have, as members, actions and functions. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\" style\u003d\"margin-left: .25in;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-no-proof: yes;\"\u003e\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-vfUypAaIz-c/YI_Vd_w8rGI/AAAAAAAAaz4/ytpf842BFeIupDLxQJZPM9lLwUzDYsj6gCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"199\" data-original-width\u003d\"364\" height\u003d\"175\" src\u003d\"https://lh3.googleusercontent.com/-vfUypAaIz-c/YI_Vd_w8rGI/AAAAAAAAaz4/ytpf842BFeIupDLxQJZPM9lLwUzDYsj6gCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003co:p\u003e\u003c/o:p\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-no-proof: yes;\"\u003eCore Scheme Notation(CSN)\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe next member of the languages set\u003c/span\u003e we will take a look at\nis the CSN, or Core Schema Notation. It is notation for compact\nrepresentations of data and service models, of data and service\nmodels, to share and interpret models with minimal footprint and\ndependencies. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt is like JSON Schema but goes beyond it with the ability to\ncapture full- blown,\u003c/span\u003e entity-relationship models and extensions. This\nability makes CSN models much more concise and closer to your conceptual\nthinking. \u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eLet us see an example for the same.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-9BeHwqQTG9A/YI_Vf_vCrYI/AAAAAAAAaz8/WxIRntlhMvAuD6AnhMRTli1s7i0I4nDqQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"203\" data-original-width\u003d\"624\" height\u003d\"130\" src\u003d\"https://lh3.googleusercontent.com/-9BeHwqQTG9A/YI_Vf_vCrYI/AAAAAAAAaz8/WxIRntlhMvAuD6AnhMRTli1s7i0I4nDqQCLcBGAsYHQ/w400-h130/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eOn the slide's left-hand side, you can see\u003c/span\u003e an entity Books\ndeclared in the human-readable definition language, and on the right\nside, you see the CSN representation.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eBoth are not lengthy, but still capture\u003c/span\u003e all the needed\ninformation.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-75paje4F5jQ/YI_Vg297j3I/AAAAAAAAa0A/TdSDL_R8ZfwfYfWYQruTkvnrDD36ePnYgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"286\" data-original-width\u003d\"624\" height\u003d\"184\" src\u003d\"https://lh3.googleusercontent.com/-75paje4F5jQ/YI_Vg297j3I/AAAAAAAAa0A/TdSDL_R8ZfwfYfWYQruTkvnrDD36ePnYgCLcBGAsYHQ/w400-h184/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn the next example, on the left CDL snippet,\u003c/span\u003e we see a\nservice definition with one unbound action as part of the service.\nOn the right side, the respective CSN representation, an easily\nprocessable JSON object.\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eQuery Language (CQL)\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe next member of the group of languages\u003c/span\u003e is the query\nlanguage, abbreviated as CQL or CDS QL. CDS QL is based on standard SQL,\nbut upgrades it with some really handy features, like postfix\nprojections, path expressions, CDL-style casts, and some more.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e1)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePostfix Projections - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCQL allows\nputting the SELECT clause\u003c/span\u003e behind the FROM clause, enclosed in curly\nbraces. We see in the example that the elements list is put\nbehind the \"from Books\" part of the statement.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIn the postfix projections, the star operator\nqueries\u003c/span\u003e in the postfix projections, the star operator queries compared\nto the plain SQL SELECT clauses. Queries like on the example here would\nresult in duplicate element effects for author in SQL, but in CDS\nQL, explicitly defined columns following the star will replace equally\nnamed columns.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-8Kl-79iv-_w/YI_VipqK4QI/AAAAAAAAa0E/58pZ-XxUdgwq0kajWCQnCSLFQvkc8lQVgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"21\" data-original-width\u003d\"323\" height\u003d\"21\" src\u003d\"https://lh3.googleusercontent.com/-8Kl-79iv-_w/YI_VipqK4QI/AAAAAAAAa0E/58pZ-XxUdgwq0kajWCQnCSLFQvkc8lQVgCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e2)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c!--[endif]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePath Expressions -\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp; \u003c/span\u003e\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eOne should use path expressions\u003c/span\u003e\nto navigate along associations and structured elements in any of the SQL\nclauses like FROM clauses, SELECT clauses, or WHERE clauses as is\nshown here in the example.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-IhEMqlCID6s/YI_Vj4ZePiI/AAAAAAAAa0M/XZiAm1DkJ_sU8Q8f6_Z5PqWtlNGZ_tbzwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"116\" data-original-width\u003d\"325\" height\u003d\"114\" src\u003d\"https://lh3.googleusercontent.com/-IhEMqlCID6s/YI_Vj4ZePiI/AAAAAAAAa0M/XZiAm1DkJ_sU8Q8f6_Z5PqWtlNGZ_tbzwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePath expressions in FROM clauses allow to\nfetch only\u003c/span\u003e those entries from a target entity that are associated\nto a parent entity. They unfold to semi-joins in plain SQL queries.\nThe path expressions in all other clauses are very much like standard\nSQL column expressions, with table aliases as single prefixes.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"mso-list: l0 level1 lfo2; text-indent: -.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan style\u003d\"mso-list: Ignore;\"\u003e3)\u003cspan style\u003d\"font: 7.0pt \u0026quot;Times New Roman\u0026quot;;\"\u003e\u0026nbsp; \u0026nbsp; \u0026nbsp; \u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCDL – style casts\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e - As an\nalternative of the SQL-type casts,\u003c/span\u003e you can use CDL-styled casts. This\nis done as in the element of an entity definition.\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp; \u003c/span\u003e\u003cspan style\u003d\"mso-spacerun: yes;\"\u003e\u0026nbsp;\u003c/span\u003e\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-hWQbhhwrEU4/YI_VlVZHviI/AAAAAAAAa0U/8L6Na1cdRYUFsVuPhV26avAPN1ddyWbsQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"19\" data-original-width\u003d\"329\" height\u003d\"18\" src\u003d\"https://lh3.googleusercontent.com/-hWQbhhwrEU4/YI_VlVZHviI/AAAAAAAAa0U/8L6Na1cdRYUFsVuPhV26avAPN1ddyWbsQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003cb style\u003d\"text-align: left; text-indent: -0.25in;\"\u003e4) Excluding clause - \u003c/b\u003e\u003cspan style\u003d\"text-align: left; text-indent: -0.25in;\"\u003eTo exclude\nelements from your SELECT list,\u003c/span\u003e\u003cspan style\u003d\"text-align: left; text-indent: -0.25in;\"\u003e the excluding clauses come to help.\nCombined with the SELECT star of all elements, it gives the chance to\nget rid of the elements listed in the curly braces.\u003c/span\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-9wrvcSxuVzs/YI_VmjKlPlI/AAAAAAAAa0Y/FRenOsMaT7UtWj7ChqJNEbAquBSdNxqqwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"24\" data-original-width\u003d\"345\" height\u003d\"22\" src\u003d\"https://lh3.googleusercontent.com/-9wrvcSxuVzs/YI_VmjKlPlI/AAAAAAAAa0Y/FRenOsMaT7UtWj7ChqJNEbAquBSdNxqqwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cb style\u003d\"text-indent: -0.25in;\"\u003e5) Query – local mixins – \u003c/b\u003e\u003cspan style\u003d\"text-indent: -0.25in;\"\u003eIt is used\nto logically add elements to the source of your query.\u003c/span\u003e\u003cspan style\u003d\"text-indent: -0.25in;\"\u003e Later on, those\nelements can be used and propagated in the query's projection.\u003c/span\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-NSj7T4N7ZYM/YI_Vn6gGs-I/AAAAAAAAa0c/TyD-eNJHKp8_6lPfgTMTwsKku6006s_vQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"131\" data-original-width\u003d\"261\" height\u003d\"161\" src\u003d\"https://lh3.googleusercontent.com/-NSj7T4N7ZYM/YI_Vn6gGs-I/AAAAAAAAa0c/TyD-eNJHKp8_6lPfgTMTwsKku6006s_vQCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003eIn our \u003ca href\u003d\"http://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html\"\u003eprevious blog\u003c/a\u003e, we saw how to create a hello world project using CDS and node.js in\nSAP BAS.\u003cp\u003e\u003c/p\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/3222279360901356744/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/cds-views-in-sap-cloud-application.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3222279360901356744"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/3222279360901356744"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/cds-views-in-sap-cloud-application.html","title":"CDS views in SAP Cloud Application Programming Model (CAP)"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-6-Ez4htOqfk/YI_VTECdJ6I/AAAAAAAAazY/m6-HpbLNNq4pV08vu_PyqZLAdHaK79lQQCLcBGAsYHQ/s72-c/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-3826368468004556615.post-5954739278923238196"},"published":{"$t":"2021-05-03T03:39:00.002-07:00"},"updated":{"$t":"2021-05-03T03:47:55.840-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP BAS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"example of CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"CDS"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP Bussiness Application Studio"},{"scheme":"http://www.blogger.com/atom/ns#","term":"node.js"},{"scheme":"http://www.blogger.com/atom/ns#","term":"SAP CAP"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Cloud Application Programming Model"},{"scheme":"http://www.blogger.com/atom/ns#","term":"hello world application"},{"scheme":"http://www.blogger.com/atom/ns#","term":"design principles"}],"title":{"type":"text","$t":"What is SAP Cloud Application Programming Model (CAP)?"},"content":{"type":"html","$t":"\u003cp\u003e\u0026nbsp;In this tutorial series, we will focus on learning SAP Cloud Application\nProgramming Model (CAP).\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eCAP is a framework, that would not only guide developers,\u003c/span\u003e but\nalso take away some of the more technical or foundational tasks to help\nthem focus on their business logic. Business logic is the key\ndifferentiator for what you are developing.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eSAP CAP is both open and opinionated.\u003c/span\u003e The programming model\nis a combination of tools, languages, and libraries that will help you\nbuild enterprise-grade services and applications.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe goal is to guide developers\u003c/span\u003e and minimize boilerplate\ncontent, so they can focus on what's important the business logic.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"208\" data-original-width\u003d\"222\" height\u003d\"240\" src\u003d\"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/image.png\" width\u003d\"256\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eAs you can see in this graphic,\u003c/span\u003e we support both open-source\nand SAP tools and technologies.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eComponents of CAP\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoNormal\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-HOpZWBj2_HY/YI_RqjmeJTI/AAAAAAAAax4/dFPfSDJb3jc-0nn0FOzSK2FRQwlwbUjrwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"174\" data-original-width\u003d\"271\" height\u003d\"205\" src\u003d\"https://lh3.googleusercontent.com/-HOpZWBj2_HY/YI_RqjmeJTI/AAAAAAAAax4/dFPfSDJb3jc-0nn0FOzSK2FRQwlwbUjrwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003cbr /\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpFirst\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e1) Core Data Services\u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e (CDS) is\nthe data modelling infrastructure. CDS is known as the backbone of the\nprogramming model,\u003c/span\u003e as it provides the means to capture service\ndefinitions and data models, queries, and expressions in plain\nobject notations.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e2) Service SDKs - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt\nsupports libraries available for both Java and Node.js,\u003c/span\u003e which can be\nused to provide and consume services through synchronous and asynchronous\nAPIs.\u003cb\u003e\u0026nbsp;\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe SDKs include out-of-the-box integration\u003c/span\u003e\nto lower-level platform services, such as authentication and\ncredential-flows or on and off-boarding of SaaS tenants.\u003c/p\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"text-align: left;\"\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; mso-list: l0 level1 lfo1; text-align: left; text-indent: -0.25in;\"\u003e\u003c!--[if !supportLists]--\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan\u003e\u0026nbsp;\u0026nbsp; \u0026nbsp;\u003c/span\u003e3) SAP BAS, Fiori Elements, SAP HANA - \u003c/span\u003e\u003c/b\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eSAP BAS is\nthe IDE of choice, there is Support for SAP HANA and SAP Fiori Elements\u003c/span\u003e.\u003cb\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eDesign\nPrinciples\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eWhen\nit comes to design principles,\u003c/span\u003e there is open and opinionated concept.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eIt's\n\u003cb\u003eopen\u003c/b\u003e because it gives you choice.\u003c/span\u003e You can choose which technology\nto use, you can select your architecture pattern, you can pick\nand choose the parts of the programming model that suit your development\nneeds best. But it's also \u003cb\u003eopinionated\u003c/b\u003e, because we provide but\nit's also opinionated, because we provide for you to follow SAP’s\nrecommended approach.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-C5NDS5iWd48/YI_Rsmm8KaI/AAAAAAAAax8/WRjE48R6iQIxVQpvK5QY1L8OyDrLorHLwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"252\" data-original-width\u003d\"411\" height\u003d\"196\" src\u003d\"https://lh3.googleusercontent.com/-C5NDS5iWd48/YI_Rsmm8KaI/AAAAAAAAax8/WRjE48R6iQIxVQpvK5QY1L8OyDrLorHLwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp\u003e\u003c/p\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003eZero\nLock-In\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou\ncan choose any technology of your choice, that there is no locked-in, mandatory\npath\u003c/span\u003e with this programming model. To build your UI, you can use\nSAP Fiori Elements, or you can use any other alternative technology as\nwell.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eNon-Intrusive\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThe\nprogramming model is non-intrusive, i.e. it is completely free of assumptions. Here\nthe main goal here is to reduce boilerplate code,\u003c/span\u003e which would be the\nsame regardless of the architecture or methodology you choose.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cb\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003ePlatform-Agnostic\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/b\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eYou\ncan build applications in a way that is independent\u003c/span\u003e from the underlying\ncloud infrastructure. To achieve this by using an API-first approach\nthat avoids hard wiring to any given technology.\u003co:p\u003e\u003c/o:p\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eLet’s\nunderstand with an example Hello World application using CDS and node.js using\nSAP BAS as IDE.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eI\nhope you are well versed with the basics of SAP BAS. If you aren’t, please\ncheck my previous blog on introduction to SAP BAS and setting up.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003cspan color\u003d\"windowtext\"\u003e\u003ca href\u003d\"http://www.sapui5tutors.com/2020/11/getting-started-with-sap-bussiness.html\"\u003eIntroduction to SAP BAS\u003c/a\u003e\u003c/span\u003e\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003ca href\u003d\"http://www.sapui5tutors.com/2020/11/setting-up-sap-bussiness-application.html\"\u003e\u003cspan color\u003d\"windowtext\"\u003eSetting up SAP BAS\u003c/span\u003e\u003c/a\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eThis\nis the home page of SAP BAS.\u003co:p\u003e\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-VUexS5ZYkmk/YI_RxCk94eI/AAAAAAAAayA/M4Oa5dVsIdgn_qS-oTUGU6CbuWzm9-TjQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"283\" data-original-width\u003d\"624\" height\u003d\"181\" src\u003d\"https://lh3.googleusercontent.com/-VUexS5ZYkmk/YI_RxCk94eI/AAAAAAAAayA/M4Oa5dVsIdgn_qS-oTUGU6CbuWzm9-TjQCLcBGAsYHQ/w400-h181/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eGo\nTo terminal and enter cd projects\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-L2vlAjYuWfc/YI_R3PK9LwI/AAAAAAAAayE/XM5_IUlK0VsC_6KkLtizrBAHoVYMkGQIACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"176\" data-original-width\u003d\"583\" height\u003d\"121\" src\u003d\"https://lh3.googleusercontent.com/-L2vlAjYuWfc/YI_R3PK9LwI/AAAAAAAAayE/XM5_IUlK0VsC_6KkLtizrBAHoVYMkGQIACLcBGAsYHQ/w400-h121/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: justify;\"\u003e\u003cspan style\u003d\"text-align: left;\"\u003eCDS\nInit helloworld create a new project template and you can search the project in\nthe projects directory.\u003c/span\u003e\u003c/div\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-eRBoJG2X8rQ/YI_R6SM4vgI/AAAAAAAAayM/zUalRBdB8LUgAjFLfLtEeDZDpCTsbB-dwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"268\" data-original-width\u003d\"244\" height\u003d\"320\" src\u003d\"https://lh3.googleusercontent.com/-eRBoJG2X8rQ/YI_R6SM4vgI/AAAAAAAAayM/zUalRBdB8LUgAjFLfLtEeDZDpCTsbB-dwCLcBGAsYHQ/w292-h320/image.png\" width\u003d\"292\" /\u003e\u003c/a\u003e\u003c/div\u003eAs\nyou can see, by using cds init, the project structure was already created\nwith a folder for the services, for the database, and for the UI.\u003cdiv\u003eNow\nlets define a service in the srv folder and name it as say.cds\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-8j-aL9DZ528/YI_SBc4NoTI/AAAAAAAAayY/D5kGMwRolDAj22Lhl33NQnzukhjHbpBxQCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"216\" data-original-width\u003d\"624\" height\u003d\"138\" src\u003d\"https://lh3.googleusercontent.com/-8j-aL9DZ528/YI_SBc4NoTI/AAAAAAAAayY/D5kGMwRolDAj22Lhl33NQnzukhjHbpBxQCLcBGAsYHQ/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eNow,\nwe need to implement the service. To do so, we create another file say.js.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-W91UdraEsVg/YI_SFgkt4aI/AAAAAAAAayc/RlfXf4Byr6AktpIMR_JV7Bv9Y2j__u2ZACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"175\" data-original-width\u003d\"624\" height\u003d\"113\" src\u003d\"https://lh3.googleusercontent.com/-W91UdraEsVg/YI_SFgkt4aI/AAAAAAAAayc/RlfXf4Byr6AktpIMR_JV7Bv9Y2j__u2ZACLcBGAsYHQ/w400-h113/image.png\" width\u003d\"400\" /\u003e\u003c/a\u003e\u003c/div\u003eNow,\ngo to the terminal and we can run our little hello world application.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-m5lL6JWlK9k/YI_SNSRvWsI/AAAAAAAAayo/LRWERbMdy_8mA1Gfe8RffhThtfRiu4u8gCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"136\" data-original-width\u003d\"242\" height\u003d\"180\" src\u003d\"https://lh3.googleusercontent.com/-m5lL6JWlK9k/YI_SNSRvWsI/AAAAAAAAayo/LRWERbMdy_8mA1Gfe8RffhThtfRiu4u8gCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003c/div\u003eSo\nusing cds run, we should get a running service.\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-FhyGuxgf3yE/YI_SPvjggeI/AAAAAAAAays/iO03CeMwu94KiumK2bhx9AyfBw18z4pPgCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"219\" data-original-width\u003d\"291\" height\u003d\"240\" src\u003d\"https://lh3.googleusercontent.com/-FhyGuxgf3yE/YI_SPvjggeI/AAAAAAAAays/iO03CeMwu94KiumK2bhx9AyfBw18z4pPgCLcBGAsYHQ/image.png\" width\u003d\"319\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto; text-align: justify;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003eWe\ncan edit the url to run our hello world request.\u0026nbsp;\u003c/span\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-tS1Ls50ruRk/YI_SQzyDPuI/AAAAAAAAayw/u8ayDYN5xdU_BlR6c5guvu2LwRBg8lefwCLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"40\" data-original-width\u003d\"390\" height\u003d\"33\" src\u003d\"https://lh3.googleusercontent.com/-tS1Ls50ruRk/YI_SQzyDPuI/AAAAAAAAayw/u8ayDYN5xdU_BlR6c5guvu2LwRBg8lefwCLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003e\u003cbr /\u003e\u003co:p\u003e\u003c/o:p\u003e\u003cp\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003cspan style\u003d\"mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;\"\u003e\u003co:p\u003e\u0026nbsp;\u003c/o:p\u003e\u003c/span\u003e\u003c/p\u003e\n\n\u003cp class\u003d\"MsoListParagraphCxSpMiddle\" style\u003d\"margin-left: 27pt; mso-add-space: auto;\"\u003e\u003c/p\u003e\u003cdiv class\u003d\"separator\" style\u003d\"clear: both; text-align: center;\"\u003e\u003ca href\u003d\"https://lh3.googleusercontent.com/-OF7Xfu7XHYw/YI_SR9IVjUI/AAAAAAAAay4/_rH5ZVnc1ys_HXCZ4aOcrY3cvkBMhfniACLcBGAsYHQ/image.png\" style\u003d\"margin-left: 1em; margin-right: 1em;\"\u003e\u003cimg alt\u003d\"\" data-original-height\u003d\"174\" data-original-width\u003d\"624\" height\u003d\"89\" src\u003d\"https://lh3.googleusercontent.com/-OF7Xfu7XHYw/YI_SR9IVjUI/AAAAAAAAay4/_rH5ZVnc1ys_HXCZ4aOcrY3cvkBMhfniACLcBGAsYHQ/image.png\" width\u003d\"320\" /\u003e\u003c/a\u003e\u003c/div\u003eAnd\nwe'll see the value returned as \"Hello world\".So I hope\nyou learned how to build a small HelloWorld application using CDS and node.js\non SAP BAS. In the coming blogs, we will explore more about CDS and SAP CAP.\u003c/div\u003e"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https://www.sapui5tutors.com/feeds/5954739278923238196/comments/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5954739278923238196"},{"rel":"self","type":"application/atom+xml","href":"https://www.blogger.com/feeds/3826368468004556615/posts/default/5954739278923238196"},{"rel":"alternate","type":"text/html","href":"https://www.sapui5tutors.com/2021/05/what-is-sap-cloud-application.html","title":"What is SAP Cloud Application Programming Model (CAP)?"}],"author":[{"name":{"$t":"Sanjo Thomas"},"uri":{"$t":"https://www.blogger.com/profile/06687889588258406801"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"35","height":"35","src":"//www.blogger.com/img/blogger_logo_round_35.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https://lh3.googleusercontent.com/-7wdklXOSwfE/YI_RpSo3wjI/AAAAAAAAax0/Mwx6_bUakp0lLjsfNyDQm1VmY-cq_6NzwCLcBGAsYHQ/s72-c/image.png","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});