Árvore de páginas

EXECAUTO MATA018 - Indicadores de Produtos

Produto:

Microsiga Protheus

Versões:

Todas

Ocorrência:

Rotina Automática - MATA018 (EXECAUTO)

Ambiente:

SIGAEST - Estoque e Custos

Descrição:Rotina automática que permite a inclusão, alteração ou exclusão de produtos em grande quantidade na rotina de Indicadores de Produtos.
Parâmetros:
NomeTipoDescriçãoConteúdo Default
ExpA1ArrayArray contendo os dados do cabeçalho
ExpA2

Array

Array contendo os itens
ExpA3ArrayArray contendo as informações das empresas (SM0)
ExpN1NuméricoOpção desejada: 3-Inclusão; 4-Alteração ; 5-Exclusão3

Passo a passo:

User Function EXECSBZ()

Local aCab            := {}
Local aItens        := {}
Local aItem        := {}
Local aAreaSM0    := {}
Local nOpc            := 3

Private lMsErroAuto    := .F.

If !MyOpenSm0Ex()
    __Quit()
EndIf

DbSelectArea('SM0')
aAreaSM0 := SM0->(GetArea())
SM0->(dbSetOrder(1))
SM0->(dbGoTop())
If SM0->(!EOF())
    cEmpStart := AllTrim(SM0->M0_CODIGO)
    cFilStart := AllTrim(SM0->M0_CODFIL)
Endif

RestArea(aAreaSM0)

PREPARE ENVIRONMENT EMPRESA cEmpStart FILIAL cFilStart

If nOpc == 3 .Or. nOpc == 5
    DbSelectArea("SB1")
    SB1->(DbSetOrder(1))
    While SB1->(!EOF())
        aCab := {}
        lMsErroAuto := .F.
        
        aAdd(aCab,{'BZ_COD',SB1->B1_COD,Nil})
        aAdd(aCab,{'BZ_LOCPAD',SB1->B1_LOCPAD,Nil})
        aAdd(aCab,{'BZ_TE',"001",Nil})
        
        MSExecAuto({|v,x| MATA018(v,x)},aCab,nOpc)
        
        If !lMsErroAuto
            Conout('Inserido/Alterado/Excluido com sucesso')
        Else
            Conout('Erro na Inclusão/Alteração/Exclusão')
            MostraErro()
        Endif
        
        SB1->(DbSkip())
    Enddo
Elseif nOpc == 4
    aAdd(aCab,{'BZ_COD',"001",Nil})
    aAdd(aCab,{'BZ_LOCPAD',"01",Nil})
    aAdd(aCab,{'BZ_TE',"001",Nil})
    
    MSExecAuto({|v,x| MATA018(v,x)},aCab,nOpc)
    
    If !lMsErroAuto
        Conout('Inserido/Alterado/Excluido com sucesso')
    Else
        Conout('Erro na Inclusão/Alteração/Exclusão')
        MostraErro()
    Endif
Endif

RESET ENVIRONMENT

Return

Observações:

Execauto para realizar a inclusão, alteração ou exclusão de produtos em grande quantidade na rotina de Indicadores de Produtos. No exemplo acima serão inclusos todos os produtos existentes no cadastro de produtos (SB1).