on 11-21-2013 9:09 PM
Tenho essa consulta formata retornando erro interno 3006, a duvida é como passar essa variavel sabendo que é o campo DocEntry da ORDR ?
SELECT
STUFF((SELECT ', ' + b.FreeTxt AS "text()"
FROM rdr1 b
WHERE a.DocEntry = b.DocEntry
FOR XML PATH('')), 1, 2, '') AS FreeTxt
FROM rdr1 AS a
where a.DocEntry=$[$4.0.0]
GROUP BY a.DocEntry
Bom dia,
No teu SQL na clausula where estás a comprar o docentry com $[$4.0.0].
Acontece que o $[$4.0.0]. é o codigo do cliente.
O docentry não o podes usar nas Consultas Formatadas.
O que desejas fazer com a Consulta Formatada?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia
Desculpe realmente coloquei aqui a variavel errada, alterei também a consulta para a tabela inv1 na tentativa de chegar a tabela OINV onde ficam as observações, nao deu certo.
A grande dificuldade esta nos formularios: observações iniciais e finais=60072 e os textos ficam no formulario 133.
SELECT
STUFF((SELECT ', ' + b.FreeTxt AS "text()"
FROM inv1 b
WHERE a.DocEntry = b.DocEntry
FOR XML PATH('')), 1, 2, '') AS FreeTxt
FROM inv1 AS a
where a.Docnum = $[$8.0.0]
GROUP BY a.DocEntry
Conseguiste ser claro e tens uma missão nada facil!
Uma Consulta formatada para fazer o que pretendes, só pode ser executada depois de gravar o documento, o que é horrivel, porque imagino que quisesses a consulta formatada quando adicionasses o documento.
As consultas formatadas não conseguem evoluir nas linhas de uma matrix, isto é, se no cabeçalho de um documento quiseres percorrer todas as linhas e gravar qualquer coisa para uma variavel, isto é impossivel em modo de adição.
Exemplo: Se tiveres uma UDF quantidadetotaldoc e quiseres somar todas as qtds de um documento, com uma Consulta formatada é impossivel em modo de Adição. Em Update já funciona porque o documento já está gravado e podes fazer um query directamente à base de dados.
Resumindo, para fazeres o que pretendes o utilizador tem que gravar o documento, entrar novamento no documento, chamar as observações Iniciais/finais e executar a consulta formatada.
Como eu disse anteriormente esta solução é horrivel para o utilizador.
Para fazer o que queres em modo de adição só com o SDK.
Bom dia
Não tem como pegar o DocEntry nesse caso, pois as variaveis $[$..] se referem aos campos da Janela Ativa do SAP e o docEntry é campo interno, veja se a consulta da certo com o DocNum mesmo.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia
Ja agradeço a ajuda, alterei a para docnum e também não deu certo.
O que fiz também foi mudar a consulta para a tabela inv1, também não deu certo.
Ocorre que a consulta esta no formulario 60072 e as informações no formulario 133, se isto clarear mais...
SELECT
STUFF((SELECT ', ' + b.FreeTxt AS "text()"
FROM inv1 b
WHERE a.DocEntry = b.DocEntry
FOR XML PATH('')), 1, 2, '') AS FreeTxt
FROM inv1 AS a
where a.docentry = $[$8.0.0]
GROUP BY a.DocEntry
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.