![Blue Antoinette](/img/default-banner.jpg)
- Видео 40
- Просмотров 81 334
Blue Antoinette
Австрия
Добавлен 20 апр 2020
Artificial Intelligence (AI) | Cloud Solutions | Global Tax Solutions | Blockchain Integration | Google Cloud, SAP OE and Chainlink Partner | Premium Products and Global Services
Create and Deploy SAP Fiori App to ABAP Environment in SAP BTP | Load Mode | IAM | Business Catalog
In this video we create a SAP Fiori app based on an OData V4 service
that we created in the Video "Let's Code ABAP, Restful Application Programming Model"
We customize this RUclips Tutorials app to automatically load the data from the database and to display it in the UI once the app is launched.
And then we will deploy the App to the ABAP Environment in SAP BTP and create an IAM App and a Business Catalog for it.
The Tools and services we are going to use in this video are BAS, the SAP Business Application Studio and Eclipse.
Chapters in this video:
0:00 - Intro and Explanation
01:13 - Open Dev Space in BAS
01:30 - Login to Cloud Foundry
02:17 - Create Fiori App
02:55 - Data Source and Service S...
that we created in the Video "Let's Code ABAP, Restful Application Programming Model"
We customize this RUclips Tutorials app to automatically load the data from the database and to display it in the UI once the app is launched.
And then we will deploy the App to the ABAP Environment in SAP BTP and create an IAM App and a Business Catalog for it.
The Tools and services we are going to use in this video are BAS, the SAP Business Application Studio and Eclipse.
Chapters in this video:
0:00 - Intro and Explanation
01:13 - Open Dev Space in BAS
01:30 - Login to Cloud Foundry
02:17 - Create Fiori App
02:55 - Data Source and Service S...
Просмотров: 255
Видео
Setting up SAP Business Application Studio (BAS) in SAP BTP
Просмотров 25314 дней назад
In this video you learn how to setup SAP Business Application Studio (BAS) in SAP BTP. We show you how to assign the required entitlements to your subaccount and how to subscribe to the corresponding service. Furthermore we fix a common "Access Denied" error and then we create a Dev Space for a SAP Fiori Development scenario and a workspace for our next project. Eventually we connect BAS to the...
How to make HTTP Requests to External APIs with ABAP | URL Method and Communication Arrangement
Просмотров 379Месяц назад
In this video you learn how to make HTTP Requests to External APIs in ABAP. We will cover three approaches, the HTTP Communication via URL, the HTTP Communication via Communication Arrangement and the HTTP Communication via Destination Service. Since the last one is deprecated we implement just the first two live in this video in the SAP BTP ABAP Environment. Chapters in this video: 0:00 - Intr...
Let's code ABAP | RESTful Application Programming Model (RAP) | CDS | Virtual Elements
Просмотров 851Месяц назад
In this video we build a SAP RUclips Tutorials App with ABAP and the ABAP RESTful Application Programming Model (RAP). You learn how to insert data into a table through an executable ABAP class and how to create all required artifacts to build a Business Service. We customize the UI with metadata extensions and we extend the projection view with a Virtual Element to display thumbnails. Chapters...
Eclipse for ABAP Developers | 2024 Installation and Programming | ADT, abapGit, BTP, Certificate
Просмотров 5992 месяца назад
In this video we show you how you can install the latest Eclipse IDE release (2024-03) and the ABAP Development Tools that are required for ABAP Development. Then we connect Eclipse to the ABAP Environment in the SAP Business Technology Platform (BTP). Additionally we install abapGit, the git client that allows you to import and export ABAP objects between ABAP servers. We show you how to use a...
ABAP Environment in SAP BTP | Free Tier Setup Guide
Просмотров 6713 месяца назад
In this video we show you how you can set up your ABAP Environment in the SAP Business Technology Platform (BTP) for free. We use the Free Tier Pay-As-You-Go model and explain the advantages over a free trial account. You learn how to assign the required entitlements and how to create your ABAP Environment. Additionally you learn how to setup and use the Landscape Portal to start and stop your ...
Cloud Foundry Environment in SAP BTP | Free Set Up | Full Guide
Просмотров 3763 месяца назад
In this video we show you how you can set up your Cloud Foundry Runtime Environment in the SAP Business Technology Platform (BTP) for free. Chapters in this video: 0:00 - Intro and Explanation 00:42 - SAP Discovery Center 02:17 - SAP Business Techology Platform (BTP) 03:29 - Cloud Foundry Environment 04:02 - Cloud Foundry Entitlement 04:26 - Cloud Foundry Service 05:44 - Cloud Foundry Spaces 06...
Extending SAP S/4HANA Cloud | Private Edition | Public Edition | BTP | Architectural Overview
Просмотров 5534 месяца назад
In this video we show you how you as a developer can extend SAP S/4 Hana Cloud. We give you an architectural overview of the Private Edition and the Public Edition of SAP S/4 Hana Cloud and explain which role the SAP Business Technology Platform (BTP) plays in this context. Furthermore you learn which programming models are available and you get some insight which development tools and programm...
Python Inheritance and Abstract Classes | OOP
Просмотров 1287 месяцев назад
In this video you learn how to create an abstract base class in Python and how to derive your child classes from it. We create an abstract class for endpoints and inherit unique endpoints from this class. Chapters in this video: 0:00 - Intro and Explanation 00:45 - Overview 01:27 - Create abstract class 03:16 - Inherit from base class 04:15 - Run app (1 endpoint) 04:32 - Derive another endpoint...
Python - Pass self to another class | Protocol Classes and Type Checking | OOP
Просмотров 1008 месяцев назад
Learn how to pass self to the constructor of another class and still take advantage of static type checking in Python. We show you how to fix the ImportError: cannot import name from partially initialized module (most likely due to a circular import) by implementing a Protocol Class. Chapters in this video: 0:00 - Intro and Explanation 00:41 - Overview 01:13 - Create endpoint class 02:27 - Try ...
How to wrap a Python Flask App in a Class | Object Oriented Programming (OOP)
Просмотров 8628 месяцев назад
In this episode we dive into Object Oriented Programming (OOP) with Python. In particular we show you how to wrap a Flask App in a python class. This is especially useful if you want to include Flask based APIs in your object oriented python app. Chapters in this video: 0:00 - Intro and Explanation 00:39 - Setup and Virtual Environment 02:05 - Create Python Flask App (OOP) 02:50 - Property Deco...
How to create a virtual environment for Python with Conda | Anaconda or Miniconda?
Просмотров 5978 месяцев назад
In this video you learn how to install Miniconda and Anaconda and how to setup a virtual environment for Python. This video is the first episode of a new series - Mastering Python. Chapters in this video: 0:00 - Intro and Explanation 00:48 - Setup Virtual Machine 01:06 - Conda Overview 01:43 - Miniconda Installation 03:54 - Create Virtual Environment (Miniconda) 05:36 - Install package with pip...
aitomChat - Talk with documents | Retrieval Augmented Generation (RAG) | Huggingchat extension
Просмотров 2848 месяцев назад
In this video you learn how you can talk to your documents with HuggingChat and the aitomChat extension. You learn everything, from the Chat UI to the Inference and the Retrieval Augmented Generation (RAG). Unlike OpenAI's ChatGPT this solution provides real privacy for your PDFs and other document types and data, since it can run locally and in your private cloud. Chapters in this video: 0:00 ...
Code Llama 34B model with Inference and HuggingChat | Local Setup Guide (VM) and Live Demo
Просмотров 1 тыс.10 месяцев назад
In this video you learn how you can run Meta's new Code Llama 34B parameter instruct model locally on a GCP VM through a text generation inference server from Hugging Face and to connect it to the HuggingChat UI. Chapters in this video: 0:00 - Intro and Explanation 01:13 - Demo HuggingChat locally 01:31 - Remote SSH into GCP VM 02:35 - Code Llama writes Python app 03:41 - GPU requirements and G...
LangChain Boilerplate | Compose LangChain Apps with aitom8 | HuggingFace Pipeline Sample
Просмотров 24711 месяцев назад
In this video you learn how you can compose a fully functional LangChain app without writing a single line of code. We demonstrate this live by utilizing the latest release of our ai automation software aitom8 that comes with a LangChain Boilerplate and components that automatically generate native LangChain Python Code for you. Chapters in this video: 0:00 - Intro 0:08 - Create LangChain aitom...
HuggingChat Installation with aitom8 Plugin | Chat-UI + Inference Server + LLM
Просмотров 500Год назад
HuggingChat Installation with aitom8 Plugin | Chat-UI Inference Server LLM
NVIDIA CUDA Installation on Debian 11 | Container Toolkit | aitom8
Просмотров 593Год назад
NVIDIA CUDA Installation on Debian 11 | Container Toolkit | aitom8
AI automation with aitom8 | privateGPT sample with automated virtual environment | Live demo
Просмотров 353Год назад
AI automation with aitom8 | privateGPT sample with automated virtual environment | Live demo
ChatGPT - but Open Sourced | Running HuggingChat locally (VM) | Chat-UI + Inference Server + LLM
Просмотров 9 тыс.Год назад
ChatGPT - but Open Sourced | Running HuggingChat locally (VM) | Chat-UI Inference Server LLM
SSH into Remote VM with VS Code | Tunneling into any cloud | GCP Demo
Просмотров 32 тыс.Год назад
SSH into Remote VM with VS Code | Tunneling into any cloud | GCP Demo
Multi Tenancy Cloud Server for WordPress (WPMTCS 2.0)
Просмотров 641Год назад
Multi Tenancy Cloud Server for WordPress (WPMTCS 2.0)
OpenAPI Builder for WordPress | Storing Swagger-Editor Content Server Side | Live Demo & Source Code
Просмотров 1,3 тыс.Год назад
OpenAPI Builder for WordPress | Storing Swagger-Editor Content Server Side | Live Demo & Source Code
SAP Integration Suite: Connecting to non-SAP REST API (Global Tax as a Service)
Просмотров 1,7 тыс.Год назад
SAP Integration Suite: Connecting to non-SAP REST API (Global Tax as a Service)
SAP Fiori Launchpad Builder for VS Code (Live Demo and Making-of)
Просмотров 1,1 тыс.Год назад
SAP Fiori Launchpad Builder for VS Code (Live Demo and Making-of)
SAP BTP Dev Container for VS Code (Live Demo and How-To)
Просмотров 1,3 тыс.Год назад
SAP BTP Dev Container for VS Code (Live Demo and How-To)
Nginx Reverse Proxy SSL Automation with Docker, Let’s Encrypt and Cron
Просмотров 13 тыс.Год назад
Nginx Reverse Proxy SSL Automation with Docker, Let’s Encrypt and Cron
NFT Marketplace with Lazy Minting #10 Royalties and EIP-2981
Просмотров 8352 года назад
NFT Marketplace with Lazy Minting #10 Royalties and EIP-2981
NFT Marketplace with Lazy Minting #9 Monetization and Revenue Distribution
Просмотров 3032 года назад
NFT Marketplace with Lazy Minting #9 Monetization and Revenue Distribution
NFT Marketplace with Lazy Minting #8 Get the Source Code (Surprise!) and install it
Просмотров 4532 года назад
NFT Marketplace with Lazy Minting #8 Get the Source Code (Surprise!) and install it
NFT Marketplace with Lazy Minting #7 Lazy Minting and EIP-712
Просмотров 1,5 тыс.2 года назад
NFT Marketplace with Lazy Minting #7 Lazy Minting and EIP-712
Thank you for the excellent series of videos! I have noticed that most SAP RAP tutorials primarily focus on the "UI service," leaving a gap in coverage/documentation/examples for the "Web APIs" model. This is particularly challenging when working with custom entities, as the APIs created are often not exact mirrors of a CDS. In my opinion, while implementing a simple or even a complex read API in SAP RAP is relatively straightforward, creating or updating (POST/PUT/PATCH/...) is more complicated. While there are restrictions in the SEGW methodology, they are not as extensive as those in RAP.
Thanks for your feedback and for sharing your findings here.
How can I get a free SAP BTP global account?
You can sign up for free trial account or a Pay-As-You-Go model (which Includes access to a free tier model) at the SAP site.
How can I get a free SAP BTP global account?
You can sign up for free trial account or a Pay-As-You-Go model (which Includes access to a free tier model) at the SAP site.
Thanks, great explanation. Appears that a lot more tools and knowledge is required than with old SAP GUI...
Thanks. Yes, however SAP Fiori provides way richer UI experience than SAP GUI.
Take a bow!
Thank you it works fine.But it is little bit tricky.If you want to connect to the existing VM make sure you put exact same name as it is on your existing VM at the end of the private key.Otherwise will create sibling on your existing vm and you will not be able to access the ubuntu existing files.
No changes to private keys are required.
Just wanted to say thank you for the informative videos...I have been a classic abap dev for awhile, but was looking for some direction on the newer dev work since that is the future and my current employer doesnt train us on the new methods.
Thanks for your nice words, appreciate it!
You've solved my issue my good man, thanks so much. everything clear
Glad it helped!
how to get access to editing files?
Look for a .ssh directory in your home directory
Great video
Thanks!
Thanks for the video. Whenever i try to create the Package /DMO/FLIGHT i get the error message: "Package /DMO/FLIGHT already exists". Do you have any idea what i am doing wrong here? Thanks in advance 🙂
Sounds like it exists. Search for it and check if it contains also the artifacts. If it is empty delete it and try to create it again, if not use it. Optionally you can add it to your favorites manually.
I'm receiving the error message "You were successfully authenticated, but an error occurred during the Service Instance logon. Please ensure that your user has the appropriate roles." when I try to connect to my ABAP Service Instance on BTP with Eclipse.
Add your user to the Role „SAP_BR_DEVELOPER“ in your SAP BTP ABAP Environment->„Maintain Business Roles“
Hello, do you have an idea how to filter on the calculated field within the view definition? Example: define root view entity xxxx as projection on yyyyyy { key UUID, @ObjectModel.virtualElementCalculatedBy: 'ABAP:ZCLASS_CALC' virtual Testitest : abap.char( 10 ) } where Testitest = 'ABC' This doesn't work because the column is unknown. And if i try to filter within the class it raises a short dump because ct_calculated_data needs the same amount of entries as the it_original_data
Great question, maybe setting the filtering condition in @ObjectModel.filter.transformedBy: … helps
@@BlueAntoinette yeah i have tried that. But my problem is, that the calculated column is based on a function module and is not depending on any existing database column.
Well, if it is not depending on a database column, on what information does it get differentiated?
@@BlueAntoinette The calculation imports the values of three different columns to traverse a tree. Depending on different combinations a Boolean gets exported and displayed in the application. But nevermind, i am pretty sure that I can’t solve my problem with the filter factory. According to the documentation, I need a real database column and that doesn’t work. Thank you for your input ☺️
Hi, i have a question. What would be the reason if i cant see ABAP environment in instances/services options? I've a subaccount that provided by my company's IT.
Either you have no entitlement for it or you did not subscribe to it.
@@BlueAntoinette One more thing, does name of service corresponds to same name as Entitlement?
Yes, it‘s both „ABAP Environment“
In my app it's not possible to click on the thumbnail in the object page to enlarge the picture. Any idea?
Did you add the headerinfo annotation as shown in this step? ruclips.net/video/BEbztssJlg8/видео.html
@@BlueAntoinette Yes, the Thumbnail was displayed in the object page. But it's not clickable. @UI: { headerInfo: { title: { type: #STANDARD, value: 'Title' }, imageUrl: 'Thumbnail' } I've tried it with 2 @UI.headerInfo... annotations too. Same result. Visible Thumbnail, no zoom possible.
Hm, I did nothing special to make it clickable. This worked out of the box in my case. Maybe it’s related to a different version of the framework on your hyperscaler, region or account.
@@BlueAntoinette We probably need to update our UI5 version on the S4 system. Elements will eventually become UI5 and if we have an old version, one or the other functionality will not be available. Thanks for the quick reply anyway. PS: Do you know how to implement an action that deletes a record? After deleting, I always get the object page with a 00000-0000-00000... entry (because the actual one is deleted). If I select >1 entries, I remain in the list view. Maybe you can make a short video if you have the solution. I couldn't find anything on the web. PSPS: It is NOT the implementation of the DELETE functionality in an unmanaged scenario. I need an action with its own label (since the action was DELETED AND somewhere else was UPDATED, the label was "No Hit")
Regarding the delete issue, could you provide a reproducible sample? Hard for me to reproduce it otherwise.
tnx. I want to know how to find the driver program in s4hc public edition
What do you actually want to achieve? (There might be a different approach required in Cloud vs. On-Premise.)
Due to other URLs I had to adjust the determination of the video id. In addition, it was necessary to check whether a video url exists, as an entry is created in the draft table when it is created and this does not contain a url. Creating the url for the virtual field then fails and the app crashes. So, if no url is available, I simply used a url from the web that represents a question mark (default image). Overall, my LOOP content looks like this: (for urls like "ruclips.net/video/abc123def456/видео.html") IF <videos>-Url <> ''. DATA(watch_id) = segment( val = <videos>-Url index = 4 sep = `/` ). DATA(video_id) = segment( val = watch_id index = 2 sep = '=' ). WRITE video_id. <videos>-Thumbnail = 'i.ytimg.com/vi/' && video_id && '/hqdefault.jpg'. ELSE. <videos>-Thumbnail = '.../_Unknown.png'. ENDIF. Next, I try to determine the video id using RegEx. Question on my part: In CDS Elements Apps it is possible to load the table automatically at app start (no need to click on Go). Can this also be implemented in RAP (it's hard to find anything on the web and ChatGPT doesn't help at the moment).
On my dash bord on GT4M it doesn't shows the option Global Tax on the menu.
It appears once you purchase „Global Tax as a Service“ in the Blue Antoinette marketplace and you enter the license key that you receive. Alternatively, if you purchase „Global Tax as a Service“ in the Google Cloud marketplace, you can single sign on with your Google Account and then it‘s available for you right away (without license key).
Very nice, thanks a lot. Interesting with the thumbnails. Is it possible to display the URL clickable in the object page (02:02 and 20:45)? It is a pity that the SAP UUIDs are not real UUIDs. UUIDs should always be completely different so that it is not possible to infer other UUIDs from a known UUID. Unfortunately, ABAP only adds the value 2 in the fourth last byte. If I have the UUID of e.g. user 1, I can simply calculate the UUID of user 10. This is exactly what the UUID should prevent in comparison to the ID (integer). This is the case everywhere (JavaScript, PowerShell, Bash, C#, ...) but not in ABAP :-(
Regarding the clickable URLs at the object page you can try: @UI.identification: [ { position: 45, type: #WITH_URL, url: 'Url' -- Reference to element } ] Regarding the UUID issue you could try to reach out to SAP directly.
You just saved my day!
Glad it helped!
Thank you so much. This one exactly what I needed!
Glad it was helpful!
Thank you so much!
You're welcome!
Best video ever uploaded to youtube, thanks man.
Glad you liked it!
Hello, I have created a global account for ALM. In my case an only standard plan of CF is available. I have tried to create a new subaccount in Google (Frankfurt), but in the market place I can see only the standard plan
Thank you for this video, I am trying to use the UI with my custom backend server which has RAG setup in it, but all it needs as parameters are the queries, as per what I explored, it looks like I have to make changes in the source code, is there any easier way to achieve this
I did the same once with my RAG backend and I had to make changes to the source code as well. Learn more about my solution here: aitomChat - Talk with documents | Retrieval Augmented Generation (RAG) | Huggingchat extension ruclips.net/video/n63SDeQzwHc/видео.html
Thank you so much this worked for me after spending the whole night stuck on one place
Glad it helped
Hi Sir , Excellent explanation one question I created sub-account , i added ABAP environment in my sub account but in "Plans" it is giving as "shared" how can i change it as "standard"
Well, if you do it the way I describe in the video(s) you should see a “Free” plan, neither “Shared” nor “Standard”. I use the Free Tier in the Pay-As-You-Go model. Maybe you opted for a free trial account instead?
Thank you! This is a great tutorial!! Super clear and well-organized!
Glad it was helpful!
Thank you very very very much , you rescued me
Glad to hear that
Thanks!!
Welcome!
Why not using a trial account?
The advantage of using a free tier with Pay-As-You-Go over a Trial Account is that you don’t share a tenant with others and that you can can easily move your projects to production.
Wow, this is a real tutorial, very specified, an actually works, thanks
Glad it helped
Awesome tutorial! Came across this randomly on youtube. I run 2 Linux cloud servers and a Windows cloud server for my side business. Software engineer by day and host websites and things in my free time. Used to write all my automation / backup scripts using VIM (because my servers have no GUI). I just tested out GitHub coplot on the remote server... worked great.
What's the preferred programming language to extend SAP S/4HANA?
For the side-by-side extensibility with BTP it’s Node.js, Typescript or Java. However personally I prefer Node.js since it has a huge community and many open source packages you can use. For the on-site extensibility you have to use ABAP (Cloud).
can i use more than 1 host like remote-ssh-demo1 and remote-ssh-demo2 with different ssh key ?
Yes, just add multiple sections in your config file with IdentityFile entries pointing to different private key files.
Thanks man. I was about the become crazy trying to figure out the Google Cloud documentation. Your tuto is simple and crystal clear.
Great to hear!
Thanks. What about tutorial via simple project.
Great suggestion!
After all manipulations, i get error "could not establish to "my ssh"" Detail: I use ssh on host of site
Please check my comments on comparable requests. If it doesn’t work in your case feel free to provide more details of the error you receive along with information about which cloud provider you use.
Crack
?
Please how do you know the username I’m confused because isn’t working
The username by default is the first part of your email address (before the @) that you used to create the VM
This worked for about 5 minutes. Then all of a sudden I am getting a Timeout when I am trying to connect.
If it worked for 5 minutes it means that it works principally and your problem has a different cause. Maybe you restarted the VM and you received a new ephemeral IP address or your VM ran out of resources, … If you want individual consulting, feel free to check out my consulting offering at www.blueantoinette.com/product/consulting-analysis-hour/
Guys, I tried N tutorials, even one where the SDK itself created the .config and only this one worked. Thank you man, you are incredible.
Glad to hear that
Hello, I tried all the steps to connect to a VM in GCP via VS code on my mac book, but getting this error "Could not establish connection to "VM NAM": The operation timed out. Any help would be much appreciated.
Do you use ephemeral IP addresses? You can delete your VMs IP address from your local ~/.ssh/known_hosts file and try it again.
Tried all the steps mentioned in the video, but still getting the error "could not establish conection to " and sometimes permission denied "publickey".
Do you use ephemeral IP addresses? You can delete your VMs IP address from your local ~/.ssh/known_hosts file and try it again.
I spent about a week trying to do this. My issue was specifically generating the SSH key and then adding the IdentityFile line. Thank you so much.
Glad it helped!
Huge Thanks!
You're welcome!
Worked for me! Thanks for this guide 👍
You're welcome!
thanks for the video! is the source anywhere e.g. github?
You are welcome. Yes, the source code is on my site at www.blueantoinette.com/2023/11/02/mastering-python/
thanks man !
Happy to help
Thanks a lot! It worked :)
Great, thanks for the feedback