0

I have four libraries where each has a different selection of a set of programs. Unfortunately i cannot delete the unused programs in the library with SQL, since i need to retire them (so they don't stay on our clients servers).

Is there a way to make a CL program for this? Our senior programmer says that it cant be done, but i want to explore every possibility before being forced to manually retire 2300 objects.

It is originally a function within Aldon change management software and I do have a SQL query for selecting the objects needed.

snorkpete
  • 14,278
  • 3
  • 40
  • 57
TheMineral
  • 63
  • 7
  • What do you mean by retire if not delete? – James Allman Jul 05 '13 at 06:44
  • 3
    It's better if you say more explicitly what "retire" means. Don't make people guess or have to research it. Not everyone is familiar with Aldon. What do **you** have to do when **you** retire an object manually? What does it entail? Moving stuff to other libraries? Putting stuff into save files? What? – John Y Jul 05 '13 at 11:44

2 Answers2

3

I'd guess it's too late to help the original poster, but for future reference...

"Retire" is a concept used by the Rocket Aldon Lifecycle Manager for IBM i, aka Aldon LM(i). A change management system (CMS) for the IBM i.

Note that most if not all the Aldon screens respect the standard IBM i UI function of F13-Repeat, to fill the option field of all subfile records with the same value.

So, check out all the objects to a single task. Using the ACMSCHKOUT or ACMSADDPJO commands if you want.

Then it's simply a matter of going into the Work with Objects screen for the objects on that task, putting an option 25-Retire of the first object and pressing F13-Repeat to repeat the option for all objects then just hitting enter.

Promote and deploy the task as normal.

Charles
  • 21,637
  • 1
  • 20
  • 44
2

I don't understand the difference between retire and delete in your context but here is a sample CL to read a file of program objects and delete them.

It assumes as input a file named DLTFILE with the fields LIB and PGM.

PGM

DCLF FILE(DLTFILE)
LOOP: RCVF RCDFMT(DLTFILE)
MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(BREAK))
DLTPGM(&LIB/&PGM)
GOTO CMDLBL(LOOP)

BREAK: ENDPGM
James Allman
  • 40,573
  • 11
  • 57
  • 70
  • Retire function is a feature from Aldon's Lifecycle management system. This question may be harder then i thought. – TheMineral Jul 05 '13 at 07:51
  • 3
    If Aldon has a 'retire' API, you could use James' program to call that instead of DLTPGM. – Buck Calabro Jul 05 '13 at 13:06
  • here is a link to the Aldon documentation. I didn't find the API, but maybe if you look around, you can find something. http://myaldon.rocketsoftware.com/psup/dnlds/doc/aldon-lifecycle-manager-IBM-i/ – jmarkmurphy Jul 16 '13 at 18:40