Árvore de páginas

Função: Teca200 - Geração automática de Contrato Manutenção.


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 Contrato Manutenção via rotina automática (ExecAuto).
Programa Fonte:
TECA200.PRX
Sintaxe:

Teca200 - Geração automática de Contrato Manutenção. ( [ cRotina ] [ aCabec ] [ aItens ] [ nOpc ] )

Retorno: Lógico


Exemplo
INCLUDE "TOTVS.CH"
#INCLUDE "TBICONN.CH"

User Function MyTeca200()
Local aCabec    := {}
Local aItens    := {}
Local aItem     := {}
Local cContrato := ""
Local lOk       := .T.
Local nX        := 0

PRIVATE lMsErroAuto := .F.

ConOut(Repl("-",80))
ConOut(PadC("Teste de Inclusao de 2 chamado tecnico com 1 itens cada",80))

DbSelectArea("SA1")
SA1->(DbSetOrder(1))
If !SA1->(DbSeek(xFilial("SA1")+"00000101"))
    lOk := .F.
    ConOut("Cadastrar cliente: 00000101")
EndIf

AA3->(dbSetOrder(4))
If !AA3->(DbSeek(xFilial("AA3")+ Space( Len( AA3->AA3_CODFAB ) ) + Space( Len( AA3->AA3_LOJAFA ) ) + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + Padr( "001",LEN( AA3->AA3_NUMSER ) ) ))
    lOk := .F.
    ConOut("Cadastrar base instalada: Produto : " + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + " - Identificador :  " + Padr( "001",LEN( AA3->AA3_NUMSER ) )  )
EndIf

If !AA3->(DbSeek(xFilial("AA3")+ Space( Len( AA3->AA3_CODFAB ) ) + Space( Len( AA3->AA3_LOJAFA ) ) + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + Padr( "001",LEN( AA3->AA3_NUMSER ) ) ))
    lOk := .F.
    ConOut("Cadastrar base instalada: Produto : " + Padr( "PA2",LEN( AA3->AA3_CODPRO ) ) + " - Identificador :  " + Padr( "002",LEN( AA3->AA3_NUMSER ) )  )
EndIf

SB1->(DbSetOrder(1))
If !SB1->(DbSeek(xFilial("SB1")+Padr( "PA1",15 )))
    lOk := .F.
    ConOut("Cadastrar produto: " + Padr( "PA1",15 ) )
EndIf

If !SB1->(DbSeek(xFilial("SB1")+Padr( "PA2",15 )))
    lOk := .F.
    ConOut("Cadastrar produto: " + Padr( "PA2",15 ) )
EndIf

SE4->(DbSetOrder(1))
If !SE4->(DbSeek(xFilial("SE4")+"1") )
    lOk := .F.
    ConOut("Cadastrar condicao de pagto : 1" )
EndIf

If lOk
    ConOut("Inicio inclusao : "+Time())
    cContrato := GetSXENum("AAH","AAH_CONTRT")
    RollBackSx8()

    aCabec := {}
    aItens := {}
    aAdd(aCabec,{"AAH_CONTRT" ,cContrato    ,Nil})
    aAdd(aCabec,{"AAH_CODCLI" ,"000001"     ,Nil})
    aAdd(aCabec,{"AAH_LOJA"   ,"01"         ,Nil})
    aAdd(aCabec,{"AAH_TPCONT" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CONPAG" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_INIVLD" ,dDataBase    ,Nil})
    aAdd(aCabec,{"AAH_CPAGPV" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CODPRO" ,"PA1"        ,Nil})
    For nX := 1 To 1
        aItem := {}
        aAdd(aItem,{"AA3_CODFAB"  , "      " } )
        aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
        aAdd(aItem,{"AA3_CODPRO"  , Padr( "PA2",15 ) } )
        aAdd(aItem,{"AA3_NUMSER"  , "001" } )
        aAdd(aItem,{"M_A_R_K_"  , .T. } )
        Add(aItens,aItem)
    Next nX
   
    //Teste de Inclusao
    TECA200(NIL,aCabec,aItens,3)
    If !lMsErroAuto
        ConOut("Incluido com sucesso! " + cContrato )
    Else
        ConOut("Erro na inclusao!")
    EndIf
    ConOut("Fim inclusao : "+Time())

    ConOut("Inicio alteração : "+Time())
    RollBackSx8()
    aCabec := {}
    aItens := {}
    aAdd(aCabec,{"AAH_CONTRT" ,cContrato    ,Nil})
    aAdd(aCabec,{"AAH_CODCLI" ,"000001"     ,Nil})
    aAdd(aCabec,{"AAH_LOJA"   ,"01"         ,Nil})
    aAdd(aCabec,{"AAH_TPCONT" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CONPAG" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_INIVLD" ,dDataBase    ,Nil})
    aAdd(aCabec,{"AAH_CPAGPV" ,"1"          ,Nil})
    aAdd(aCabec,{"AAH_CODPRO" ,"PA1"        ,Nil})
    aItem := {}
    aAdd(aItem,{"AA3_CODFAB"  , "      " } )
    aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
    aAdd(aItem,{"AA3_CODPRO"  , Padr( "PA2",15 ) } )
    aAdd(aItem,{"AA3_NUMSER"  , "001" } )
    aAdd(aItem,{"M_A_R_K_"    , .F. } )
    aAdd(aItens,aItem)
    aItem := {}
    aAdd(aItem,{"AA3_CODFAB"  , "      " } )
    aAdd(aItem,{"AA3_LOJAFA"  , "  " } )
    aAdd(aItem,{"AA3_CODPRO"  , Padr( "PA2",15 ) } )
    aAdd(aItem,{"AA3_NUMSER"  , "002" } )
    aAdd(aItem,{"M_A_R_K_"    , .T. } )
    aAdd(aItens,aItem)

    // Teste de Inclusao
    TECA200(NIL,aCabec,aItens,4)
    If !lMsErroAuto
        ConOut("Alterado com sucesso ! " + cContrato )
    Else
        ConOut("Erro na alteração !")
    EndIf
    ConOut("Fim alteração : "+Time())
EndIf

Return(.T.)



Parâmetros:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

cRotina

Caracter

Nome da Rotina










aCabec

Array of Record

Array contendo os campos do cabeçalho AAH.










aItens

Array of Record

Array contendo os campos do cabeçalho AA3.










nOpc

Array of Record

Opção desejada.3- Incluir4- Alterar5- Excluir