FUNCTION MyTable

FUNCTION MyTable(cSql,lArray,cDataBase,lChecktable,oDb)
   LOCAL cTable,nAt:=0
   LOCAL aExcluye  :=GetExcluye()

   DEFAULT lChecktable:=.T.

   IF oDp:cTypeBD!=”MYSQL” .AND. !oDp:lNativo
     RETURN OpenTable(cSql,.T.)
   ENDIF

   DEFAULT aDataBase  :={},;
           aTableOpen :={},;
           cDataBase_ :=””,; // Ultima DataBase Abierta
           aTablesDb  :=GetTables() ,;
           oDp:lLogicField:=.T.

   cTable :=cTABLE(cSql)

   nAt    :=ASCAN(aTablesDb,{|aVal| aVal[2] == ALLTRIM(cTable) })

   IF oDp:lExcluye .AND. (nAt:=ASCAN(aExcluye,{|a,n|a[1]==cTable}),nAt>0)
      cSql:=BuildExcluye(cSql,aExcluye[nAt,2],aExcluye[nAt,3])
   ENDIF

   IF oDp:lDpXbase
     DpWrite(“temp\query_”+STRTRAN(TIME(),”:”,””)+”_”+alltrim(cTable)+”.sql”,cSql+CRLF+GETPROCE())
   ENDIF

RETURN MySqlTable():New(cSql,lArray,cDataBase,cTable,lChecktable,oDb)

//EOF