Perguntas Duvida de advpl Índice padão

Mais
7 anos 1 mês atrás #32363 por sarraipa
Boa tarde,

Estou tentando pegar a TES na tabela SFM com indice 2 e fiquei na duvida porque não funciona, as informações que estão em branco posso passar com aspas duplas?




dbSelectArea("SFM")
SFM->(dbSetOrder(2))

IF SFM->(dbSeek(cFilDes+cOPER+""+""+""+""+""+Alltrim(cGRPROD)+""+""))

cTESeNT := SFM->FM_TE

ENDIF

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 1 mês atrás #32364 por kanaamlrr
Respondido por kanaamlrr no tópico Duvida de advpl Índice padão
As informações que estão em branco você deve passar com a quantidade de caracteres corretos em branco, caso contrário a sua chave de busca fica inválida.

Por exemplo:

B1_FILIAL+B1_COD+B1_LOCAL teriam tamanho 2, 15 e 2 respectivamente.

Realizar a busca com "01PRODUTO01" é diferente de "01PRODUTO 01".
Por esse motivo a busca não deve estar retornando.

No seu caso ficaria mais ou menos assim sua chave:
FM_FILIAL+FM_TIPO+FM_CLIENTE+FM_LOJACLI+FM_FORNECE+FM_LOJAFOR+FM_GRTRIB+FM_PRODUTO+FM_GRPROD+FM_EST+FM_POSIPI

cChave := cFilDes+cOPER+AvKey("","FM_CLIENTE")+AvKey("","FM_LOJACLI")+AvKey("","FM_FORNECE")+AvKey("","FM_LOJAFOR")+AvKey("","FM_GRTRIB")+Alltrim(cGRPROD)

dbSelectArea("SFM")
SFM->(dbSetOrder(2))

IF SFM->(dbSeek(cChave))

cTESeNT := SFM->FM_TE

ENDIF

Mas se seu objetivo é apenas retornar a TES Inteligente, você pode utilizar a função padrão MaTesInt

Qualquer duvida posta ai!
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 1 mês atrás #32365 por sarraipa
Respondido por sarraipa no tópico Duvida de advpl Índice padão
Obrigado, isso que não tinha entendido, AvKey() agora foi.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.097 segundos
Joomla templates by a4joomla