Postagem em destaque
- Gerar link
- X
- Outros aplicativos
Protheus :: Advpl :: Mito sobre a dbSelectArea
dbSelectArea não abre uma tabela. Ela apenas faz que uma área de trabalho específica se torne a área de trabalho atual. No Protheus, a partir da versão 5.07, e, para otimizar o processo de abertura do sistema e das rotinas, a totvs implementou, via tratamento de erro, a abertura das tabelas sob demanda (“on demand”).
Nas versões anteriores todas as tabelas especificadas no menu do módulo eram abertas. Isso era oneroso e demorado.
Quando uma tabela não está aberta e tentamos referencia-la via –> ou usá-la via dbSelectArea( cAlias ) um código de erro do tipo EG_NOALIAS será verificado e a rotina irá redirecionar para as funções padrões de abertura de arquivos sejam ChkFile ou OpenSxs. Na realidade nem uma dessas funções “abrem” uma tabela. A única e exclusiva função para esse fim é dbUseArea().
Para maiores informações:
Syntax fonte: http://www.ousob.com/ng/clguide/ng22ad5.php |
[]s
иαldσ dj
- Gerar link
- X
- Outros aplicativos
Comentários
Postagens mais visitadas
BlackTDN :: RLeg ~ Desvendando a Função ParamBox
- Gerar link
- X
- Outros aplicativos
Protheus :: Chamando Funções do Menu Diretamente e sem a Necessidade de Login
- Gerar link
- X
- Outros aplicativos
Opa, mais uma serie de bons posts.
ResponderExcluirInteressante que agora a Tods preconiza aos seus desenvolvedores internos o descarte da dbSelectArea e utilização dos ponteiros (ALIAS->CAMPO).
Boa sacada NDJ!
Só para complementar, se você me permite.
ResponderExcluirUm exemplo simples seria:
...
ErrorBlock( { | e | MyErro( e ) } )
...
Function MyErro(e)
If (e:GenCode == EG_NOALIAS)
Chkfile(e:Operation)
EndIf
Return
Boa noite.
ResponderExcluirEstou tendo um problema quando dou o dbselecarea
Unique index creation error on table ZA7010, or table is in use by other connection
essa tabela eu compartilhei na x2 para todos os grupos de empresas usarem a 010. Se eu abro o mbrowse na empresa 01, e tento abrir na 02 dá esse erro na linha de codigo onde executo o dbselectarea
Procurando na internet, achei seu post. Faz idéia do que pode estar ocorrendo?
Observe a mensagem: "Unique index creation error on table ZA7010, or table is in use by other connection". Ou não foi possível criar a "Chave única", por algum problema nos dados ou na composição da chave ou a tabela está em uso por outra conexão. Corrija a chave ou obtenha exclusividade para a criação do índice.
Excluir