×
Linguagem de Programação ADVPL
Perguntas ADVPL+ORACLE+EXCEL
- will3698
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
11 anos 4 meses atrás #15436
por will3698
ADVPL+ORACLE+EXCEL foi criado por will3698
Ola amigos
sou bem leigo no que diz respeito a advpl...
to com uma zica aqui em um relatório... depois de sofrer pra montar a query do jeito que eu precisava, agora to com uma duvida na hora de jogar no aDados... pois tenho dentro do SELECT vários "Pedacos que são calculos". como eu jogo isso dentro do aDados, como eu vou chamar esses "pedaços" no meu aDados.. ??? tenho que fazer esses calculos via variavel mesmo ??
cQuery:="SELECT D2_FILIAL,D2_TP, D2_COD,SUM(D2_QUANT), D2_UM,SUM(D2_CUSTO1), TRUNC(SUM(D2_CUSTO1)/SUM(D2_QUANT),2),SUM(D2_VALBRUT),SUM(D2_VALICM),"
cQuery+=" TRUNC((SUM(D2_VALBRUT)*14)/100,2),TRUNC(SUM(D2_VALBRUT)-SUM(D2_CUSTO1)-SUM(D2_VALICM)-TRUNC((SUM(D2_VALBRUT)*"+MV_PAR09+")/100,2),2),"
cQuery+=" TRUNC(((TRUNC(SUM(D2_VALBRUT)-SUM(D2_CUSTO1)-SUM(D2_VALICM)-TRUNC((SUM(D2_VALBRUT)*14)/100,2),2)/SUM(D2_VALBRUT))*100),2)"
cQuery+=" FROM SD2010 WHERE D2_EMISSAO BETWEEN '"+DTOS(MV_PAR03)+"' AND '"+DTOS(MV_PAR04)+'" AND D2_FILIAL BETWEEN "'+ALLTRIM(MV_PAR10)+'" AND "'+ALLTRIM(MV_PAR11)+'"
cQuery+=" AND D_E_L_E_T_ <> "*" AND D2_GRUPO BETWEEN '"+ALLTRIM(MV_PAR01)"' AND '"+MV_PAR02'" AND D2_LOCAL BETWEEN "'+ALLTRIM(MV_PAR05+'" AND "'+ALLTRIM(MVPAR06)'"
cQuery+=" GROUP BY D2_COD,D2_UM,D2_FILIAL,D2_TP "
...
AAdd(aDados, {TRA->D2_FILIAL, TRA->D2_TP, TRA->D2_COD, TRA->D2_QUANT, TRA->D2_CUSTO,??????????? })
att
sou bem leigo no que diz respeito a advpl...
to com uma zica aqui em um relatório... depois de sofrer pra montar a query do jeito que eu precisava, agora to com uma duvida na hora de jogar no aDados... pois tenho dentro do SELECT vários "Pedacos que são calculos". como eu jogo isso dentro do aDados, como eu vou chamar esses "pedaços" no meu aDados.. ??? tenho que fazer esses calculos via variavel mesmo ??
cQuery:="SELECT D2_FILIAL,D2_TP, D2_COD,SUM(D2_QUANT), D2_UM,SUM(D2_CUSTO1), TRUNC(SUM(D2_CUSTO1)/SUM(D2_QUANT),2),SUM(D2_VALBRUT),SUM(D2_VALICM),"
cQuery+=" TRUNC((SUM(D2_VALBRUT)*14)/100,2),TRUNC(SUM(D2_VALBRUT)-SUM(D2_CUSTO1)-SUM(D2_VALICM)-TRUNC((SUM(D2_VALBRUT)*"+MV_PAR09+")/100,2),2),"
cQuery+=" TRUNC(((TRUNC(SUM(D2_VALBRUT)-SUM(D2_CUSTO1)-SUM(D2_VALICM)-TRUNC((SUM(D2_VALBRUT)*14)/100,2),2)/SUM(D2_VALBRUT))*100),2)"
cQuery+=" FROM SD2010 WHERE D2_EMISSAO BETWEEN '"+DTOS(MV_PAR03)+"' AND '"+DTOS(MV_PAR04)+'" AND D2_FILIAL BETWEEN "'+ALLTRIM(MV_PAR10)+'" AND "'+ALLTRIM(MV_PAR11)+'"
cQuery+=" AND D_E_L_E_T_ <> "*" AND D2_GRUPO BETWEEN '"+ALLTRIM(MV_PAR01)"' AND '"+MV_PAR02'" AND D2_LOCAL BETWEEN "'+ALLTRIM(MV_PAR05+'" AND "'+ALLTRIM(MVPAR06)'"
cQuery+=" GROUP BY D2_COD,D2_UM,D2_FILIAL,D2_TP "
...
AAdd(aDados, {TRA->D2_FILIAL, TRA->D2_TP, TRA->D2_COD, TRA->D2_QUANT, TRA->D2_CUSTO,??????????? })
att
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
11 anos 4 meses atrás #15450
por kanaamlrr
Respondido por kanaamlrr no tópico ADVPL+ORACLE+EXCEL
Willian,
Atribua alias nos seus cálculos da query, por exemplo:
cQuery:="SELECT D2_FILIAL,D2_TP, D2_COD,SUM(D2_QUANT) AS QTD_TOTAL, D2_UM,SUM(D2_CUSTO1), TRUNC(SUM(D2_CUSTO1)/SUM(D2_QUANT),2),SUM(D2_VALBRUT),SUM(D2_VALICM),"
Ai na hora de atribuir no aDados faz assim:
TRA->QTD_TOTAL
Lembrando que o advpl utiliza 10 caracteres no máximo em nomes de campos/variáveis/funções.
então cuidado ao nomear os alias.
Atribua alias nos seus cálculos da query, por exemplo:
cQuery:="SELECT D2_FILIAL,D2_TP, D2_COD,SUM(D2_QUANT) AS QTD_TOTAL, D2_UM,SUM(D2_CUSTO1), TRUNC(SUM(D2_CUSTO1)/SUM(D2_QUANT),2),SUM(D2_VALBRUT),SUM(D2_VALICM),"
Ai na hora de atribuir no aDados faz assim:
TRA->QTD_TOTAL
Lembrando que o advpl utiliza 10 caracteres no máximo em nomes de campos/variáveis/funções.
então cuidado ao nomear os alias.
Por favor Acessar ou Registrar para participar da conversa.
- will3698
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 310
- Obrigados Recebidos: 1
11 anos 4 meses atrás #15453
por will3698
Respondido por will3698 no tópico ADVPL+ORACLE+EXCEL
Ola Kanaãm , Obrigado pelo retorno
acabei de conseguir aqui
eu achava que podia especificar apelidos somente depois do from , nas tabelas:)
entretanto não precisei usar o "AS", somente dando um espaço e colocando o apelido funcionou ... sera que o "AS" é necessário ?
att
acabei de conseguir aqui
eu achava que podia especificar apelidos somente depois do from , nas tabelas:)
entretanto não precisei usar o "AS", somente dando um espaço e colocando o apelido funcionou ... sera que o "AS" é necessário ?
att
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.098 segundos