Error 9/004

We have developed a multi-User system, and to access the system, do the reading configuration file. In this file I have the folders where are the database and other paths used by the system.


To make communication between the programs we use variables EXTERNAL


01 w-directory pic x (256) external.


To call a program starting from the main menu use the following syntax


       method-id cloToolStripMenuItem_Click private final.

       Local-storage section.

       01 newForm1 type MMCliente.Form1.

       procedure division by using the value sender object and the type System.EventArgs.

       invoke type MMCliente.Form1 :: New () returning newForm1

       invoke newForm1 :: Show ()

       end method.


The problem is that at times the system accuses 9/004 error and we are unable to find out what might be causing this problem, since it is not often that this happens. We did an analysis on the local network and nothing abnormal was identified. What can be this error?




  • A RTS error 9/004 is



    COBRT004 Illegal file name (Recoverable)

    A file-name contains an illegal character. This could be any character that is not part of the permitted character set or it could be the system-dependent delimiter, which on most systems is the space.


    Try the file operation again using the correct file-name.


    As an example, this sample code snippet will generate a 9/004 on the OPEN OUTPUT statement because the COBOL variable v is equal to spaces ...


    SELECT optional LS-FILE    ASSIGN TO dynamic v



    01 v pic x(256) value spaces.



              open output ls-file

    I would check variables being used in the COBOL SELECT statement.



  • Thanks for the reply, but I have done this type of test, and as I said, I create the file name after reading the system configuration, so for all programs do this passage:

    move spaces to w-registration

    string  w-directory  delimited by " " "\ filename.dat" into w-registration

    Recalling that w-directory is an external variable. And when a message with the path and file name perfect the error occurs is shown. Can you have a hexadecimal character at the end of the invalid w-registration field?


    Translated by Google

    Obrigado pela resposta, mas já fiz esse tipo de teste, e como falei, crio o nome do arquivo após ler a configuração do sistema, é assim para todos os programas, faço esta passagem:

    move spaces to w-cadastro

    string w-diretorio delimited by " " "\filename.dat" into w-cadastro

    Lembrando que w-diretorio é um variável external. E quando ocorre o erro é mostrada uma mensagem com o caminho e o nome do arquivo perfeitos. Será que pode ter algum caractere hexadecimal no final do campo w-cadastro inválido?

  • 2 things.

    1st one: Are you sure the 9/004 occurs on the OPEN of "...filename.dat"? Couldn't it happen on another file?

    2nd one: For diagnostic purposes, could you hardcode the assignation of "...filename.dat" instead of using the 'STRING w-directory  ...  filename.dat" into w-registration'?  This would allow to ascertain this sporadic 9/004 RTS error occurs because of this?  



  • 1 This is the recording of the record, and sometimes records others do not. There is no sequence can or a specific file.

    2 I'll do it.

    Thank you


    Translated by Google

    1º Isso acontece na gravação do registro, e algumas vezes grava outras não. Não há uma sequência ou um arquivo específico.

    2º Vou fazer isso.



  • Good morning,

    I did what you said I moved the full name of the file to a variable and accused the mistake again, is there any way to make a log file that shows all that user made when it entered the system.

    Thank you.

    Translated by Google

    Bom dia, fiz o que você disse movimentei o nome completo do arquivo para uma variavel e acusou o erro novamente, existe alguma forma de fazer um arquivo de log que mostre tudo o que usuário fez quando entrou no sistema. Obrigado.

  • Verified Answer

    The quickest would be possibly to raise an incident by MF Customer Care for further investigations on what happens...


  • Verified Answer

    Closing this topic, we did the mapping of computers instead of using the full path \\server\folder\ mapped as M:\ and after 3 days of test no error.

    Translated by Google

    Fechando este tópico, fizemos o mapeamento nos computadores ao inves de utilizar o caminho completo \\servidor\pasta\ mapeamos como M:\ e após 3 dias de teste nada de erro.