Page tree


Exemplo de Rotina Para Utilizar o ExecAuto do OMSA200
Exemplo
#include "tbiconn.ch"
#Include "protheus.ch"
 
User Function MyOMS200()
Local aCab      := {}   // Array do Cabeçalho da Carga
Local aItem     := {}   // Array dos Pedidos da Carga
Local _cEmpresa := "99" // Código da Empresa que deseja incluir a carga
Local _cFilial  := "01" // Código da Filial que deseja incluir a carga
Local cMsgErro  := ""
Local cCarga    := ""
Local cSeqCar   := ""
PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS"
 
   Private lMsHelpAuto := .T. //Variavel de controle interno do ExecAuto
   Private lMsErroAuto := .F. //Variavel que informa a ocorrência de erros no ExecAuto
 
   // Posiciona no segundo pedido de venda
 
   SetFunName("OMSA200")
   
   // Posicionar a DAK na carga que deseja realizar o estorno
   cCarga  := "000015"
   cSeqCar := "01"
   
   dbSelectArea("DAK")
   dbSetOrder(1)
   If DAK->(dbSeek(xFilial("DAK")+cCarga+cSeqCar))
       MSExecAuto( { |x, y, z| OMSA200(x, y, z) }, aCab, aItem, 6 )
       If lMsErroAuto
          Alert("Erro no ExecAuto do OMSA200")
          cMsgErro := MostraErro()
          DisarmTransaction()
          Alert(cMsgErro)
       Else
          Alert("Sucesso na execução do ExecAuto OMSA200")
       EndIf
   EndIf
RESET ENVIRONMENT
 
Return