System Variables

Lobster_data automatically assigns a value to most system variables and, in contrast to the profile variables, they are already initialised in phase 2.

Important note: The prerequisite for this is that the system variables are defined in the profile. Many system variables are already created in new profiles by default, but not all. System variables are defined at the same place in the profile, where profile variables are defined.

Note: When profiles are transported, system variables are not transported to the target system with them.


Variable Name

Type

Content

AMQP_<name of the Message Property>

String

These variables can be used to set Message Properties (for JMS and AMQP) in an AMQP/JMS Response Route.

AMQP_JMS_TEXTMESSAGE

Boolean

By default, the Response Route AMQP/JMS transfers data to the receiving server as byte message. To change this, since some servers cannot cope with this, the variable AMQP_JMS_TEXTMESSAGE can be created in the profile with value true. The data will then be transferred as text message. In addition, the encoding in the Response Route must be set to UTF-8.

AMQP_JMS_CORRELATIONID

String

Sets the JMS Message Header JMSCorrelationID . Important note: The variable only works for the new JMS connection method.

AMQP_JMS_EXPIRATION

String

Sets the JMS Message Header JMSExpiration . Important note: The variable only works for the new JMS connection method.

AMQP_JMS_PRIORITY

String

Sets the JMS Message Header JMSPriority. Important note: The variable only works for the new JMS connection method.

AMQP_JMS_REPLYTO

String

Sets the JMS Message Header JMSReplyTo. Important note: The variable only works for the new JMS connection method.

AMQP_TTL

String

Sets the JMS Message Header JMSTimeToLive. Important note: The variable only works for the new JMS connection method.

AMQP_TYPE

String

Sets the JMS Message Header JMSType. Important note: The variable only works for the new JMS connection method.

AMQP_SYS_<name of the Message Header>

String

These variables can be used to set AMQP Message Headers in an AMQP/JMS Response Route if you are using an AMQP connection of version 1.0 (and only there).

AMQP_SYS_ContentType

AMQP_ContentType

String

For AMQP connections of version 1.0 (and only there) the message header ContentType is set with the value of system variable AMQP_SYS_ContentType.

The message property ContentType is set with the value of system variable AMQP_ContentType.

Example value: application/json

JMS_JMSCorrelationID

String

Can be used to set the corresponding JMS Message Header JMSCorrelationID. Important note: The variable only works for the old JMS connection method.

JMS_JMSExpiration

String

Can be used to set the corresponding JMS Message Header JMSExpiration (timestamp in ms). Important note: The variable only works for the old JMS connection method.

JMS_JMSPriority

String

Can be used to set the corresponding JMS Message Header JMSPriority (0-9). Important note: The variable only works for the old JMS connection method.

KAFKA_<keyname>

String

You can use variables of this form in Response Routes of type Kafka and in function send Kafka message(a,b,c,d,e,f,g) to pass header properties (key, value). Note: Since only byte arrays can be specified as the value for a header property, UTF-8 is always used as encoding in Lobster_data!

KAFKA_PARTITION

Integer

If the variable is defined and has a value >=0, the value is passed as the partition of the topic to be used in the Response Route of type Kafka.

MQTT_<keyname>

String

In MQTT version 5, you can use variables of this form in Response Routes of type MQTT to pass user properties (key, value).

MQTT_SYS_CONTENTTYPE

String

In MQTT version 5, you can use variables of this form in Response Routes of type MQTT to set the (optional) Content Type, e.g. plain/text.

MQTT_SYS_CORRELATIONDATA

String

In MQTT version 5, you can use variables of this form in Response Routes of type MQTT to set the Correlation ID, which can be used to match requests and responses. For details, please refer to the documentation of your MQTT server.

MSG_CALL_<name of parameter in uppercase letters>

String

