Histórico da Página
MATA681 - Apontamento de Produção baseado no Roteiro de Operações
Linha de Produto: | Protheus | ||||||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||||||
Idiomas: | Português (Brasil) | ||||||||||||||||||||||
País(es): | Todos | ||||||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Descrição: | Esta rotina possibilita o apontamento de Produção baseado no Roteiro de Operações. Exemplo: #INCLUDE "RWMAKE.CH" #INCLUDE "TBICONN.CH" User Function RMATA681() Local aVetor := {} Local dDatalMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SH6"dData:=dDataBaseaVetor := { {"H6_OP" ,"00000101001 " ,NIL},;{"H6_PRODUTO" ,"PA01 ",NIL},;{"H6_OPERAC" ,"01" ,NIL},;{"H6_RECURSO" ,"1" ,NIL},;{"H6_DTAPONT" ,dData,NIL},;{"H6_DATAINI" ,dData ,NIL},;{"H6_HORAINI","19:11" ,NIL},;{"H6_DATAFIN",dData ,NIL},;{"H6_HORAFIN","19:20" ,NIL},;{"H6_PT" ,'P' ,NIL},;{"H6_LOCAL" ,"01" ,NIL},;{"H6_QTDPROD",7 ,NIL}} MSExecAuto({|x| mata681(x)},aVetor) // inclusão///////////////////////////////////////////////////////////////////////////////////////////////////////////////If lMsErroAuto Mostraerro()else alert("ok")EndifReturn |
Sintaxe: | MATA681 - Apontamento de Produção baseado no Roteiro de Operações ( [ PARAMIXB1 ] ) --> nil |
Programa Fonte: | MATA681.PRW |
Retorno: | nil(nulo) |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "totvs.ch"
#Include 'Protheus.ch'
#Include "TBICONN.CH"
//--------------------------- INCLUSÃO -----------------------------------------------------------------------------------------------
User Function RMATA250()
Local aVetor := {}
Local dData
Local nOpc := 3 //-Opção de execução da rotina, informado nos parametros quais as opções possiveisl
MsErroAuto := .F.
RpcSetEnv( "99","01",,,,,,,,,)
dData:=dDataBase
aVetor := {;
{"D3_OP" ,"00000501001" ,NIL},;
{"D3_TM" ,"010" ,NIL}}
MSExecAuto({|x, y| mata250(x, y)},aVetor, nOpc )
If lMsErroAuto
Mostraerro()
Else
Alert("Ok")
Endif
Return
//--------------------------- ESTORNO EXEMPLO 1 --------------------------------------------------------------------------------------
User Function RMATA250()
Local aVetor := {}
Local nOpc := 5 //-Opção de execução da rotina, informado nos parametros quais as opções possiveis
Local cOp := "00000301001 "
Local cCod := "PROD "
Local cLocal:= "01"
Local cChave:= ""
lMsErroAuto := .F.
RpcSetEnv( "99","01",,,,,,,,,)
cChave:= xFilial("SD3") + cOp + cCod + cLocal
SD3->(DbSetOrder(1))
If SD3->(DbSeek(cChave))
While !(SD3->(Eof())) .And. SD3->(D3_FILIAL + D3_OP + D3_COD + D3_LOCAL) == cChave
If SD3->D3_ESTORNO == " "
aVetor := {;
{"D3_FILIAL" ,xFilial("SD3") ,NIL},;
{"D3_OP" ,cOp ,NIL},;
{"D3_QUANT" ,10 ,NIL},;
{"D3_TM" ,"001" ,NIL},;
{"D3_LOCAL" ,cLocal ,NIL}}
MSExecAuto({|x, y| mata250(x, y)},aVetor, nOpc )
If lMsErroAuto
Mostraerro()
Else
Alert("Ok")
Endif
Exit
EndIf
SD3->(DbSkip())
EndDo
EndIf
Return
//--------------------------- ESTORNO EXEMPLO 2 --------------------------------------------------------------------------------------
User Function RMATA250()
Local aVetor := {}
Local nOpc := 5 //-Opção de execução da rotina, informado nos parametros quais as opções possiveis
Local cCod := "PROD "
Local cLocal:= "01"
Local cNumSeq:= "001813"
Local cCf:= "PR0"
lMsErroAuto := .F.
RpcSetEnv( "99","01",,,,,,,,,)
//Estou montando meu array aVetor com os campos do índice enviado na última posição, no caso 3.
aVetor := {;
{"D3_FILIAL" ,xFilial("SD3") ,NIL},;
{"D3_COD" ,cCod ,NIL},;
{"D3_LOCAL" ,cLocal ,NIL},;
{"D3_NUMSEQ" ,cNumSeq ,NIL},;
{"D3_CF" ,cCf ,NIL},;
{"INDEX" ,3 ,NIL}}
MSExecAuto({|x, y| mata250(x, y)},aVetor, nOpc )
If lMsErroAuto
Mostraerro()
Else
Alert("Ok")
Endif
Return |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas