2014-06-09 1 views
0

이 작업을 수행하는 가장 좋은 방법은 지침이 필요합니다. 나는 '지난 2 개월'동안 매출이 없었던 부분을 보여주는 보고서를 실행했습니다. 지금은 매월 초에 실행될 것이라고 가정 해 봅시다. 나는 이것을 하드 코드로 작성했는데, 이것은 수정 된 보고서에서 실행되도록 자동화 될 필요가있다. 내가 한 일은 4 가지 질문 이었어. 첫 번째 항목은 '판매 가능'및 인벤토리가있는 항목을 선택합니다. 이것을 우리가 쉽게 볼 수있는 것처럼 보입니다.IBM i의 저장 프로 시저가 있습니다.

여기 두 번째 질문은 2 개월 동안 판매 된 품목을 선택합니다. 이 프로 시저가 저장 프로 시저 여야합니까? 그렇다면, 나는 이전에 경험이 없습니다. IBM i에서 SP 사용. 그러나 나에게 SP가 가장 좋은 것으로 보인다.

여기서 우리는 4 개월 또는 5 개월에 판매가 있었을 때 기록을 선택합니다. 이것은 하드 코딩되어 있습니다. 우리는 지난 2 개월 동안 항상이 작업을 수행해야합니다. 프로그램이 6 월에 실행중인 경우 5 월과 4 월을 살펴볼 필요가 있습니다. 따라서 그 해는 적절해야합니다. 우리가 Jan-Feb에서 이것을 실행하지 않는 한 현재 년.

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            
+1

일반적으로 모범 사례는 저장 프로 시저입니다. –

+0

에는 ibm \ i에서 sp를 작성하는 방법에 대한 링크가 있습니까? – Adams

+0

"... 4 번째 또는 5 번째 월 판매량"- 새 월이 시작될 때마다 값이 왼쪽으로 이동한다는 의미입니까? – user2338816

답변

3

IBM i에서 SQL 저장 프로 시저를 만드는 것은 다른 플랫폼에서 저장 프로 시저를 만드는 것과 매우 유사합니다. CREATE PROCEDURE는 SQL 명령입니다. 해당 명령은 녹색 화면 STRSQL 명령, GUI IBM i Navigator 또는 웹용 IBM i Access를 통해 실행할 수 있습니다. 원하는 경우 ODBC 또는 JDBC 연결을 사용할 수도 있습니다.

모든 IBM i 참조 자료는 Knowledge Center에 있습니다. v7.1의 경우 저장 프로 시저에 대한 직접 링크는 http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/sqlp/rbafysproeg.htm?lang=en입니다. 탐색 경로는 IBM i 7.1> 데이터베이스> 프로그래밍> SQL 프로그래밍> 루틴> 저장 프로 시저입니다. .