Á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

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




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
titleExemplo:
linenumberstrue
#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