Go for option 2) and ignore any error coming out. Use "DLTF QTEMP/filename" as command.
From: c400-l-bounces@xxxxxxxxxxxx [mailto:c400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jevgeni Astanovski
Sent: den 15 februari 2013 10:07
Subject: [C400-L] Creating temporary table
Such a trivial operation and I understood that I do not see simple solution...
A program needs to use a temporary table, I assumed that QTEMP is the best place for it.
So I have a table with the same structure in MYLIB and program needs to create its copy, however, empty, and in QTEMP.
I shall issue a CL command CRTDUPOBJ from my C program, but I cannot gurantee, that the table does not exist there already.
I see two ways to protect myself from this situation:
1. Capture relevant error message (probably CPD2104, object already exist);
2. Issue unlink (Unix style API) to delete this file before making CRTDUPOBJ - but this will end in error if file does not exist.
Or I should rather attempt to open file using _Ropen with mode "wr" and if it ends in error, issue CRTDUPOBJ and make _Ropen again?
All these methods seem odd - that made me think that maybe there is some better way...
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list To post a message email: C400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l
Capgemini is a trading name used by the Capgemini Group of companies which includes Capgemini Sverige AB, a company registered in Sweden (number 556092-3053) whose registered office is at Gustavslundsvägen 131 Box 825 – S-161 24 Bromma.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.