Filtering Null Values of Type DATS using SAP Open SQL

SAP logo

In October, I started a new phase in my career of twenty-five years as an IT professional: SAP software engineer.

I had worked with SAP in some capacity over the years, but those experiences mostly revolved around connecting APIs to SAP endpoints or querying the SAP database directly using a SQL client like Oracle Developer. I had wanted to learn the inner workings of SAP for many years, but never really had the opportunity until now to devote time to it. I did take a beginning ABAP Objects class back around 2006, but never was in a position to use it.

In my new position, I am learning SAP and its programming language, ABAP, and its implementation of SQL: Open SQL.

If you are familiar with COBOL, the ABAP programming language may not look all that foreign to you. There are plenty of resources that you can use to learn ABAP, even if you don’t have access to an instance of SAP. Even so, I would say that the learning curve when beginning is steeper than it is with more modern programming languages like Python or Ruby.

Open SQL code is embedded quite naturally into the ABAP code, and uses syntax that is familiar to anyone who has used SQL before – for the most part. There are some key differences, and one I’m working on today has to do with null values in the DATS data type, which is for dates. The data type is structured like CHAR(8).

In a standard SQL query, you could filter out null values like this:

SELECT *
FROM ztable INTO #tmp_ztable
WHERE some_date_column IS NOT NULL;

In Open SQL, this does not work. A similar query in Open SQL might look like this:

SELECT *
FROM ztable INTO @DATA(lt_ztable)
WHERE some_date_column NE 00000000.

(The “NE” operator is for “not equal to” and is interchangeable with “<>”.)

Notice that there are no single quotes around the eight zeros in the WHERE clause – it is not a string of eight zeros, which would be represented by ‘00000000’.

Why does SAP do this? I don’t know. I’m sure there’s a reason that I’ll find out at some point, but I haven’t found it yet. There’s much more to learn!

Setting up an HP Printer in HP Smart on WiFi with Dual Band Networks

HP Hewlett-Packard logo

Recently I had to buy a new printer, and I didn’t have time to do any real research on what I wanted, so I bought one of HP’s low-budget all-in-ones, the HP DeskJet 3755. Currently this printer is selling for less than $100.

Setting this printer up on WiFi has been more complicated than I expected. I have never had any real difficulties in setting up a printer on the HP Smart app before. My Asus router has both the 2.4 GHz band as well as the 5 GHz band. I’ve always operated both bands using the same SSID and password, and it’s never been a problem before. However, since the 3755 model does not support the 5 GHz band, it always picks the 2.4 GHz network.

It appears that devices on the 5 GHz network cannot consistently see those on the 2.4 GHz network even though AP isolation mode is disabled. This problem may not exist for routers made by other manufacturers, or maybe even other Asus models.

By turning off the 5 GHz band, my Mac, iPhone, and the printer can now see each other, and I was able to set up the printer in HP Smart.

I have no requirement to turn the 5 GHz network back on at this time, but I will continue to see if there is a way to allow the two networks to see each other.

Filling the Skills Gap

"fill the gap" in a mind the gap logo

Over the course of my career, I have learned about quite a few qualities that team members can possess that add value to the team. Many of these strengths are fairly obvious: being willing to work hard, prioritizing tasks properly to meet deadlines, not becoming siloed and unaware of what other team members are doing, etc.

One strength that may not be as obvious, but is certainly as valuable as the ones above – if not more so – is being able to fill the skills gap when one arises. Having a team member who is not only willing and able, but even excited to learn about previously unfamiliar technologies or processes can make a huge difference in how a team operates.

Such a person becomes a great asset to the team, and often becomes the “go-to person” for any new challenge, in part because of the willingness to step outside the box, but also because people like this tend to be quite resourceful in acquiring new knowledge.

Avoiding the mentality of “staying in one’s lane”, as far as specialization goes, is key here. Not that you shouldn’t become specialized in your field, but that you should be willing to explore related (and sometimes unrelated) fields to get a better perspective of how to solve whatever problem is at hand.