rnsap 0.1.6 → 0.1.7
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 +16 -23
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 999f08cf84a2f69f29b867db85341da108996ed65150b68ffac015d51af6f53f
|
4
|
+
data.tar.gz: befbd88adb1be97c58fae3f49857bc5745809111585735a99ad209ec5e61f0ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04a8eeb020bea2e9a5f62924c6b1d14cbb31ff26f20b12879f27e17afcd1981636f813235cfe965cbe5501ad1ded124fa5a97698ec8819d11c455a788988e8a9
|
7
|
+
data.tar.gz: 4fb41d11769b51376b88069d0e0e29141d26e643eb4df6e79698bd130417b1a623e0ee78c79a4616c4ef4ea8af66d8b9295a3276ae02f0fe240ace05c835dbea
|
data/lib/rnsap.rb
CHANGED
@@ -12,8 +12,7 @@ module RnSap
|
|
12
12
|
|
13
13
|
def initialize(_conn_parms)
|
14
14
|
puts 'initialized'
|
15
|
-
|
16
|
-
set_conn(Connection.new(_conn_parms))
|
15
|
+
@conn = Connection.new(_conn_parms)
|
17
16
|
dump_instance_variables(:conn)
|
18
17
|
end
|
19
18
|
|
@@ -29,7 +28,7 @@ module RnSap
|
|
29
28
|
|
30
29
|
#-- Read Table
|
31
30
|
dump_instance_variables(conn)
|
32
|
-
fn_read_table = conn.get_function('RFC_READ_TABLE')
|
31
|
+
fn_read_table = @conn.get_function('RFC_READ_TABLE')
|
33
32
|
fc_read_table = fn_read_table.get_function_call
|
34
33
|
|
35
34
|
fc_read_table[:QUERY_TABLE] = name.upcase
|
@@ -40,7 +39,6 @@ module RnSap
|
|
40
39
|
|
41
40
|
fc_read_table.invoke
|
42
41
|
|
43
|
-
# columns = []
|
44
42
|
columns_hash = {}
|
45
43
|
fc_read_table[:FIELDS].each do |row|
|
46
44
|
column = TableColumn.new
|
@@ -49,16 +47,12 @@ module RnSap
|
|
49
47
|
column.length = row[:LENGTH]
|
50
48
|
column.type = row[:TYPE]
|
51
49
|
column.description = row[:FIELDTEXT]
|
52
|
-
# dump_instance_variables(column)
|
53
|
-
# columns << column
|
54
50
|
columns_hash[column.field_name] = column
|
55
51
|
end
|
56
52
|
|
57
|
-
# dump_instance_variables(columns_hash)
|
58
|
-
|
59
53
|
list = []
|
60
54
|
fc_read_table[:DATA].each do |row|
|
61
|
-
obj =
|
55
|
+
obj = base_obj.class.new
|
62
56
|
wa = row[:WA]
|
63
57
|
fields_down.each do |field|
|
64
58
|
column = columns_hash[field.upcase]
|
@@ -68,20 +62,6 @@ module RnSap
|
|
68
62
|
list << obj
|
69
63
|
end
|
70
64
|
|
71
|
-
# dump_instance_variables(list)
|
72
|
-
|
73
|
-
# obj2 = Object.const_set(klass_name, obj.class).new
|
74
|
-
# eval "obj2.#{fields.first.downcase} = 'A'"
|
75
|
-
# eval "obj2.#{fields.second.downcase} = 'B'"
|
76
|
-
# dump_instance_variables(obj2)
|
77
|
-
# fields.each do |field|
|
78
|
-
# field = field.downcase
|
79
|
-
# eval("puts obj.#{field}")
|
80
|
-
# end
|
81
|
-
|
82
|
-
# obj2.instance_variables.map do |var|
|
83
|
-
# puts " ..#{[var, obj2.instance_variable_get(var)].join(':')}"
|
84
|
-
# end
|
85
65
|
list
|
86
66
|
end
|
87
67
|
|
@@ -109,4 +89,17 @@ module RnSap
|
|
109
89
|
class TableColumn
|
110
90
|
attr_accessor :field_name, :offset, :length, :type, :description
|
111
91
|
end
|
92
|
+
|
93
|
+
class Object
|
94
|
+
def self.def_if_not_defined(const, value)
|
95
|
+
mod = is_a?(Module) ? self : self.class
|
96
|
+
mod.const_set(const, value) unless mod.const_defined?(const)
|
97
|
+
end
|
98
|
+
|
99
|
+
def self.redef_without_warning(const, value)
|
100
|
+
mod = is_a?(Module) ? self : self.class
|
101
|
+
mod.send(:remove_const, const) if mod.const_defined?(const)
|
102
|
+
mod.const_set(const, value)
|
103
|
+
end
|
104
|
+
end
|
112
105
|
end
|