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

NomeTipoObrigatórioDescrição
cAliasCharactersimAlias da tabela

Exemplos

Filtro de filial em query

cWhere := " AND A1_FILIAL = '" + xFilial("SA1") + "'"

Veja também