SAP HANA - Stored Procedure

On this Page

Snap type:

Write


Description:

This Snap executes a stored procedure in the database and writes any parameters or results to the output view.


Expected upstream Snaps:  Any Snap with document output view

Expected downstream Snaps:  Any Snap with document input view

Expected input:  Input document may contain values for the Snap expression properties, typically for the Parameter values property.

Example:     "John" and "Smith" are values for the stored procedure's input parameters, the first and the second, respectively.

{
firstName: "John".
lastName: "Smith"
}

Expected output:  Output document in the Result Set output view contains the result set of the stored procedure.


Prerequisites:

None


Support and limitations:

Works in Ultra Tasks.

This Snap does not support the INOUT parameter type.

Account: 

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See Configuring SAP HANA Accounts for information on setting up this type of account.


Views:
InputThis Snap allows at most one input view. If an input view is defined, then values from an incoming document can be used as input parameters to the stored procedure.
OutputThis Snap has exactly two document output views, one regular output view and one Result Set output view. Data output is dependent on SAP HANA SQL Script and SAP HANA JDBC version and capabilities - defined in the SAP HANA account. Therefore, it is recommended to verify the behavior of the particular versions by executing the Snap and checking the output view results.
Error

This Snap has at most one document error view.

Settings

Label


Required.The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Schema Name


The schema name where the procedure resides. The property is suggestible and will return all schemas of the DB.

The values can be passed using the pipeline parameters but not the upstream parameter.

Example: dbo

Default value: [None] 


Stored Procedure Name


Required. Stored procedure to execute. The property is suggestible and will return all procedures of the DB. If a schema is defined, then it will return all procedures of that schema.

ExampleaddSeventeen
Default value: [None] 


Parameter Values


Select the input parameter values for the stored procedure. If you define parameter values, you must do so in the same order as they appear in the stored procedure definition.

Example: Suppose there is a stored procedure named createGreeting.  It has three parameters p1, p2 and p3.  p1 and p2 are input parameters of type VARCHAR2.  Then there has to be two string values provided.  The first value goes to p1 and the second to p2.

Default value: [None] 

If you do not provide any parameters in the Snap, you can still view the required input parameters in the Target Schema of the upstream Mapper Snap. The parameters are dynamically populated based on the column keys of the stored procedure; you can map the parameters and pass them as an input to the Stored Procedure Snap.

Pass through


If selected, the input document will be passed through to the output views under the key 'original'. The document will be passed to the Parameter output view, and it will also be passed to the Result Set output view if there is output sent from this view. 

 This property applies only to the Execute Snaps with SELECT statement or the Select Snaps. 

Default value: Not selected 
 

Snap execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Example


In this example, we are using schema QA_J in TEST_TABLE1.


The following is a sample stored procedure:


In the Snap, we specify the schema, the stored procedure called, and supply a parameter to specify the ID. If we define $num as 1, then the NAME value of A is returned.

Snap Pack History

 Click to view/expand
Release Snap Pack VersionDateType  Updates

August 2024

main27765

 

Stable

Updated and certified against the current Snaplogic Platform release.

May 2024437patches26690 Latest

Fixed an issue in the SAP HANA Snap Pack where the downstream Snaps did not support the data type appropriately.

May 2024main26341 StableUpdated the Delete Condition (Truncates a Table if empty) field in the SAP HANA - Delete Snap to Delete condition (deletes all records from a table if left blank) to indicate that all entries will be deleted from the table when this field is blank, but no truncate operation is performed.

February 2024

main25112

 

Stable

Updated and certified against the current SnapLogic Platform release.

November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.

August 2023

main22460

 


Stable

The SAP HANA - Execute Snap now includes a new Query type field. When Auto is selected, the Snap tries to determine the query type automatically.

May 2023

main21015 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 Stable

The SAP HANA Insert Snap now creates the target table only from the table metadata of the second input view when the following conditions are met:

  • The Create table if not present checkbox is selected.

  • The target table does not exist.

  • The table metadata is provided in the second input view.

October 2022

430patches18852

 Latest

SAP HANA Snaps now properly handle lineage when used in Ultra Pipelines.

August 2022main17386 

Stable

Upgraded with the latest SnapLogic Platform release.

4.29

main15993

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.28main14627 StableUpdated the label for Delete Condition to Delete Condition (Truncates Table if empty) in the SAP HANA Delete Snap
4.27main12833 Stable

Enhanced the SAP HANA - Execute Snap to invoke stored procedures.

4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25main9554
 
StableUpgraded with the latest SnapLogic Platform release.
4.24main8556
Stable
  • Enhanced the SAP HANA - Select Snap to return only the selected output fields or columns in the output schema (second output view) using the Fetch Output Fields In Schema check box. If the Output Fields field is empty all the columns are visible.
  • Enhanced the SAP HANA - Stored Procedure to accept parameters from input documents by column keys. If the values are empty, the parameters are populated based on the column keys for easier mapping in the upstream Mapper Snap.
4.23 Patch423patches7548 Latest

Fixed the batch size issue in SAP HANA - Upsert Snap by using a prepare statement when sending the batch request.

4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22 Patch422patches6940 Latest

