When I was a lad – you read the newspaper for news, you talked to neighbors to network and find the local gossip, you watched TV or went to the Cinema for movies. Nowadays, it’s all done on computers and it’s us programmers that create, nurse and stroke this things called computer programs. How you

Read More

another old snippet from an ancient document I found in a dim dark and hazy corner of an even older and crustier HDD… rather than let it disintegrate, here it is migrating to the web just in the (extreme) off chance that it may be useful to someone out there…. 😉

 

Debug a program in BATCH.

 

1.    Hold the JobQ (Eg: QBATCH)

2.    Submit the job.

3.    Hold the job – Take option 3 against the job in “Work with submitted jobs”.

4.    Release the JobQ

5.    Take option 5 against the job to be debugged and make a note of the “Job Name”, “User”, and “Job Number”.

6.    Execute the command STRSRVJOB – Start Service Job. Input the Job Name, User, Job Number.

7.    STRDBG – Start Debug.

...
Read More

Back in the olden days – files were filled with numbers and long string of data. Words like SAUSAGES might have been stored as a 30 ALPHA field in the format “SAUSAGES______________________” which, even tho its padded with *blanks – is just wasting a lot of space. Nowadays, most systems use variable length fields, shorter,

Read More

IBM i System Reset Button Breaking news from a medieval insider at the IBM laboratory rochest’r, mn – in ‘rd’r to bett’r competeth with the growing competition from microsoft s’rv’rs, ibm plans to installeth a big r’d did reset button on the newly did announce pow’r systems and changeth all ibm i op’rating system ‘rr’r

Read More

From AS400 DLS to IBM i IFS Over recent years, I’ve been playing with the IBM i Integrated File System a lot more than usual. The IFS allows us to use and easily share IBM i Data with Windows/Linux/Apple or just about any other computer on the network. It basically shares native IBM i (AS400)

Read More

The AS/400 does not exist anymore Discussing a data interchange process with a software vendor today (who shall remain nameless), they told me: … our product talks to AS400 but I don’t think it has experience of iSeries or IBM i…. Customer Support Bloke for XYZ Company *sigh* I am not telling you the company

Read More

Now, before you get all bent out of shape and point your grubby little index finger at me cackling “you called it an AS400 na-na-nu-na-naaah“, I do have a legitimate reason. It’s a shallow SEO based one (the grey haired brigade keep searching for “zip AS400 library”) but it’s legitimate. I only used the wrong

Read More

Using SQL in RPGLE programs is easier than you think. Making the move from RPG native file IO to SQL database IO is really quite straightforward:  Changing from good old READE loops to SQL FOR Loops simply means using the SQL CURSOR function. SQL has a groovy way of referring to what the stuff that

Read More

Twenty years ago… I was typing on a dumb terminal, connected to a great big beige computer called IBM AS/400 with a thick grey Twinax cable. Screens were green on black, text only — or sometimes orange on black if you were posh. The internet was this thing we used to send emails (if you knew

Read More

Should RPG code be long form or short form? I’ve been working on an interesting project focused on taking some old RPG code and re-factoring it to make it more efficient. Fascinating work for a client that is focused on doubling its IBM i throughput and reducing the CPU load of all its old programs.

Read More

wow – that has got to be the longest url yet   😉

 

QSPGETF AND QSPPUTF APIs AND COMMANDS

IBM Knowledgebase item 8011926 describes two APIs that are undocumented in the AS/400 manuals. The two APIs, Get Spooled File (QSPGETF) and Put Spooled File (QSPPUTF), copy spool files to and restore them from physical files, respectively. The advantage of QSPGETF and QSPPUTF over the well-documented Copy Spooled File command (CPYSPLF) is that the APIs are able to copy Advanced Function Printing Data Stream (AFPDS) and Intelligent Printer Data Stream (IPDS) spool files, whereas CPYSPLF cannot.

You can call the QSPGETF and QSPPUTF APIs directly, or you can call them using command wrappers over the APIs.

  • Calling the APIs Directly

The QSPGETF API call below saves spool file QPRINT to database file SPOOLDB in USER1LIB library, member MBR1, where the spool file number is 1 and the spool file job is 010160/user1/dsp03:

CALL PGM(QSYS/QSPGETF) PARM(‘QPRINT ‘ ‘SPOOLDB USER1LIB ‘ ‘DSP03 USER1 010160′ X’0001’ ‘MBR1 ‘)

...
Read More

More questions about adopting authority on IBM i Systems and a technique to change user authority temporarily. So lets #discuss 😉 Adopt higher IBM i Authority to change System Configuration Question: I am needing to write a program, command, or whatever, that will enable my users to adopt a higher authority when they want to

Read More