- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- AJUDA QUERY ORACLE
Perguntas AJUDA QUERY ORACLE
- Rei_TI
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 29
- Obrigados Recebidos: 0
8 anos 4 meses atrás #30884
por Rei_TI
AJUDA QUERY ORACLE foi criado por Rei_TI
Boa noite galera tudo bem?
Seguinte estou com um probleminha aqui:
Desenvolvi o seguinte P.E na geração do borderô, serve para filtrar por centro de custo.
Na minha base local Banco SQL esta funcionando normal, mais no cliente banco ORACLE não funciona.
Ele retorna tudo, como se não tivesse realizado o filtro.
A principio estou achando que pode ser sintaxe de banco....ajuda ai
User Function FA060Qry()
Local cRet := "E1_NUM <> ''" //Somente para nao dar erro caso usuario nao preencha nada
Local aRet := {}
Local aParamBox := {}
Local i := 0
Local cCCDe := ""
Local cCCAte := ""
Private cCadastro := "Filtro Centro de Custo"
aAdd(aParamBox,{1,"C.Custo De:",Space(9),"","","CTT","Ctb105CC()",0,.F.}) // Tipo caractere
aAdd(aParamBox,{1,"C.Custo De:",Space(9),"","","CTT","Ctb105CC()",0,.F.}) // Tipo caractere
If ParamBox(aParamBox,"",@aRet)
For i:=1 To Len(aRet)
cCCDe := Alltrim(aRet[1])
cCCAte := Alltrim(aRet[2])
Next
Endif
//Verifico se estao vazias
If !empty(cCCDe) .and. !empty(cCCAte)
If cCCAte < cCCDe
MSGINFO("Centro de Custo 'ATE' Nao pode ser menor que o 'DE' - Nao sera Considerado Filtro")
Else
cRet += " AND E1_CCUSTO >= '"+cCCDe+"'" //cRet := " E1_VALOR > 1000 AND "
cRet += " AND E1_CCUSTO <= '"+cCCAte+"'" //cRet += " E1_NATUREZ = '001' "
EndIF
EndIF
Return cRet
Seguinte estou com um probleminha aqui:
Desenvolvi o seguinte P.E na geração do borderô, serve para filtrar por centro de custo.
Na minha base local Banco SQL esta funcionando normal, mais no cliente banco ORACLE não funciona.
Ele retorna tudo, como se não tivesse realizado o filtro.
A principio estou achando que pode ser sintaxe de banco....ajuda ai
User Function FA060Qry()
Local cRet := "E1_NUM <> ''" //Somente para nao dar erro caso usuario nao preencha nada
Local aRet := {}
Local aParamBox := {}
Local i := 0
Local cCCDe := ""
Local cCCAte := ""
Private cCadastro := "Filtro Centro de Custo"
aAdd(aParamBox,{1,"C.Custo De:",Space(9),"","","CTT","Ctb105CC()",0,.F.}) // Tipo caractere
aAdd(aParamBox,{1,"C.Custo De:",Space(9),"","","CTT","Ctb105CC()",0,.F.}) // Tipo caractere
If ParamBox(aParamBox,"",@aRet)
For i:=1 To Len(aRet)
cCCDe := Alltrim(aRet[1])
cCCAte := Alltrim(aRet[2])
Next
Endif
//Verifico se estao vazias
If !empty(cCCDe) .and. !empty(cCCAte)
If cCCAte < cCCDe
MSGINFO("Centro de Custo 'ATE' Nao pode ser menor que o 'DE' - Nao sera Considerado Filtro")
Else
cRet += " AND E1_CCUSTO >= '"+cCCDe+"'" //cRet := " E1_VALOR > 1000 AND "
cRet += " AND E1_CCUSTO <= '"+cCCAte+"'" //cRet += " E1_NATUREZ = '001' "
EndIF
EndIF
Return cRet
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Pontos de Entrada
- AJUDA QUERY ORACLE
Tempo para a criação da página:0.092 segundos