Domanda

I'm Tried to convert (Read) *SCS Spooled File Using Java (JT400) but when i trying to convert it , i got this error message

"com.ibm.as400.access.AS400Exception: CPF3394 Cannot convert spooled file data."

Anyone know how to fix this ?

               AS400 sys = new AS400();
    SpooledFile sf = new SpooledFile( sys,          // AS400
                                        "CUSR_R1",       // splf name
                                        2,           // splf number
                                        "QPADEV003H",    // job name
                                        "USER",      // job user
                                        "096018" );   // job number
   PrintObjectInputStream inputStream = sf.getInputACIFMergedStream(true);
   System.out.println ("size " + inputStream.available());
   BufferedReader d = new BufferedReader(new InputStreamReader(inputStream));
       String data ="";
       while((data = d.readLine() )!=null)
       {
        System.out.println (data);
        }
    } catch (Exception e) {
        System.out.println(e);
    }
È stato utile?

Soluzione

Fixed Code (Answer) :

try {
        
               AS400 sys = new AS400("");
    SpooledFile sf = new SpooledFile( sys,          // AS400
                                        "CUSR_R1",       // splf name
                                        2,           // splf number
                                        "QPADEV003H",    // job name
                                        "USER",      // job user
                                        "096018" );   // job number

PrintParameterList printParms = new PrintParameterList();
printParms.setParameter(PrintObject.ATTR_WORKSTATION_CUST_OBJECT,   "/QSYS.LIB/QWPDEFAULT.WSCST");
printParms.setParameter(PrintObject.ATTR_MFGTYPE, "*WSCST");

// Create a page input stream from the spooled file
PrintObjectPageInputStream is = sf.getPageInputStream(printParms);

BufferedReader d = new BufferedReader(new InputStreamReader(is));
       String data ="";
       while((data = d.readLine() )!=null)
       {
        System.out.println (data);
        }
    } catch (Exception e) {
        System.out.println(e);
    }

}  

Altri suggerimenti

For a *SCS spooled file, you should probably be using getInputStream.

getInputACIFMergedStream is deprecated, and getAFPInputStream should be used instead, but only for *AFPDS spooled files.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top