Reads HTTP request parameters. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, Lobster_data is able to access all HTTP(S) GET request parameter values sent by the client. See also section HTTP Request Parameters and HTTP Headers.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HEADER_HTTP_<name of header in uppercase letter>

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, Lobster_data is able to access all HTTP(S) request header values sent by the client. Example: MSG_CALL_HEADER_HTTP_HOST. See also section HTTP Request Parameters and HTTP Headers.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HEADER_HTTP_METHOD

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, this variable is filled with the method of the HTTP request (of the client) (e.g. GET or POST). See also section HTTP Request Parameters and HTTP Headers.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HEADER_HTTP_PROTOCOL

String

In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, this variable is used to save whether the request was sent via HTTP or HTTPS (fixed value HTTP or HTTPS).

MSG_CALL_HEADER_HTTP_QUERY

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, this variable is filled with the query parameters of the HTTP request of the client. See also section HTTP Request Parameters and HTTP Headers.

Example: Assume the complete request is http://lobster.de/dw/Request/get_orders?from=20170101&to=20170630. The variable would then contain the value from=20170101&to=20170630. See also section HTTP URL of Lobster_data. See also variable MSG_CALL_HEADER_HTTP_URI.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HEADER_HTTP_REMOTE_HOST

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, this variable is filled with the IP/name of the client that sent the HTTP request. See also section HTTP Request Parameters and HTTP Headers.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HEADER_HTTP_URI

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) server with Input Agent HTTP(S) and with time-driven Input Agents with option Trigger by HTTP request, this variable is filled with the partial path after /dw/Request resp. /dw/Trigger of the requested resource. That would, for example, be the partial path /myProfile/Orders for the requested resource /dw/Request/myProfile/Orders. See also section HTTP Request Parameters and HTTP Headers.

Example: Assume the complete request http://lobster.de/dw/Request/get_orders?from=20170101&to=20170630. The variable would then have the value get_orders. See also section HTTP URL of Lobster_data. See also variable MSG_CALL_HEADER_HTTP_QUERY.

Note: The variable is available in the same profile. See also section Variables with Prefix MSG_CALL_.

MSG_CALL_HTTP_AUTH_USER

String

Is filled with the user name used if an authentication has taken place for HTTP requests (including HTTP Trigger).

MSG_CALL_HTTP_MULTIPARTn_NAME

String

Content of part n + 1. See section HTTP (Input Agent).

MSG_CALL_HTTP_MULTIPARTn_VALUE

String

Content of part n + 1. See section HTTP (Input Agent).

MSG_CALL_HTTP_MULTIPARTS

Integer

Number of parts. See section HTTP (Input Agent).

MSG_CALL_HTTP_PATH_DATA

String

The variable is filled if the Input Agent HTTP uses option Treat as REST interface. So if the URL of the Input Agent is http://localhost/dw/Request/example, the variable would have the value orders resp. invoice/test for the requests http://localhost/dw/Request/example/orders resp. http://localhost/dw/Request/example/invoice/test.

MSG_CALL_KAFKA_KEY

String

If this variable is defined , the key of a Kafka message is stored in this variable when the message is received in an Input Agent of type Kafka.

MSG_CALL_MQTT_CONTENTTYPE

String

In MQTT version 5, you can use this variable in Input Agents of type MQTT to read out the Content Type, e.g. plain/text.

MSG_CALL_MQTT_CORRELATIONDATA

String

In MQTT version 5, you can use this variable in Input Agents of type MQTT to read out the Correlation ID, which can be used to match requests and responses. For details, please refer to the documentation of your MQTT server.

MSG_CALL_REF_IDS

String

If this variable is created, it contains the Interchange Control References of all EDIFACT documents merged with the Content Inspection module. Example: 339;338;337

MSG_CALL_var__ci_filename_to_use

(var__ci_filename_to_use)

String

If this variable is set, its value is used in the classes ContentInspectionResponse, ContentInspectionResponseAsync, ContentInspectionResponseUTF8 and ContentInspectionResponseUTF8Async to overwrite the file name that is sent to the Content Inspection.

MSG_CALL_VAR_RESPONSE_HTTP_HEADER_STATUS_CODE

Integer

Reads HTTP request header. In Lobster_data's role as HTTP(S) client in phase 6, this variable is filled with the HTTP status code of the response of the server.

Note: The variable is only filled if a Response Route of type HTTP(S) calls a subsequent profile or an error profile. The variable can then be used in those profiles. See also section Variables with Prefix MSG_CALL_. See also variable MSG_CALL_VAR_RESPONSE_HTTP_HEADER_STATUS_LINE.

MSG_CALL_VAR_RESPONSE_HTTP_HEADER_STATUS_LINE

String

Reads HTTP request header. In Lobster_data's role as HTTP(S) client in phase 6, this variable is filled with the HTTP status line of the response of the server.

Note: The variable is only filled if a Response Route of type HTTP(S) calls a subsequent profile or an error profile. The variable can then be used in those profiles. See also section Variables with Prefix MSG_CALL_. See also variable MSG_CALL_VAR_RESPONSE_HTTP_HEADER_STATUS_CODE.

MSG_CALL_VAR_SYS_PORTAL_LANG

String

The variable (if defined) contains the selected language of the Portal and WebInsight.

Language

Code

German

de

English

en

Spanish

es

French

fr

Italian

it

Danish

da

Dutch

nl

MSG_CALL_VAR_HTTP_<name of header in uppercase letters>

String

In Lobster_data's role as HTTP(S) client, it is possible to access the HTTP response headers from the response of the server.

In a profile with Response Route of type HTTP(S), the headers can be used by a subsequent profile, in a profile with a time-driven Input Agent of type HTTP they can be used by the profile itself. See also section HTTP Request Parameters and HTTP Headers.

VAR_AUTH_CERT_ID

String

The non-empty content of this variable is interpreted as the ID of a local certificate in the partner administration. See also section HTTPS Client.

VAR_ERROR

String

Error message in case of an error.

VAR_FILENAME

String

Original file name. The variable gets the file name of the source file at the beginning of phase 3 (mapping). If no file name exists, the variable receives one of the following values.

  • If the profile uses a time-driven Input Agent of type DB, the variable gets the value db_query.

  • If the profile uses a time-driven Input Agent of type Custom class, the variable gets the name of the used class.

  • unknown. In all other cases.

Note: See also VAR_FILENAME_PREFIX and VAR_SYS_ATTACHMENT_NAME.

VAR_FILENAME_PREFIX

String

Original file name without the file extension. The variable gets the same value as variable VAR_FILENAME but an existing extension (suffix) of the file name is removed.

VAR_FILESIZE

Integer

Number of bytes of the input file. Note: When testing a profile, the variable gets the value 0.

VAR_IS_NOT_TEST

Boolean

Is false in a test run. Note: See also VAR_IS_TEST.

VAR_IS_TEST

Boolean

Is true in a test run (restart dialogue, Upload file and checkbox Is test run), otherwise false (restart dialogue, button Start Cron). Note: In a mapping test, the variable gets value true as well. Note: See also VAR_IS_NOT_TEST.

VAR_JOBNR

(MSG_CALL_VAR_JOBNR)

String

Current job number. Note: When testing a profile, the variable gets the value -1.

For subprofile calls with the functions call profile(a[,b],c[,d]) and trigger profile(a,b) the job number of the calling profile can be retrieved in the called profile with the system variable MSG_CALL_VAR_JOBNR.

VAR_MAILSUBJECT

String

Contains the subject if the input data of the current job is an email, X.400 mail, or AS2 message. If you restart a profile, the variable can only be filled with the subject if the checkbox Keep input information in the profile was set during the first run of the profile.

Note: When testing a profile, the variable receives no value.

VAR_ORIGINATOR_JOBNR

String

If data is delivered in an archive, each of the files extracted from the archive is processed in a separate job. The system variable then contains the job number of the originating job in all subsequent jobs. See section General (General Data).

If a profile with the time-driven Input Agent Mail is triggered by another profile, subsequent jobs also receive the job number of the originating job (which had triggered). See section Distribution Rules (Mail).

VAR_PROFILENAME

String

Is filled with the name of the profile.

VAR_PROFILE_VERSION

String

Is filled with the version of the profile.

VAR_RECORDS

Integer

The variable contains the number of records in the mapping. If there has been no mapping, it will have the value 0.

VAR_RESPONSE_HTTP_HEADER_<name of response header>

String

Set HTTP response header. In Lobster_data's role as HTTP(S) server, this variable can be used to set response headers in the response that Lobster_data sends back to the client. So variable VAR_RESPONSE_HTTP_HEADER_Server would be used to set the HTTP response header Server. Note: The response header Content-Length is ignored, i.e. it cannot be overwritten. Important note: For triggered (via HTTP) time-driven profiles only the initial value of the variable is used. Later changes of the variable value are not taken into account.

VAR_RESPONSE_HTTP_HEADER_RESP_STATUS

String

This variable can be used to set the HTTP response status. If you, for example, have a profile with an event-driven Input Agent of type HTTP and an active option Send response by 'custom class' or 'pass back data', the value of this variable is used to set the HTTP status of the response. Important note: For triggered (via HTTP) time-driven profiles only the initial value of the variable is used. Later changes of the variable value are not taken into account.

VAR_RESPONSE_MAIL_HEADER_<name of the mail header>

String

If the corresponding variables have values, the email headers are set with these values in the Response Routes of type path Mail (SMTP). Note: The evaluation of the header name is case-sensitive. The email header is set as written in the variable. You should stick to the RFC notation of the header

If you send via ASM, these variables are forwarded to ASM and then used there.

VAR_SENDER

String

Contains the sender of the input data if the input data of the current job is an email, an X.400 mail, an (S)FTP (S) message, an OFTP message, a FAX, an AS2 message or an SMS message.

Note: Before an error email is sent, the variable is re-evaluated.

Note: If a profile is restarted, the variable can only contain the sender if the profile had an active option Keep input information at its first run.

Note: If the profile is tested, the variable does not contain a value. It contains the user name for a profile restart.

Note: In form profiles, the variable contains the value WebMonitor:<user_name>.

VAR_SYS_ARCHENTRY_PATH

String

Is filled with the path of the current archive entry (if it is in a subfolder of the received archive).

VAR_SYS_ARCHIVE_NAME

String

The variable contains the name (without path) of a received archive file (e.g. MyZip.zip).

VAR_SYS_ARCHIVE_ENTRY_n

String

The name of the file in an archive of the Response Route with the position number n (in the list of Response Routes) can be set via the system variable VAR_SYS_ARCHIVE_ENTRY_n.

VAR_SYS_AS2_MIME_TYPE

String

MIME type of a received AS2 message.

VAR_SYS_ASM_RESPONSE[1..n]

String

If one of these variables has a value, the ASM entry in the Response Route with the number [1..n] will be overwritten with the value of the variable. Example: VAR_SYS_ASM_RESPONSE1 overwrites the ASM entry with the value of the variable in the Response Route with the number 1.

VAR_SYS_ATTACHMENT_NAME

String

If a time-driven Input Agent of type Mail (POP3, IMAP, X.400) or a time-driven Input Agent of type SMTP is used, the variable will contain the 'original name' of the attachment file. This is useful because the variable VAR_FILENAME would only return asdf.pdf for an attachment named test/asdf.pdf.

VAR_SYS_BACKUP

String

The variable contains the name of the backup file of the input data of the current job, e.g. Job_25995. Note: When testing a profile, the variable gets the value Job_-1. Note: See also function get path of backup-file(a,b,c).

VAR_SYS_CHANNEL_NAME_RESPONSE[1..n]

String

Name of the partner channel. See also the description of variable VAR_SYS_CHANNEL_RESPONSE[1..n].

Note: See also VAR_SYS_TRIGGER_CHANNEL_ID.

