Importante
A rotina OMSA090 se utiliza do conceito de MVC do Prothues, portanto não possui a mesma estrutura de MsExecAuto conforme o modelo antigo utilizado no Protheus.
No entanto é possível adaptar a mesma para funcionar de forma muito semelhante como mostrado no exemplo abaixo.
Maiores detalhes sobre o padrão MVC podem ser consultados em: MVC (Model View Controller)
Operação de Inclusão
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090I() Local nOpcao, aCab, aClientes, aCeps Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_INSERT aCab := Array(0) AAdd(aCab, {"DA7_PERCUR","ZONTST"} ) AAdd(aCab, {"DA7_ROTA" ,"SET002"} ) aClientes := Array(0) AAdd(aClientes, Array(0)) AAdd(aClientes[1], {"DA7_SEQUEN","000001"} ) AAdd(aClientes[1], {"DA7_CLIENT","L00001"} ) AAdd(aClientes[1], {"DA7_LOJA","01"} ) // Ou AAdd(aClientes, { {"DA7_SEQUEN","000002"}, {"DA7_CLIENT","L00001"}, {"DA7_LOJA","02"} } ) AAdd(aClientes, { {"DA7_SEQUEN","000003"}, {"DA7_CLIENT","L00001"}, {"DA7_LOJA","03"} } ) If (lRet := U_OMSA090A(nOpcao, aCab, aClientes, aCeps, @cErro)) conout("Pontos por setor incluído com sucesso.") Else conout("Erro na inclusão de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return
Operação de Modificação
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090U() Local nOpcao, aCab, aClientes, aCeps Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_UPDATE aCab := Array(2) aCab[1] := {"DA7_PERCUR","ZONTST"} aCab[2] := {"DA7_ROTA" ,"SET002"} aClientes := {} AAdd(aClientes,{ {"LINPOS","DA7_SEQUEN","000003"}, {"AUTDELETA","S",Nil} } ) aCeps := {} AAdd(aCeps, { {"DA7_SEQUEN","000001"}, {"DA7_CEPDE","89200000"}, {"DA7_CEPATE","89299999"} } ) If (lRet := U_OMSA090A(nOpcao, aCab, aClientes, aCeps, @cErro)) conout("Pontos por setor alterados com sucesso.") Else conout("Erro na alteração de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return
Operação de Exclusão
#include "tbiconn.ch" #include "PROTHEUS.CH" #include "FWMVCDEF.CH" User Function OMSA090D() Local nOpcao, aCab Local cErro := "" Local lRet := .T. Local _cEmpresa := "99" // Código da Empresa que deseja manipular Local _cFilial := "01" // Código da Filial que deseja manipular PREPARE ENVIRONMENT EMPRESA _cEmpresa FILIAL _cFilial MODULO "OMS" SetFunName("OMSA090") nOpcao := MODEL_OPERATION_DELETE aCab := Array(2) aCab[1] := {"DA7_ROTA" ,"SET002"} aCab[2] := {"DA7_PERCUR","ZONTST"} If (lRet := U_OMSA090A(nOpcao, aCab, Nil, Nil, @cErro)) conout("Pontos por setor excluídos com sucesso.") Else conout("Erro na exclusão de pontos por setor: " + cErro) EndIf RESET ENVIRONMENT Return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas