Skip to content
NextLytics
Megamenü_2023_Über-uns

Shaping Business Intelligence

Whether clever add-on products for SAP BI, development of meaningful dashboards or implementation of AI-based applications - we shape the future of Business Intelligence together with you. 

Megamenü_2023_Über-uns_1

About us

As a partner with deep process know-how, knowledge of the latest SAP technologies as well as high social competence and many years of project experience, we shape the future of Business Intelligence in your company too.

Megamenü_2023_Methodik

Our Methodology

The mixture of classic waterfall model and agile methodology guarantees our projects a high level of efficiency and satisfaction on both sides. Learn more about our project approach.

Products
Megamenü_2023_NextTables

NextTables

Edit data in SAP BW out of the box: NextTables makes editing tables easier, faster and more intuitive, whether you use SAP BW on HANA, SAP S/4HANA or SAP BW 4/HANA.

Megamenü_2023_Connector

NextLytics Connectors

The increasing automation of processes requires the connectivity of IT systems. NextLytics Connectors allow you to connect your SAP ecosystem with various open-source technologies.

IT-Services
Megamenü_2023_Data-Science

Data Science & Engineering

Ready for the future? As a strong partner, we will support you in the design, implementation and optimization of your AI application.

Megamenü_2023_Planning

SAP Planning

We design new planning applications using SAP BPC Embedded, IP or SAC Planning which create added value for your company.

Megamenü_2023_Dashboarding

Dashboarding

We help you with our expertise to create meaningful dashboards based on Tableau, Power BI, SAP Analytics Cloud or SAP Lumira. 

Megamenü_2023_Data-Warehouse-1

SAP Data Warehouse

Are you planning a migration to SAP HANA? We show you the challenges and which advantages a migration provides.

Business Analytics
Megamenü_2023_Procurement

Procurement Analytics

Transparent and valid figures are important, especially in companies with a decentralized structure. SAP Procurement Analytics allows you to evaluate SAP ERP data in SAP BI.

Megamenü_2023_Reporting

SAP HR Reporting & Analytics

With our standard model for reporting from SAP HCM with SAP BW, you accelerate business activities and make data from various systems available centrally and validly.

Megamenü_2023_Dataquality

Data Quality Management

In times of Big Data and IoT, maintaining high data quality is of the utmost importance. With our Data Quality Management (DQM) solution, you always keep the overview.

Career
Megamenü_2023_Karriere-2b

Working at NextLytics

If you would like to work with pleasure and don't want to miss out on your professional and personal development, we are the right choice for you!

Megamenü_2023_Karriere-1

Senior

Time for a change? Take your next professional step and work with us to shape innovation and growth in an exciting business environment!

Megamenü_2023_Karriere-5

Junior

Enough of grey theory - time to get to know the colourful reality! Start your working life with us and enjoy your work with interesting projects.

Megamenü_2023_Karriere-4-1

Students

You don't just want to study theory, but also want to experience it in practice? Check out theory and practice with us and experience where the differences are made.

Megamenü_2023_Karriere-3

Jobs

You can find all open vacancies here. Look around and submit your application - we look forward to it! If there is no matching position, please send us your unsolicited application.

Blog
NextLytics Newsletter Teaser
Sign up now for our monthly newsletter!
Sign up for newsletter
 

How to use IF ELSE statements in SAP HANA SQLScript

In the previous article, "CASE in SAP HANA - Control flow for SQLScript Transformation Routines", you learned that IF ELSE constructs are not possible within a SELECT statement. However, you can use the native CASE WHEN statement to implement these control structures in SQLScript.

However, it does not mean that IF ELSE commands are not used in SQLScript. These can continue to be used as conditional in imperative logic. In this article, I explain the use of IF ELSE and also provide a concrete example to illustrate it.

Syntax

The syntax of the ELSE IF statement in SQLScript is similar to that in ABAP.


IF Condition1
THEN
Statement1
[ELSEIF Condition2
THEN
Statement2...]
[ELSE
Statement]
END IF

You can use the following comparison operators for the conditions:

Operator

Description

=

Equal to

