- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Variável com Nome de Campo
×
Linguagem de Programação ADVPL
Perguntas Variável com Nome de Campo
- adrianap
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21555
por adrianap
Variável com Nome de Campo foi criado por adrianap
Bom dia!
Será que alguém pode me ajudar??
Tenho uma rotina que chamará vários campos data e para tornar dinâmico criei uma variável, mas não estou conseguindo trabalhar com a mesma.
Pois hora vou precisar do nome do campo e hora vou precisar do conteúdo dele na tabela.
Ex:
Gatilho no campo W6_DT_HAWB que a chama a função: U_xFuncaoY({W6_DT_HAWB,W6_DTEMB})
Programa:
User Function xFuncaoY(aParam)
If Substr(aParam[1],1,2) = "W6"
MsgAlert("Neste caso preciso do conteúdo da variável aParam[1]")
Else
SW6->aParam[2] := aParam[1]+10
MsgAlert("Neste caso preciso do conteúdo do campo na tabela SW6 para somar 10 dias a data do Processo de Importação")
EndIf
Return
Fico grata desde já!!!
Será que alguém pode me ajudar??
Tenho uma rotina que chamará vários campos data e para tornar dinâmico criei uma variável, mas não estou conseguindo trabalhar com a mesma.
Pois hora vou precisar do nome do campo e hora vou precisar do conteúdo dele na tabela.
Ex:
Gatilho no campo W6_DT_HAWB que a chama a função: U_xFuncaoY({W6_DT_HAWB,W6_DTEMB})
Programa:
User Function xFuncaoY(aParam)
If Substr(aParam[1],1,2) = "W6"
MsgAlert("Neste caso preciso do conteúdo da variável aParam[1]")
Else
SW6->aParam[2] := aParam[1]+10
MsgAlert("Neste caso preciso do conteúdo do campo na tabela SW6 para somar 10 dias a data do Processo de Importação")
EndIf
Return
Fico grata desde já!!!
Por favor Acessar ou Registrar para participar da conversa.
- THALESCOTR
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 124
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21556
por THALESCOTR
Respondido por THALESCOTR no tópico Variável com Nome de Campo
Bom dia Adriana,
no seu gatilho você deve passar os campos utilizando a memória (M->)
Ficando assim:
Gatilho no campo W6_DT_HAWB que a chama a função: U_xFuncaoY(M->W6_DT_HAWB,M->W6_DTEMB)
para você pegar os valores dos campos, você tem que criar o numero de colunas iguais a que você está chamando.
Ficando assim:
User Function xFuncaoY(aParam1,aParam2)
/*
aParam1 corresponde a W6_DT_HAWB
aParam2 corresponde a W6_DTEMB
*/
msgAlert(aParam1) //Valor do campo W6_DT_HAWB
msgAlert(aParam2) //Valor do campo W6_DTEMB
Return
Att
Thales
no seu gatilho você deve passar os campos utilizando a memória (M->)
Ficando assim:
Gatilho no campo W6_DT_HAWB que a chama a função: U_xFuncaoY(M->W6_DT_HAWB,M->W6_DTEMB)
para você pegar os valores dos campos, você tem que criar o numero de colunas iguais a que você está chamando.
Ficando assim:
User Function xFuncaoY(aParam1,aParam2)
/*
aParam1 corresponde a W6_DT_HAWB
aParam2 corresponde a W6_DTEMB
*/
msgAlert(aParam1) //Valor do campo W6_DT_HAWB
msgAlert(aParam2) //Valor do campo W6_DTEMB
Return
Att
Thales
Por favor Acessar ou Registrar para participar da conversa.
- adrianap
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 9
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Variável com Nome de Campo
Tempo para a criação da página:0.129 segundos