rnsap 0.4.2 → 0.4.5
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.
- checksums.yaml +4 -4
- data/lib/rnsap.rb +53 -25
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6caaea338a33ed4b7636f96d2b4e85fa9c8c1437c7ca472aa6be56998d4c8bef
|
4
|
+
data.tar.gz: 72a6791919a49cdcd6ff0a8a7cea274bdd60c38cd4057680d332f24e4dbdf1e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fc660ac491245dde346f49d63059f525234c2e391ffcae8331a3219ead07032f40d341dcaaca03ee75547e602ca71071f0113089849785c7b7e74261de182f8
|
7
|
+
data.tar.gz: 982047ae5d4236955c87b8c86b94d75d6a69043bff548ff460e6654e5e8ec7bd3eb0a33cfc944e108053f6015462636d1777d9953d5a9c694b0d515978528f50
|
data/lib/rnsap.rb
CHANGED
@@ -33,6 +33,9 @@ module RnSap
|
|
33
33
|
# keeps the SAP connection alive during the Sap instance lifecycle
|
34
34
|
attr_reader :conn
|
35
35
|
|
36
|
+
INT_TYPES ||= ['b','N']
|
37
|
+
FLOAT_TYPES ||= ['P']
|
38
|
+
DATE_TYPES ||=['D']
|
36
39
|
# Constructor requires to receive connection parameters,
|
37
40
|
# a hash containint necessary information to logon to SAP
|
38
41
|
# @param conn_parms [Hash] SAP Connection Parameters
|
@@ -45,35 +48,29 @@ module RnSap
|
|
45
48
|
conn.disconnect
|
46
49
|
end
|
47
50
|
|
48
|
-
def commit()
|
51
|
+
def commit(conn)
|
52
|
+
|
49
53
|
#-- Execute BAPI_TRANSACTION_COMMIT
|
50
|
-
fn_commit =
|
54
|
+
fn_commit = conn.get_function('BAPI_TRANSACTION_COMMIT')
|
51
55
|
fn_commit = fn_commit.get_function_call
|
52
|
-
fn_commit[:
|
53
|
-
|
54
|
-
fn_commit[:ITEM] = item
|
55
|
-
fn_commit[:USE_EXCEPTIONS] = use_exeptions
|
56
|
-
fn_commit[:NO_COMMIT_WORK] = no_commit
|
56
|
+
fn_commit[:WAIT] = 'X'
|
57
|
+
|
57
58
|
fn_commit.invoke
|
58
|
-
|
59
|
+
|
59
60
|
{
|
60
|
-
tb_return:
|
61
|
+
tb_return: fn_commit[:RETURN],
|
61
62
|
}
|
62
63
|
end
|
63
64
|
|
64
|
-
def rollback()
|
65
|
+
def rollback(conn)
|
65
66
|
#-- Execute BAPI_TRANSACTION_ROLLBACK
|
66
|
-
fn_rollback =
|
67
|
+
fn_rollback = conn.get_function('BAPI_TRANSACTION_ROLLBACK')
|
67
68
|
fn_rollback = fn_rollback.get_function_call
|
68
|
-
|
69
|
-
fn_rollback[:REL_CODE] = rel_code
|
70
|
-
fn_rollback[:ITEM] = item
|
71
|
-
fn_rollback[:USE_EXCEPTIONS] = use_exeptions
|
72
|
-
fn_rollback[:NO_COMMIT_WORK] = no_commit
|
69
|
+
|
73
70
|
fn_rollback.invoke
|
74
|
-
|
71
|
+
|
75
72
|
{
|
76
|
-
tb_return:
|
73
|
+
tb_return: fn_rollback[:RETURN],
|
77
74
|
}
|
78
75
|
end
|
79
76
|
|
@@ -154,13 +151,38 @@ module RnSap
|
|
154
151
|
end
|
155
152
|
|
156
153
|
list = []
|
154
|
+
|
157
155
|
fc_read_table[:DATA].each do |row|
|
158
156
|
obj = base_obj.class.new
|
159
|
-
wa = row[:WA]
|
157
|
+
wa = row[:WA].split('|')
|
158
|
+
pos = -1
|
160
159
|
fields_down.each do |field|
|
160
|
+
pos = pos + 1
|
161
161
|
column = columns_hash[field.upcase]
|
162
|
-
value = wa[column.offset.to_i, column.length.to_i]
|
163
|
-
|
162
|
+
# value = wa[column.offset.to_i, column.length.to_i]
|
163
|
+
if INT_TYPES.include?(column.type)
|
164
|
+
value = wa[pos].to_i
|
165
|
+
eval("obj.#{field} = #{value}")
|
166
|
+
elsif FLOAT_TYPES.include?(column.type)
|
167
|
+
value = wa[pos].to_f
|
168
|
+
eval("obj.#{field} = #{value}")
|
169
|
+
elsif DATE_TYPES.include?(column.type)
|
170
|
+
value = wa[pos].strip
|
171
|
+
if value == '00000000'
|
172
|
+
eval("obj.#{field} = nil")
|
173
|
+
else
|
174
|
+
value = Date.new(
|
175
|
+
value[0..3],
|
176
|
+
value[4..5],
|
177
|
+
value[6..7]
|
178
|
+
)
|
179
|
+
eval("obj.#{field} = #{value}")
|
180
|
+
end
|
181
|
+
else
|
182
|
+
value = wa[pos].strip
|
183
|
+
eval("obj.#{field} = '#{value}'")
|
184
|
+
end
|
185
|
+
|
164
186
|
end
|
165
187
|
list << obj
|
166
188
|
end
|
@@ -233,24 +255,30 @@ module RnSap
|
|
233
255
|
|
234
256
|
end
|
235
257
|
|
236
|
-
def preq_release(preq = 0, rel_code = "", no_commit="", item="
|
258
|
+
def preq_release(preq = 0, rel_code = "", no_commit="", item="00000", use_exceptions="")
|
237
259
|
#Validate if will release by item ou general
|
238
|
-
if item
|
260
|
+
if item == "00000" or item == nil or item.empty?
|
239
261
|
#-- Execute BAPI_REQUISITION_RELEASE_GEN
|
240
262
|
fn_preq_exec_release = @conn.get_function('BAPI_REQUISITION_RELEASE_GEN')
|
263
|
+
fn_preq_exec_release = fn_preq_exec_release.get_function_call
|
241
264
|
else
|
242
265
|
#-- Execute BAPI_REQUISITION_RELEASE
|
243
266
|
fn_preq_exec_release = @conn.get_function('BAPI_REQUISITION_RELEASE')
|
267
|
+
fn_preq_exec_release = fn_preq_exec_release.get_function_call
|
244
268
|
fn_preq_exec_release[:ITEM] = item
|
245
|
-
fn_preq_exec_release[:USE_EXCEPTIONS] =
|
269
|
+
fn_preq_exec_release[:USE_EXCEPTIONS] = use_exceptions
|
246
270
|
end
|
247
|
-
|
271
|
+
|
248
272
|
fn_preq_exec_release[:NUMBER] = preq
|
249
273
|
fn_preq_exec_release[:REL_CODE] = rel_code
|
250
274
|
fn_preq_exec_release[:NO_COMMIT_WORK] = no_commit
|
275
|
+
|
251
276
|
fn_preq_exec_release.invoke
|
277
|
+
|
252
278
|
tb_return = get_object_list(fn_preq_exec_release[:RETURN], Return.to_s)
|
253
279
|
{
|
280
|
+
status_new: fn_preq_exec_release[:REL_STATUS_NEW],
|
281
|
+
indicator_new: fn_preq_exec_release[:REL_INDICATOR_NEW],
|
254
282
|
tb_return: tb_return,
|
255
283
|
}
|
256
284
|
end
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rnsap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rogerio Nascimento
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-04-30 00:00:00.000000000 Z
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
version: '0'
|
41
41
|
description: By encapsulating SAPs NW RFC library calls, Ruby routines can access
|
42
42
|
SAP power in a simpler manner
|
43
|
-
email:
|
43
|
+
email:
|
44
44
|
executables: []
|
45
45
|
extensions: []
|
46
46
|
extra_rdoc_files: []
|
@@ -66,7 +66,7 @@ licenses:
|
|
66
66
|
- MIT
|
67
67
|
metadata:
|
68
68
|
source_code_uri: https://github.com/rnasc/rnsap
|
69
|
-
post_install_message:
|
69
|
+
post_install_message:
|
70
70
|
rdoc_options: []
|
71
71
|
require_paths:
|
72
72
|
- lib
|
@@ -82,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
82
|
version: '0'
|
83
83
|
requirements: []
|
84
84
|
rubygems_version: 3.2.3
|
85
|
-
signing_key:
|
85
|
+
signing_key:
|
86
86
|
specification_version: 4
|
87
87
|
summary: Facilitates SAP RFC calls in Ruby
|
88
88
|
test_files: []
|