rnsap 0.1.6 → 0.1.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|