IAH - Como mostrar a descricao dos campos com codigo no formato de apresentacao

De Wiki.bireme.org/pt
Ir para: navegação, pesquisa

Descrição

Existem alguns campos na base de dados que são preenchidos apenas com o código do seu significado (por exemplo: campos v9 (Tipo de Registro) e v110 (Forma do Item)). Se porventura houver a necessidade de exibir o valor desses campos no formato de apresentação do iAH, será necessário realizar alguns procedimentos para que seja mostrado o nome por extenso associado ao código. Dessa forma, a visualização dos dados ficará muito mais amigável para os usuários.

Resolução

Como exemplo, vamos explicar como fazer esses procedimentos para os dados referentes ao campo v9 - Tipo de Registro:

  • Criar uma base de dados com os significados dos códigos (ou copiar a base que já existe no iAH do LILDBI-WEB)
    • Para esse exemplo, vamos utilizar a base codes9 do LILDBI-WEB, pois é essa base que contém os significados dos códigos do campo v9
    • Diretório onde está localizada a base codes9: bases/lildbi/comum/codes/
  • Criar uma pasta abaixo do diretório bases/iah/ para alocar a base com os significados
    • Sugestão de nome para o diretório: codes
    • Copiar a base codes9 para esse novo diretório
  • Criar variável de ambiente para acesso à base codes9 na sessão FILE_LOCATION do arquivo def da respectiva base de dados

Exemplo realizado no arquivo dblil.def:

[FILE_LOCATION]

FILE DATABASE.*=%path_database%dblil.*
...
FILE GIZCD09.*=%path_database%codes/codes9.*
  • Inverter a base codes9 com o utilitário mx de chaves curtas (10/30) utilizando o seguinte comando:
mx codes9 "fst='2 0 v2/'" fullinv=codes9 -all now
  • Ajustar a pft da respectiva base de dados para exibir o conteúdo do campo utilizando o recurso ref+lookup:
ref(['<var_path_codes>']l(['var_path_codes'],<campo>),<formato>)

Exemplo realizado no arquivo lildhtm.pft (formato de apresentação detalhado):

 if p(v9) then
     '<tr><td align="right" width="13%" valign="top" nowrap><font size=2 face="Arial"><b>Tipo de Registro:</td>'
         ,'<td valign="top" width="97%"><font face="Arial" size=2>'ref(['GIZCD09']l(['GIZCD09'],v9),v5)'</td></tr>',
 fi,