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

Twenty years ago these are the kind of things you had to know to work on the old AS400 systems. I found these on an old dusty corner of my homeserver. Enjoy the trip down memory lane or to use old RPG lingo AS400NERD CABEQ ‘1’  START AS400 Questions What is the Configuration of the

Read More

Twenty years ago these are the kind of things you had to know to work on the old AS400 systems. I found these on an old dusty corner of my homeserver. Enjoy the trip down memory lane or to use old RPG lingo AS400NERD CABEQ ‘1’  START CONTROL LANGUAGE (CL/400) How to start a CL

Read More

An old AS400 Quiz So, last night I was nosing around in the dim dark corners of an old network share on my homeserver. I stumbled across an old TXT document from the late 90’s, I think. It was sitting in a text file called “AS400 Quiz Brainteasers” -it’s obviously old (look at the as400

Read More

Find the IBM i System Name Three Ways Let’s look at three techniques to find the IBM i System Name Let’s dive straight in: (1) Get Sysname using SQL The IBM i System Name is not the same thing as the SQL Local DB Server name, although it may be the same by default. You

Read More

Substring in RPGLE SQL This morning, I had to make a little change to an RPG4 program to let it respond to a new parameter being passed into it via JSON. This value had to be stored in the first character of a field in a physical file in the database. Simple Logic and we

Read More

To avoid common IBM i password security exposures, consider these best practices: By following these practices, you can significantly enhance the security of your IBM i system.

...
Read More