Почему map не подходит, где ключ - это имя переменной?
X++:
Map myVars = new Map(types::string, types::string);
myVars.insert('Val1', '10.5');
myVars.insert('Val2', 'Ivanov');
strfmt('insert into tablename (FIELD1, FIELD2,etc..... VALUES (%1,%2,etc....)', myVars.lookup('Val1'), myVars.lookup('Val2'),...);
или
X++:
Map myVars = new Map(types::string, types::container);
myVars.insert('Val1', [10.5]);
myVars.insert('Val2', ['Ivanov']);
strfmt('insert into tablename (FIELD1, FIELD2,etc..... VALUES (%1,%2,etc....)', conpeek(myVars.lookup('Val1'), 1), conpeek(myVars.lookup('Val2'), 1),...);