rnsap 0.4.1 → 0.4.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b17ed3455ce9776e8b3fd560a13d9e2f2a3b3a7d26f93dbf1fe7fb50cb53325
4
- data.tar.gz: 83a42cfd98a000669e03973067780cd969673fd2fbf31422636638a155e0891e
3
+ metadata.gz: ac1b595002650c1c9c9c09c9b4903b47835f2212b2b8e8283c8ea16f61a67ba7
4
+ data.tar.gz: 59a6dc350e3ae1ffe4cdbc7c0190c4e4ab3eb0e3d0a43b61ec9b0ec40f1f45d3
5
5
  SHA512:
6
- metadata.gz: 673e51916fc84c670b81fe3f751368033899da9a36e388cc03be00b512f84d0e753b46412d86dbf85a857221a946fc9284397b4acf535c638099b089234e4062
7
- data.tar.gz: 68947fd813d750ef0e2a0566215eaae545676e996de00353e34712b5af52e6c027b9e091b52fd497f9ef2b21ca1493c658ace0bbf728994c25336da8cd9fbc32
6
+ metadata.gz: ff0e3f429b4338d3a0668ccea5301c621603b7b480941a0b7bae4a17f3266b8243f7fd685d8a7e9a540f15ba49ebc470bc034ac7a5ecb77c809525aa9c4d2c66
7
+ data.tar.gz: d78f451e59c5c3522f13c7b4c4e856c9c61352d259ed3c645e194aa31c28628bab041bf08ceca5087b48ff5c8234c6f6c844e2ccd7a2f6595a7af542249254da
@@ -0,0 +1,23 @@
1
+ # class used to represent GENERAL_RELEASE_INFO. Used internally
2
+ class PreqGenReleaseInfo
3
+ # @return [String] Item number of purchase requisition
4
+ attr_accessor :preq_item
5
+ # @return [String] Purchase Requisition Number
6
+ attr_accessor :preq_no
7
+ # @return [String] Release code
8
+ attr_accessor :rel_code
9
+ # @return [String] Description of release code
10
+ attr_accessor :rel_cod_tx
11
+ # @return [String] Release group
12
+ attr_accessor :rel_group
13
+ # @return [String] Description of release group
14
+ attr_accessor :rel_grp_tx
15
+ # @return [String] Release indicator
16
+ attr_accessor :rel_ind
17
+ # @return [String] Description of Release Indicator
18
+ attr_accessor :rel_ind_tx
19
+ # @return [String] Release Strategy
20
+ attr_accessor :rel_strat
21
+ # @return [String] Description of release strategy
22
+ attr_accessor :rel_str_tx
23
+ end
@@ -0,0 +1,55 @@
1
+ # class used to represent RELEASE_FINAL. Used internally
2
+ class PreqReleaseFinal
3
+ # @return [String] Item number of purchase requisition
4
+ attr_accessor :preq_item
5
+ # @return [String] Purchase Requisition Number
6
+ attr_accessor :preq_no
7
+ # @return [String] Description of release code 1
8
+ attr_accessor :rel_cd_tx1
9
+ # @return [String] Description of release code 2
10
+ attr_accessor :rel_cd_tx2
11
+ # @return [String] Description of release code 3
12
+ attr_accessor :rel_cd_tx3
13
+ # @return [String] Description of release code 4
14
+ attr_accessor :rel_cd_tx4
15
+ # @return [String] Description of release code 5
16
+ attr_accessor :rel_cd_tx5
17
+ # @return [String] Description of release code 6
18
+ attr_accessor :rel_cd_tx6
19
+ # @return [String] Description of release code 7
20
+ attr_accessor :rel_cd_tx7
21
+ # @return [String] Description of release code
22
+ attr_accessor :rel_cd_tx8
23
+ # @return [String] Release code 1
24
+ attr_accessor :rel_code1
25
+ # @return [String] Release code 2
26
+ attr_accessor :rel_code2
27
+ # @return [String] Release code 3
28
+ attr_accessor :rel_code3
29
+ # @return [String] Release code 4
30
+ attr_accessor :rel_code4
31
+ # @return [String] Release code 5
32
+ attr_accessor :rel_code5
33
+ # @return [String] Release code 6
34
+ attr_accessor :rel_code6
35
+ # @return [String] Release code 7
36
+ attr_accessor :rel_code7
37
+ # @return [String] Release code 8
38
+ attr_accessor :rel_code8
39
+ # @return [String] Role resolution for workflow for release code 1
40
+ attr_accessor :rel_wf1
41
+ # @return [String] Role resolution for workflow for release code 2
42
+ attr_accessor :rel_wf2
43
+ # @return [String] Role resolution for workflow for release code 3
44
+ attr_accessor :rel_wf3
45
+ # @return [String] Role resolution for workflow for release code 4
46
+ attr_accessor :rel_wf4
47
+ # @return [String] Role resolution for workflow for release code 5
48
+ attr_accessor :rel_wf5
49
+ # @return [String] Role resolution for workflow for release code 6
50
+ attr_accessor :rel_wf6
51
+ # @return [String] Role resolution for workflow for release code 7
52
+ attr_accessor :rel_wf7
53
+ # @return [String] Role resolution for workflow for release code 8
54
+ attr_accessor :rel_wf8
55
+ end
@@ -0,0 +1,55 @@
1
+ # class used to represent RELEASE_ALREADY_POSTED. Used internally
2
+ class PreqReleasePosted
3
+ # @return [String] Item number of purchase requisition
4
+ attr_accessor :preq_item
5
+ # @return [String] Purchase Requisition Number
6
+ attr_accessor :preq_no
7
+ # @return [String] Description of release code 1
8
+ attr_accessor :rel_cd_tx1
9
+ # @return [String] Description of release code 2
10
+ attr_accessor :rel_cd_tx2
11
+ # @return [String] Description of release code 3
12
+ attr_accessor :rel_cd_tx3
13
+ # @return [String] Description of release code 4
14
+ attr_accessor :rel_cd_tx4
15
+ # @return [String] Description of release code 5
16
+ attr_accessor :rel_cd_tx5
17
+ # @return [String] Description of release code 6
18
+ attr_accessor :rel_cd_tx6
19
+ # @return [String] Description of release code 7
20
+ attr_accessor :rel_cd_tx7
21
+ # @return [String] Description of release code
22
+ attr_accessor :rel_cd_tx8
23
+ # @return [String] Release code 1
24
+ attr_accessor :rel_code1
25
+ # @return [String] Release code 2
26
+ attr_accessor :rel_code2
27
+ # @return [String] Release code 3
28
+ attr_accessor :rel_code3
29
+ # @return [String] Release code 4
30
+ attr_accessor :rel_code4
31
+ # @return [String] Release code 5
32
+ attr_accessor :rel_code5
33
+ # @return [String] Release code 6
34
+ attr_accessor :rel_code6
35
+ # @return [String] Release code 7
36
+ attr_accessor :rel_code7
37
+ # @return [String] Release code 8
38
+ attr_accessor :rel_code8
39
+ # @return [String] Role resolution for workflow for release code 1
40
+ attr_accessor :rel_wf1
41
+ # @return [String] Role resolution for workflow for release code 2
42
+ attr_accessor :rel_wf2
43
+ # @return [String] Role resolution for workflow for release code 3
44
+ attr_accessor :rel_wf3
45
+ # @return [String] Role resolution for workflow for release code 4
46
+ attr_accessor :rel_wf4
47
+ # @return [String] Role resolution for workflow for release code 5
48
+ attr_accessor :rel_wf5
49
+ # @return [String] Role resolution for workflow for release code 6
50
+ attr_accessor :rel_wf6
51
+ # @return [String] Role resolution for workflow for release code 7
52
+ attr_accessor :rel_wf7
53
+ # @return [String] Role resolution for workflow for release code 8
54
+ attr_accessor :rel_wf8
55
+ end
@@ -0,0 +1,55 @@
1
+ # class used to represent RELEASE_PREREQUISITES. Used internally
2
+ class PreqReleasePrerequisites
3
+ # @return [String] Item number of purchase requisition
4
+ attr_accessor :preq_item
5
+ # @return [String] Purchase Requisition Number
6
+ attr_accessor :preq_no
7
+ # @return [String] Description of release code 1
8
+ attr_accessor :rel_cd_tx1
9
+ # @return [String] Description of release code 2
10
+ attr_accessor :rel_cd_tx2
11
+ # @return [String] Description of release code 3
12
+ attr_accessor :rel_cd_tx3
13
+ # @return [String] Description of release code 4
14
+ attr_accessor :rel_cd_tx4
15
+ # @return [String] Description of release code 5
16
+ attr_accessor :rel_cd_tx5
17
+ # @return [String] Description of release code 6
18
+ attr_accessor :rel_cd_tx6
19
+ # @return [String] Description of release code 7
20
+ attr_accessor :rel_cd_tx7
21
+ # @return [String] Description of release code
22
+ attr_accessor :rel_cd_tx8
23
+ # @return [String] Release code 1
24
+ attr_accessor :rel_code1
25
+ # @return [String] Release code 2
26
+ attr_accessor :rel_code2
27
+ # @return [String] Release code 3
28
+ attr_accessor :rel_code3
29
+ # @return [String] Release code 4
30
+ attr_accessor :rel_code4
31
+ # @return [String] Release code 5
32
+ attr_accessor :rel_code5
33
+ # @return [String] Release code 6
34
+ attr_accessor :rel_code6
35
+ # @return [String] Release code 7
36
+ attr_accessor :rel_code7
37
+ # @return [String] Release code 8
38
+ attr_accessor :rel_code8
39
+ # @return [String] Role resolution for workflow for release code 1
40
+ attr_accessor :rel_wf1
41
+ # @return [String] Role resolution for workflow for release code 2
42
+ attr_accessor :rel_wf2
43
+ # @return [String] Role resolution for workflow for release code 3
44
+ attr_accessor :rel_wf3
45
+ # @return [String] Role resolution for workflow for release code 4
46
+ attr_accessor :rel_wf4
47
+ # @return [String] Role resolution for workflow for release code 5
48
+ attr_accessor :rel_wf5
49
+ # @return [String] Role resolution for workflow for release code 6
50
+ attr_accessor :rel_wf6
51
+ # @return [String] Role resolution for workflow for release code 7
52
+ attr_accessor :rel_wf7
53
+ # @return [String] Role resolution for workflow for release code 8
54
+ attr_accessor :rel_wf8
55
+ end
@@ -1,5 +1,5 @@
1
1
  # class used to represent RETURN. Used internally
