Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

MATA390 - Rotina

...

automática

Linha de ProtheusMódulo/Custo RotinaTodos -

Produto:

Microsiga

Segmento:

Manufatura

Protheus®

Ambiente

:

Estoque e Custos (SIGAEST)

Ocorrência:

Rotina

Nome Técnico

Manutenção de lotes

MATA390

País(es):

Brasil

Exemplo de ExecAuto da rotina "Manutenção de Lotes" (MATA390)

Passo a passo:

Banco(s) de Dados:

Tabelas utilizadas:

  • SD5

Descrição:

  • SB8

Sistema(s) operacional(is):

Windows/Linux

Rotina automatica

: - - : () () () () () movimentacoes Potencia

Esta

rotina

efetua

manutenções

nas

Movimentações

de

Lote

(SD5).


Dica
titleObservação

Esta

rotina

permite

pesquisar

e

visualizar

lotes

existentes

e

incluir/excluir

lotes

novos.

 

  • Somente
  • lotes
  • incluídos
  • manualmente
  • poderão
  • ser
  • excluídos.
  • A
  • inclusão
  • de
  • lotes
  • deve
  • ser
  • utilizada
  • quando
  • um
  • produto
  • com
  • saldo
  • em
  • estoque
  • e
  • sem
  • controle
  • de
  • rastreabilidade
  • passa
  • a
  • utilizar
  • este
  • controle.

Sintaxe

MATA390 - Programa de Manutenções nas Movimentações de Lote (SD5) ( [ PARAMIXB1 ] [ PARAMIXB2 ] ) --> nulo

Programa Fonte:

 MATA390

Função
Ação
AUTO390INC
Inclusão
AUTO390DAT
Alteração data de validade
AUTO390PRC
Alteração preço do lote
AUTO390POT
Alteração potencia
AUTO390EXC
Exclusão


Parâmetros:

NomeTipoDescriçãoObrigatório
PARAMIXBArrayContendo os valores para as
movimentações de Lote (SD5)X
PARAMIXBNumerico

3 - Inclusão
4 - Alteração Data de validade
5 - Exclusão
6 - Alteração Preço
7 - Alteração

Potência

X

...


Exemplos:

Expandir
titleInclusão
Bloco de código
languagec#
titleExemplo

...

//Inclusão

...



#Include 'Protheus.ch'

...



User Function AUT390INC()

...



Local cProd := ""

...


Local cLocal := ""

...


Local cLoteCtl := ""

...


Local dData := CtoD("//")

...


Local dDataVld := CtoD("//")

...


Local aVetor := {}

...


Local aTamCOD := {}

...


Local aTamLOC := {}

...


Local aTamLOT := {}

...


Local nQtd := 0

...


Local nOpc := 3

...



Private lMsErroAuto := .F.

...



PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST" TABLES "SD5"

...



aTamCOD := TamSx3("D5_PRODUTO")

...


aTamLOC := TamSx3("D5_LOCAL")

...


aTamLOT := TamSx3("D5_LOTECTL")

...



DbSelectArea("SD5")

...



cProd := PadR("0005",aTamCOD[1])

...


cLocal := PadR("01",aTamLOC[1])

...


dData := dDataBase

...


nQtd := 12000

...


cLoteCtl := PadR("11223344",aTamLOT[1])

...


dDataVld := dDataBase+30

...



aadd(aVetor,{"D5_PRODUTO" ,cProd ,NIL})

...


aadd(aVetor,{"D5_LOCAL" ,cLocal ,NIL})

...


aadd(aVetor,{"D5_LOTECTL" ,cLoteCtl ,NIL})

...


aadd(aVetor,{"D5_DATA" ,dData ,NIL})

...


aadd(aVetor,{"D5_QUANT" ,nQtd ,NIL})

...


aadd(aVetor,{"D5_DTVALID" ,dDataVld ,NIL})

...



MSExecAuto({|x,y| Mata390(x,y)},aVetor,nOpc)

...



If !lMsErroAuto

...


ConOut("Incluido com sucesso! " + cProd)

...


Else

...


MostraErro()

...


ConOut("Erro na inclusao!")

...


EndIf

...



RESET ENVIRONMENT

...

Return

...



Return


Expandir
titleAlteração da data de validade
Bloco de código
titleAlteração da data de validade
//Observação: Não esquecer de informar o

...

 número de lote (D5_NUMLOTE)

...

 e número sequência (D5_NUMSEQ), conforme

...

 números gerados após a inclusão.

...



#Include 'Protheus.ch'

...



User Function AUT390DAT()

...



Local cProd := ""

...


Local cLocal := ""

...


Local cLoteCtl := ""

...


Local cNumLote := ""

...


Local cNumSeq := ""

...


Local dDataVld := CtoD("//")

...


Local aVetor := {}

...


Local aTamCOD := {}

...


Local aTamLOC := {}

...


Local aTamLOT := {}

...


Local aTamNLOT := {}

...


Local aTamSEQ := {}

...


Local nOpc := 4

...



Private lMsErroAuto := .F.

...



PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST" TABLES "SD5"

...



aTamCOD := TamSx3("D5_PRODUTO")

...


aTamLOC := TamSx3("D5_LOCAL")

...


aTamLOT := TamSx3("D5_LOTECTL")

...


aTamNLOT := TamSx3("D5_NUMLOTE")

...


aTamSEQ := TamSx3("D5_NUMSEQ")

...



DbSelectArea("SD5")

...



cProd := PadR("0005",aTamCOD[1])

...


cLocal := PadR("01",aTamLOC[1])

...


cLoteCtl := PadR("11223344",aTamLOT[1])

...


cNumLote := PadR("",aTamNLOT[1])

...


cNumSeq := PadR("000014",aTamSEQ[1])

...


dDataVld := dDataBase+90

...



aadd(aVetor,{"D5_PRODUTO" ,cProd ,NIL})

...


aadd(aVetor,{"D5_LOCAL" ,cLocal ,NIL})

...


aadd(aVetor,{"D5_LOTECTL" ,cLoteCtl ,NIL})

...


aadd(aVetor,{"D5_NUMLOTE" ,cNumLote ,NIL})

...


aadd(aVetor,{"D5_NUMSEQ" ,cNumSeq ,NIL})

...


aadd(aVetor,{"B8_DTVALID" ,dDataVld ,NIL}) //Utiliza B8 mesmo

...



MSExecAuto({|x,y| Mata390(x,y)},aVetor,nOpc)

...



If !lMsErroAuto

...


ConOut("Alterado data de validade com sucesso! " + cProd)

...


Else

...


MostraErro()

...


ConOut("Erro na alteração da data!")

...


EndIf

...



RESET ENVIRONMENT

...



Return
Expandir
titleAlteração do Preço
Bloco de código
languagec#
titleAlteração do Preço

Return

...

//Observação: Não esquecer de informar o

...

 número de lote (D5_NUMLOTE)

...

 e número sequência (D5_NUMSEQ), conforme

...

 números gerados após a inclusão.

...



#Include 'Protheus.ch'

...



User Function AUT390PRC()

...



Local cProd := ""

...


Local cLocal := ""

...


Local cLoteCtl := ""

...


Local cNumLote := ""

...


Local cNumSeq := ""

...


Local aVetor := {}

...


Local aTamCOD := {}

...


Local aTamLOC := {}

...


Local aTamLOT := {}

...


Local aTamNLOT := {}

...


Local aTamSEQ := {}

...


Local nPrcLot := 0

...


Local nOpc := 6

...



Private lMsErroAuto := .F.

...



PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST" TABLES "SD5"

...



aTamCOD := TamSx3("D5_PRODUTO")

...


aTamLOC := TamSx3("D5_LOCAL")

...


aTamLOT := TamSx3("D5_LOTECTL")

...


aTamNLOT := TamSx3("D5_NUMLOTE")

...


aTamSEQ := TamSx3("D5_NUMSEQ")

...



DbSelectArea("SD5")

...



cProd := PadR("0005",aTamCOD[1])

...


cLocal := PadR("01",aTamLOC[1])

...


cLoteCtl := PadR("11223344",aTamLOT[1])

...


cNumLote := PadR("",aTamNLOT[1])

...


cNumSeq := PadR("000014",aTamSEQ[1])

...


nPrcLot := 15

...



aadd(aVetor,{"D5_PRODUTO" ,cProd ,NIL})

...


aadd(aVetor,{"D5_LOCAL" ,cLocal ,NIL})

...


aadd(aVetor,{"D5_LOTECTL" ,cLoteCtl ,NIL})

...


aadd(aVetor,{"D5_NUMLOTE" ,cNumLote ,NIL})

...


aadd(aVetor,{"D5_NUMSEQ" ,cNumSeq ,NIL})

...


aadd(aVetor,{"B8_PRCLOT" ,nPrcLot ,NIL}) //Utiliza B8 mesmo

...



MSExecAuto({|x,y| Mata390(x,y)},aVetor,nOpc)

...



If !lMsErroAuto

...


ConOut("Alterado preço do lote com sucesso! " + cProd)

...


Else

...


MostraErro()

...


ConOut("Erro na alteração do preço!")

...


EndIf

...



RESET ENVIRONMENT

...



Return
Expandir
titleAlteração Potencia
Bloco de código
languagec#
titleAlteração Potencia

Return

...

//Observação: Não esquecer de informar o

...

 número de lote (D5_NUMLOTE)

...

 e número sequência (D5_NUMSEQ), conforme

...

 números gerados após a inclusão.

...



#Include 'Protheus.ch'

...



User Function AUT390POT()

...



Local cProd := ""

...


Local cLocal := ""

...


Local cLoteCtl := ""

...


Local cNumLote := ""

...


Local cNumSeq := ""

...


Local aVetor := {}

...


Local aTamCOD := {}

...


Local aTamLOC := {}

...


Local aTamLOT := {}

...


Local aTamNLOT := {}

...


Local aTamSEQ := {}

...


Local nPotencia := 0

...


Local nOpc := 7

...



Private lMsErroAuto := .F.

...



PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST" TABLES "SD5"

...



aTamCOD := TamSx3("D5_PRODUTO")

...


aTamLOC := TamSx3("D5_LOCAL")

...


aTamLOT := TamSx3("D5_LOTECTL")

...


aTamNLOT := TamSx3("D5_NUMLOTE")

...


aTamSEQ := TamSx3("D5_NUMSEQ")

...



DbSelectArea("SD5")

...



cProd := PadR("0005",aTamCOD[1])

...


cLocal := PadR("01",aTamLOC[1])

...


cLoteCtl := PadR("11223344",aTamLOT[1])

...


cNumLote := PadR("",aTamNLOT[1])

...


cNumSeq := PadR("000014",aTamSEQ[1])

...


nPotencia := 22

...



aadd(aVetor,{"D5_PRODUTO" ,cProd ,NIL})

...


aadd(aVetor,{"D5_LOCAL" ,cLocal ,NIL})

...


aadd(aVetor,{"D5_LOTECTL" ,cLoteCtl ,NIL})

...


aadd(aVetor,{"D5_NUMLOTE" ,cNumLote ,NIL})

...


aadd(aVetor,{"D5_NUMSEQ" ,cNumSeq ,NIL})

...


aadd(aVetor,{"B8_POTENCI" ,nPotencia ,NIL}) //Utiliza B8 mesmo

...



MSExecAuto({|x,y| Mata390(x,y)},aVetor,nOpc)

...



If !lMsErroAuto

...


ConOut("Alterado potencia com sucesso! " + cProd)

...


Else

...


MostraErro()

...


ConOut("Erro na alteração da potencia!")

...


EndIf

...



RESET ENVIRONMENT

...

Return

...



Return
Expandir
titleExclusão
Bloco de código
languagec#
titleExclusão
//Observação: Não esquecer de informar o

...

 número de lote (D5_NUMLOTE)

...

 e número sequência (D5_NUMSEQ), conforme

...

 números gerados após a inclusão.

...



#Include 'Protheus.ch'

...



User Function AUT390EXC()

...



Local cProd := ""

...


Local cLocal := ""

...


Local cLoteCtl := ""

...


Local cNumLote := ""

...


Local cNumSeq := ""

...


Local aVetor := {}

...


Local aTamCOD := {}

...


Local aTamLOC := {}

...


Local aTamLOT := {}

...


Local aTamNLOT := {}

...


Local aTamSEQ := {}

...


Local nOpc := 5

...



Private lMsErroAuto := .F.

...



PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "EST" TABLES "SD5"

...



aTamCOD := TamSx3("D5_PRODUTO")

...


aTamLOC := TamSx3("D5_LOCAL")

...


aTamLOT := TamSx3("D5_LOTECTL")

...


aTamNLOT := TamSx3("D5_NUMLOTE")

...


aTamSEQ := TamSx3("D5_NUMSEQ")

...



DbSelectArea("SD5")

...



cProd := PadR("0005",aTamCOD[1])

...


cLocal := PadR("01",aTamLOC[1])

...


cLoteCtl := PadR("11223344",aTamLOT[1])

...


cNumLote := PadR("",aTamNLOT[1])

...


cNumSeq := PadR("000014",aTamSEQ[1])

...



aadd(aVetor,{"D5_PRODUTO" ,cProd ,NIL})

...


aadd(aVetor,{"D5_LOCAL" ,cLocal ,NIL})

...


aadd(aVetor,{"D5_LOTECTL" ,cLoteCtl ,NIL})

...


aadd(aVetor,{"D5_NUMLOTE" ,cNumLote ,NIL})

...


aadd(aVetor,{"D5_NUMSEQ" ,cNumSeq ,NIL})

...



MSExecAuto({|x,y| Mata390(x,y)},aVetor,nOpc)

...



If !lMsErroAuto

...


ConOut("Excluido com sucesso! " + cProd)

...


Else

...


MostraErro()

...


ConOut("Erro na exclusão!")

...


EndIf

...



RESET ENVIRONMENT

...



Return

Pode lhe interessar: