Árvore de páginas

MATA240 - Lançamento de Movimentações Internas

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):


Nome
Tipo
Descrição
Default
Obrigatório
Referência

ExpA1
Vetor
Array contendo os campos, valores e validações a serem cadastradas,alteradas ou excluidas.


X



ExpN2
Numérico
Opção escolhida: 3-Inclusão ; 5-Estorno






Idiomas:Espanhol, Inglês

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos


Descrição:
Finalidade: Esta rotina permite lançar as movimentações internas de materiais, no processo de Requisições ou Devoluções. Estes procedimentos atualizam o saldo físico e financeiro dos produtos, sendo um item para cada documento criado.Importante: A opção de Internos como movimentação possui uma segunda possibilidade, como "modelo 2", que permite lançar vários itens em um único documento. Veja o tópico Internos (mod.2).
User Function MyMata240()Local ExpA1 := {}Local ExpN2 := 3Local cTPMovimento := "501"Local nQtd 	   := 10Local cProd	   := ""Local cUnidade     := ""Local cArmazem     := ""Local dEmissao     := ""PRIVATE lMsErroAuto := .F.          //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Abertura do ambiente                                         |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙPREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST" TABLES "SD3","SB1"dbSelectArea("SB1")dbSetOrder(1)dbSeek(xFilial("SB1")+cProd)cProd := B1_CODcUnidade := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_UM")cArmazem := Posicione("SB1",1,xFilial("SB1")+cProd,"B1_LOCPAD")dEmissao := dDataBaseConOut(Repl("-",80))ConOut(PadC("Teste de Movimentacoes Internas",80))ConOut("Inicio: "+Time())//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Teste de Inclusao                                            |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ   Begin Transaction   	ExpA1 := {} 		aadd(ExpA1,{"D3_TM",cTPMovimento,})	aadd(ExpA1,{"D3_COD",cProd,})	aadd(ExpA1,{"D3_UM",cUnidade,})			aadd(ExpA1,{"D3_LOCAL",cArmazem,})	aadd(ExpA1,{"D3_QUANT",nQtd,})	aadd(ExpA1,{"D3_EMISSAO",dEmissao,})		        MSExecAuto({|x,y| mata240(x,y)},ExpA1,ExpN2)		If !lMsErroAuto		ConOut("Incluido com sucesso! "+cTPMovimento)		Else		ConOut("Erro na inclusao!")	EndIf	ConOut("Fim  : "+Time())	         End TransactionRESET ENVIRONMENTReturn Nil------------------------------------------------------------------------------------------------------------------------------------------------------Para realizar o Estorno, poderá ser utilizado o mesmo ponto de entrada, porém com as seguinte configuração:- Alterar a linha: Local ExpN2 := 3   para:  Local ExpN2 := 5- Incluir as linhas:   aadd(ExpA1,{"D3_NUMSEQ","000074",})	// Aqui deverá ser colocado o D3_NUMSEQ do registro que foi incluido e agora                                                                                        esta sendo estornado.   aadd(ExpA1,{"INDEX",3,})	                     // Aqui deverá ser indicado o número do indice da tabela SD3 que será utilizado.Desta forma, o movimento será estornado.

Sintaxe:

MATA240 - Lançamento de Movimentações Internas ( ExpA1 [ ExpN2 ] ) --> Nil

Retorno:

Nil(nulo)

  Nil

Observações:Esta rotina pode ser executada via rotina automática.