Instalação do SuperMUMPS for DOS

Estamos lhe enviando uma cópia do SuperMUMPS para o ambiente MS-DOS pronta para instalação.
Esta cópia já possui uma base de dados completa com a senha de acesso "SUPER". Portanto pedimos que os seguintes passos sejam seguidos para a correta utilização do produto.


Leia o arquivo leia-me.txt que se encontra no primeiro disquete. Ele poderá lhe responder à eventuais dúvidas sobre o produto.

Coloque o disquete 1 em um drive de 3 1/2.

Digite: a:\instala c:\super41 a:
onde os campos que estão sublinhados significam a letra correspondente ao drive onde o disquete foi inserido e o campo em negrito, o diretório aonde a base deverá ser instalada.
Observe que, no nosso exemplo, uma sugestão foi apresentada e deverá ser substituída segundo a sua conveniência.

Após estes passos a instalação estará completa.
Você também está recebendo o Contrato de Licença de uso desta cópia.
Solicitamos que este contrato seja devidamente assinado e remetido à X-TENSION em um prazo de 40 dias para que lhe seja enviada a chave de ativação definitiva.
IMPORTANTE
Observe que, após o prazo mencionado, a cópia ficará inativa pela falta da chave de ativação definitiva.
Portanto, gostaríamos de enfatizar que é de suma importância recebermos
o Contrato de Licença assinado e, nos casos de atualização de versões antigas, a antiga placa de proteção que está atualmente conectada à máquina.
No caso de qualquer dúvida o nosso suporte poderá lhe dar a orientação adequada.


CONFIGURAÇÕES

Como usar um modem interno no SuperMUMPS
Existe uma dúvida comum sobre o modo correto de configurar e utilizar um modem interno no SuperMUMPS.
Nestes casos, siga os seguintes passos:
  • Carregar o driver smserial.sys normalmente.
  • Ao abrir a porta referente ao modem, geralmente a porta 2, desligar o parâmetro eco.
  • A cada instrução mandada para o modem, ler o status ecoado pelo mesmo e que poderá ser OK ou ERROR.


Compilação de todas as rotinas de todos os diretórios automaticamente
Estando no prompt do Diretório 1 do SuperMUMPS, executar:
D C^%REI1

Configuração da placa multi-serial MONYDATA 4 canais (não inteligente) no SCO-UNIX
Para funcionar na COM2
Nível de interrupção: IRQ3
Registrador de interrupção: IC2
Endereço das UART'S: 180
Para funcionar na COM1
Nível de interrupção: IRQ4
Registrador de interrupção: 142
Endereço das UART'S: 120

Configuração de um cabo com pinagem DB-9
DB-9 DB-25
2 ------------------- 3
3 ------------------- 2
7 ------------------- 7
+--4 4--+
| curtos |
+--5 5--+
+--6 6--+
| |
+--8 curtos 8--+
| |
+--9 20--+

Configuração de um cabo de comunicação serial

DB-25 DB-25
2 ----------------- 3
3 ----------------- 2
+-- 4 4 --+
| |
+-- 5 5 --+
7 ----------------- 7
+-- 6 6 --+
| |
+-- 8 8 --+
| |
+-- 20 20--+

Configuração de um cabo para micro-modem

__________________ GND2
GND2 _______________|___
| |
RX ______ _____|___|______________ RX
\ / | |
\/ | |
/\ | |
TX ______/ \_____|___|______________ TX
| |
| |
GND1 _______________| |______________ GND1

Configuração de um cabo paralelo padrão (Laser, Rima, Escrava do terminal Digitus e Amélia)
DB-25 CENTRONIX
1 ----------------------- 1
2 ----------------------- 2
14 ----------------------- 14
15 ----------------------- 32
16 ----------------------- 31
17 ----------------------- 36
18 ----------------------- 19
19 ----------------------- 20
20 --+ +-- 21
| |
+-----------------------------+
| |
25 --+ +-- 30

Configuração do autoexec.bat e config.sys para o SuperMUMPS for DOS
Em função do aperfeiçoamento constante do SuperMUMPS, o acréscimo de várias funções complementares fez com que as licenças para plataforma DOS enfrentassem dificuldades para serem executadas nesta plataforma que continua impondo o limite de 640K de memória.
Para contornar estes problemas, sugerimos que os arquivos
autoexec.bat e config.sys estejam conforme segue:
autoexec.bat
Não precisa existir
config.sys
device=c:\dos\himem.sys device=c:\dos\emm386.exe ram 512 dos=high,umb + driver da placa serial
O script de chamada do SuperMUMPS deve estar conforme segue:
lh superdos -#j1 -#p2 -d0 -c3 -xv -xb -xr +INI%

Configuração do smserial.sys para placas não inteligentes

Para configurar a sua máquina permitindo o acesso de terminais por meio de uma placa multiserial não inteligente, insira ao final de seu arquivo
config.sys a seguinte instrução:
device=c:\diretorio\smserial.sys board=(número de portas,endereço base,IRQ) print
Consideremos o seguinte exemplo:


Diretório do SuperMUMPS: c:\super41

Número de portas seriais: 8

Endereço base da placa multiserial: 280

Interrupção utilizada pela placa: 10

device=c:\super41\smserial.sys board=(8,280,10) print


Configurações de memória no SCO-UNIX

Para fazer os ajustes de memória no SCO-UNIX, eventualmente necessários para processar o SuperMUMPS for SCO-UNIX, execute os seguintes passos:


Tire todos os usuários do ar (Processos SuperMUMPS e UNIX)

Execute um boot na máquina

Execute o programa sysadmsh do UNIX

Entre na opção Systen

Entre na opção Configure

Entre na opção Kernel

Selecione o parâmetro 4 (Processes Memory)

Altere o item ULIMIT para o valor: 2097151

Selecione o parâmetro 8 (Semaphores)

Altere o item SEMMAP para o valor: 21

Selecione o parâmetro 9 (Shared Data)

Altere o item SHMMAX para o valor: 2097152

Execute a opção Rebuild para relinkar o kernel

Execute um boot na máquina

Limites da base SuperMUMPS (Versão 4.0 ou posterior)

Os arquivos
super_nn.dat podem crescer até os seguintes limites em versões 4.0 ou posteriores:









AmbienteLimiteTotal
DOS8 discos de 320 Mb2.56 GB
UNIX16 discos de 384 Mb6.14 Gb


Observe que a cada 1 MB acrescido à sua base SuperMUMPS, 4 MB serão consumidos do seu sistema operacional.
Login automático no SuperMUMPS considerando o login no Unix

Caso seja de seu interesse, com uma pequena alteração torna-se possível que, tendo o usuário conectado-se ao Unix respondendo ao login-name e a password, automaticamente a identificação do SuperMUMPS seja respondida posicionando-o nas opções do Logon.
Para tanto proceda com os seguintes passos:


Altere o seu script de chamada inserindo imediatamente após o string %INICIA% os caracteres \(\"$LOGNAME\"\)

Altere o nome que o usuário em questão possui no SuperMUMPS tornando-o idêntico ao login-name do UNIX.

Para executar os comandos OPEN e USE em arquivos de sistemas UNIX

Executar o comando
S $ZF(4)=1 antes da linha onde se está abrindo o dispositivo por meio do comando OPEN.
s $zf(4)=1
o 3 u:3 r ... ou w ....
q


Para compatibilizar a hora do DOS/SCO-UNIX/UNIX RISC com a hora do SuperMUMPS

DOS
Inserir no arquivo AUTOEXEC.BAT a seguinte linha: SET TZ=BSB0
SCO-UNIX
Inserir no arquivo sm a seguinte linha: EXPORT TZ
UNIX RISC
Digitar no prompt TZ="TZ 3DT3" e verificar se foi devidamente
setado com SET

Para inicializar todos os arquivos relativos ao Logon

Observação
Este rotina elimina todos os arquivos relativos ao Logon sendo portanto altamente recomendável que seja processada sob acompanhamento de algum responsável polo CPD.
D INI^caduti
Para desligar mensagem que indica a necessidade de rodar o DIAG

Observação
Esta mensagem é importante no sentido de observar uma saída irregular do sistema e a possível necessidade de processar o utilitário de diagnóstico.
Eliminar a mensagem sem executar o DIAG, pode prejudicar a consistência da base.
O 900 S $V(C,55)=1
ZR
Prioridade na localização da base de dados

Ao ser executado o SuperMUMPS verifica a localização da base de dados, arquivo
super_nn.dat, respeitando a seguinte prioridade:
  • Path SuperMUMPS indicado no arquivo .INI
  • Nas variáveis super_nn criadas no autoexec.bat
  • No diretório de onde foi executado o .EXE


Prosseguir com o DIAG em caso de falta de espaço no HD (Hard Drive)

Caso a rotina de diagnóstico
DIAG seja interrompida por falta de espaço no winchester, executar d FIM^DIAGCONF.
No caso deste label não existir na rotina
DIAGCONF, criá-la com a seguinte sequência de instruções:
FIM ;Forca FIM de arquivo "diag.sm" interrompido
O 700 D ^%DEFAULT(700)
O 700:(MODE=2+8+32768:FILE="diag.sm")
U 700 W "**FIM**","" U 0
D C^%DEFAULT(700)
W !,"Feito.",:B,!
Q

LIDANDO COM ERROS


Registro de erros em aplicativos

Caso seja de seu interesse monitorar os erros que por ventura possam acontecer em determinados aplicativos, retire o arquivo
%erro.zip da área Usuários de nossa BBS. O arquivo leiame.txt explica detalhes adicionais.

Instruções sobre o uso dos utilitários %erro*
No inicio da rotina sobre a qual se quer monitorar eventuais erros, colocar o comando
ztrap do seguinte modo: zt ^%erro
Para verificar as informações sobre os erros existentes, executar a seguinte rotina:
%erroa.
Erro CRG [6,7] - Não conseguiu associar memória compartilhada ao espaço de endereçamento

Solução
Aumentar o valor da variável ULIMIT no .PROFILE
Erro EXE [5,10] - Fim de espaço na pilha de descritores

Solução
Aumentar o valor do parâmetro -s
Erro na pilha de números reais

Solução
Aumentar o valor do parâmetro -n
Erro: Estouro da capacidade da pilha interna/Sistema paralisado

Caso este erro ocorra em seu sistema, introduza no
config.sys a seguinte linha: stacks=8,128.
Não sendo ainda suficiente:
stacks=8,512.



Utilitário %HOS (Documentação técnica - Manipula arquivos do hospedeiro)

Objetivo
Manipular um arquivo do sistema operacional hospedeiro.

Chamada 1
W $$A^%HOS(Arquivo,Operacao[,Modo,Flags])
Arquivo
Nome completo do arquivo incluindo o diretório. Este parâmetro deve ter no máximo 50 caracteres.
Operação

L - Abre somente para leitura (o arquivo deve existir).

LG - Abre para leitura e gravação perdendo o conteúdo anterior, se houver.

G - Abre para leitura e gravação apenas se o arquivo não existir.

Modo

T - Modo texto (default)

B - Modo binário

Resultado

0 - Todos os dispositivos da classe 7 estão ocupados.

1 - Tudo OK

Erro - String explicando o erro com no máximo de 79 caracteres. Se o erro for desconhecido será devolvido o string "Erro status: MAJOR,MINOR".

Variáveis de saída

%D7 - O número do dispositivo da classe 7 que foi alocado.

% - Em caso de erro será informado o status no formato "Major/Minor".

Sugestão
Chame o utilitário "C^%DEFAULT" para fechar o arquivo ao término do processamento.
Flags
1º - Se ligado, tenta alocar outro dispositivo da classe 7 mesmo que o processo já seja dono de algum. Caso não consiga, o resultado será 0.
Chamada 2
W $$D^%HOS(Diretório)
Diretório
Nome completo do diretório. Este parâmetro deve ter no máximo 42 caracteres.
Operação
Gera o arquivo
%hos.sm , dentro do diretório hospedeiro mencionado, com uma listagem dos nomes dos arquivos presentes no próprio diretório e ao final, abre o arquivo para leitura.
Resultado

0 - Dispositivos da classe 7 ocupados.

1 - Tudo OK (O arquivo %hos.sm foi criado e aberto para leitura).

Erro - String explicando o erro ocorrido quando se tentou criar o arquivo %hos.sm.

Variáveis de saída

%D7 - Contem o nome completo do arquivo %hos.sm, no caso de erro ou se tudo correu bem, o número do dispositivo da classe 7 que foi alocado para leitura.

% - Em caso de erro será informado o status no formato "Major/Minor".

Chamada 3
D lista^%HOS
Operação
Verifica se o ZH esta' funcionando, fazendo ZH " ".
Variável de saída

%listahos - O número "1" no caso de não ter havido qualquer problema ou um string explicando o erro com no máximo de 79 caracteres. Se o erro for desconhecido será devolvido o string "Erro status: MAJOR,MINOR".

Observação
Este utilitário faz uso do novo comando
ztrap.
Utilitário cresce

Alguns clientes reportaram erro ao executarem o utilitário
cresce que acompanha o SuperMUMPS e permite o crescimento da base de dados.
Após testarmos o mesmo quanto ao erro que apresentava ao se tentar crescer um volume diferente de zero "para" determinado número de blocos, concluímos que provavelmente o comando foi executado com caracteres maiúsculos.
Em nossas experiências, observamos que o mesmo comando quando digitado com caracteres minúsculos, apresentou o comportamento esperado e do contrário, o erro relatado manifestou-se.


Consulta Nome da Plataforma (DOS, UNIX etc)
Valores resultantes da constante $v(c,59) que indica o nome da plataforma

Ao consultar o valor da constante $v(c,59) que indica em qual plataforma o SuperMUMPS está sendo processado, os seguintes valores poderão ser obtidos:













CodigoPlataforma
1Stand-alone
2MS-DOS
4UNIX
8Windows
16Netware