Fixed the stored procedure name conflict issue in the SAP HANA - Stored Procedure Snap, when the stored procedure exists in multiple schemas, by parsing each procedure name.

4.22main6403
 
StableUpgraded with the latest SnapLogic Platform release.
4.21 Patch421patches6272 Latest

Fixed the issue where Snowflake SCD2 Snap generates two output documents despite no changes to Cause-historization fields with DATE, TIME and TIMESTAMP Snowflake data types, and with Ignore unchanged rows field selected.

4.21 Patch

421patches6144 Latest

Fixed the following issues with DB Snaps:

  • The connection thread waits indefinitely causing the subsequent connection requests to become unresponsive.
  • Connection leaks occur during Pipeline execution.
4.21snapsmrc542

 

StableUpgraded with the latest SnapLogic Platform release.
4.20snapsmrc535
 
Stable

Reverted the SAP/HANA Snap Pack to the stable version snapsmrc535.

4.19 Patch db/saphana8411 LatestFixed an issue with the SAP HANA - Update Snap wherein the Snap is unable to perform operations when:
  • An expression is used in the Update condition property.
  • Input data contain the character '?'.
4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18snapsmrc523
 
StableUpgraded with the latest SnapLogic Platform release.
4.17ALL7402
 
Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17snapsmrc515
 
Latest
  • Fixed an issue with the SAP HANA Execute Snap wherein the Snap would send the input document to the output view even if the Pass through field is not selected in the Snap configuration. With this fix, the Snap sends the input document to the output view, under the key original, only if you select the Pass through field.
  • Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.
4.16 Patch db/saphana7062 Latest

Fixed an issue in SAP HANA Update and Insert Snaps wherein time data type was not getting passed if a table name and column name were similar in multiple schemas.

4.16 Patch db/saphana7040

 

Latest

Fixed an issue with the SAP HANA - Delete Snap wherein the Snap was unable to delete a data if the delete condition was not selected or if the condition was a static value.

4.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
StableUpgraded with the latest SnapLogic Platform release.
4.14snapsmrc490
 
StableUpgraded with the latest SnapLogic Platform release.
4.13

snapsmrc486

 
StableUpgraded with the latest SnapLogic Platform release.
4.12

snapsmrc480

 
StableUpgraded with the latest SnapLogic Platform release.
4.11snapsmrc465
 
StableUpgraded with the latest SnapLogic Platform release.
4.10

snapsmrc414

 
Stable

Added Auto commit property to the Select and Execute Snaps at the Snap level to support overriding of the Auto commit property at the Account level.

4.9.0 Patchsaphana3074 Latest

Fixed an issue regarding connection not closed after login failure; Expose autocommit for "Select into" statement in PostgreSQL Execute Snap and Redshift Execute Snap

4.9snapsmrc405
 
StableUpgraded with the latest SnapLogic Platform release.

4.8.0 Patch

saphana2759 Latest

Potential fix for JDBC deadlock issue.

4.8.0 Patch

saphana2714 Latest

Fixed SAP HANA Snap Pack rendering dates that are one hour off from the date returned by database query for non-UTC Snaplexes.

4.8

snapsmrc398

 
Stable
  • Info tab added to accounts.
  • Database accounts now invalidate connection pools if account properties are modified and login attempts fail.

4.7.0 Patch

saphana2202 Latest

Fixed an issue for database Select Snaps regarding Limit rows not supporting an empty string from a pipeline parameter.

4.7

snapsmrc382

 
StableUpgraded with the latest SnapLogic Platform release.
4.6snapsmrc362
 
StableUpgraded with the latest SnapLogic Platform release.
4.5.1

snapsmrc344

 
Latest

Fixed an error in a tooltip for SAP HANA Upsert.

4.5

snapsmrc344

 Stable
  • NEW! SAP HANA - Table List: This Snap outputs a list of tables in a database.
  • Output fields property added to SAP HANA Select Snap.
  • Resolved an issue in SAP HANA Write Snap to disallow insertion of unsupported data types as NULLs in HANA tables.
  • Resolved an issue in SAP HANA Execute Snap that occurred when errors were reported even when table creation was successful.
4.22NANANA

Ignored empty result added to Execute and Select Snaps. The option will not any document to the output view for select statements.

NANA NA

Addressed the following issues:

  • Mismatched datatype values are inserted as NULLs
  • JSON paths in WHERE clauses should be processed as bind values after the expression is evaluated.
NANA NA
  • Addressed the following issue: When schema name entered in lower case- click on suggest for table name- says - no tables found
  • Dynamic DB queries now supported in the Execute Snap.
  • The SQL statement property now can be set as an expression property. When it is an expression, it will be evaluated with each input document and one SQL statement per each input document will be executed.
  • Known issue: When the SQL statement property is an expression, the pipeline parameters are shown in the suggest, but not the input schema.
  • With the SQL statement property set as an expression, the Snap can be exposed to SQL injection. Please use this feature with caution.
  • SAP Hana Insert string into number no longer routes to error view - just inserts null
NANA NA
  • SAP HANA Stored Procedure
  • Insert: Issue resolved with failing to write a string "NaN" to a string datatype column in HANA.

  • Select: Issue resolved with invalid table name.