Re: What the beep is wrong with this?
Jon Paris <[email protected]>
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
Hmmm - weirder and weirder. The actual error code is 1 which indicates a permission problem but I can see nothing wrong in that area. I have other "real" stuff on the go right now, but will report back when I get around to fixing this. Thanks for all the suggestions. Jon Paris [email protected] > On Jan 27, 2026, at 10:46 AM, cesco via RPG400-L <[email protected]> wrote: > > What error you get ? "Ask bob" to integrate your code with proper error handling asking for the errno variable and detailed error handling, see what the LLM comes up with.Maybe some ccsid mess. > The C open is a variable argument function, you can inspect/pick or include the prototype usually from QSYSINC/QRPGLESRC IFS or FCNTL that mimick the C includes. > > > > > > On Sunday, January 25, 2026 at 01:07:28 AM GMT+1, Jon Paris <[email protected]> wrote: > > I'm playing with Bob and asked him (it?) to create an RPG program to read an IFS file. > > I'm familiar with all of the required APIs (or thought I was) - but the Bob program will not open the file and I'm danged if I can see why. Here's an extract of the code which demonstrates the issue. > > Ctl-Opt DftActGrp(*No); > > // C API Prototypes - renamed to avoid opcode conflicts > Dcl-Pr openFile Int(10) ExtProc('open'); > *N Pointer Value Options(*String); > *N Int(10) Value; > *N Uns(10) Value Options(*NoPass); > *N Uns(10) Value Options(*NoPass); > End-Pr; > > // Constants for open() > Dcl-C O_RDONLY 1; > Dcl-C O_TEXTDATA 16777216; > > // Variables > Dcl-S FilePath Varchar(256) Inz('/home/PARIS/Bob/Test.csv'); > Dcl-S FileDesc Int(10); > > // Open the IFS file > FileDesc = openFile(FilePath: O_RDONLY + O_TEXTDATA ); > > If FileDesc < 0; > Dsply 'Error opening file'; > Else; > Dsply 'File Open'; > EndIf; > > *InLr = *On; > > The file opens just fine if I use SQL ( SELECT * FROM TABLE(QSYS2.IFS_READ(PATH_NAME => '/home/paris/bob/Test.csv')) > > So I don't think it is a permissions problem (and yes I have checked that tooj. It has to be something dumb and I just can't see it. > > > Jon Paris > [email protected] > > > > -- > This is the RPG programming on IBM i (RPG400-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/rpg400-l. > > Please contact [email protected] for any subscription related questions. > > > -- > This is the RPG programming on IBM i (RPG400-L) mailing list > To post a message email: [email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/rpg400-l > or email: [email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/rpg400-l. > > Please contact [email protected] for any subscription related questions. > -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions.