Saída

Execução de programa externo
sys[/show]={<sys_fmt_spec> | @<file>}
O parâmetro sys= provoca a execução de um comando do sistema operacional, o qual deve ser especificado como uma instrução de formato. O resultado deste formato deve produzir comandos válidos para o sistema operacional. Cada linha gerada pelo formato será executada como um comando do sistema operacional. Exemplo:
Supondo que no campo 777 dos registros da base de dados conste o nome de um
arquivo texto ( alltext1.txt ) que se quer mostrar, e que contem texto ASCII (o texto
completo de um trabalho, por exemplo):
Acrescentar ao registro 1 da base cds o campo 777 com conteúdo alltext1.txt

mx cds to=1 proc='a777#alltext1.txt#’ copy=cds

Criar um arquivo alltext1.txt com algum conteúdo
Executar o MX indicando que mostre o arquivo alltext1.txt com o parâmetro sys

mx cds "sys=if p(v777) then 'more 'v777 fi"

Dica: Não se deve confundir a especificação do formato do sys com as saídas formatadas. Para formatar registros é utilizado o parâmetro pft, visto na primeira seção do Capítulo 3 Parâmetros que
realizam processamentos sobre a entrada. O exemplo seguinte está errado:

mx cds "sys=if v24:'water' then mfn/
‘dir *.mst'
fi"
Deve ser indicado como:
mx cds "pft=if v24:'water' then mfn/ fi"
*.mst ' fi"
"sys=if v24:'water' then ‘dir

Opção /show
A opção /show paralisa a execução do comando indicado em sys, mostra o comando que vai ser executado, e espera a intervenção do operador para seguir adiante.

mx cds "sys/show=if v24:'water' then ‘dir *.mst' fi" to=20 now

Uma aplicação do parâmetro sys poderia ser executar um programa externo com os dados de um registro para visualizar, por exemplo, uma imagem cujo nome de arquivo está armazenado em um campo. Exemplo:

mx cds -all "sys=|\isis\sys\vgif.exe |v100^a"

Dica:
Para concluir o exemplo deve ter o arquivo vgif.exe (programa que visualiza as imágens) no diretório \isis\sys\.

Deixe um comentário