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
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas