Home

Linha Microsiga Protheus

Páginas filhas
  • PMSA201 Estruturas do Projeto - Rotina automática

Documento: PMSA201 (Estruturas do Projeto) - Rotina automática

Este documento contêm exemplos de utilizações da rotinas automáticas de inclusão, alteração e exclusão do rotina Cadastro de EDTs de um projeto (PMSA201).


 //INCLUSAO
USER FUNCTION PMS201I2()
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.
 
//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
DbSeek(xFilial("AF8")+'TESTE2    ' )
 
aAdd(aGetCPos ,{"AFC_PROJET" ,'TESTE2    '     ,.F.})
aAdd(aGetCPos ,{"AFC_EDT"  ,'07          '   ,.F.})
aAdd(aGetCPos ,{"AFC_REVISA" ,PmsRevAtu('TESTE2    ')   ,.F.})
aAdd(aGetCPos ,{"AFC_EDTPAI" ,'TESTE2      ' ,.F.})
aAdd(aGetCPos ,{"AFC_DESCRI" ,'DESCRICAO TESTE' ,.F.})
aAdd(aGetCPos ,{"AFC_QUANT"  ,1 ,.F.})
aAdd(aGetCPos ,{"AFC_NIVEL"  ,'002' ,.F.})
aAdd(aGetCPos ,{"AFC_CALEND" ,'001' ,.F.})
aAdd(aGetCPos ,{"AFC_HDURAC" ,0 ,.F.})
aAdd(aGetCPos ,{"AFC_HORAI"  ,"08:00" ,.F.})
aAdd(aGetCPos ,{"AFC_START" , dDataBase ,.F.})
 
MSExecAuto({|a,b,c,d,e| PMSA201(a,b,c,d,e)},3,aGetCpos,"002",,aGetCpos)
 
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa inclusa com sucesso!")
Endif
 
Return
 
//ALTERAÇÃO
USER FUNCTION PMS201A2()
 
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.
 
//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
IF DbSeek(xFilial("AF8")+'TESTE2    ' )
 
//Posiciona na tarefa.
DbSelectArea("AFC")
dbSetOrder(1) //AFC_FILIAL+AFC_PROJET+AFC_REVISA+AFC_EDT
DbSeek(xFilial("AFC")+AF8->(AF8_PROJET+AF8_REVISA)+'07          ' )
 
   // Campos para Compor chave de busca na rotina automatica (obrigatorio)
aAdd(aGetCPos ,{"AFC_PROJET" ,AFC_PROJET     ,.F.})
aAdd(aGetCPos ,{"AFC_EDT" ,AFC_EDT   ,.F.})
aAdd(aGetCPos ,{"AFC_REVISA" ,AFC_REVISA ,.F.})
   // fim dos campos de chave
   
   
aAdd(aGetCPos ,{"AFC_QUANT"  ,9 ,.F.}) // Campo que será alterado
MSExecAuto({|a,b,c,d,e| PMSA201(a,b,c,d,e)},4,aGetCpos,"002",,aGetCpos)
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa Alterada com sucesso!")
Endif
Else
Alert("Projeto não encontrado!")
Endif
Return
 
 
//EXCLUSÃO
 
USER FUNCTION PMS201E2()
 
LOCAL aGetCPos := {}
 
PRIVATE lMsErroAuto := .F.
//Posiciona no projeto
DbSelectArea("AF8")
dbSetOrder(1)
IF DbSeek(xFilial("AF8")+'TESTE2    ' )
 
//Posiciona na tarefa.
DbSelectArea("AFC")
dbSetOrder(1) //AFC_FILIAL+AFC_PROJET+AFC_REVISA+AFC_EDT
DbSeek(xFilial("AFC")+AF8->(AF8_PROJET+AF8_REVISA)+'07          ' )
 
   // Campos para Compor chave de busca na rotina automatica (obrigatorio)
aAdd(aGetCPos ,{"AFC_PROJET" ,AFC_PROJET     ,.F.})
aAdd(aGetCPos ,{"AFC_EDT" ,AFC_EDT   ,.F.})
aAdd(aGetCPos ,{"AFC_REVISA" ,AFC_REVISA ,.F.})
MSExecAuto({|a,b,c,d,e| PMSA201(a,b,c,d,e)},5,aGetCpos,"002",,aGetCpos)
If lMsErroAuto
MostraErro()
Else
Alert("Tarefa Excluída com sucesso!")
Endif
Else
Alert("Projeto não encontrado!")
Endif
 
Return