SAP TechEd Vegas: Day 1

 

Season 5

Episode 5

Tom and Rich hit the show floor, have some lunch, sign some autographs and bring a crowd to talk about the first days of the event.

Hands on, no fluff, no hype – what a developer wants!

So this year at the SAP TechEd events in both Las Vegas and Amsterdam we are bringing the event that I created, SAP CodeJam, to the show floor in a “mini” version – you’ll be able to come by and actually in short bursts see how to get started in the world of SAP development but also why you would even want to. Everything will be hands on from seeing how to install the tools and integrate various tools together – like SAP HANA Studio with ABAP in Eclipse. We’ll have systems there for you to try it yourself or bring your own laptop and we’ll help you get things on there and show you how to get your own developer server to play around with.

Already have the tools but not sure what to do next, not a problem we’ll also show you how to connect to the various platforms and help you understand which one might work best for your current skill set and help you get started with learning new skill sets as well!

Tools in place, connections in place then of course it’s time to create something and to see how it works!

TUESDAY, OCTOBER 22

10 AM – 12 PM Stop by if you are interested in exploring any of the following topics:

  • Install Mobile SDK
  • Connect to a mobile system
  • My first mobile app on Android
  • My first HTML5 mobile app
  • Connect to SAP HANA Cloud Platform
  • My first app for SAP NetWeaver Gateway technology
  • Connect to a system running the ABAP programming language with ABAP in Eclipse
  • My first SAPUI5 app

·

12 PM – 1 PM Featured Session: My first XS app for the SAP HANA platform(With Thomas Jung and Rich Heilman)
1 PM – 6 PMMEET SAP HANA DEVELOPERS Let’s have fun with SAP HANA! SAP HANA experts will be on hand to answer your app development questions, help you install the tools, help you connect to a HANA system, guide you through the process of building your first SAP HANA app, and more. SAP HANA experts will be available all afternoon so just visit us when you get a chance!

WEDNESDAY, OCTOBER 23

10 AM – 12 PM Stop by if you are interested in exploring any of the following topics:

  • Install SAP HANA Studio
  • Install SAP HANA Cloud Platform tools in the SAP HANA Studio
  • Install SAP NetWeaver Gateway technology tools in the SAP HANA Studio
  • Install UI5 tools in the SAP HANA Studio
  • Install the ABAP programming language in Eclipse in the SAP HANA Studio
  • Connect to a system running SAP HANA software
  • My first XS app for the SAP HANA platform
  • My first XS UIS app for the SAP HANA platform
  • Install Mobile SDK
  • Connect to a mobile system
  • My first mobile app on Android
  • My first HTML5 mobile app
  • Connect to SAP HANA Cloud Platform
  • My first app for SAP NetWeaver Gateway technology
  • Connect to a system running the ABAP programming language with ABAP in Eclipse
  • My first SAPUI5 app

·          

12:30 PM – 1:30 PM Featured Session: My first app for the SAP HANA Cloud Platform(With Matthias Steiner and Rui Nogueira)
1 PM – 6 PMMEET SAP HANA CLOUD PLATFORM DEVELOPERS Let’s have fun with SAP HANA Cloud Platform! SAP HANA Cloud Platform experts will be on hand to answer questions about building apps on SAP’s cloud platform, help you install the tools, help you connect to SAP HANA Cloud Platform, guide you through the process of building your first cloud app, and more. SAP HANA Cloud Platform experts will be available all afternoon so just visit us when you get a chance!

THURSDAY, OCTOBER 24

10 AM – 12 PM Stop by if you are interested in exploring any of the following:

  • Install SAP HANA Studio
  • Install SAP HANA Cloud Platform tools in the SAP HANA Studio
  • Install SAP NetWeaver Gateway technology tools in the SAP HANA Studio
  • Install UI5 tools in the SAP HANA Studio
  • Install the ABAP programming language in Eclipse in the SAP HANA Studio
  • Connect to a system running SAP HANA software
  • My first XS app for the SAP HANA platform
  • My first XS UIS app for the SAP HANA platform
  • Connect to SAP HANA Cloud Platform
  • My first app for SAP NetWeaver Gateway technology
  • Connect to a system running the ABAP programming language with ABAP in Eclipse

·        

12 PM – 1 PM Featured Session: My first HTML5 Mobile app(With Mark Wright)
1 PM – 6 PMMEET SAP MOBILE DEVELOPERS Let’s have fun with SAP Mobile! SAP Mobile experts will be on hand to answer questions about building SAP Mobile apps, help you install the tools, help you connect to a mobile system, guide you through the process of building your first SAP mobile app on Android, and more. SAP Mobile experts will be available all afternoon so just visit us when you get a chance!

 

We’ll even have the experts on site to help you understand the various systems, technology and of course to share end to end scenarios and real live customer examples of these technologies so you won’t be left wondering “but why”

You’ll find us on the Show Floor every day from 10 AM to 6 PM. It’s like having our beloved Hacker Night every single day, all day 🙂

 

EnterpriseGeeks Annual TechEd Dinner 2013

Once again this year, the EnterpriseGeeks Thursday night dinner will return to “The Buffet” at the Wynn on October 24th.  We’ve always had a great crowd join us at this dinner, and I hope this year is no different.    You can simply meet us there at 7:15pm, or show up at the “Rock of Ages” theatre box office(this used to be Blue Man Group)on the Casino level at 7:00pm to walk over as a group.  The price per person for the buffet is about $35 and of course you will be responsible for your own bill.   Imagine Dragons will perform at 9:00pm so  you will have plenty of time to get back over to the Venetian.  See everyone there!

eGeeks in August

 

Even Dark Lords of the Sith need a hug

Even Dark Lords of the Sith need a hug

 

Season 5

Episode 4

Unexpected but here we are – finally with another podcast and update on what’s with the eGeeks!  Our first podcast in quite some time with all the original Enterprise Geeks – Ed, Dan, Craig, Tom and Rich!

 

Everyone was Kung Fu Fighting

Everyone was Kung Fu Fighting

eGeeks Down Under

Proof!

Proof!

We were recently at the Mastering SAP Technology Event in Melbourne and decided it was high time we did another podcast!

Season 5
Episode 3

Tom and Rich at Mastering SAP Technology

Tom and Rich at Mastering SAP Technology

Join us as we cover a broad range of topics from Pachinko to Tech, personality tests and of course HANA and our world travels.

MySQL to HANA

Recently as I’ve dug more and more into HANA (how could I not with Tom and Rich publishing so many cool things?) I found that I could take many of my existing demos from PHP and MySQL and port them to HANA. The pain though has always been migrating DB content so I decided to make a simple little tool to make life easier.

It was during the SAP InnoJam event in Madrid that I sat down and coded something that I was able to test with Rich’s help, HOWEVER this is not something SAP supports or even validates or approves this is just me and my own HANA Cloud instance having some fun and deciding to share!

GitHub - Move to HANA

GitHub – Move to HANA

I call it Move to HANA and you can find the code on GitHub. It’s fairly simple and I used JQuery Mobile (don’t hate me SAP UI5 lovers) to put it together, just upload it to your PHP server and run it.

The idea behind it, is to give a simple migration tool that will help generate the HANA specific SQL to get your same tables and fields generated and your data uploaded via the HANA Studio. Right now it’s setup for MySQL but is easily expanded for any DB you are working on; oh and of course it’s not 100% yet it’s only got a handful of the different field types but hey – it’s GitHub go ahead and make some changes!

As for execution – again very simple.

Database selection

Database selection

 

Once your select your database then you will need to log into the database to select which “database” you want to migrate.

Login into your database

Login into your database

 

Then select your “database” at which point the script will generate the 3 step process for data migration.

Simple 3 Steps

Simple 3 Steps

 

Step 1, will provide your the “copy and paste” script you need to enter into your HANA Studio.

HANA SQL to generate SCHEMA

HANA SQL to generate SCHEMA

Step 2, will provide the command line code for MySQL to generate the CSV files you can then upload via the HANA Studio

Command Line for MySQL Dumps

Command Line for MySQL Dumps

Step 3, will provide the SQL command to ensure the proper permissions for the newly generated SCHEMA

 

SCHEMA permissions

SCHEMA permissions

I’ve used the script a dozen times already to get sample data and other MySQL data moved into HANA to allow myself more and more opportunities to try my hand at HANA coding and it’s worked quite well. If you give a try feedback would be great and if you find new data types or if you want to try a different database than MySQL by all means have at it!!

 

** SAP does not support nor endorse this tool and there is no support other than the very little free time that I personally have to answer comments. **

Table User Defined Functions( Table UDF ) in HANA

With the release of HANA 1.0 SP5, not only do we get a new SQLScript editor and debugger, but there are also a few new SQLScript language features introduced with this release as well. Today, I would like to introduce Table UDFs.  Table UDFs are read-only user-defined functions which accept multiple input parameters and return exactly one results table.  SQLScript is the only language which is supported for table UDFs. Since these functions are ready-only, only read-only statements can be used within the function.  So you may not use statements like INSERT, UPDATE or DELETE. Also, any procedure calls within the function must also be read-only.  Currently, you can only create these functions in the catalog via the SQL Editor.  The syntax for creating a new table UDF is pretty straight forward.  For those of you who have been working with SQLScript since the beginning, you may notice the resurrection of the CREATE FUNCTION statement. This statement was used to create SQLScript procedures in earlier versions of HANA.  Of course, it has since been replaced with CREATE PROCEDURE. The CREATE FUNCTION statement will now be used to create UDFs in HANA.  In the following example, I’m creating the table UDF called GET_BP_ADDRESSES_BY_ROLE which accepts one input parameter called “partnerrole”, and returns a table with the structure defined explicitly.  You can also use global types to define the output structure as well. This function will execute one SELECT statement which contains an INNER JOIN of two tables and returns the result set to the output parameter.

CREATE FUNCTION "SAP_HANA_EPM_DEMO".get_bp_addresses_by_role( partnerrole nvarchar(3))
    RETURNS table ( "PartnerId" NVARCHAR(10), "PartnerRole" NVARCHAR(3), 
                    "EmailAddress" NVARCHAR(255), "CompanyName" NVARCHAR(80), 
                    "AddressId" NVARCHAR(10), "City" NVARCHAR(40),
                    "PostalCode" NVARCHAR(10), "Street" NVARCHAR(60) )
 LANGUAGE SQLSCRIPT 
 SQL SECURITY INVOKER AS
 
BEGIN
 RETURN 
   select a."PartnerId", a."PartnerRole", a."EmailAddress", a."CompanyName",
          a."AddressId", b."City", b."PostalCode", b."Street"
           from "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::businessPartner" as a 
           inner join "SAP_HANA_EPM_DEMO"."sap.hana.democontent.epm.data::addresses" as b
                      on a."AddressId" = b."AddressId"
                            where a."PartnerRole" = :partnerrole;
END;

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Once the above CREATE FUNCTION statement is executed via the SQL Editor, the new function will then show up in the catalog under the "Functions" folder.

12-7-2012 12-41-25 PM.png

The function can now be used in the FROM clause of your SELECT statements.   You can pass the input parameters as well.

select * from "SAP_HANA_EPM_DEMO".get_bp_addresses_by_role('02');

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

Additional features to UDFs are planned for future support packages, including scalar UDFs, as well as the ability to create UDFs via the HANA Development Workbench directly in your XS projects. Very similar to how we can now create procedures in HANA 1.0 SP5.