Árvore de páginas

Exemplo de execauto da rotina "Indicadores de Produtos" (MATA018)

Produto:

Microsiga Protheus

Ambiente:

Estoque e Custos (SIGAEST)

Ocorrência:

Exemplo de execauto da rotina "Indicadores de Produtos" (MATA018)

Passo a passo:

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
ExpA2ArrayArray contendo os itens
ExpA3ArrayArray contendo as informações das empresas (SM0)
ExpN1NuméricoOpção desejada: 3-Inclusão; 4-Alteração ; 5-Exclusão3
Exemplo
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).

Pode lhe interessar: