*tcl in set var

Hello,

I have this procedure:
proc BookMatName {mati} {
return [GiD_Info materials $mati book]
}

in the .bas I have
*set var onoma=tcl(BookMatName *elemsmatprop(0))

but i get an error “*operation expression in set var”

I also tried to do it as the following

proc BookMatName {mati} {
global bookName
set bookName [GiD_Info materials $mati book]
}

and in the .bas
*tcl(BookMatName *elemsmatprop(0))
*set var onoma=bookName

but I get bookName unknown command.

Why it doesnt let me assign variable from tcl scripts?

Thanks in advance.

Variables at bas level could only store integers or real numbers, but not strings.