简体   繁体   中英

Stored Procedure on IBM i seems

I need guidance in the best way to do this. I ran a report that shows the part#'s that had no sales for the 'past 2 months'. Let's assume for now that this will run at the beginning of each month. I did this as hard coded and this needs to be automated to run in a crystal report. The way I did this was 4 queries. the first picks the items which are 'Available to sell' and inventoried. It seems we can easily make this into a view.

this second one here picks the items which had sales in the 2 months in question. Should this be a stored procedure? if so, I have no previous exp. with SP on the IBM i. But it seems to me the sp is best.

Here we are selecting records when there has been sales in the 4th or 5th months. this is hard coded. We need to do this for the past 2 months at all times. if the program is being run in June then we need to look at May and April. The year should be accordingly. Current year unless we are running this in Jan-Feb. then we want Nov-Dec 2013 etc.

SELECT                                                                  
  ALL       T01.IAPRT#, T01.IA101, T01.IAPRLC, T01.IARCC1, T01.IARCC2,  
            T01.IARCC3, T01.IARCC4, T01.IARCC5, T01.IARCC6, T01.IARCC7, 
            T01.IARCC8, T01.IARCC9, T01.IARC10, T01.IARC11, T01.IARC12, 
            T01.IARC13, T01.IARC14, T01.IARC15, T02.IQYER#, T02.IQA04,  
            T02.IQA05, (T02.IQA04+T02.IQA05) AS TOT45                   
  FROM      ASTDTA.ICPRT1 T01 LEFT OUTER JOIN                           
            ASTDTA.ICSUM1 T02                                           
  ON        T01.IAPRT# = T02.IQPRT#                                     
  WHERE     IAORDF = '1'                                                
    AND     IARCC6 = 'INV'                                              
    AND     T02.IQYER# = 2014                                           
    AND     T02.IQTSCC = 'I'                                            
    AND     (T02.IQA04+T02.IQA05) <> 0                                  
  ORDER BY  T01.IAPRT# ASC                                              

Creating an SQL stored procedure on IBM i is very similar to creating a stored procedure on any other platform. CREATE PROCEDURE is the SQL command. You can issue that command via the green screen STRSQL command, the GUI IBM i Navigator or IBM i Access for Web. You can also use an ODBC or JDBC connection if you prefer.

All of the IBM i reference material can be located in the Knowledge Center For v7.1, the direct link to the stored procedures is http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/sqlp/rbafysproeg.htm?lang=en The navigation path is IBM i 7.1 > Database > Programming > SQL programming > Routines > Stored procedures.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM