ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Permanant IO Error

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Permanant IO Error

    Hi,

    I have a program which displays the error message from the message subfile named QSKMMSG whosr msgid is SKM0001. When I am trying to execute the program, the application is throwing a Runtime error which is as follows;
    Code:
    Permanent I/O error occurred in file XEDTNEW (C G D F)
    On pressing F1 I get the following details:
    Code:
    Message ID . . . . . . :   RNQ1251       Severity . . . . . . . :   99        
    Message type . . . . . :   Inquiry                                            
    Date sent  . . . . . . :   28/04/11      Time sent  . . . . . . :   15:53:22  
     
    Message . . . . :   Permanent I/O error occurred in file XEDTNEW (C G D F).   
    Cause . . . . . :   RPG procedure XMANTAN in program SKMLIB/XMANTAN at        
      statement 58 detected a permanent (not recoverable) file, session, or device
      error. The session, device and/or program has been stopped. Examine the     
      major/minor return code value to determine the specific error that occurred.
      If the major return code is 80 then a system or file error occurred and     
      programmer action is required to fix the problem. If the major return code  
      is 81 then a session or device error occurred, but use of another session or
      device may be successful.                                                   
    Recovery  . . . :   Check the job log for more information on the cause of the
      error and contact the person responsible for program maintenance.           
    Possible choices for replying to message . . . . . . . . . . . . . . . :     
     
    Message ID . . . . . . :   RNQ1251       Severity . . . . . . . :   99    
    Message type . . . . . :   Inquiry                                        
     
      D -- Obtain RPG formatted dump.                                         
      S -- Obtain system dump.                                                
      G -- Continue processing at *GETIN.                                     
      C -- Cancel.                                                            
      F -- Obtain full formatted dump.                                        
    Technical description . . . . . . . . :   The major return code is 81. The
      minor return code is 81.
    I have tried out debugging the program.
    The error occusr when the main program XNEWPGM calls another program XMANTAN

    Program:XNEWPGM
    Program:XMANTAN
    Display File:XMANWIN
    Display File:XCONDEL
    Display File:XEDTNEW

    The above mentioned files have been attached.
    Please help me out...

    Thanks in advance..
    Attached Files
    Warm Regards,
    Sudip Kumar Mondal
    Pune || Maharastra || India
    Mail:
    s.k.mondal@aol.in || Cell: +919372226093

  • #2
    Re: Permanant IO Error

    can you call xmantan from the command line?
    All my answers were extracted from the "Big Dummy's Guide to the As400"
    and I take no responsibility for any of them.

    www.code400.com

    Comment


    • #3
      Re: Permanant IO Error

      I am getting the same error when I am trying to call XMANTAN from the command line.
      Warm Regards,
      Sudip Kumar Mondal
      Pune || Maharastra || India
      Mail:
      s.k.mondal@aol.in || Cell: +919372226093

      Comment


      • #4
        Re: Permanant IO Error

        comment out this line recompile and call.
        PHP Code:
        C                   WRITE     MSGSFLC 
        All my answers were extracted from the "Big Dummy's Guide to the As400"
        and I take no responsibility for any of them.

        www.code400.com

        Comment


        • #5
          Re: Permanant IO Error

          By commenting the code you mentioned, the program's output is coming but the requirement is not getting accomplished.
          The errors from the message subfile are not getting displayed although the overlay has been enabled.
          Warm Regards,
          Sudip Kumar Mondal
          Pune || Maharastra || India
          Mail:
          s.k.mondal@aol.in || Cell: +919372226093

          Comment


          • #6
            Re: Permanant IO Error

            I understand we are identifying the error.
            now we know exactly what it is...

            jamie
            All my answers were extracted from the "Big Dummy's Guide to the As400"
            and I take no responsibility for any of them.

            www.code400.com

            Comment


            • #7
              Re: Permanant IO Error

              a message SFL is coded the same way as any other SFL...you need to increment the RRN when writing to the SFL...
              I'm not anti-social, I just don't like people -Tommy Holden

              Comment


              • #8
                Re: Permanant IO Error

                you have to populate pgmq yes thats Binary!

                PHP Code:
                     D                 DS                        inz
                     D STKCNT                001    004B 0
                     D DTALEN                005    008B 0
                     D ERRCOD                009    012B 0
                      
                *
                      *
                      * 
                Program Info
                      
                * ~~~~~~~~~~~~~
                     
                D*               SDS
                     D
                * @PGM                 001    010
                     D
                * @Parms               037    039  0
                     D
                * @JOB                 244    253
                     D
                * @UserId              254    263
                     D
                * @JOB#                264    269  0
                     
                C                   eval      PgmQ = @PgmName
                     C                   
                eval      DtaLen 60 
                All my answers were extracted from the "Big Dummy's Guide to the As400"
                and I take no responsibility for any of them.

                www.code400.com

                Comment


                • #9
                  Re: Permanant IO Error

                  and what does this code look like?
                  NEWCLP
                  All my answers were extracted from the "Big Dummy's Guide to the As400"
                  and I take no responsibility for any of them.

                  www.code400.com

                  Comment


                  • #10
                    Re: Permanant IO Error

                    PFA NEWCLP and CLRCLP Programs..

                    Program:NEWCLP
                    Code:
                    [SIZE=2][FONT=Courier New]             PGM        PARM(&MSGID &MSGF &MSGDTA)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGID) TYPE(*CHAR) LEN(7)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGF) TYPE(*CHAR) LEN(10)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGDTA) TYPE(*CHAR) LEN(62)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             SNDPGMMSG  MSGID(&MSGID) MSGF(SKMLIB/&MSGF) +[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]                          MSGDTA(&MSGDTA)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             ENDPGM[/FONT][/SIZE]
                    Program:CLRCLP
                    Code:
                    [SIZE=2][FONT=Courier New]             PGM        PARM(&MSGID &MSGF &MSGDTA)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGID) TYPE(*CHAR) LEN(7)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGF) TYPE(*CHAR) LEN(10)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             DCL        VAR(&MSGDTA) TYPE(*CHAR) LEN(62)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             RMVMSG     PGMQ(*PRV (*)) CLEAR(*ALL)[/FONT][/SIZE]
                    [SIZE=2][FONT=Courier New]             ENDPGM[/FONT][/SIZE]
                    Warm Regards,
                    Sudip Kumar Mondal
                    Pune || Maharastra || India
                    Mail:
                    s.k.mondal@aol.in || Cell: +919372226093

                    Comment


                    • #11
                      Re: Permanant IO Error

                      Tom,

                      While coding in a separate program which worked fine(attached below), I didnot use any RRN. But the output was convincing.
                      I got the errors as required when there was any blank field left.
                      The code is as follows
                      Code:
                      [SIZE=2][FONT=Courier New]     FABLANK    CF   E             WORKSTN[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     DDTA              S             62[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVE      ' '           DTA[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVEL     'SKM0001'     MSGID             7[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVEL     'QSKMMSG'     MSGF             10[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVEL     DTA           MSGDATA          62[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   DOW       *IN03=*OFF[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   EXFMT     DISPLAY[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *Clears the message subfile.........[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   EXSR      CLEAR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   WRITE     MSGSFLC[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   SELECT[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   WHEN      *IN05=*ON[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C     NAME          IFEQ      *BLANKS[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C     LOC           ANDEQ     *BLANKS[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   EXSR      ERR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   WRITE     MSGSFLC[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ELSE[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   EXFMT     YES[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDIF[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   WHEN      *IN01=*ON[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   DOW       *IN12=*OFF[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   EXFMT     HELP[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDDO[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      *[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDSL[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDDO[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVE      '1'           *INLR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   SETON                                            98[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      ***********************************************************[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C     *INZSR        BEGSR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   MOVEL     'ATEST'       PGMQ[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDSR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      ***********************************************************[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C     CLEAR         BEGSR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   CALL      'CLRCLP'[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGID             7[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGF             10[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGDTA           62[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDSR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]      ***********************************************************[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C     ERR           BEGSR[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   CALL      'NEWCLP'[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGID             7[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGF             10[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   PARM                    MSGDTA           62[/FONT][/SIZE]
                      [SIZE=2][FONT=Courier New]     C                   ENDSR[/FONT][/SIZE]
                      Please reply back, what is to done..
                      Warm Regards,
                      Sudip Kumar Mondal
                      Pune || Maharastra || India
                      Mail:
                      s.k.mondal@aol.in || Cell: +919372226093

                      Comment


                      • #12
                        Re: Permanant IO Error

                        You dont need RRN...

                        did you do as I asked and populate this?
                        PgmQ
                        notice its in the program that you claim works
                        PHP Code:
                           ***********************************************************
                             
                        C     *INZSR        BEGSR
                             C                   MOVEL     
                        'ATEST'       PGMQ
                             C                   ENDSR 
                        All my answers were extracted from the "Big Dummy's Guide to the As400"
                        and I take no responsibility for any of them.

                        www.code400.com

                        Comment


                        • #13
                          Re: Permanant IO Error

                          Originally posted by jamief View Post
                          You dont need RRN...

                          did you do as I asked and populate this?
                          PgmQ
                          need....more....coffee....
                          I'm not anti-social, I just don't like people -Tommy Holden

                          Comment


                          • #14
                            Re: Permanant IO Error

                            I have populated the PGMQ which I forgot before and I am getting the output.
                            I will have to work out a bit more to get the exact output.
                            I will post the code when I get the exact output.

                            Thanks Jamie for the clue...
                            Warm Regards,
                            Sudip Kumar Mondal
                            Pune || Maharastra || India
                            Mail:
                            s.k.mondal@aol.in || Cell: +919372226093

                            Comment


                            • #15
                              Re: Permanant IO Error

                              your welcome Sudip - Have a fantastic weekend, which if I'm not mistaken you are already on.

                              jamie
                              All my answers were extracted from the "Big Dummy's Guide to the As400"
                              and I take no responsibility for any of them.

                              www.code400.com

                              Comment

                              Working...
                              X