|
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. -- [ Picked text/plain from multipart/alternative ] This is after the : c+ declare c1 cursor c+ for DynSqlStmt ************************************ > EVAL sqlerm SQLERM = ....5...10...15...20...25...30...35...40...45...50...55...60 1 ' REPORT QTEMPTIMH REPORT ' 61 ' ' > EVAL sqlcod SQLCOD = 000000000. This is after the : *************************************** c/exec sql c+ Prepare DynSqlStmt from :sql c/end-exec c sqlcod dsply SQLCOD = 000000000. > EVAL sqlerm SQLERM = ....5...10...15...20...25...30...35...40...45...50...55...60 1 ' DYNSQLSTMT ' 61 ' ' > EVAL sql SQL = ....5...10...15...20...25...30...35...40...45...50...55...60 1 'Select * From (prdjrnusg a inner join jpldcusgsm b ON a.pj' 61 'str# = b.jpstr#) where (a.pjhdat between 37110 and 37115) an' 121 'd a.pjprod in ('1804','1310','2153') and b.rddid = 'LAB' ' 181 ' ' 241 ' ' Bottom This is after the : c/EXEC SQL c+ open C1 c/end-exec *************************************** > EVAL sqlerm SQLERM = ....5...10...15...20...25...30...35...40...45...50...55...60 1 ' C1 PRDJRNUSG CADBFA ' 61 ' ' > EVAL sqlcod SQLCOD = 000000000. > -----Original Message----- > From: Mangavalli, Ramanujam [SMTP:RamM@Mvmills.com] > Sent: Wednesday, August 29, 2001 5:40 PM > To: 'rpg400-l@midrange.com' > Subject: RE: Recommended PTF's for Dynamic Sql in RPG? > > Tim, > > I am no guru but I am interested in the SQLCOD values immediately after > your > prepare and open. If you don't mind, can you check the value of SQLCOD and > SQLERM after prepare and after open? > > I am hoping that the SQLCOD will give you a clue. > > hth. > > > -----Original Message----- > From: Hatzenbeler, Tim [mailto:thatzenbeler@clinitech.net] > Sent: Wednesday, August 29, 2001 12:48 PM > To: 'rpg400-l@midrange.com' > Subject: Recommended PTF's for Dynamic Sql in RPG? > > > This message is in MIME format. Since your mail reader does not understand > this format, some or all of this message may not be legible. > -- > [ Picked text/plain from multipart/alternative ] > > Were running r4.5 with just latest cumulative tape.. > > But for somereason, I can't get a dynamic sql statement to work, it just > seems to hang on the fetch command... > > It's a simple Join, with one field, and the where clause is looking for a > match using an item code on table a , and a department code on table B. > > This works fine from the command link, and also as a declared statement > with > the fields hardcoded.. > > This is the declared version that did work... > > c*exec sql > c* declare c1 cursor for > c* select * > c* > c* from (prdjrnusg a join jpldcusgsm b on > c* a.pjstr# = b.jpstr#) > c* > c* where (a.pjhdat between 37110 and 37115) and > c* a.pjprod in ('1804','1310','2153') and > c* b.rddid = 'LAB' > c*end-exec > > And this is the one that doesn't... I took out all the variables, to test > this... > > And it's very likely (probable) that the reason it's not working, is > because > I might have a coding error, so I'm including most of the relavant parts.. > > Dprdjrnusg E DS extname(PRDJRNUSG) inz > d prefix(a_) > Djpldcusgsm E DS extname(jpldcusgsm) inz > d prefix(b_) > > d sql s 1000 varying > > c/exec sql > c+ declare c1 cursor for DynSqlStmt > c/end-exec > > c eval sql= > c 'Select * ' + > c 'From (prdjrnusg a JOIN '+ > c 'jpldcusgsm b '+ > c 'ON a.pjstr# = b.jpstr#) '+ > c 'WHERE (a.pjhdat between 37110'+ > c ' AND 37115) ' + > c 'and a.pjprod in ' + > c '(''1804'',''1310'',''2153'')' + > c ' and b.rddid = ''LAB'' ' > c/exec sql > c+ Prepare DynSqlStmt from :sql > c/end-exec > > c/EXEC SQL OPEN C1 > c/end-exec > > c dou Done > c/EXEC SQL > c+ FETCH next from c1 INTO :prdjrnusg, :jpldcusgsm > c/END-EXEC > > c if sqlcod <> 0 > c leave > c endif > > > > Below was the orginal non hardcoded version... > c* eval sql= > c* 'Select * ' + > c* 'From (PrdJrnUsg a JOIN '+ > c* 'JPLDCusgsm b '+ > c* 'ON a.pjstr# = b.jpstr#) '+ > > c* 'WHERE (a.pjhdat between '+ > c* %editc(startdateh:'Z') + > c* ' AND ' + > c* %editc(EndDateH:'Z') + ') '+ > > c* if %trim(dspwhere) <> *blanks > c* eval sql = sql + 'AND '+%trim(dspwhere) > c* endif > > Thanks, tim > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.