A workflow is the combination of multiple Glue objects and describes the flow of the data from the source (e.g. a SAP table) all the way down the target (e.g. a Glue table).
...
Using POST /workflow API is possible to mass generate workflows ready to be executed.
Global parameters
Parameter name | Description | Usage | Type |
---|---|---|---|
SourceObjectName | Array with the list of SAP source objects for which to generate the replication objects | Mandatory | String |
SourceObjectType | The type of SAP object to read from. Currently supporting ADSO and SAP tables | Mandatory | "table/view" | ”ADSO” |
glueTableSett |
Array with parameters for Glue table generation |
Optional | JSON object (see below) | |
ext2Sett |
Array with parameters for Extractors 2.0 generation | Mandatory | JSON object (see below) | |
glueQueueSett | Array with parameters for Glue Queue generation | Optional | JSON object (see below) |
asyncExec | Execute generation in a background job (Asynchronous) | Optional | ‘’ or ‘X’ |
skipExisting | Skip generation of existing objects | Optional | ‘’ or ‘X’ |
GlueTableSett: Glue table generation parameter object
Parameter name
Parameter name | Description | Usage | Type |
---|---|---|---|
prefix | Object prefix | Mandatory | String |
suffix | Object suffix | Optional | String |
devclass | Package for object | Mandatory | String |
storID | Storage ID | Mandatory | String |
meaningFields | Meaningful fieldname | Optional | Boolean |
meaningValues | Speaking field values | Optional | Boolean |
glRequest | Add Glue Request field | Optional | Boolean |
glRequestAsKey | Add Glue request as a key | Optional | Boolean |
CSVFolderName | File storage folder name | Obligatory in case of file storages | String, default “<GLUE_TABNAME>” |
CSVDelimiter | File storage – Delimiter type | Obligatory in case of file storages | String |
CSVQuotes | File storage – Put values into quotes | Optional | Boolean |
CSVEscaping | File storage – Use extended escaping | Optional | Boolean |
CSVHeader | File storage – Include table header | Optional | Boolean |
CSVOneFile | File storage – One file extraction | Optional | Boolean |
CSVCompress | File storage – Compress file | Optional | Boolean |
CSVCompressLevel | File storage – Compression level | Optional | Int |
ext2Sett: Glue Extractor 2.0
CSVInheriteProfile | File storage - Storage/global default profile | Optional | Boolean |
CSVProfileName | File storage - Profile name | Optional | String |
glueQueueSett: Glue Queue generation parameter object
Parameter name | Description | Usage | Type |
---|---|---|---|
prefix | Object prefix, must start with Z | Mandatory | String |
suffix |
Optional
String, default “_F“
suffixConsumer
Object suffix | Optional | String, default “_ |
suffixProcess
Extraction process suffix
Optional
String, default “_P”
Q“ | |||
devclass | Package for object | Mandatory | String |
sourceType |
Queue structure type | Mandatory |
“DDIC” | |
“GL_TAB” |
loadType
The default load type, can be changed at execution time
Mandatory
“F“ | ”D” | ”I” | ”L”
keyFieldsFilter
Add key fields as a selection parameter
Optional
Boolean
noActivation
Do not activate objects
Optional
Boolean
useDeduplication
Use deduplication
Optional
Boolean
All input parameters are case insensitive.
Example of REST API call:
...
POST
...
http://servername:portnumber/dvd/glue/api/v3_1/workflows?sap-client=800
JSON body:
Code Block | ||
---|---|---|
| ||
{
"SourceObjectType": "table/view",
"SourceObjectName": [
"SFLIGHT"
],
"GlueTableSett": {
"prefix": "Z_",
"devclass": "ZPACKAGE",
"storID":"AWS_S3",
"glRequest": "",
"glRequestAsKey": ""
},
"ext2Sett": {
"prefix": "Z_",
"devclass": "ZPACKAGE",
"suffixFetcher": "_F",
"suffixConsumer": "_C",
"suffixProcess": "_P",
"deltaType": "FULL",
"loadType": "F"
}
} |
Example of the REST API output:
...
language | json |
---|
...
sourceObj | Source object ID (if sourceType = “DDIC” source object id will be “0”) | Mandatory | Int |
ext2Sett: Glue Extractor 2.0
Parameter name | Description | Usage | Type |
---|---|---|---|
prefix | Object prefix, must start with Z | Mandatory | String |
suffixFetcher | Fetcher suffix | Optional | String, default “_F“ |
suffixConsumer | Consumer suffix | Optional | String, default “_C” |
suffixProcess | Extraction process suffix | Optional | String, default “_P” |
devclass | Package for object | Mandatory | String |
sourceType | Source object type | Mandatory | “DDIC“|“QUEUE” | “GL_TAB” |
sourceID | Source object ID (if sourceType = “DDIC” source object id will be “0”) | Mandatory | Int |
targetType | Target object type | Mandatory | “QUEUE” | “GL_TAB” |
targetID | Target object ID | Mandatory | Int |
deltaType | Delta type, with generate endpoint only trigger and full are possible, different modes can be enabled using PATCH process endpoint | Mandatory | “FULL“ | “TRIGGER“ |
loadType | The default load type, can be changed at execution time | Mandatory | “F“ | ”D” | ”I” | ”L” |
keyFieldsFilter | Add key fields as a selection parameter | Optional | Boolean |
noActivation | Do not activate objects | Optional | Boolean |
useDeduplication | Use deduplication | Optional | Boolean |
All input parameters are case insensitive.
Example of REST API call:
POST | http://servername:portnumber/dvd/glue/api/v3_1/workflows?sap-client=clientnumber |
---|
JSON body:
Code Block | ||
---|---|---|
| ||
{
"SOURCEOBJECTTYPE": "Table/View",
"SOURCEOBJECTNAME": [
"SFLIGHT",
"SBOOK"
],
"GlueTableSett": [
{
"id": "1",
"prefix": "ZTEST_",
"devclass": "ZTEST",
"glRequest": "",
"storid": "BIN_FILE",
"glRequestAsKey": ""
}
],
"ext2Sett": [
{
"id": "1",
"prefix": "ZTEST_",
"devclass": "ZTEST",
"suffixFetcher": "_F",
"suffixConsumer": "_C",
"suffixProcess": "_P",
"SOURCETYPE": "DDIC",
"SOURCEOBJ": "",
"TARGETTYPE": "GL_TAB",
"TARGETOBJ": "1",
"deltaType": "FULL",
"loadType": "F"
}
]
} |
Example of the REST API output:
Code Block | ||
---|---|---|
| ||
{
"message": [
{
"msgtype": "S",
"text": "Generating Glue Table 1 for Table/View SBOOK..."
},
{
"msgtype": "S",
"text": "Glue Table ZTEST_SBOOK generated successfully."
},
{
"msgtype": "S",
"text": "Generating Extractor2.0 1 ..."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SBOOK_F generated successfully."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SBOOK_C generated successfully."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SBOOK_P generated successfully."
},
{
"msgtype": "S",
"text": "Generating Glue Table 1 for Table/View SFLIGHT..."
},
{
"msgtype": "S",
"text": "Glue Table ZTEST_SFLIGHT generated successfully."
},
{
"msgtype": "S",
"text": "Generating Extractor2.0 1 ..."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SFLIGHT_F generated successfully."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SFLIGHT_C generated successfully."
},
{
"msgtype": "S",
"text": "Extractor2.0 object ZTEST_SFLIGHT_P generated successfully."
}
]
} |
Example of Queue generation
Expand | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
JSON body:
Example of the REST API output:
|
...
|
Object types:
“DDIC” SAP table/view or ADSO
“GL_TAB” Glue table
“QUEUE” Glue Queue
Load type
When a process is configured for delta replication, the execution can be run in different modalities:
“F” Full Load (Repair) Without Delta Update
“D” Delta Load
“I” Delta Init Without Data
“L” Delta Init + Full Load
Info |
---|
If the job is scheduled in the background (async generation), the HTTP response code will be set to 200 with information about the generated SAP job |
...
BTCUSER” |
Functionality is implemented in the SAP class /DVD/GL_EXT2_API_GENERATE_GEN_OBJ_V3_1.
Error handling
Every error message is raised via code 400. The reason for the error is also provided; however further investigation might be needed on the SAP side.
...
It supports the following input parameters:
Global parameters
Parameter name | Description | Usage | Type |
---|---|---|---|
ObjectName | Array with the list of GLUE objects for deletion (Glue Tables and Extractor 2.0 objects) | Mandatory | String |
All input parameters are case insensitive.
Example of REST API call:
JSON body:
Code Block | ||
---|---|---|
| ||
{ "objectName": [ "ZMCH_SFLIGHT_F", "ZMCH_SFLIGHT", "ZMCH_SFLIGHT_FIFO_C", "ZMCH_SFLIGHT_1_P", "ZMCH_SFLIGHT_FIFO_F", "ZMCH_SFLIGHT_C", "ZMCH_SFLIGHT_2_P", "ZMCH_SFLIGHT_F" ] } |
...