ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

rnx1255 error on exfmt

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

  • rnx1255 error on exfmt

    hello
    i'm completly new at rpg. the last 5 weeks i'm learning rpg.
    now i have a problem where my partners cant help me either.
    I do a loop where the data for my subfile is gathered. then i do a write of the subfile which goes ok aswel in debug mode. but then i need to do an exfmt of the subfilecontrol record and that's where it goes bad. i receive the following error:

    Message . . . . : Session or device error occurred in file FCLOAD09FM.

    Cause . . . . . : RPG procedure FCLOAD09 in program FCSPEDEV/FCLOAD09
    detected a session or device error. Recovery may be possible. Examine the
    major/minor return code value to determine the specific error that occurred.
    If the major return code is 82 then the error occurred while acquiring a
    session or device. If the major return code is 83 then the error occurred
    during an I/O operation and the session or device is still active.
    Recovery . . . : Check the job log for more information on the cause of the
    error and contact the person responsible for program maintenance.
    Technical description . . . . . . . . : The major return code is 83. The
    minor return code is 1E.

    i dont know if this is sufficient data you need to help me if you want to help at least . when you need any other info let me know and i'll give it to you.

    if you could help me out would be so great.

  • #2
    Re: rnx1255 error on exfmt

    THat error is a generic message...
    It could be a dozen different things..

    can you post dds as well as rpg load subroutine?

    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


    • #3
      Re: rnx1255 error on exfmt

      yes i'll try to add all the code.
      this is the rpg code. it's copied from toher files and i tried different things. Probably different mistakes have been made.

      Code:
           F*************************************************************************
           F*
           F* Loading bill management program
           F*
           F*
           F*************************************************************************
           FFCTRCKBL  UF   E           K DISK
           FFCLOAD09FMCF   E             WORKSTN
           F                                     SFILE(DET:RRNS2)
           Ffcload06fmIF   E           K DISK
           FFcLoadBl01UF   E           K DISK
           FFcKbph11  IF   E           K DISK
           FKDST01    IF   E           K DISK
           FFcLoadSc00IF   E           K DISK
           F
           F
           D FcLoad09        PR                  EXTPGM('FCLOAD09')
           D  firm$p                        1
           D  wknr$p                        3
           D  TBNR$p                        8  0
           D
           D FcLoad09        PI
           D  firm$p                        1
           D  wknr$p                        3
           D  TBNR$p                        8  0
           D
           D SelSvDate       S                   like(C1Date)
           D SelSvStat       S                   like(C1Stat)
           D SelSvTbNr       S                   like(C1TbNr)
           D StopProgram     S              1N
           D**************************************************************************
           D***       SPEDITEURE                                                     *
           D**************************************************************************
      
           D*-----------------------------------------------------------------------*
            *-----------------------------------------------------------------------*
            *  E N T R Y
            *-----------------------------------------------------------------------*
      .....c*0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....
      
           C
           C
           C/free
      
              exsr SrMain;
              //exsr SrFinalize;
      
              *inLR = *on;
              return;
      
              begsr SrMain;
      
      
               exsr SrFillScreen;
                dow not StopProgram;
                  write FOOT;
                  exfmt FMFILCTL;
                  exsr SpecKy;
                enddo;
              endsr;
      
              begsr SpecKy;
                select;
                  when *inkc or *inkl;
                    StopProgram = *on;
             //   when *inke;
             //     exsr SrFillScreen;
             //   when *inki;
             //     ShowHistory = not ShowHistory;
             //     exsr SrFillScreen;
             //   when *in94; //pagedown
             //     *in94 = *off;
             //     exsr SrFillSubfile;
                  other;
                    if (SelSvDate <> C1Date) or
                       (SelSvStat <> C1Stat) or
                       (SelSvTbNr <> C1TbNr);
                       SelSvDate = C1Date;
                       SelSvStat = C1Stat;
                       SelSvTbNr = C1TbNr;
                       exsr SrFillScreen;
             //     else;
             //       exsr SrReadSubfileInput;
                    endif;
                endsl;
              endsr;
      
      
      
             begsr SrFillscreen;
      
             //write HEAD;
                setll (Firm$p:Wknr$p:TBNR$p) FcLoadbl01;
                reade (Firm$p:Wknr$p:TBNR$p) FcLoadbl01;
                rrns2 = 0;
              //reade (Firm$p:Wknr$p:S2LbNr) FcLoadbl01;
                   dow not %eof(FcLoadbl01);
                S2TBNR = TBNR$p;
                S1Select = *zeros;
                s2totpo = 0;
                s2scnpo = 0;
                S2Told= 0;
                S2Load= 0;
                S2Lbnr = LbLbnr;
                setll (Firm$p:Wknr$p:s2lbnr) FcKbPh11;
                reade (Firm$p:Wknr$p:s2lbnr) FcKbPh11;
      
                  dow not %eof(FcKbPh11);
                    if PhlbNr = S2lbNr;
                      S2Told= S2Told + PhTold;
                      S2Load= S2Load + PhLoad;
                      s2totpo = s2totpo+1;
                      if S2Load <> *zeros;
                        s2scnpo = s2scnpo+1;
                      endif;
                    endif;
                    reade (Firm$p:Wknr$p:lblbnr) FcKbPh11;
                  enddo;
                  rrns2 = rrns2+1;
                  write DET;
                  reade (Firm$p:Wknr$p:TBNR$p) FcLoadbl01;
                enddo;
      
      
             ENDSR;
      
            /end-free
      this is the dspf code.


      Code:
           A*%%TS  DD  20081030  134705  spe         REL-V5.0.1  WDSc
           A*%%FD Overview loading bills
           A*%%EC
           A                                      DSPSIZ(24 80 *DS3)
      
      
           A          R DET                       SFL
           A*%%TS  DD  20081030  134705  spe         REL-V5.0.1  WDSc
              98                                  SFLNXTCHG
           A            S2LBNR         8  0O  7  8
           A            S2TOLD         4  0O  7 23
           A            S2LOAD         4  0O  7 34
           A            S1SELECT       2Y 0B  7  2EDTCDE(Z)
           A
           A
           A          R FMFILCTL                  SFLCTL(DET)
           A*%%TS  SD  20080520  091842  DST         REL-V5R3M0  5722-WDS
           A                                      SFLSIZ(0014)
           A                                      SFLPAG(0013)
           A  96                                  SFLDSPCTL
           A  95                                  SFLDSP
           A  97                                  SFLCLR
           A*                                     SFLCSRRRN(&RECNS1)
           A  99                                  SFLEND
           A                                      CF03
           A                                      CF12
           A                                      OVERLAY
           A N99                                  PAGEDOWN(94 'ROLL')
           A                                      CF05
           A                                      CF09
           A            RRNS2          4S 0H      SFLRCDNBR
           A                                  2 27'overview loading bills'
           A                                      COLOR(WHT)
           A                                  1 71DATE
           A                                      EDTCDE(Y)
           A                                  2 71TIME
           A                                  1 23'Facil & cie - Genk - Belgium'
           A                                      COLOR(BLU)
           A                                  1  2'FCLOAD09'
           A                                  3  2'Truck bill'
           A                                      COLOR(WHT)
           A                                  3 56'Total   PO'
           A                                      COLOR(WHT)
           A                                  4 56'Scanned PO'
           A                                      COLOR(WHT)
           A            S2TBNR         8Y 0B  3 13
      
           A                                  6  8'Loading bill '
           A                                      COLOR(WHT)
           A                                  6 23'to load '
           A                                      COLOR(WHT)
           A                                  6 34'loaded'
           A                                      COLOR(WHT)
           A                                  6  2'Opt.'
           A                                      COLOR(WHT)
           A                                  2  2USER
           A            S2TOTPO        3  0O  3 69
           A            S2SCNPO        3  0O  4 69
           A                                  4  2'Type options, press enter.'
           A                                      COLOR(BLU)
           A                                  5  2'4 = Delete '
           A                                      COLOR(BLU)
           A*%%GP SCREEN1    01
           A
           A*%%GP SCREEN1    02
           A*%%GP UNTITLED   01
           A          R FOOT
           A*%%TS  DD  20081030  134705  spe         REL-V5.0.1  WDSc
           A                                 19  1'F12 = previous'
           A                                      COLOR(BLU)
           A*%%GP UNTITLED   02

      thank you, that wanna help me out

      Comment


      • #4
        Re: rnx1255 error on exfmt

        You don't initialize (clear) the subfile first?
        I also don't see where the sfldsp (etc) indicators are being set.
        Regards

        Kit
        http://www.ecofitonline.com
        DeskfIT - ChangefIT - XrefIT
        ___________________________________
        There are only 3 kinds of people -
        Those that can count and those that can't.

        Comment


        • #5
          Re: rnx1255 error on exfmt

          Post the JOBLOG.
          When the program bombs out, hit Attn key, hit F10 key and paste the joblog here.
          Philippe

          Comment


          • #6
            Re: rnx1255 error on exfmt

            I hope this is what you mean.

            Code:
            Message . . . . :   Session or device error occurred in file FCLOAD09FM (C G D
              F).                                                                         
                                                                                          
            Cause . . . . . :   RPG procedure FCLOAD09 in program FCSPEDEV/FCLOAD09 at    
              statement 390 detected a session or device error.  Recovery may be possible.
              Examine the major/minor return code value to determine the specific error   
              that occurred. If the major return code is 82 then the error occurred while 
              acquiring a session or device. If the major return code is 83 then the error
              occurred during an I/O operation and the session or device is still active. 
            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 . . . . . . . . . . . . . . . :      
              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 83. The  
               minor return code is 1E.
            line 390tat is mentioned in the log is the line exfmt FMFILCTL;

            Comment


            • #7
              Re: rnx1255 error on exfmt

              I still don't see where you're setting your subfile indicators.
              Code:
                   A  96                                  SFLDSPCTL
                   A  95                                  SFLDSP
                   A  97                                  SFLCLR
              *in96 must be *on to display the ctl rec (97 off)
              Regards

              Kit
              http://www.ecofitonline.com
              DeskfIT - ChangefIT - XrefIT
              ___________________________________
              There are only 3 kinds of people -
              Those that can count and those that can't.

              Comment


              • #8
                Re: rnx1255 error on exfmt

                I have added the following code

                Code:
                 begsr SrClearSubfile;
                          *in95 = *off;
                          *in96 = *off;
                          *in97 = *on;
                          *in99 = *off;
                          write FmFilCtl;
                          *in97 = *off;
                
                        endsr;
                and this subroutine runs before i run the subroutine fillscreen

                Comment


                • #9
                  Re: rnx1255 error on exfmt

                  You will need to set the *in96 to display the subfile.
                  Here is an example:
                  Code:
                  exsr clrsflsr;         
                     clear sfl1rrn;         
                  ...
                   do stuff
                  ...
                     sfl1rrn += 1;        
                     hitcnt = sfl1rrn;    
                     write sfl1;
                  ...          
                  enddo stuff
                   
                  sfl1rrn = 1;             
                  If DisplayStrc = *off;   
                     exfmt ctl1;           
                  endif;                    
                   
                  .........
                   
                   // CLEAR SUBFILE                       
                    Begsr clrsflsr;                       
                   
                      SFL1RRN = 1;                        
                      *in26 = *off;                       
                      *in27 = *off;                       
                      *in28 = *on;                        
                      Write ctl1;                         
                      *in26 = *on;                        
                      *in27 = *on;                        
                      *in28 = *off;                       
                   
                    EndSr;
                  You could also do away with *in97 and in the DDS use N96 on the SFLCLR. In ChangefIT, I use named indicators instead of *in26,27,28 etc. So I would have:
                  Code:
                  SflClear = *on
                  Last edited by kitvb1; November 5, 2008, 03:34 AM.
                  Regards

                  Kit
                  http://www.ecofitonline.com
                  DeskfIT - ChangefIT - XrefIT
                  ___________________________________
                  There are only 3 kinds of people -
                  Those that can count and those that can't.

                  Comment


                  • #10
                    Re: rnx1255 error on exfmt

                    thank a lot
                    the screen is getting shown now.
                    on to the next problem

                    Comment

                    Working...
                    X