MIDRANGE dot COM Mailing List Archive



Home » MIDRANGE-L » June 2014

Re: multiple SQL in 1 Crystal report



fixed

i can either place them in the CR or I was going to make a view for each
one and load them in the CR.



On Thu, Jun 26, 2014 at 6:43 PM, Alan Campin <alan0307d@xxxxxxxxx> wrote:

In the existing logic, what do you do the results of the SQL statements,
generate a report? What you need to do is result set and return it in SQL.

Plenty of examples on the web.

Here is one returning an array. A neat little solution is Global Temporary
Files. Build you results in a Global Temp File then return the result.

http://www.mysamplecode.com/2011/07/create-stored-procedure-for-rpgle.html


On Thu, Jun 26, 2014 at 4:36 PM, Alan Campin <alan0307d@xxxxxxxxx> wrote:

What I am not clear on is what you are trying to do. Are you talking
about
separate reports that each use a different SQL or are you talking about a
several different SQL statements that need to run in order to create one
result set?


On Thu, Jun 26, 2014 at 4:32 PM, Alan Campin <alan0307d@xxxxxxxxx>
wrote:

The other nice thing about using the Stored Procedure is that you can
test the stored procedure independently and make sure you are getting
the
correct results.


On Thu, Jun 26, 2014 at 4:30 PM, Alan Campin <alan0307d@xxxxxxxxx>
wrote:

You are incorrect when you say that Crystal cannot do this. I have done
it hundreds of time. You just have Crystal call a stored procedure
written
in RPG passing whatever parameters you need. If better performance,
make
the RPG a Service Program. The Crystal Reports runs, calls the stored
procedure, the stored procedure returns a result set that Crystal
Reports
reads just as if you had run it from an SQL statement. All of this
runs in
real time and the data is in real time.


On Thu, Jun 26, 2014 at 4:23 PM, Vernon Hamberg <
vhamberg@xxxxxxxxxxxxxxx> wrote:

I strongly urge you NOT to put all the SQL processing into CR - that
will perform really really really badly.

All CR should be doing is presentation.

This is a long-standing recommendation regarding CR.

You make it dynamic by passing parameters from CR - that can be done
easily, as I recall - it has been a long time, so someone else can
speak to
that.

Good luck
Vern


On 6/26/2014 5:14 PM, Hoteltravelfundotcom wrote:

but it won't be dynamic data that way. The RPG would need to be run.
the
other issue with making a view is you have to replicate whatever
logic
is
on the logicals that are used.


On Thu, Jun 26, 2014 at 6:04 PM, Alan Campin <alan0307d@xxxxxxxxx>
wrote:

My question? Why? Just create a stored procedure in RPG and return
the
result set to the Crystal Reports. The business logic is where it
belongs,
on the iSeries and presenting is the Crystal.


On Thu, Jun 26, 2014 at 4:00 PM, Hoteltravelfundotcom <
hoteltravelfun@xxxxxxxxx> wrote:

HI I have replicated functions from RPG program into SQL's.

I can make each sql as a VIEW. But would like to load them into the
CR as
one unit. But the CR rejects more than one. But is this a CR issue
or is
there syntax needed to run more than 1 CR.
I think I want to keep these separately coded, as we are showing
orders

in

various forms of progress i.e. Picking, engraving etc. I want in 1
cr for
tedious wise, there are many screens of RPG i have to do and each
time to
make a VIEW is time consuming if there is an alternatives.

SELECT count(*)as Picking
FROM
CCDTA.OEORH48,CCDTA.TRNSTAT2,CCDTA.OETRA99
WHERE OHCOM# = TSCOM# AND OHORD# = TSORD#
AND (otCOM# = OHCOM# AND OTORD#= OHORD# AND ottrnc = 'AQC')
AND OHORDT IN('RTR','INT','SAM') AND TSSTAT IN('ECT','STP')
AND OHREQD = replace(char(current date, iso), '-', '') AND
OHHLDC = ' 'AND OHORD# in(SELECT a.TSORD# FROM ASTCCDTA.TRNSTAT2 a
WHERE a.tsstat IN('AEP','BGE','EAS','REL','STP'));


SELECT count(*) as LaserENG FROM
CCDTA.OEORH48,CCDTA.TRNSTAT2,CCDTA.OETRA99
WHERE OHCOM# = TSCOM# AND OHORD# = TSORD#
AND (otCOM# = OHCOM# AND OTORD#= OHORD# AND ottrnc = 'AQC')
AND TSSTAT IN('EAS','REL','SCC')
AND OHORDT IN('RTR','INT','SAM')
AND OHREQD = replace(char(current date, iso), '-', '') AND OHHLDC
=
''
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing

list

To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L)
mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.





--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.







Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2014 by MIDRANGE dot 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 here. If you have questions about this, please contact