Tempo aproximado para leitura: 00:05:00 min
Dúvida
Exemplo de utilização do Execauto TECA300- Chamada Técnico.
Ambiente
Prestadores de Serviços - SIGATEC - Todas as versões
Solução
User Function Tca300()
Local aCabec := {}
Local aItens := {}
Local aItem := {}
Local nX := 0
Local nY := 0
Local cChamado := ""
Local lOk := .T.
PRIVATE lMsErroAuto := .F.
//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Abertura do ambiente |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 2 chamado tecnico com 1 itens cada",80))
//PREPARE ENVIRONMENT "P33" EMPRESA "01" FILIAL "0101" MODULO "TEC" TABLES "AB1","AB2","SA1","AA3","AAG"
//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Verificacao do ambiente para teste |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
DbSelectArea("SA1")
DbSetOrder(1)
If !SA1->(DbSeek(xFilial("SA1")+"00000201"))
lOk := .F.
ConOut("Cadastrar cliente: 00000201")
EndIf
If !AA3->(DbSeek(xFilial("AA3")+"00000201PR 001"))
lOk := .F.
ConOut("Cadastrar base instalada: 00000201PR 001")
EndIf
// Observação o valor 00000201PR 001 é composto por Cliente "000002"/loja "01"/Produto "PR 001"
If !AAG->(DbSeek(xFilial("AAG")+"00000201000001"))
lOk := .F.
ConOut("Cadastrar base instalada: 00000201000001")
EndIf
If lOk
ConOut("Inicio: "+Time())
For nY := 1 To 2
cChamado := GetSXENum("AB1","AB1_NRCHAM")
RollBackSx8()
aCabec := {}
aItens := {}
aAdd(aCabec,{"AB1_NRCHAM",cChamado,Nil})
aAdd(aCabec,{"AB1_EMISSA",dDataBase,Nil})
aAdd(aCabec,{"AB1_CODCLI",SA1->A1_COD,Nil})
aAdd(aCabec,{"AB1_LOJA" ,SA1->A1_LOJA,Nil})
aAdd(aCabec,{"AB1_HORA" ,Time(),Nil})
aAdd(aCabec,{"AB1_ATEND" ,cUserName,Nil})
For nX := 1 To 1
aItem := {}
aAdd(aItem,{"AB2_ITEM" ,StrZero(nX,2),Nil})
aAdd(aItem,{"AB2_TIPO" ,"1",Nil})
aAdd(aItem,{"AB2_CLASSI","001",Nil})
aAdd(aItem,{"AB2_CODPRO",AA3->AA3_CODPRO,Nil})
aAdd(aItem,{"AB2_NUMSER",AA3->AA3_NUMSER,Nil})
aAdd(aItem,{"AB2_CODPRB",AAG->AAG_CODPRB,Nil})
aAdd(aItens,aItem)
Next nX
//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de Inclusao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
TECA300(,,aCabec,aItens,3)
If !lMsErroAuto
ConOut("Incluido com sucesso! "+cChamado)
Else
ConOut("Erro na inclusao!")
EndIf
Next nY
ConOut("Fim : "+Time())
//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de alteracao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
aCabec := {}
aItens := {}
aAdd(aCabec,{"AB1_NRCHAM",cChamado,Nil})
aAdd(aCabec,{"AB1_EMISSA",dDataBase,Nil})
aAdd(aCabec,{"AB1_CODCLI",SA1->A1_COD,Nil})
aAdd(aCabec,{"AB1_LOJA" ,SA1->A1_LOJA,Nil})
aAdd(aCabec,{"AB1_HORA" ,Time(),Nil})
aAdd(aCabec,{"AB1_ATEND" ,cUserName,Nil})
For nX := 1 To 1
aItem := {}
aAdd(aItem,{"LINPOS","AB2_ITEM",StrZero(nX,2)})
aAdd(aItem,{"AB2_ITEM" ,StrZero(nX,2),Nil})
aAdd(aItem,{"AB2_TIPO" ,"1",Nil})
aAdd(aItem,{"AB2_CLASSI","001",Nil})
aAdd(aItem,{"AB2_CODPRO",AA3->AA3_CODPRO,Nil})
aAdd(aItem,{"AB2_NUMSER",AA3->AA3_NUMSER,Nil})
aAdd(aItem,{"AB2_CODPRB",AAG->AAG_CODPRB,Nil})
aAdd(aItens,aItem)
Next nX
ConOut(PadC("Teste de alteracao",80))
ConOut("Inicio: "+Time())
TECA300(,,aCabec,aItens,4)
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
//旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
//| Teste de Exclusao |
//읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
ConOut(PadC("Teste de exclusao",80))
ConOut("Inicio: "+Time())
TECA300(,,aCabec,aItens,5)
If !lMsErroAuto
ConOut("Exclusao com sucesso! "+cChamado)
Else
ConOut("Erro na exclusao!")
EndIf
ConOut("Fim : "+Time())
ConOut(Repl("-",80))
EndIf
//RESET ENVIRONMENT
Return(.T.)
Saiba Mais: Execauto TECA300 - Manutenção do Chamado Técnico
0 Comentários