2
- class PreqReturn
2
+ class Return
3
3
  # @return [String] Message code
4
4
  attr_accessor :code
5
5
  # @return [String] Application log: Internal message serial number
data/lib/rnsap.rb CHANGED
@@ -10,7 +10,11 @@ require 'preq_detail/preq_contract_limits'
10
10
  require 'preq_detail/preq_services'
11
11
  require 'preq_detail/preq_services_texts'
12
12
  require 'preq_detail/preq_srv_accass_values'
13
- require 'preq_detail/preq_return'
13
+ require 'preq_release_info/preq_gen_release_info'
14
+ require 'preq_release_info/preq_release_prerequisites'
15
+ require 'preq_release_info/preq_release_posted'
16
+ require 'preq_release_info/preq_release_final'
17
+ require 'return'
14
18
  require 'helper/rfc_helper'
15
19
 
16
20
  include NWRFC
@@ -41,6 +45,38 @@ module RnSap
41
45
  conn.disconnect
42
46
  end
43
47
 
48
+ def commit()
49
+ #-- Execute BAPI_TRANSACTION_COMMIT
50
+ fn_commit = @conn.get_function('BAPI_REQUISITION_RELEASE')
51
+ fn_commit = fn_commit.get_function_call
52
+ fn_commit[:NUMBER] = preq
53
+ fn_commit[:REL_CODE] = rel_code
54
+ fn_commit[:ITEM] = item
55
+ fn_commit[:USE_EXCEPTIONS] = use_exeptions
56
+ fn_commit[:NO_COMMIT_WORK] = no_commit
57
+ fn_commit.invoke
58
+ tb_return = get_object_list(fn_commit[:RETURN], Return.to_s)
59
+ {
60
+ tb_return: tb_return,
61
+ }
62
+ end
63
+
64
+ def rollback()
65
+ #-- Execute BAPI_TRANSACTION_ROLLBACK
66
+ fn_rollback = @conn.get_function('BAPI_REQUISITION_RELEASE')
67
+ fn_rollback = fn_rollback.get_function_call
68
+ fn_rollback[:NUMBER] = preq
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
73
+ fn_rollback.invoke
74
+ tb_return = get_object_list(fn_rollback[:RETURN], Return.to_s)
75
+ {
76
+ tb_return: tb_return,
77
+ }
78
+ end
79
+
44
80
  # Invokes SAP RFC_READ_TABLE function module remotely, passing
