@yousolution/node-red-contrib-you-sap-service-layer 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,389 @@
1
+ <script type="text/javascript">
2
+ RED.nodes.registerType('crossJoinSap',{
3
+ category: 'Sap',
4
+ color: '#FFC300',
5
+ defaults: {
6
+ name: {value: ''},
7
+ entity: {value: ''},
8
+ headers: {value: ''},
9
+ nextLink: {value: ''},
10
+ query: {value: 'query={};'}
11
+ },
12
+ inputs:1,
13
+ outputs:1,
14
+ icon: 'font-awesome/fa-compress',
15
+ label: function() {
16
+ return this.name||"Sap CrossJoin";
17
+ },
18
+ oneditprepare: function() {
19
+ this.editor = RED.editor.createEditor({
20
+ id: 'node-input-editor',
21
+ mode: 'ace/mode/javascript',
22
+ value: this.query
23
+ });
24
+
25
+ $("#node-input-headers").typedInput({
26
+ type:"msg",
27
+ types:["msg"],
28
+ typeField: "#node-input-headers-type",
29
+ value: 'headers'
30
+ });
31
+
32
+ $("#node-input-nextLink").typedInput({
33
+ type:"msg",
34
+ types:["msg"],
35
+ typeField: "#node-input-nextLink-type",
36
+ value: 'nextLink'
37
+ });
38
+
39
+ $("#node-input-entity").typedInput({
40
+ types: [{
41
+ value: "entity",
42
+ multiple: "true",
43
+ options: [
44
+
45
+ { value: "AccountCategory", label: "AccountCategory"},
46
+ { value: "AccountSegmentations", label: "AccountSegmentations"},
47
+ { value: "AccrualTypes", label: "AccrualTypes"},
48
+ { value: "Activities", label: "Activities"},
49
+ { value: "ActivityLocations", label: "ActivityLocations"},
50
+ { value: "ActivityRecipientLists", label: "ActivityRecipientLists"},
51
+ { value: "ActivityStatuses", label: "ActivityStatuses"},
52
+ { value: "ActivityTypes", label: "ActivityTypes"},
53
+ { value: "AdditionalExpenses", label: "AdditionalExpenses"},
54
+ { value: "AlertManagements", label: "AlertManagements"},
55
+ { value: "ApprovalRequests", label: "ApprovalRequests"},
56
+ { value: "ApprovalStages", label: "ApprovalStages"},
57
+ { value: "ApprovalTemplates", label: "ApprovalTemplates"},
58
+ { value: "AssetCapitalization", label: "AssetCapitalization"},
59
+ { value: "AssetCapitalizationCreditMemo", label: "AssetCapitalizationCreditMemo"},
60
+ { value: "AssetClasses", label: "AssetClasses"},
61
+ { value: "AssetDepreciationGroups", label: "AssetDepreciationGroups"},
62
+ { value: "AssetGroups", label: "AssetGroups"},
63
+ { value: "AssetManualDepreciation", label: "AssetManualDepreciation"},
64
+ { value: "AssetRetirement", label: "AssetRetirement"},
65
+ { value: "AssetTransfer", label: "AssetTransfer"},
66
+ { value: "Attachments2", label: "Attachments2"},
67
+ { value: "AttributeGroups", label: "AttributeGroups"},
68
+ { value: "BankChargesAllocationCodes", label: "BankChargesAllocationCodes"},
69
+ { value: "Banks", label: "Banks"},
70
+ { value: "BankStatements", label: "BankStatements"},
71
+ { value: "BarCodes", label: "BarCodes"},
72
+ { value: "BatchNumberDetails", label: "BatchNumberDetails"},
73
+ { value: "BillOfExchangeTransactions", label: "BillOfExchangeTransactions"},
74
+ { value: "BinLocationAttributes", label: "BinLocationAttributes"},
75
+ { value: "BinLocationFields", label: "BinLocationFields"},
76
+ { value: "BinLocations", label: "BinLocations"},
77
+ { value: "BlanketAgreements", label: "BlanketAgreements"},
78
+ { value: "BOEDocumentTypes", label: "BOEDocumentTypes"},
79
+ { value: "BOEInstructions", label: "BOEInstructions"},
80
+ { value: "BOEPortfolios", label: "BOEPortfolios"},
81
+ { value: "BPPriorities", label: "BPPriorities"},
82
+ { value: "Branches", label: "Branches"},
83
+ { value: "BrazilBeverageIndexers", label: "BrazilBeverageIndexers"},
84
+ { value: "BrazilFuelIndexers", label: "BrazilFuelIndexers"},
85
+ { value: "BrazilMultiIndexers", label: "BrazilMultiIndexers"},
86
+ { value: "BrazilNumericIndexers", label: "BrazilNumericIndexers"},
87
+ { value: "BrazilStringIndexers", label: "BrazilStringIndexers"},
88
+ { value: "BudgetDistributions", label: "BudgetDistributions"},
89
+ { value: "Budgets", label: "Budgets"},
90
+ { value: "BudgetScenarios", label: "BudgetScenarios"},
91
+ { value: "BusinessPartnerGroups", label: "BusinessPartnerGroups"},
92
+ { value: "BusinessPartnerProperties", label: "BusinessPartnerProperties"},
93
+ { value: "BusinessPartners", label: "BusinessPartners"},
94
+ { value: "BusinessPlaces", label: "BusinessPlaces"},
95
+ { value: "CampaignResponseType", label: "CampaignResponseType"},
96
+ { value: "Campaigns", label: "Campaigns"},
97
+ { value: "CashDiscounts", label: "CashDiscounts"},
98
+ { value: "CashFlowLineItems", label: "CashFlowLineItems"},
99
+ { value: "CertificateSeries", label: "CertificateSeries"},
100
+ { value: "ChartOfAccounts", label: "ChartOfAccounts"},
101
+ { value: "ChecksforPayment", label: "ChecksforPayment"},
102
+ { value: "ChooseFromList", label: "ChooseFromList"},
103
+ { value: "Cockpits", label: "Cockpits"},
104
+ { value: "CommissionGroups", label: "CommissionGroups"},
105
+ { value: "Contacts", label: "Contacts"},
106
+ { value: "ContractTemplates", label: "ContractTemplates"},
107
+ { value: "CorrectionInvoice", label: "CorrectionInvoice"},
108
+ { value: "CorrectionInvoiceReversal", label: "BusinessPartners"},
109
+ { value: "CorrectionPurchaseInvoice", label: "CorrectionPurchaseInvoice"},
110
+ { value: "CorrectionPurchaseInvoiceReversal", label: "CorrectionPurchaseInvoiceReversal"},
111
+ { value: "CostCenterTypes", label: "CostCenterTypes"},
112
+ { value: "CostElements", label: "CostElements"},
113
+ { value: "Countries", label: "Countries"},
114
+ { value: "CreditCardPayments", label: "CreditCardPayments"},
115
+ { value: "CreditCards", label: "CreditCards"},
116
+ { value: "CreditNotes", label: "CreditNotes"},
117
+ { value: "CreditPaymentMethods", label: "CreditPaymentMethods"},
118
+ { value: "Currencies", label: "Currencies"},
119
+ { value: "CustomerEquipmentCards", label: "CustomerEquipmentCards"},
120
+ { value: "CustomsDeclaration", label: "CustomsDeclaration"},
121
+ { value: "CustomsGroups", label: "CustomsGroups"},
122
+ { value: "CycleCountDeterminations", label: "CycleCountDeterminations"},
123
+ { value: "DeductionTaxGroups", label: "DeductionTaxGroups"},
124
+ { value: "DeductionTaxHierarchies", label: "DeductionTaxHierarchies"},
125
+ { value: "DeductionTaxSubGroups", label: "DeductionTaxSubGroups"},
126
+ { value: "DeliveryNotes", label: "DeliveryNotes"},
127
+ { value: "Departments", label: "Departments"},
128
+ { value: "Deposits", label: "Deposits"},
129
+ { value: "DepreciationAreas", label: "DepreciationAreas"},
130
+ { value: "DepreciationTypePools", label: "DepreciationTypePools"},
131
+ { value: "DepreciationTypes", label: "DepreciationTypes"},
132
+ { value: "DeterminationCriterias", label: "DeterminationCriterias"},
133
+ { value: "Dimensions", label: "Dimensions"},
134
+ { value: "DistributionRules", label: "DistributionRules"},
135
+ { value: "DNFCodeSetup", label: "DNFCodeSetup"},
136
+ { value: "DownPayments", label: "DownPayments"},
137
+ { value: "Drafts", label: "Drafts"},
138
+ { value: "DunningLetters", label: "DunningLetters"},
139
+ { value: "DunningTerms", label: "DunningTerms"},
140
+ { value: "ElectronicFileFormats", label: "ElectronicFileFormats"},
141
+ { value: "EmailGroups", label: "EmailGroups"},
142
+ { value: "EmployeeIDType", label: "EmployeeIDType"},
143
+ { value: "EmployeePosition", label: "EmployeePosition"},
144
+ { value: "EmployeeRolesSetup", label: "EmployeeRolesSetup"},
145
+ { value: "EmployeesInfo", label: "EmployeesInfo"},
146
+ { value: "EmployeeStatus", label: "EmployeeStatus"},
147
+ { value: "EmployeeTransfers", label: "EmployeeTransfers"},
148
+ { value: "EnhancedDiscountGroups", label: "EnhancedDiscountGroups"},
149
+ { value: "ExtendedTranslations", label: "ExtendedTranslations"},
150
+ { value: "FAAccountDeterminations", label: "FAAccountDeterminations"},
151
+ { value: "FactoringIndicators", label: "FactoringIndicators"},
152
+ { value: "FinancialYears", label: "FinancialYears"},
153
+ { value: "FiscalPrinter", label: "FiscalPrinter"},
154
+ { value: "FormattedSearches", label: "FormattedSearches"},
155
+ { value: "Forms1099", label: "Forms1099"},
156
+ { value: "GLAccountAdvancedRules", label: "GLAccountAdvancedRules"},
157
+ { value: "GoodsReturnRequest", label: "GoodsReturnRequest"},
158
+ { value: "GovPayCodes", label: "GovPayCodes"},
159
+ { value: "HouseBankAccounts", label: "HouseBankAccounts"},
160
+ { value: "IncomingPayments", label: "IncomingPayments"},
161
+ { value: "Industries", label: "Industries"},
162
+ { value: "IntegrationPackagesConfigure", label: "IntegrationPackagesConfigure"},
163
+ { value: "InternalReconciliations", label: "InternalReconciliations"},
164
+ { value: "IntrastatConfiguration", label: "IntrastatConfiguration"},
165
+ { value: "InventoryCountings", label: "InventoryCountings"},
166
+ { value: "InventoryCycles", label: "InventoryCycles"},
167
+ { value: "InventoryGenEntries", label: "InventoryGenEntries"},
168
+ { value: "InventoryGenExits", label: "InventoryGenExits"},
169
+ { value: "InventoryOpeningBalances", label: "InventoryOpeningBalances"},
170
+ { value: "InventoryPostings", label: "InventoryPostings"},
171
+ { value: "InventoryTransferRequests", label: "InventoryTransferRequests"},
172
+ { value: "Invoices", label: "Invoices"},
173
+ { value: "ItemGroups", label: "ItemGroups"},
174
+ { value: "ItemImages", label: "ItemImages"},
175
+ { value: "ItemProperties", label: "ItemProperties"},
176
+ { value: "Items", label: "Items"},
177
+ { value: "JournalEntries", label: "JournalEntries"},
178
+ { value: "JournalEntryDocumentTypes", label: "JournalEntryDocumentTypes"},
179
+ { value: "KnowledgeBaseSolutions", label: "KnowledgeBaseSolutions"},
180
+ { value: "KPIs", label: "KPIs"},
181
+ { value: "LandedCosts", label: "LandedCosts"},
182
+ { value: "LandedCostsCodes", label: "LandedCostsCodes"},
183
+ { value: "LegalData", label: "LegalData"},
184
+ { value: "LengthMeasures", label: "LengthMeasures"},
185
+ { value: "LocalEra", label: "LocalEra"},
186
+ { value: "Manufacturers", label: "Manufacturers"},
187
+ { value: "MaterialGroups", label: "MaterialGroups"},
188
+ { value: "MaterialRevaluation", label: "MaterialRevaluation"},
189
+ { value: "Messages", label: "Messages"},
190
+ { value: "MobileAddOnSetting", label: "MobileAddOnSetting"},
191
+ { value: "MultiLanguageTranslations", label: "MultiLanguageTranslations"},
192
+ { value: "NatureOfAssessees", label: "NatureOfAssessees"},
193
+ { value: "NCMCodesSetup", label: "NCMCodesSetup"},
194
+ { value: "NFModels", label: "NFModels"},
195
+ { value: "NFTaxCategories", label: "NFTaxCategories"},
196
+ { value: "OccurrenceCodes", label: "OccurrenceCodes"},
197
+ { value: "Orders", label: "Orders"},
198
+ { value: "PackagesTypes", label: "PackagesTypes"},
199
+ { value: "PartnersSetups", label: "PartnersSetups"},
200
+ { value: "PaymentBlocks", label: "PaymentBlocks"},
201
+ { value: "PaymentDrafts", label: "PaymentDrafts"},
202
+ { value: "PaymentRunExport", label: "PaymentRunExport"},
203
+ { value: "PaymentTermsTypes", label: "PaymentTermsTypes"},
204
+ { value: "PickLists", label: "PickLists"},
205
+ { value: "POSDailySummary", label: "POSDailySummary"},
206
+ { value: "PredefinedTexts", label: "PredefinedTexts"},
207
+ { value: "PriceLists", label: "PriceLists"},
208
+ { value: "ProductionOrders", label: "ProductionOrders"},
209
+ { value: "ProductTrees", label: "ProductTrees"},
210
+ { value: "ProfitCenters", label: "ProfitCenters"},
211
+ { value: "ProjectManagements", label: "ProjectManagements"},
212
+ { value: "ProjectManagementTimeSheet", label: "ProjectManagementTimeSheet"},
213
+ { value: "Projects", label: "Projects"},
214
+ { value: "PurchaseCreditNotes", label: "PurchaseCreditNotes"},
215
+ { value: "PurchaseDeliveryNotes", label: "PurchaseDeliveryNotes"},
216
+ { value: "PurchaseDownPayments", label: "PurchaseDownPayments"},
217
+ { value: "PurchaseInvoices", label: "PurchaseInvoices"},
218
+ { value: "PurchaseOrders", label: "PurchaseOrders"},
219
+ { value: "PurchaseQuotations", label: "PurchaseQuotations"},
220
+ { value: "PurchaseRequests", label: "PurchaseRequests"},
221
+ { value: "PurchaseReturns", label: "PurchaseReturns"},
222
+ { value: "PurchaseTaxInvoices", label: "PurchaseTaxInvoices"},
223
+ { value: "QueryAuthGroups", label: "QueryAuthGroups"},
224
+ { value: "QueryCategories", label: "QueryCategories"},
225
+ { value: "Queue", label: "Queue"},
226
+ { value: "Quotations", label: "Quotations"},
227
+ { value: "RecurringTransaction", label: "RecurringTransaction"},
228
+ { value: "Relationships", label: "Relationships"},
229
+ { value: "ReportFilter", label: "ReportFilter"},
230
+ { value: "ReportTypes", label: "ReportTypes"},
231
+ { value: "ResourceCapacities", label: "ResourceCapacities"},
232
+ { value: "ResourceGroups", label: "ResourceGroups"},
233
+ { value: "ResourceProperties", label: "ResourceProperties"},
234
+ { value: "Resources", label: "Resources"},
235
+ { value: "RetornoCodes", label: "RetornoCodes"},
236
+ { value: "ReturnRequest", label: "ReturnRequest"},
237
+ { value: "Returns", label: "Returns"},
238
+ { value: "RouteStages", label: "RouteStages"},
239
+ { value: "SalesForecast", label: "SalesForecast"},
240
+ { value: "SalesOpportunities", label: "SalesOpportunities"},
241
+ { value: "SalesOpportunityCompetitorsSetup", label: "SalesOpportunityCompetitorsSetup"},
242
+ { value: "SalesOpportunityInterestsSetup", label: "SalesOpportunityInterestsSetup"},
243
+ { value: "SalesOpportunityReasonsSetup", label: "SalesOpportunityReasonsSetup"},
244
+ { value: "SalesOpportunitySourcesSetup", label: "SalesOpportunitySourcesSetup"},
245
+ { value: "SalesPersons", label: "SalesPersons"},
246
+ { value: "SalesPersons", label: "SalesPersons"},
247
+ { value: "SalesTaxAuthoritiesTypes", label: "SalesTaxAuthoritiesTypes"},
248
+ { value: "SalesTaxCodes", label: "SalesTaxCodes"},
249
+ { value: "SalesTaxInvoices", label: "SalesTaxInvoices"},
250
+ { value: "Sections", label: "Sections"},
251
+ { value: "SerialNumberDetails", label: "SerialNumberDetails"},
252
+ { value: "ServiceCallOrigins", label: "ServiceCallOrigins"},
253
+ { value: "ServiceCallProblemSubTypes", label: "ServiceCallProblemSubTypes"},
254
+ { value: "ServiceCallProblemTypes", label: "ServiceCallProblemTypes"},
255
+ { value: "ServiceCalls", label: "ServiceCalls"},
256
+ { value: "ServiceCallSolutionStatus", label: "ServiceCallSolutionStatus"},
257
+ { value: "ServiceCallStatus", label: "ServiceCallStatus"},
258
+ { value: "ServiceCallTypes", label: "ServiceCallTypes"},
259
+ { value: "ServiceContracts", label: "ServiceContracts"},
260
+ { value: "ServiceGroups", label: "ServiceGroups"},
261
+ { value: "ShippingTypes", label: "ShippingTypes"},
262
+ { value: "StockTransferDrafts", label: "StockTransferDrafts"},
263
+ { value: "StockTransfers", label: "StockTransfers"},
264
+ { value: "StockTransfers", label: "StockTransfers"},
265
+ { value: "TargetGroups", label: "TargetGroups"},
266
+ { value: "TaxCodeDeterminations", label: "TaxCodeDeterminations"},
267
+ { value: "TaxCodeDeterminationsTCD", label: "TaxCodeDeterminationsTCD"},
268
+ { value: "TaxInvoiceReport", label: "TaxInvoiceReport"},
269
+ { value: "TaxWebSites", label: "TaxWebSites"},
270
+ { value: "Teams", label: "Teams"},
271
+ { value: "TerminationReason", label: "TerminationReason"},
272
+ { value: "Territories", label: "Territories"},
273
+ { value: "TrackingNotes", label: "TrackingNotes"},
274
+ { value: "TransactionCodes", label: "TransactionCodes"},
275
+ { value: "UnitOfMeasurementGroups", label: "BusinessPartners"},
276
+ { value: "UnitOfMeasurements", label: "UnitOfMeasurements"},
277
+ { value: "UserDefaultGroups", label: "UserDefaultGroups"},
278
+ { value: "UserLanguages", label: "UserLanguages"},
279
+ { value: "UserObjectsMD", label: "UserObjectsMD"},
280
+ { value: "UserPermissionTree", label: "UserPermissionTree"},
281
+ { value: "Users", label: "Users"},
282
+ { value: "UserTablesMD", label: "UserTablesMD"},
283
+ { value: "ValueMapping", label: "ValueMapping"},
284
+ { value: "ValueMappingCommunication", label: "ValueMappingCommunication"},
285
+ { value: "VatGroups", label: "VatGroups"},
286
+ { value: "VendorPayments", label: "VendorPayments"},
287
+ { value: "Warehouses", label: "Warehouses"},
288
+ { value: "WarehouseLocations", label: "WarehouseLocations"},
289
+ { value: "WarehouseSublevelCodes", label: "WarehouseSublevelCodes"},
290
+ { value: "WeightMeasures", label: "WeightMeasures"},
291
+ { value: "WithholdingTaxCodes", label: "WithholdingTaxCodes"},
292
+ { value: "WitholdingTaxDefinition", label: "WitholdingTaxDefinition"},
293
+ { value: "WizardPaymentMethods", label: "WizardPaymentMethods"},
294
+ { value: "WorkOrders", label: "WorkOrders"},
295
+ { value: "UDO", label: "UDO"},
296
+ { value: "UDT", label: "UDT"},
297
+ ]}
298
+ ]
299
+ })
300
+ },
301
+ oneditsave: function() {
302
+ this.query = this.editor.getValue();
303
+ this.editor.destroy();
304
+ delete this.editor;
305
+ },
306
+ oneditcancel: function() {
307
+ this.editor.destroy();
308
+ delete this.editor;
309
+ }
310
+ });
311
+ </script>
312
+
313
+ <script type="text/html" data-template-name="crossJoinSap">
314
+ <div class="form-row">
315
+ <label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
316
+ <input type="text" id="node-input-name" placeholder="Name">
317
+ </div>
318
+
319
+ <div class="form-row">
320
+ <label for="node-input-entity"><i class="fa fa-check-square-o"></i> Entity</label>
321
+ <input type="text" id="node-input-entity">
322
+ </div>
323
+
324
+ <div class="form-row">
325
+ <label for="node-input-type"><i class="fa fa-comment"></i> Headers</label>
326
+ <input type="text" id="node-input-headers">
327
+ <input type="hidden" id="node-input-headers-type">
328
+ </div>
329
+
330
+ <div class="form-row">
331
+ <label for="node-input-type"><i class="fa fa-comment"></i> NextLink</label>
332
+ <input type="text" id="node-input-nextLink">
333
+ <input type="hidden" id="node-input-nextLink-type">
334
+ </div>
335
+
336
+ <div class="form-row">
337
+ <label for="node-input-editor"><i class="fa fa-database"></i> Query oData</label>
338
+ <div style="height: 250px; min-height:150px;" class="node-text-editor" id="node-input-editor"></div>
339
+ </div>
340
+ </script>
341
+
342
+ <!-- Documentation -->
343
+ <script type="text/html" data-help-name="crossJoinSap">
344
+ <p>Cross join action</p>
345
+
346
+ <h3>Inputs</h3>
347
+ <dl class="message-properties">
348
+ <dt>Name
349
+ <span class="property-type">string</span>
350
+ </dt>
351
+ <dd> the node's name </dd>
352
+ <dt>Entity
353
+ <span class="property-type">string</span>
354
+ </dt>
355
+ <dd> entity </dd>
356
+ <dt>query
357
+ <span class="property-type">string</span>
358
+ </dt>
359
+ <dd> query to execute the cross join </dd>
360
+ </dl>
361
+
362
+ <h3>Outputs</h3>
363
+ <ol class="node-ports">
364
+ <li>Standard output
365
+ <dl class="message-properties">
366
+ <dt>payload <span class="property-type">string</span></dt>
367
+ <dd>the standard output of the command.</dd>
368
+ </dl>
369
+ </li>
370
+ </ol>
371
+
372
+ <h3>Details</h3>
373
+ <p>this node is used to close the entity of SAP resource.
374
+ See the examples to understand how to use it.
375
+ </p>
376
+ <!-- <p><code>msg.payload</code> is used as the payload of the published message.
377
+ If it contains an Object it will be converted to a JSON string before being sent.
378
+ If it contains a binary Buffer the message will be published as-is.</p>
379
+ <p>The topic used can be configured in the node or, if left blank, can be set
380
+ by <code>msg.topic</code>.</p>
381
+ <p>Likewise the QoS and retain values can be configured in the node or, if left
382
+ blank, set by <code>msg.qos</code> and <code>msg.retain</code> respectively.</p> -->
383
+
384
+ <h3>References</h3>
385
+ <ul>
386
+ <li><a href="https://sap-samples.github.io/smb-summit-hackathon/b1sl.html" target="_black">Service layer API docs</a> - for more details </li>
387
+ <li><a href="https://github.com/yousolution-cloud/node-red-contrib-you-sap-service-layer">@yousolution-cloud/node-red-contrib-you-sap-service-layer</a> - the nodes github repository</li>
388
+ </ul>
389
+ </script>
@@ -0,0 +1,34 @@
1
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
2
+ const axios = require('axios');
3
+ const Support = require('./support');
4
+ // const buildQuery = require('odata-query').default;
5
+
6
+ module.exports = function (RED) {
7
+ function CrossJoinSapNode(config) {
8
+ RED.nodes.createNode(this, config);
9
+ const node = this;
10
+
11
+ // reset status
12
+ node.status({});
13
+
14
+ node.on('input', async (msg, send, done) => {
15
+ // reset status
16
+ node.status({});
17
+
18
+ try {
19
+ const options = { method: 'GET', hasRawQuery: true, hasEntityId: false, isCrossJoin: true };
20
+ const login = Support.login;
21
+ const result = await Support.sendRequest({ node, msg, config, axios, login, options });
22
+ msg.payload = result.data;
23
+ msg.statusCode = result.status;
24
+ msg.nextLink = result.data['odata.nextLink'];
25
+ node.status({ fill: 'green', shape: 'dot', text: 'success' });
26
+ node.send(msg);
27
+ } catch (error) {
28
+ node.status({ fill: 'red', shape: 'dot', text: 'Error' });
29
+ done(error);
30
+ }
31
+ });
32
+ }
33
+ RED.nodes.registerType('crossJoinSap', CrossJoinSapNode, {});
34
+ };