Visualizando o conteúdo do parâmetro registrado na tabela SX6

tabelaparametrossx6

Temos funções prontas que permitem pegar o valor de um parâmetros. Podendo ser as funções:

GETMV()

Retorna o conteúdo do parâmetro especificado no Arquivo SX6.

Sintaxe:

GETMV(parametro)

Exemplo:

Com base na imagem acima, pegar o valor do parâmetro MV_ZTPDB, do tipo caracter

Local cTipoDB := GETMV("MV_ZTPDB")

Retorno:

MSSQL

SUPERGETMV()

Retorna o conteúdo do parâmetro especificado no Arquivo SX6. Porém, caso o parâmetro não exista, podemos pré-definir um conteúdo padrão, desta forma a rotina não dará erros, apenas um alerta (caso esteja parametrizado), mas irá trazer o valor definido. Caso contrário, trará a informação do conteúdo definido na tabela SX6.

Sintaxe:

SUPERGETMV( <nome do parâmetro>, <lHelp>, <cPadrão>, <Filial do sistema> )

Exemplo:

Baseando-se na imagem acima, irei buscar o conteúdo do parâmetro MV_ZTPDB

Local cTipoDB := SUPERGETMV ("MV_ZTPDB",.T.,"")

Retorno:

MSSQL

Caso o parâmetro não exista:

Local cTipoDB := SUPERGETMV ("MV_ZTPDB",.T.,"ORACLE")

Retorno:

ORACLE

 

Salvando conteúdo em parâmetros

Para salvar um determinado conteúdo no seu parâmetro, utilize a função PUTMV()

Sintaxe:

PUTMV( <nome do parâmetro>, <conteúdo> )

Exemplo:

PUTMV("MV_ZTPDB","ORACLE")

Retorno: Irei graver o conteúdo “ORACLE” no meu parâmetro MV_ZTPDB existente na minha tabela SX6.

 

Criando um parâmetro via código

A criação de parâmetros para suas rotinas é um processo bem simples, você fazê-lo diretamente dentro de seu fonte caso não queira abrir o “Configurador”, para isso usa o código:

DbSelectArea("SX6") //Abre a tabela SX6
DbSetOrder(1) //Se posiciona no primeiro indice
If !DbSeek(xFilial("SX6")+"MV_ZTPDB") //Verifique se o parametro existe
      RecLock("SX6",.T.) //Se nao existe, criar o registro
      SX6->X6_FIL     := xFilial( "SX6" )
      SX6->X6_VAR     := "MV_ZTPDB"
      SX6->X6_TIPO    := "C"
      SX6->X6_DESCRIC := "Tipo de Banco de Dados utilizado para..."
      SX6->X6_CONTEUD := "ORACLE"
      MsUnLock() //salva o registro com as informações passada
Else
      RecLock("SX6",.F.) //Abre o registro para edição
      SX6->X6_CONTEUD := "ORACLE"  //atualiza apenas o campo desejado
      MsUnLock() //salva o registro
EndIf

Como vê, tem várias formas de se trabalhar com leitura e gravação da tabela SX6, se souber de mais alguma, compartilhe conosco!

 


0 comentário

Deixe uma resposta