leo@lhsistemas.com Posted March 25, 2015 Report Share Posted March 25, 2015 Boa tarde. Preciso de ajuda para montar o codigo abaixo em instrução SQL: Function _BEstoque(cCod,dDataUlt)Local nQtde := 0 ** cCod = Codigo do Produto ** dDataUlt = Data da Ultima Atualização do Estoque Set SoftSeek On MOV02->( DbsetOrder(2), DbSeek(StrZero(Val(cCod)+1,14)) ) Set SoftSeek Off If MOV02->Cod_Prod != cCod MOV02->( DbSkip(-1) ) EndIf nQtde := 0 // Quantidade Apudada no Estoque pela movimentacao do produto dDtE := Ctod("") // Data Entrada dDtS := Ctod("") // Data Saida Do While MOV02->(! Bof()) .and. MOV02->Cod_Prod = cCod If MOV02->Data_Doc < dDataUlt Exit Endif If MOV02->Operacao = "E" nQtde -= MOV02->quantidade If MOV02->Data_Doc > dDtE dDte := MOV02->Data_Doc Endif Else nQtde += MOV02->quantidade If MOV02->Data_Doc > dDtS dDtS := MOV02->Data_Doc Endif EndIf MOV02->( DbSkip(-1) ) EndDoReturn(nQtde,dDtE,dDtS) Quote Link to comment Share on other sites More sharing options...
emotta Posted March 25, 2015 Report Share Posted March 25, 2015 Tentai ai: cSelect := "SELECT OPERACAO, Max(Data_Doc) DATA, SUM(QUANTIDADE) QUANTI FROM MOV02 WHERE COD_PROD = '"+cCod+"' GROUP BY OPERACAO" Quote Link to comment Share on other sites More sharing options...
leo@lhsistemas.com Posted March 26, 2015 Author Report Share Posted March 26, 2015 EMotta, boa noite. Valeu !!!! Salvou !!! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.