xFilial
Retorna a filial corrente respeitando o compartilhamento da tabela (SX2). Sempre use em DBSeek/SQL pra evitar busca em outras filiais.
Assinatura: xFilial(cAlias) -> cFilial
Retorna: Character
xFilial respeita o que esta cadastrado na SX2 sobre compartilhamento da tabela. Se a tabela e exclusiva por filial, retorna cFilAnt. Se e compartilhada por empresa, retorna '' (vazio).
Sintaxe
cFil := xFilial(cAlias)Exemplo
// SA1 exclusiva por filial -> retorna "01010001"
cFilCli := xFilial("SA1")
// SX3 compartilhada na empresa -> retorna ""
cFilSx3 := xFilial("SX3")
// Uso classico:
DBSelectArea("SA1")
DBSetOrder(1)
DBSeek(xFilial("SA1") + cCod + cLoja)
// Em query:
cQuery += " WHERE A1_FILIAL = '" + xFilial("SA1") + "' "Por que NAO usar cFilAnt direto
Se a tabela e compartilhada por empresa, cFilAnt = "01010001" mas a tabela tem A1_FILIAL = ' '. Buscar por cFilAnt nao acha nada. xFilial() resolve isso automaticamente.
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cAlias | Character | sim | Alias da tabela |
Exemplos
Filtro de filial em query
cWhere := " AND A1_FILIAL = '" + xFilial("SA1") + "'"