VAR_SYS_CHANNEL_RESPONSE[1..n]

String

If >0, the ID of a channel of the Response Route with number [1..n] is replaced by the value of the variable. This applies to all Response Routes that can specify a channel. See also function find channel(a,b,[c,d]).

If the variable does not have a value >0, an attempt is made to determine a suitable partner channel from the combination of the values of the variables VAR_SYS_CHANNEL_NAME_RESPONSE[1..n] and VAR_SYS_PARTNER_NAME_RESPONSE[1..n]. This is only done if these variables have values (i.e. a partner or partner channel name). A case-sensitive search is used. If no valid partner channel is found, the partner channel set in the Response Route is used.

VAR_SYS_COLLECTED_MSGS

String

In this variable, the contents of variable VAR_SYS_MESSAGE are accumulated for each erroneous/skipped record. See section Skip Record in Case of Error.

VAR_SYS_CTRL_FILE

String

The variable contains the content of the control file during a data transfer via FTP. See time-driven Input Agent FTP.

VAR_SYS_CURRENT_RECORD

String

The variable contains the number of the current record in the case of an error in phase 3, otherwise, the value will be 0.

VAR_SYS_DMZ_ID

String

If defined, the variable may contain the factory ID of the DMZ (from ./etc/factory.xml) that received the message. This is helpful if there are multiple DMZs. You can also see if the message came via DMZ or not. Does not apply to pure HTTP requests (/dw/Request/).

VAR_SYS_EXCEL_SHEET_NAMES

String

List of all Excel sheets, separated by \n.

VAR_SYS_EXCEPTION

(MSG_CALL_VAR_SYS_EXCEPTION)

String

The variable contains the error message of the exception in the event of an error.

When using profile calls with the functions call profile(a[,b],c[,d]) and trigger profile(a,b), exceptions that occur because the MessageService is not available will only cause the functions to return false, but the exception message can be retrieved via the system variable MSG_CALL_VAR_SYS_EXCEPTION (if it is defined).

VAR_SYS_FILE_PATH

String

The variable contains the path of the input file (without file name) for profiles with time-driven Input Agent of type File. The value of the variable corresponds to the value in the field Directory of the Input Agent.

VAR_SYS_HAS_INVALID_RECORD

Boolean

The variable is true if the processing of at least one record in phase 3 failed. See section Skip Record in Case of Error.

VAR_SYS_HAS_SQL_ERROR

Boolean

The variable is true if during the processing of at least one dataset in phase 4 an SQL error occurred.

VAR_SYS_LAST_IN_ARCHIVE

Boolean

The variable has the value true if the current input file is the last file of an archive (e.g. ZIP file).

VAR_SYS_LASTINBULK

Boolean

The variable gets the value true if an input file was the last file of an SSH, OFTP or FTP transmission. The variable will only be filled if checkbox Process received data on "logout" is set in the respective Input Agent. The Content Inspection module also sets this variable to true when the last file of a file compound is processed.

VAR_SYS_LINES

Integer

The variable contains the number of lines processed of input files of the type CSV, Excel, IDOC and Fixed-length.

VAR_SYS_MAIL_ARCHIVE

String

If the archiving of emails and X.400 mails is active, the variable contains the path of the archived email file.

VAR_SYS_MAIL_ATTACHMENTS

Integer

Number of attachments of a (X.400) mail.

VAR_SYS_MAIL_BODY

String

The variable contains the mail body when receiving emails if there is no profile with active option Use mail body.

VAR_SYS_MAIL_HEADER_<name of mail header in uppercase letters>

String

This variable contains a value if Input Agents Mail (Imap/Pop3) or SMTP are used. Note: You have to use uppercase for all characters.

Example: The variable VAR_SYS_MAIL_HEADER_DATE contains the original string value of the email header Date. The mail header line Date: Wed, 6 Sep 2017 13:50:01 +0300 leads to the variable content Wed, 6 Sep 2017 13:50:01 +0300.

VAR_SYS_MAIL_RECIPIENTS

String

The variable contains a list of the recipients (and CCs, but not BCCs) if the input data of the current job is an email or an X.400 mail. If a profile is restarted, the variable can only contain a value if the profile had an active option Keep input information at the initial run.
Note: The variable must be explicitly defined. When testing a profile, the variable receives no value.
Note: The variable will only contain simple email addresses. If it should contain the full addresses, the Integration Server has to be started with the start option -Dhub.datawizard.fullMailAddress=true.

VAR_SYS_MESSAGE

String

The variable collects relevant information for the record whose processing has failed. See section Skip Record in Case of Error.

VAR_SYS_MESSAGE_ID

String

The variable contains the message ID of an email, an X.400 mail, an AS2 message, or an OFTP message.

Note: The variable must be explicitly defined.

Note: For an SAP ALE Input Agent, the variable contains the value <DOCNUM>@<TID>. For grouped IDocs this is always the last DOCNUM received.

VAR_SYS_OFTP_FILE_COUNTER

String

OFTP file counter.

VAR_SYS_OFTP_ORIGINATOR

String

The variable is filled with the originator of the OFTP message. This may differ from the sender of the message.

VAR_SYS_OFTP_SFID

String

The variable is filled with the destination address of the OFTP message. This may differ from the recipient of the message.

VAR_SYS_PARTNER_NAME_RESPONSE[1..n]

String

Name of a partner channel. See description of variable VAR_SYS_CHANNEL_RESPONSE[1..n].

VAR_SYS_PROFILECALL_PATH

String

Used internally when calling subprofiles in the target structure.

VAR_SYS_RESTART

Boolean

The variable has the value true if the current job was started by restarting an error job.

VAR_SYS_SAP_TID

String

For a Response Route of type SAP ALE, the variable (if defined) contains the TID that was used for sending (automatically created by Lobster_data).

VAR_SYS_SOAP_FAULT

String

Contains web service error message. See parameter i in function call SOAP-WebService(a,b,c,d,e,f,g,h,i,j,k,[l,m,n,o]) and parameter g in function call SOAP-WebService without template(a,b,c,d,e,f,[g,h,i,j,k,l]).

VAR_SYS_SYSTEM_TYPE

Integer

The value encodes the type of Lobster system (0 = prod, 1 = test, 2 = standby, 3 = DMZ). See also function get system-type().

VAR_SYS_TRIGGER_CHANNEL_ID

or

MSG_CALL_VAR_SYS_TRIGGER_CHANNEL_ID

Integer

If >0, the channel in a time-driven Input Agent is replaced by the channel with this ID. If =0 or if the variable is not defined, the channel selected in the Input Agent is used (or none if no channel is set). See also function find channel(a,b,[c,d]). See also section Variables with Prefix MSG_CALL_.

Note: See also VAR_SYS_CHANNEL_RESPONSE[1..n].

VAR_SYS_VALIDATION_ERRORS

Integer

Function dump validation data (a, b) stores the number of errors in this variable.

VAR_TIMESTAMP

TimeStamp

Timestamp of the backup file or email.

If checkbox Keep input information is not set, the timestamp of the backup file is used. This is the start time of the original job (also for a restart).

If the checkbox is set, the sending time of an email or X.400 mail is used.

For data source File the last modification of the file is used, in all other cases the starting time of the original job.

VAR_TRIGGER_VALUE

any

In profiles that have a Response Route of type Message in which another profile is triggered, this variable can be used to pass any value to the triggered profile. The variable needs to be defined in the triggered profile. The triggered profile needs to have a time-driven Input Agent of type DB. The variable can then be used as a parameter in the SQL statement of the triggered profile. To do this, the variable must be assigned to a parameter number. This number can then be used to access the value of the variable in the SQL statement using a placeholder. So if the variable is assigned to parameter number 1, the value of the variable is accessed in the following manner.

SELECT * from table where column=@1:i@