Árvore de páginas

Função: TECA450 - Geração automática de atualizacao das O.S.
Abrangências: Microsiga Protheus 11 , Protheus 10
Versões: Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Idiomas: Português (Brasil) , Português (Portugal) , Espanhol , Inglês
Descrição:
Função utilizada para geração de atualização das O.S. via rotina automática (ExecAuto).
Programa Fonte:
TECA450.PRX
Sintaxe:

TECA450 - Geração automática de atualizacao das O.S. ( [ cRotina ] [ aCab ] [ aItens ] [ aApont ] [ nOpcAuto ] [ cNumOS ] )

Retorno:
    ()
Observações

Exemplos
/*/±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄ¿±±±±³Fun‡„o    ³MyTeca450 ³ Autor ³ Vendas Clientes       ³ Data ³01/06/2004 ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄ´±±±±³          ³Rotina de teste da rotina automatica do programa TECA450     ³±±±±³          ³                                                             ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Parametros³Nenhum                                                       ³±±±±³          ³                                                             ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Retorno   ³Nenhum                                                       ³±±±±³          ³                                                             ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Descri‡„o ³Esta rotina tem como objetivo efetuar testes na rotina de    ³±±±±³          ³chamado tecnico.                                             ³±±±±³          ³                                                             ³±±±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±±±³Uso       ³ Materiais                                                   ³±±±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß/*/Function MyTeca450()Local lOk      := .T.Local aCabec   := {}Local aItem    := {}Local aItens   := {}Local aApont   := {}Local aAponts  := {}Local cNumOS   := ""Private lMsErroAuto := .F.//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Abertura do ambiente                                         |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙConOut(Repl("-",80))PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "TEC" TABLES "SA1","SE4","DA0","AA3","AAG","AA5","SB1","AA5","AB6","AB7","AB8"//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿//| Verificacao do ambiente para teste                           |//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙDbSelectArea("SA1")DbSetOrder(1)If !SA1->(DbSeek(xFilial("SA1")+"00000101"))	lOk := .F.	ConOut("Cadastrar Cliente: 000001 Loja: 01")EndIfDbSelectArea("SB1")DbSetOrder(1)If !SB1->(DbSeek(xFilial("SB1")+"000001"))	lOk := .F.	ConOut("Cadastrar Produto: 000001")EndIfDbSelectArea("SB1")DbSetOrder(1)If !SB1->(DbSeek(xFilial("SB1")+"000002"))	lOk := .F.	ConOut("Cadastrar Produto: 000002")EndIfDbSelectArea("SE4")DbSetOrder(1)If !SE4->(DbSeek(xFilial("SE4")+"001"))	lOk := .F.	ConOut("Cadastrar Condicao de Pagamento: 001")EndIfDbSelectArea("SE4")DbSetOrder(1)If !SE4->(DbSeek(xFilial("SE4")+"002"))	lOk := .F.	ConOut("Cadastrar Condicao de Pagamento: 002")EndIfDbSelectArea("AA3")DbSetOrder(1)If !AA3->(DbSeek(xFilial("AA3")+"00000101"+PadR("000001",15)+"123456"))	lOk := .F.	ConOut("Cadastrar Base Instalada Cliente/Loja: 000001/01 Produto: 000001 Série: 123456")EndIfDbSelectArea("AA3")DbSetOrder(1)If !AA3->(DbSeek(xFilial("AA3")+"00000101"+PadR("000002",15)+"654321"))	lOk := .F.	ConOut("Cadastrar Base Instalada Cliente/Loja: 000001/01 Produto: 000002 Série: 654321")EndIfDbSelectArea("AAG")DbSetOrder(1)If !AAG->(DbSeek(xFilial("AAG")+"000001"))	lOk := .F.	ConOut("Cadastrar Ocorrencia: 000001")EndIfDbSelectArea("AA5")DbSetOrder(1)If !AA5->(DbSeek(xFilial("AA5")+"000001"))	lOk := .F.	ConOut("Cadastrar Servico: 000001")EndIfIf lOk	ConOut(PadC("Teste de Inclusao da OS",80))	ConOut("Inicio: "+Time())	cNumOS := GetSXENum("AB6","AB6_NUMOS")	RollBackSx8()	aAdd(aCabec,{"AB6_NUMOS",cNumOS,Nil})	aAdd(aCabec,{"AB6_CODCLI",SA1->A1_COD,Nil})	aAdd(aCabec,{"AB6_LOJA"  ,SA1->A1_LOJA,Nil})	aAdd(aCabec,{"AB6_EMISSA",dDataBase,Nil})	aAdd(aCabec,{"AB6_ATEND" ,cUserName,Nil})	aAdd(aCabec,{"AB6_CONPAG","001",Nil})	aAdd(aCabec,{"AB6_HORA"  ,Time(),Nil})	aAdd(aItem,{"AB7_ITEM"  ,StrZero(1,2),Nil})	aAdd(aItem,{"AB7_TIPO"  ,"1",Nil})	aAdd(aItem,{"AB7_CODPRO",AA3->AA3_CODPRO,Nil})	aAdd(aItem,{"AB7_NUMSER",AA3->AA3_NUMSER,Nil})	aAdd(aItem,{"AB7_CODPRB",AAG->AAG_CODPRB,Nil})	aAdd(aItens,aItem)	aAdd(aApont,{"AB8_ITEM"  ,StrZero(1,2),Nil})	aAdd(aApont,{"AB8_SUBITE",StrZero(1,2),Nil})	aAdd(aApont,{"AB8_CODPRO",SB1->B1_COD,Nil})	aAdd(aApont,{"AB8_CODSER",AA5->AA5_CODSER,Nil})	aAdd(aApont,{"AB8_QUANT",1,Nil})	aAdd(aApont,{"AB8_VUNIT",100,Nil})	aAdd(aApont,{"AB8_PRCLIS",100,Nil})	aAdd(aAponts,aApont)	TECA450(,aCabec,aItens,aAponts,3)	If !lMsErroAuto		ConOut("Inclusao com sucesso! ")	Else		ConOut("Erro na inclusao!")	EndIf	aCabec := {}	aItem  := {}	aItens := {}	aApont := {}	aAponts:= {}	ConOut(PadC("Teste de Alteracao da OS",80))	aAdd(aCabec,{"AB6_NUMOS",cNumOS,Nil})	aAdd(aCabec,{"AB6_CODCLI",SA1->A1_COD,Nil})	aAdd(aCabec,{"AB6_LOJA"  ,SA1->A1_LOJA,Nil})	aAdd(aCabec,{"AB6_EMISSA",dDataBase,Nil})	aAdd(aCabec,{"AB6_ATEND" ,cUserName,Nil})	aAdd(aCabec,{"AB6_CONPAG","002",Nil})	aAdd(aCabec,{"AB6_HORA"  ,Time(),Nil})	aAdd(aItem,{"LINPOS","AB7_ITEM","01"})	aAdd(aItem,{"AB7_ITEM"  ,StrZero(1,2),Nil})	aAdd(aItem,{"AB7_TIPO"  ,"1",Nil})	aAdd(aItem,{"AB7_CODPRO","000002",Nil})	aAdd(aItem,{"AB7_NUMSER","654321",Nil})	aAdd(aItem,{"AB7_CODPRB",AAG->AAG_CODPRB,Nil})	aAdd(aItens,aItem)	aAdd(aApont,{"LINPOS","AB8_SUBITE","01"})	aAdd(aApont,{"AB8_SUBITE",StrZero(1,2),Nil})	aAdd(aApont,{"AB8_CODPRO","000002",Nil})	aAdd(aApont,{"AB8_CODSER",AA5->AA5_CODSER,Nil})	aAdd(aApont,{"AB8_QUANT",1,Nil})	aAdd(aApont,{"AB8_VUNIT",100,Nil})	aAdd(aApont,{"AB8_PRCLIS",100,Nil})	aAdd(aAponts,aApont)	TECA450(,aCabec,aItens,aAponts,4)	If !lMsErroAuto		ConOut("Alteracao com sucesso! ")	Else		ConOut("Erro na Alteracao!")	EndIf	aCabec := {}	aItem  := {}	aItens := {}	aApont := {}	aAponts:= {}	ConOut(PadC("Teste de Exclusao da OS",80))	aAdd(aCabec,{"AB6_NUMOS",cNumOS,Nil})	aAdd(aCabec,{"AB6_CODCLI",SA1->A1_COD,Nil})	aAdd(aCabec,{"AB6_LOJA"  ,SA1->A1_LOJA,Nil})	aAdd(aCabec,{"AB6_EMISSA",dDataBase,Nil})	aAdd(aCabec,{"AB6_ATEND" ,cUserName,Nil})	aAdd(aCabec,{"AB6_CONPAG","002",Nil})	aAdd(aCabec,{"AB6_HORA"  ,Time(),Nil})	aAdd(aItem,{"AB7_ITEM"  ,StrZero(1,2),Nil})	aAdd(aItem,{"AB7_TIPO"  ,"1",Nil})	aAdd(aItem,{"AB7_CODPRO","000002",Nil})	aAdd(aItem,{"AB7_NUMSER","654321",Nil})	aAdd(aItem,{"AB7_CODPRB",AAG->AAG_CODPRB,Nil})	aAdd(aItens,aItem)	aAdd(aApont,{"AB8_SUBITE",StrZero(1,2),Nil})	aAdd(aApont,{"AB8_CODPRO","000002",Nil})	aAdd(aApont,{"AB8_CODSER",AA5->AA5_CODSER,Nil})	aAdd(aApont,{"AB8_QUANT",1,Nil})	aAdd(aApont,{"AB8_VUNIT",100,Nil})	aAdd(aApont,{"AB8_PRCLIS",100,Nil})	aAdd(aAponts,aApont)	TECA450(,aCabec,aItens,aAponts,5)	If !lMsErroAuto		ConOut("Exclusao com sucesso! ")	Else		ConOut("Erro na Exclusao!")	EndIf	aCabec := {}	aItem  := {}	aItens := {}	aApont := {}	aAponts:= {}	ConOut("Fim  : "+Time())EndIfRESET ENVIRONMENTReturn(.T.)
Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cRotina Caracter Nome da rotina
aCab Array of Record Array contendo os dados do cabeçalho
aItens Array of Record Array contendo os dados dos itens
aApont Array of Record Array contendo os dados do apontamento
nOpcAuto Array of Record Opção desejada.3- Incluir4- Alterar5- Excluir
cNumOS Array of Record Numero da Ordem de Serviço.