Ia perguntar, mas acho que já pensei na solução durante o post.
WITH OBJECT cnSQL
:QueryCreate()
:QueryAdd( "ESDATLAN", mData )
:QueryAdd( "ESTIPLAN", Iif( mSomaTira < 0, "1", "2" ) )
:QueryAdd( "ESNUMDEP", mDeposito )
:QueryAdd( "ESNUMDOC", Right( Replicate( "0", 9 ) + SoNumeros( mNumNota ), 9 ) )
:QueryAdd( "ESPRODUTO", jpitped->ipProduto )
:QueryAdd( "ESTRANSA", jppedido->pdTransa )
:QueryAdd( "ESCADASTRO", jppedido->pdCadastro )
:QueryAdd( "ESQTDE", jpitped->ipQtde )
:QueryAdd( "ESVALOR", jpitped->ipValNot / jpitped->ipQtde )
:QueryAdd( "ESCFOP", jpitped->ipCfOp )
:QueryAdd( "ESTIPDOC", "PEDIDO" )
:QueryAdd( "ESPEDIDO", jppedido->idPedido )
:QueryAdd( "ESINFINC", LogInfo() )
:QueryExecuteInsert( "JPESTOQUE" )
ENDWITH
Uma vez que dá pra combinar comandos, a solução deve ser:
INSERT INTO JPESTOQUE ( <lista> ) VALUES ( SELECT .... )
E pegando direto da base, sem necessidade de variável temporária, salvo exceções.