1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[RESOLVIDO] BODI Deletar Pedido

Discussão em 'EMS , HCM e Totvs 11' iniciado por muertebr, Maio 13, 2013.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. muertebr

    muertebr Membro Participativo

    Alguem já testou a BODI para deletar pedidos?
    O problema que eu não sei se to fazendo errado ou o que, mais a BODI só está deletando os itens, ficando o pedido.

    Código:
    define variable h-bodi159del     as handle      no-undo.
    {method/dbotterr.i} /* RowErrors */
    
    
    FIND FIRST ped-venda NO-LOCK
        WHERE ped-venda.cod-emitente = 56593 AND
              ped-venda.nr-pedcli = "101759" NO-ERROR.
    IF AVAIL ped-venda THEN DO:
        /** Cancelar Pedido via BODI **/
        if  not valid-handle(h-bodi159del)
            or  h-bodi159del:type      <> "PROCEDURE":U
            or  h-bodi159del:file-name <> "dibo/bodi159del.p":U then DO:
            
            run dibo/bodi159del.p persistent set h-bodi159del.
        END.
        
        /** Validar possibilidade de deletar o pedido. **/
        RUN ValidateDelete  in h-bodi159del (input ROWID(ped-venda), 
                                             output table RowErrors).
        if  session:set-wait-state("") THEN .
        if  can-find(first RowErrors) then do:
            /* exibir os erros gerados na TT RowErrors */
            
            FOR EACH rowErrors NO-LOCK.
                message "Erro - Num:   " RowErrors.ErrorNumber SKIP
                        "Erro - Ajuda: " RowErrors.ErrorHelp SKIP
                        "Erro - Desc:  " RowErrors.ErrorDescription SKIP
                        "Erro - Seq:   " RowErrors.ErrorSeq
                    view-as alert-box info buttons ok.
            END.
        end.
        
        if  not can-find(first RowErrors where RowErrors.ErrorSubType = "Error":U) then do:
            if  session:set-wait-state("general") THEN .
        
            /** Efetuar cancelamento do pedido. **/
            RUN updateDelete    in h-bodi159del (input ROWID(ped-venda)).
        
            if  session:set-wait-state("") then.
        
            message "Pedido Deletado." 
                view-as alert-box info buttons ok.
        end.
    END.
    reissobr curtiu isso.
  2. lucasiam

    lucasiam Membro Participativo

    Muertebr, conseguiu resolver esse problema?
    Também estou usando a bodi159del e mesmo após a execução do updateDelete ele não deleta o registro da tabela ped-venda. Só está excluindo os itens do pedido.

    Como o validadeDelete checa todas as dependências, até pensei em após a execução do updateDelete, fazer manualmente um "Delete ped-venda", mas estou inseguro se isso pode deixar alguma sujeira na base de dados.
    reissobr curtiu isso.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página