>

Greater than

<

Less than

>=

Greater than or equal to

<=

Less than or equal to

!=, <>

Not equal

 

The IF command allows you to define a control structure that can contain multiple statements. However, only one of the multiple statements will be executed. Which it is, depends on the Boolean conditions that are defined. The conditions are checked from top to bottom and the statement after the first true condition is executed. If none of the conditions are true, the statement block after ELSE is executed. If no ELSE statement has been defined, processing continues after END IF.

By default, the IF statement consists of a Boolean expression and a THEN block. The remaining parts are optional.  In practice, however, you will often use an ELSE branch. If the first condition is not true, the statement after the ELSE branch is executed without any further checks. No further ELSE or ELSEIF branches are allowed after an ELSE command. However, you can add any number of ELSEIF clauses before the ELSE command.


Increase the performance of your BW with SQLScript

Neuer Call-to-Action


Example

For a better understanding I will explain the functionality with an example. In this case, a currency conversion is to be performed. You can learn how to perform a currency conversion with SQLScript in our article "Currency conversion with SAP HANA SQLScript in transformation routines".

The key date for the currency translation is to be determined using an IF ELSE construct. If the currency translation is performed in the first half of the year, the exchange rates of the previous year should be used. Otherwise, the current date is used as the key date.

DECLARE lv_date nvarchar(10);
*current_date is YYYY-MM-DD
SELECT SUBSTRING (TO_DATS(current_date),1,6) INTO lv_date FROM DUMMY;

IF lv_date <= 202106
THEN
lv_date = '2020-12-01';
ELSE
SELECT to_nvarchar (current_date) INTO lv_date FROM DUMMY ;
END IF;

You can find the complete code below.

Code


METHOD PROCEDURE BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY.
DECLARE lv_date nvarchar(10);
*current_date is YYYY-MM-DD
SELECT SUBSTRING (TO_DATS(current_date),1,6) INTO lv_date FROM DUMMY;

IF lv_date <= 202106
THEN
lv_date = '2020-12-01';
ELSE
SELECT to_nvarchar (current_date) INTO lv_date FROM DUMMY ;
END IF;

outTab =
SELECT comp_code, calmonth,
'EUR' AS loc_currcy,
doc_currcy,
recordmode,
CONVERT_CURRENCY( AMOUNT => deb_cre_dc,
SOURCE_UNIT => doc_currcy,
SCHEMA => 'SAPABAP1',
TARGET_UNIT => 'EUR',
REFERENCE_DATE => :lv_date,
CLIENT => '100',
CONVERSION_TYPE => 'EURX')
AS deb_cre_lc,
deb_cre_dc,
record, SQL__PROCEDURE__SOURCE__RECORD
FROM :inTab;

ERRORTAB= SELECT * FROM :ERRORTAB;
ENDMETHOD.

IF ELSE statements - Our Conclusion 

Although IF ELSE commands cannot be used within SQLScript SELECT statements, you can use them as usual with imperative flow control. I hope that this post has been helpful to you.

Are you planning to migrate to SQLScript and need help in planning the right strategy? Or do you need experienced developers to implement your requirements? Please do not hesitate to contact us - we will be happy to advise you.

Learn more about  SAP HANA SQLScript

, ,

avatar

Chris

Chris Fidanidis has been working in the SAP BW environment since 2007. During these years he has implemented several planning projects and used various SAP tools such as SAP BSP, SAP BW-IP, SAP BPC, SAP BW Embedded BPC. He has gained experience primarily as a developer, architect, project manager and team leader. He enjoys playing basketball and barbecue whenever possible.

Got a question about this blog?
Ask Chris

Blog - NextLytics AG 

Welcome to our blog. In this section we regularly report on news and background information on topics such as SAP Business Intelligence (BI), SAP Dashboarding with Lumira Designer or SAP Analytics Cloud, Machine Learning with SAP BW, Data Science and Planning with SAP Business Planning and Consolidation (BPC), SAP Integrated Planning (IP) and SAC Planning and much more.

Subscribe to our newsletter

Related Posts

Recent Posts