Linha de Produto: | Microsiga Protheus | ||||
Segmento: | Serviços. | ||||
Módulo: | Estoque | ||||
Rotina: |
| ||||
Cadastros Iniciais: | MATA010 - Produtos | ||||
Parâmetro(s): | Não se aplica | ||||
Ponto de Entrada: | Não se aplica | ||||
País(es): | Todos os países | ||||
Banco(s) de Dados: | Bancos de dados homologados pela TOTVS. | ||||
Tabelas Utilizadas: | SB5 - Dados Adicionais do Produto. | ||||
Sistema(s) Operacional(is): | Sistemas Operacionais homologados pela TOTVS. |
A finalidade deste documento é exemplificar como o Complemento de produto pode ser feito o lançamento automático utilizado via MsExecAuto(Rotina Automatica) ou com MVC (a partir da release 12.1.17 Outubro/2017).
É obrigatório ter o produto já estar cadastrado na tabela SB1 (Descrição genérica de produto).
Função: | MATA180 | ||||||||||||
Parametros: |
|
Exemplo:
#Include "RwMake.CH"
#include "tbiconn.ch"
User Function TMata180()
Local aCab := {}
Local cCodigo := ""
Private lMsErroAuto := .F.
PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST"
// define o codigo do produto a ser utilizado
cCodigo := "1234"
//
// Para incluir um registro na SB5, obrigatoriamente o codigo do produto deve estar previsamente cadastrado na tabela SB1
//
dbSelectArea("SB1")
dbSetOrder(1)
If DbSeek(xFilial("SB1")+cCodigo)
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,3) //Inclusao
conout("Acabou de executar a opcao Incluir da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao incluir o produto")
cErro:=MostraErro()
Else
conout("Incluido com sucesso")
Endif
Else
conout("Produto não foi encontrado na tabela SB1.")
EndIf
//
// Para alterar um registro na SB5, não é obrigatorio estar posicionado no registro a ser alterado
//
lMsErroAuto := .F.
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico 1234" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,4) //Alteracao
conout("Acabou de executar a opcao Alterar da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao alterar o produto")
cErro:=MostraErro()
Else
conout("Alterado com sucesso")
Endif
//
// Para excluir um registro na SB5, não é obrigatorio estar posicionado no registro a ser alterado
//
lMsErroAuto := .F.
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,5) //Exclusao
conout("Acabou de executar a opcao Excluir da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao excluir o produto")
cErro:=MostraErro()
Else
conout("Excluido com sucesso")
Endif
RESET ENVIRONMENT
Return
Função: | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” | ||||||||||||
Retorno: |
|
Exemplo:
#Include "RwMake.CH"
#include "tbiconn.ch"
User Function TMata180()
Local aCab := {}
Local cCodigo := ""
Private lMsErroAuto := .F.
//PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "FIS"
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "EST"
// define o codigo do produto a ser utilizado
cCodigo := "1234"
//
// Para incluir um registro na SB5, obrigatoriamente o codigo do produto deve estar previsamente cadastrado na tabela SB1
//
dbSelectArea("SB1")
dbSetOrder(1)
If DbSeek(xFilial("SB1")+cCodigo)
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,3) //Inclusao
conout("Acabou de executar a opcao Incluir da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao incluir o produto")
cErro:=MostraErro()
Else
conout("Incluido com sucesso")
Endif
Else
conout("Produto não foi encontrado na tabela SB1.")
EndIf
//
// Para alterar um registro na SB5, não é obrigatorio estar posicionado no registro a ser alterado
//
lMsErroAuto := .F.
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico 1234" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,4) //Alteracao
conout("Acabou de executar a opcao Alterar da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao alterar o produto")
cErro:=MostraErro()
Else
conout("Alterado com sucesso")
Endif
//
// Para excluir um registro na SB5, não é obrigatorio estar posicionado no registro a ser alterado
//
lMsErroAuto := .F.
aCab:= { {"B5_COD" ,cCodigo ,Nil},; // Codigo identificador do produto
{"B5_CEME" ,"Nome cientifico" ,Nil}} // Nome cientifico do produto
MSExecAuto({|x,y| Mata180(x,y)},aCab,5) //Exclusao
conout("Acabou de executar a opcao Excluir da rotina automatica do Cadastro de Complemento do Produto")
//-- Retorno de erro na execucao da rotina
If lMsErroAuto
conout("erro ao excluir o produto")
cErro:=MostraErro()
Else
conout("Excluido com sucesso")
Endif
RESET ENVIRONMENT
Return