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