PDM_MACRO: Inserir texto a partir de um arquivo macro

A marca <PDM_MACRO> é usada para inserir um arquivo de macro em um arquivo HTMPL. Sua funcionalidade é semelhante à de PDM_INCLUDE, com duas diferenças importantes:
casm173
A marca <PDM_MACRO> é usada para inserir um arquivo de macro em um arquivo HTMPL. Sua funcionalidade é semelhante à de PDM_INCLUDE, com duas diferenças importantes:
  • Um arquivo incluído por PDM_MACRO tem uma lista de argumentos formal, com argumentos obrigatórios e argumentos com valores padrão.
  • Um arquivo incluído por PDM_MACRO sempre vem do diretório especificado para a propriedade de configuração MacroPath, independentemente do tipo de acesso do usuário atual.
  • NAME=
    nome_da_macro
    (Obrigatória) Especifica a macro a ser incluída. O mecanismo da web adiciona o sufixo “.mac” e procura o arquivo no caminho especificado pela propriedade de arquivo de configuração MacroPath.
Podem ser necessárias outras propriedades, dependendo da macro incluída. Um arquivo de macro tem o seguinte layout geral:
comments #args name1 [= value1] name2 [= value2] ... #data data to insert
As seguintes descrições explicam o layout do arquivo, linha por linha:
  • comentários
    -- As únicas instruções válidas em uma macro antes da instrução #args são comentários. Os comentários são indicados por um sinal # ou // como seu primeiro carácter (ou caracteres) que não seja um espaço em branco.
  • #args
    -- Deve ser codificado exatamente como mostrado, com o sinal # na coluna um e nenhuma outra informação na linha. Essa instrução começa na seção args, que pode conter definições de argumento e comentários.
  • nome [= valor]
    -- Define um argumento para a macro. Somente os argumentos explicitamente mencionados na seção args são válidos para a macro. O valor especificado para um argumento na seção args é o seu valor padrão. Os argumentos sem valor padrão são obrigatórios e devem ser fornecidos pelo chamador na instrução <PDM_MACRO>.
  • #data
    -- Deve ser codificado exatamente como mostrado, com o sinal # na coluna um e nenhuma outra informação na linha. Essa instrução começa na seção de dados, que faz parte da macro inserida no arquivo com PDM_MACRO. Todos os componentes da seção de dados são inseridos no arquivo de chamada, incluindo as linhas que são comentários antes da seção de dados.
  • dados para inserir
    -- Os dados a serem inseridos no arquivo de chamada. Esses dados podem conter referências a argumentos, no formato:
  • &{arg_name}
    -- Essas referências são substituídas pelo valor do argumento fornecido pelo chamador ou pelo valor padrão caso o chamador não tenha fornecido nenhum valor.
Em geral, o mecanismo da web lê um arquivo de macro apenas uma vez, a primeira vez em que ele é usado; depois armazena a macro analisada na própria memória. Isso melhora o desempenho, mas pode ser inconveniente se você estiver desenvolvendo uma macro. Use a propriedade de arquivo de configuração SuppressMacroCache para evitar esse comportamento e fazer o mecanismo da web descartar todas as macros existentes em sua memória sempre que iniciar o processamento de um novo formulário.
Comentar marcas PDM_MACRO
Para assinalar como comentário as marcas <PDM_MACRO>, digite um ponto de exclamação antes do P, do seguinte modo: <!PDM_MACRO>. Para evitar que o navegador processe a parte comentada do formulário, insira <PDM_IF 0> antes da marca <!PDM_MACRO> e </PDM_IF> depois da linha comentada. Exemplo:
<PDM_IF 0> <!PDM_MACRO NAME=dtlDropdown hdr="Status" attr=status lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> <!PDM_MACRO NAME=dtlDropdown hdr="Priority" attr=priority lookup=no evt="onBlur=\\\"detailSyncEditForms(this)\\\""> </PDM_IF>