|
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
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.