When entering macro variables on the submit statement in LUA, if the value is a string, it must be quoted!

For instance:

%let mapping_table=work.config;    
proc lua restart;
submit "mapping_table='&mapping_table'" ; -- note single quotes
print(mapping_table)
endsubmit;
run;

This makes sense, as (unlike in sas macro) lua variables have types - so strings must be quoted, else they will be interpreted as variable names.

That said - a more robust method for retrieving macro variables is to use sas.symget(), eg:

%let mapping_table=work.config;
proc lua restart;
submit;
  mapping_table = sas.symget('mapping_table')
  print(mapping_table)
endsubmit;
run;

This approach will more effectively deal with nested quotes, and long values.

Documentation: https://documentation.sas.com/?docsetId=proc&docsetTarget=n1e6uqw3idxgzon10b61cg120h9c.htm&docsetVersion=9.4&locale=en