Árvore de páginas

Versões comparadas

Chave

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

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):


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

aVetor
Array of Record
Array contendo os valores para o Apontamento de Produção
X



nOpc
Numérico
Opção escolhida: 3) Inclusão 5) Estorno 7) Encerramento
X



Descrição:

Esta rotina possibilita o apontamento de Produção baseado no Roteiro de Operações.


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
titleExemplo:
linenumberstrue
//--------------------------- EXEMPLO 1  ----------------------------------------------------------------------------------
#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH" 

User Function RMATA681() 
Local aVetor := {} 
Local dData
Local nOpc   := 3

lMsErroAuto := .F. 

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM" TABLES "SH6"

dData:=dDataBase
aVetor := {;
           {"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, nOpc) 

If lMsErroAuto 
    Mostraerro()
Else 
    Alert("ok")
EndIf

Return

//--------------------------- EXEMPLO 2  ----------------------------------------------------------------------------------
#Include 'Protheus.ch'
#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"
#INCLUDE "TOTVS.CH"

User Function rmata681()

Local xRotAuto := {}
Local aRefugos := {}
Local nI

PRIVATE lMsErroAuto := .F.

OpenSm0()
RPCSetType(3)
RPCSetEnv("99" , "01",,,"PCP",,,,,,)

dData := dDataBase 

cOp         := PadR('Y0216101001',TamSX3("H6_OP")[1])
cProd       := PadR('4054-PA2'   ,TamSX3("H6_PRODUTO")[1])
cOperac     := PadR('10'         ,TamSX3("H6_OPERAC")[1])
cRec        := PadR('REC1'       ,TamSX3("H6_RECURSO")[1])
cDtIni      := dData
cHrIni      := '08:00:00'
cDtFim      := dData
cHrFim      := '08:10:00'
cPt         := PadR('P'          ,TamSX3("H6_PT")[1])
cLocal      := PadR('01'         ,TamSX3("H6_LOCAL")[1])
cQtdProd    := 1
cQtdPerd    := 1

xRotAuto := {;
            {"H6_FILIAL" 	, xFilial("SH6")  ,Nil},;
			{"H6_OP" 		, cOp	          ,Nil},;
			{"H6_PRODUTO"   , cProd  		  ,Nil},;
			{"H6_OPERAC" 	, cOperac 		  ,Nil},;
			{"H6_RECURSO"	, cRec	     	  ,Nil},;
			{"H6_DATAINI"	, cDtIni   	 	  ,Nil},;
			{"H6_HORAINI"	, cHrIni	 	  ,Nil},;
			{"H6_DATAFIN"	, cDtFim  	 	  ,Nil},;
			{"H6_HORAFIN"	, cHrFim	 	  ,Nil},;
			{"H6_PT"	    , cPt	   		  ,Nil},;
			{"H6_LOCAL"	    , cLocal	 	  ,Nil},;
			{"H6_QTDPROD"	, cQtdProd		  ,Nil},;
			{"H6_QTDPERD"	, cQtdPerd	 	  ,Nil};
            }

For nI := 1 To 2
                    
    If nI == 1
        cRfProd         := PadR('4054-MP3'   ,TamSX3("BC_PRODUTO")[1])
    Else
        cRfProd         := PadR('4054-MP4'   ,TamSX3("BC_PRODUTO")[1])
    EndIf

    cRfLocOrig      := PadR('01'         ,TamSX3("BC_LOCORIG")[1])
    cRfTipo         := PadR('R'          ,TamSX3("BC_TIPO")[1])
    cRfMotivo       := PadR('FH'         ,TamSX3("BC_MOTIVO")[1])
    cRfQuant        := 1
    
    aAdd(aRefugos, {;
                   {"BC_PRODUTO"  , cRfProd       ,Nil},;
                   {"BC_LOCORIG"  , cRfLocOrig    ,Nil},;
                   {"BC_TIPO"     , cRfTipo       ,Nil},;
                   {"BC_MOTIVO"   , cRfMotivo     ,Nil},;
                   {"BC_QUANT"    , cRfQuant      ,Nil};
                   })                
Next nI
            
If Len(aRefugos) > 0
    aAdd(xRotAuto, {"AUTREFUGO", aRefugos, Nil})
EndIf

msExecAuto({|x,y| MATA681(x,y)},xRotAuto,3)

If lMsErroAuto
	ALERT("ERRO NA INCLUSAO")
	Mostraerro()
Else
	ALERT("PROCESSAMENTO EFETUADO COM SUCESSO")
Endif

Return