45
81
  # the table to be read and receiving back a list of objects of that
46
82
  # table.
@@ -124,7 +160,7 @@ module RnSap
124
160
  fields_down.each do |field|
125
161
  column = columns_hash[field.upcase]
126
162
  value = wa[column.offset.to_i, column.length.to_i]
127
- eval("obj.#{field} = '#{value}'")
163
+ eval("obj.#{field} = '#{value.strip}'")
128
164
  end
129
165
  list << obj
130
166
  end
@@ -154,7 +190,7 @@ module RnSap
154
190
  preq_services = get_object_list(fc_preq_detail[:REQUISITION_SERVICES], PreqItem.to_s)
155
191
  preq_services_texts = get_object_list(fc_preq_detail[:REQUISITION_SERVICES_TEXTS], PreqServicesText.to_s)
156
192
  preq_srv_accass_values = get_object_list(fc_preq_detail[:REQUISITION_SRV_ACCASS_VALUES], PreqServicesAccassValues.to_s)
157
- preq_return = get_object_list(fc_preq_detail[:RETURN], PreqReturn.to_s)
193
+ tb_return = get_object_list(fc_preq_detail[:RETURN], Return.to_s)
158
194
 
159
195
  {
160
196
  preq_items: preq_items,
@@ -165,12 +201,58 @@ module RnSap
165
201
  preq_services: preq_services,
166
202
  preq_services_texts: preq_services_texts,
167
203
  preq_srv_accass_values: preq_srv_accass_values,
168
- preq_return: preq_return,
204
+ tb_return: tb_return,
169
205
  }
170
206
  end
171
207
 
172
- def preq_release_strategy_info(pr = 0)
173
- []
208
+ def preq_release_strategy_info(preq = 0, item = "00000", rel_code = "")
209
+ #-- Execute BAPI_REQUISITION_GETRELINFO
210
+ fn_preq_rel_strat_info = @conn.get_function('BAPI_REQUISITION_GETRELINFO')
211
+ fn_preq_rel_strat_info = fn_preq_rel_strat_info.get_function_call
212
+
213
+ fn_preq_rel_strat_info[:NUMBER] = preq
214
+ fn_preq_rel_strat_info[:ITEM] = item
215
+ fn_preq_rel_strat_info[:REL_CODE] = rel_code
216
+
217
+ fn_preq_rel_strat_info.invoke
218
+
219
+ #-- Execute conversions for returned tables to a designated list (array)
220
+ preq_gen_release_info = get_object_list(fn_preq_rel_strat_info[:GENERAL_RELEASE_INFO], PreqGenReleaseInfo.to_s)
221
+ preq_release_prerequisites = get_object_list(fn_preq_rel_strat_info[:RELEASE_PREREQUISITES], PreqReleasePrerequisites.to_s)
222
+ preq_release_posted = get_object_list(fn_preq_rel_strat_info[:RELEASE_ALREADY_POSTED], PreqReleasePosted.to_s)
223
+ preq_release_final = get_object_list(fn_preq_rel_strat_info[:RELEASE_FINAL], PreqReleaseFinal.to_s)
224
+ tb_return = get_object_list(fn_preq_rel_strat_info[:RETURN], Return.to_s)
225
+
226
+ {
227
+ preq_gen_release_info: preq_gen_release_info,
228
+ preq_release_prerequisites: preq_release_prerequisites,
229
+ preq_release_posted: preq_release_posted,
230
+ preq_release_final: preq_release_final,
231
+ tb_return: tb_return,
232
+ }
233
+
234
+ end
235
+
236
+ def preq_release(preq = 0, rel_code = "", no_commit="", item="0000", use_exeptions="X")
237
+ #Validate if will release by item ou general
238
+ if item = "0000" or item = nil or item.empty?
239
+ #-- Execute BAPI_REQUISITION_RELEASE_GEN
240
+ fn_preq_exec_release = @conn.get_function('BAPI_REQUISITION_RELEASE_GEN')
241
+ else
242
+ #-- Execute BAPI_REQUISITION_RELEASE
243
+ fn_preq_exec_release = @conn.get_function('BAPI_REQUISITION_RELEASE')
244
+ fn_preq_exec_release[:ITEM] = item
245
+ fn_preq_exec_release[:USE_EXCEPTIONS] = use_exeptions
246
+ end
247
+ fn_preq_exec_release = fn_preq_exec_release.get_function_call
248
+ fn_preq_exec_release[:NUMBER] = preq
249
+ fn_preq_exec_release[:REL_CODE] = rel_code
250
+ fn_preq_exec_release[:NO_COMMIT_WORK] = no_commit
251
+ fn_preq_exec_release.invoke
252
+ tb_return = get_object_list(fn_preq_exec_release[:RETURN], Return.to_s)
253
+ {
254
+ tb_return: tb_return,
255
+ }
174
256
  end
175
257
 
176
258
  def po_detail(po = 0)
@@ -185,29 +267,6 @@ module RnSap
185
267
 
186
268
  attr_writer :conn
187
269
 
188
- # def get_object_list(table, klass_name)
189
- # list = []
190
- # avoid_list = ['!','__','+', '=','!', '?','~','>', '<']
191
- # table.each do |row|
192
- # byebug
193
- # obj = eval("#{klass_name}.new")
194
- # obj.class.instance_methods.each do |method_name|
195
- # begin
196
- # if obj.respond_to?("#{method_name}=")
197
- # unless avoid_list.any? { |word| method_name.to_s.include?(word)}
198
- # value = row[method_name]
199
- # eval("obj.#{method_name} = '#{value}'")
200
- # end
201
- # end
202
- # rescue
203
- # end
204
- # end
205
- # list.push(obj)
206
- # end
207
-
208
- # list
209
- # end
210
-
211
270
  # Dumps to the output the content of an object
212
271
  def dump_instance_variables(obj)
213
272
  puts "Class: #{obj.class} -> #{obj}"
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.1
4
+ version: 0.4.2
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: []
@@ -50,19 +50,23 @@ files:
50
50
  - lib/preq_detail/preq_contract_limits.rb
51
51
  - lib/preq_detail/preq_item.rb
52
52
  - lib/preq_detail/preq_limits.rb
53
- - lib/preq_detail/preq_return.rb
54
53
  - lib/preq_detail/preq_services.rb
55
54
  - lib/preq_detail/preq_services_texts.rb
56
55
  - lib/preq_detail/preq_srv_accass_values.rb
57
56
  - lib/preq_detail/preq_text.rb
57
+ - lib/preq_release_info/preq_gen_release_info.rb
58
+ - lib/preq_release_info/preq_release_final.rb
59
+ - lib/preq_release_info/preq_release_posted.rb
60
+ - lib/preq_release_info/preq_release_prerequisites.rb
58
61
  - lib/read_table/table_column.rb
62
+ - lib/return.rb
59
63
  - lib/rnsap.rb
60
64
  homepage: https://github.com/rnasc/rnsap
61
65
  licenses:
62
66
  - MIT
63
67
  metadata:
64
68
  source_code_uri: https://github.com/rnasc/rnsap
65
- post_install_message:
69
+ post_install_message:
66
70
  rdoc_options: []
67
71
  require_paths:
68
72
  - lib
@@ -78,7 +82,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
82
  version: '0'
79
83
  requirements: []
80
84
  rubygems_version: 3.2.3
81
- signing_key:
85
+ signing_key:
82
86
  specification_version: 4
83
87
  summary: Facilitates SAP RFC calls in Ruby
84
88
  test_files: []