No JavaScript e em algumas outras linguagens ou scripts, temos a poderosa função eval(), que no AX recebeu o nome de runBuf().

Seu funcionamento é equivalente, veja o código abaixo retirado do Microsoft Dynamics AX Developer Center

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void RunBufExample()
{
  str myJob = "int myfunc(int i) {return i+7;}";
  ExecutePermission perm;
  ;
 
  perm = new ExecutePermission();
  if (perm != null)
  {
    perm.assert();  // Assert the use of the dangerous API RunBuf.
                    // BP deviation documented.
    print runBuf(myJob, 42);
    pause;
    CodeAccessPermission::revertAssert();
  }
}

A função: anytype runBuf(str job,[anytype param])
Onde:
job = A string que representa o código.
param = Os paramêtros para o código que serão passados a funçao. (opcional).

[]s
Ricardo Pichler