FUNCTION TADS_START_CONFIG(f_cDirTmp,f_cPassAdsSys)
Local oConnectionTmp, cDirExpr := "", lCreateTmp := .F.
Local aStructTmp := {}
Default f_cDirTmp := "J:\PLA3ADS\DADOSTMP\" //HB_CURDRIVE()+":\"+CURDIR()+"\DADOSTMP\"
Default f_cPassAdsSys := ""
St_cDirTmp := f_cDirTmp
REQUEST DBFCDX , DBFFPT, DBFDBT
REQUEST ADS , ADSX, ADSADTX, ADSKeyno, ADSKeycount, AdsGetRelKeyPos, AdsSetRelKeyPos
hb_rddADSRegister()
Set( _SET_OPTIMIZE, .T. )
//Set( _SET_AUTORDER, .T. )
//RddRegister( "ADSADTX", 1 ) // ADS for Harbour
//RddSetDefault( "ADSADTX" ) // ADS for Harbour
RddRegister( "ADS", 1 ) // ADS for Harbour
RddSetDefault( "ADS" ) // ADS for Harbour
AdsLocking( .T. )
AdsRightsCheck( .T. )
AdsTestRecLocks( .T. )
ADSCACHEOPENTABLES( 10 ) // PADRÃO 0
AdsCacheOpenCursors( 126 ) // PADRÃO 25
AdsSetDateFormat( "DD/MM/YYYY" )
AdsSetEpoch("01/01/1990")
AdsSetFileType( 3 ) /// 1 NTX / 2 CDX / 3 ADT
AdsSetCharType(1)
#ifdef __XHARBOUR__
SET(_SET_HARDCOMMIT,.F.)
#else
SET(106,.F.)
#endif
///SET(43,.F.)
lMkDir(f_cDirTmp)
FERASE(f_cDirTmp+"TADS_ERR.ADI")
If !File(f_cDirTmp+"TADS_TMP.ADD")
cDirExpr := StrTran(f_cDirTmp,"\","\\")
AdsSetServerType(1)
TAds_CreateDataDictionary(cDirExpr+"TADS_TMP.ADD","Dicionario de dados temporal para TAds")
lCreateTmp := .T.
EndIf
oConnectionTmp := tAdsConnection():New(121,.F.)
oConnectionTmp:cDataDictionary := f_cDirTmp+"TADS_TMP.ADD"
oConnectionTmp:cSenhaConnect := f_cPassAdsSys
oConnectionTmp:nTpConnect := 1
oConnectionTmp:tAdsConnect()
If lCreateTmp
if !Empty(f_cPassAdsSys)
TAds_ModifyUserProperty(121,"ADSSYS",f_cPassAdsSys)
EndIf
aadd(aStructTmp,{"STATUS","Short",2,0,1,"Status para Controle Interno",0})
aadd(aStructTmp,{"Dt_Ocorrencia","Date",8,0,1,"Data da Ocorrencia do erro",Nil})
aadd(aStructTmp,{"Hr_Ocorrencia","C",10,0,0,"Horas da Ocorrencia do erro",Nil})
aadd(aStructTmp,{"cComputerName","C",50,0,0,"Nome do Computador ",Nil})
aadd(aStructTmp,{"cInfoProcLine","C",100,0,0,"Linha e procedimento da chamada de DsNew()",Nil})
aadd(aStructTmp,{"nErrorSql","N",7,0,0,"Numero do Erro retornado por AdsGetLastError",Nil})
aadd(aStructTmp,{"cErrorSql","Memo",8,0,0,"Descricao do Erro retornado por AdsGetLastError",Nil})
aadd(aStructTmp,{"cSqlScript","Memo",8,0,0,"Script Sql aplicado",Nil})
aadd(aStructTmp,{"cErrorComplete","Memo",8,0,0,"Descrição completa do erro",Nil})
TAds_CreateTableFromCode(121,"TADS_ERR",aStructTmp,"Tabela para registros de erros de tAds DataSet")
EndIf
RETURN NIL