posts - 14,  comments - 22,  trackbacks - 0
            2008年10月7日
          幾經輾轉,我又被安排到了一個新的項目里。
          現(xiàn)在到處缺人啊,我們項目剛完事,所有成員都被別的組瓜分了。

          貌似ERP的產品也很多,SAP的,Oracle的,國內有些名聲的有金蝶,用友,金算盤等等吧。
          我們這個項目是和SAP公司合作,使用SAP的軟件產品。
          貌似SAP這個產品非常復雜。真的是一無所知啊。
          我被分到TR模塊,和SAP公司的顧問,客戶公司的顧問和一些關鍵用戶一起做。
          先熟悉一下TR是什么;
          TR:treasury的簡寫;是SAP ERP系統(tǒng)中Financial Acounting (FI)模塊的一個子模塊,TR模塊又分為Cash Management(TR-CM)、Cash Budget Management(TR-CB)兩部分。
          先看TR-CM部分吧
          SAP Library中說道:
           

          The topic Input contains an introduction to the menu options: lectronic and manual bank statement, payments, lockbox, electronic and manual check deposit, bill of exchange presentation, and memo records.

          The topic Check contains an introduction explaining the transactions used to compare payment advices, calculate interest, and analyze cashed checks.

          Cash concentration is covered in the topic on Management . In this section you will also find the chapters explaining the payment program, payment requests, bill of exchange presentation, memo records, and the telephone list.

          See Tools for information on the distribution of the Cash Management systems.

          The topic Information System deals with, among other things, the liquidity forecast, which you use to obtain information on customer and vendor payment flows. This section also describes the setup of the cash position and the transactions that affect it. The Cash Management application component uses the cash position to reproduce the activity in bank accounts, while activity in subledger accounts is reproduced using the liquidity forecast.

          Additional topics are: Journal of Single Transactions Enter and Changed, Comparison and Checking, and Reconciling Cash Management.

          The Environment topic describes the procedure for adopting market data in the SAP System. You can do this using the file interface, the real-time datafeed, or the table calculation. The documentation also includes information on worklists and changing master records.

          ---直接copy的
          好了,就知道這么多了,下午再聽SAP的顧問的培訓吧。
          posted @ 2008-11-25 11:56 張老三 閱讀(398) | 評論 (0)編輯 收藏

          學習MQ(三) 一個實例。
          現(xiàn)在有兩臺機器A和B,分別安裝了MQ6.0,我要通過MQ進行A和B之間的雙向通信。
          我打算分兩步,第一步:實現(xiàn)A到B的數(shù)據(jù)傳輸。
          在A上:
          1、創(chuàng)建隊列管理器 QM_1001。
          2、創(chuàng)建本地隊列 LQ_1001
          3、創(chuàng)建傳輸隊列 XQ_1001
          4、創(chuàng)建遠程隊列 RQ_1002
          5、創(chuàng)建發(fā)送方通道 1001.1002
          在B上:
          1、創(chuàng)建隊列管理器 QM_1002
          2、創(chuàng)建本地隊列 LQ_1002
          3、創(chuàng)建接收方通道 1001.1002,名字必須與發(fā)送方通道相同。
          4、創(chuàng)建偵聽器,監(jiān)聽1414端口
          這樣,A到B的數(shù)據(jù)傳輸就可以了。
          啟動隊列管理器QM_1001和QM_1002,啟動B上的偵聽器,A上啟動發(fā)送方通道1001.1002,B上的接收方通道也會自動運行;
          第二步:實現(xiàn)B到A的數(shù)據(jù)傳輸
          在B上:
          1、創(chuàng)建傳輸隊列 XQ_1002
          2、創(chuàng)建遠程隊列 RQ_1001
          3、創(chuàng)建發(fā)送方通道 1002.1001
          在A上:
          1、創(chuàng)建接收方通道1002.1001
          2、創(chuàng)建偵聽器,偵聽1414端口
          啟動A上的偵聽器,啟動B上的發(fā)送方通道1002.1001,這樣A上的接收方通道會自動運行。
          這樣,由B到A的數(shù)據(jù)傳輸也能進行了。
          這是我搞定的第一個例子,也是我學習MQ以來感覺有進步的一次。
          下面是腳本。
          在A上:
          * 定義隊列管理器
          crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q QM_1001
          *更改QM的字符集編碼(CCSID)
              ALTER QMGR FORCE CCSID(1381)

          * 定義本地隊列
              DEFINE QLOCAL('LQ_1001') REPLACE +
                     USAGE(normal) +
              DEFPSIST(YES)

          * 定義傳輸隊列
              DEFINE QLOCAL('XQ_1001') REPLACE +
                     USAGE(XMITQ) +
              DEFPSIST(YES) +
              TRIGGER +
              TRIGTYPE(FIRST) +
              INITQ('SYSTEM.CHANNEL.INITQ') +
              PROCESS('') +
              TRIGDATA('1001.1002')

          * 定義遠程隊列
              DEFINE QREMOTE('RQ_1002') +
              DEFPSIST(YES) +
              RNAME('LQ_1002') +
              RQMNAME('QM_1002') +
              XMITQ('XQ_1001')

          * 定義發(fā)送方通道
              DEFINE CHANNEL('1001.1002') +
              CHLTYPE(SDR) +
              TRPTYPE(TCP) +
              CONNAME('192.168.110.35(1414)') +
              XMITQ('XQ_1001') +
              DISCINT(0) +
              SHORTTMR(30) +
              SHORTRTY(999999999) +
              LONGTMR(1200) +
                     LONGRTY(999999999)

          * 定義接收方通道
              DEFINE CHANNEL('1002.1001') +
              CHLTYPE(RCVR) +
              TRPTYPE(TCP)
          * 啟動隊列管理器
          strmqm QM_1001
          * 啟動偵聽器
          runmqlsr -m QM_1001 -t TCP -p 1414 &

          在B上:
          * 定義隊列管理器
          crtmqm -t 5000 -h 1000 -lc -lf 10240 -lp 30 -ls 32 -q QM_1002
          *更改QM的字符集編碼(CCSID)
              ALTER QMGR FORCE CCSID(1381)

          * 定義本地隊列
              DEFINE QLOCAL('LQ_1002') REPLACE +
                     USAGE(normal) +
              DEFPSIST(YES)

          * 定義傳輸隊列
              DEFINE QLOCAL('XQ_1002') REPLACE +
                     USAGE(XMITQ) +
              DEFPSIST(YES) +
              TRIGGER +
              TRIGTYPE(FIRST) +
              INITQ('SYSTEM.CHANNEL.INITQ') +
              PROCESS('') +
              TRIGDATA('1002.1001')

          * 定義遠程隊列
              DEFINE QREMOTE('RQ_1001') +
              DEFPSIST(YES) +
              RNAME('LQ_1001') +
              RQMNAME('QM_1001') +
              XMITQ('XQ_1002')

          * 定義發(fā)送方通道
              DEFINE CHANNEL('1002.1001') +
              CHLTYPE(SDR) +
              TRPTYPE(TCP) +
              CONNAME('192.168.110.21(1414)') +
              XMITQ('XQ_1002') +
              DISCINT(0) +
              SHORTTMR(30) +
              SHORTRTY(999999999) +
              LONGTMR(1200) +
                     LONGRTY(999999999)

          * 定義接收方通道
              DEFINE CHANNEL('1001.1002') +
              CHLTYPE(RCVR) +
              TRPTYPE(TCP)
          * 啟動隊列管理器
          strmqm QM_1002
          * 啟動偵聽器
          runmqlsr -m QM_1002 -t TCP -p 1414 &

          剩下幾個疑問沒有明白
          1、更改QM的字符集編碼是做什么用的?
          2、從資料上看到有個服務器傳輸通道,不知道是做什么用的?

          posted @ 2008-11-12 17:37 張老三 閱讀(3873) | 評論 (3)編輯 收藏
          學習MQ(二)基本概念
          這次簡單羅列一下MQ的基本概念,還有我對它們的理解
          1、queue manager 隊列管理器,這是MQ系統(tǒng)中最上層的一個概念。每一個queue manager都有一個偵聽器,如果它要接受消息的話,每個queue manager中管理多個隊列queue和消息通道m(xù)essage channel。
          2、消息 message,消息是應用程序交給MQ來傳輸?shù)臄?shù)據(jù)。
          3、隊列 queue,隊列是用來存放消息的,把消息存放到隊列中,直到應用程序或其他MQ對象來處理或取走。
          假如,系統(tǒng)A和系統(tǒng)B之間需要數(shù)據(jù)傳輸,那么應用程序在系統(tǒng)A端把消息放到MQ的隊列中,在系統(tǒng)B端的應用程序從隊列中取消息,至于系統(tǒng)A到系統(tǒng)B的數(shù)據(jù)傳輸,那是MQ要做的事情。
          我用到的隊列有三種,本地隊列,遠程隊列,傳輸隊列。其中傳輸隊列也是本地隊列的一種,也叫本地傳輸隊列,另外一個叫普通本地隊列。
          普通本地隊列是消息的暫存區(qū),應用程序可以通過API直接把消息放入本地隊列,或者取走消息,普通本地隊列是占用磁盤空間的,應該是對應磁盤上測某個文件。
          本地傳輸隊列是一個存儲轉發(fā)隊列,資料上是這么說的:比如,我們將某個消息交給MQ系統(tǒng)發(fā)送到遠程主機,而此時網絡發(fā)生故障,MQ將把消息放在傳輸隊列中暫存,當網絡恢復時,再發(fā)往遠端目的地。
          本地傳輸隊列也是要占用磁盤存儲空間的。
          遠程隊列是一個定義,它是目的MQ系統(tǒng)中的本地隊列在本系統(tǒng)中的一個映像,就像定義了一個指針,指向目的系統(tǒng)的本地隊列一樣。它不占用磁盤空間。

          還有模板隊列和動態(tài)隊列的概念,很好理解,模板隊列就是一個模板,定義新的隊列時可以照著這個模板創(chuàng)建。動態(tài)隊列沒用過,聽說很靈活,是MQ的特色。
          4、消息通道 message channel 消息通道是一個邏輯概念,它是隊列管理器之間傳輸消息的管道,它建立在屋里的網絡連接之上。傳說,通道是MQ的精華,由于我沒用過其他的消息中間件產品,也沒有深入使用MQ,所以沒有看出這精華二字體現(xiàn)在何處。
          消息通道是單向的,由發(fā)送方通道和接收方通道組成,而且這兩個必須是同名的。如系統(tǒng)A要發(fā)消息到系統(tǒng)B,那么需要在A中建立發(fā)送方通道,在B建立接收方通道,必須同名。

          另外還有兩種通道,MQI通道和Cluster通道,我沒用,就沒深究,要是以后用到,就深挖一下。
          5、偵聽器 listener 這是在接受消息方必不可少的。它偵聽一個端口(默認為1414,可以更改),等待發(fā)送方的連接。

          posted @ 2008-11-12 17:36 張老三 閱讀(3176) | 評論 (1)編輯 收藏
          聲明:我的文字里出現(xiàn)的MQ,如沒有特殊指明,就是指的IBM的websphere MQ

          以前對MQ一無所知!
          MQ是IBM websphere的系列產品之一,是很好的一個中間件產品。其實我對這列產品并不感興趣,覺得它們沒有很大的是作用。
          也許我是錯的,在一個規(guī)模較大的分布式系統(tǒng)中,遠程數(shù)據(jù)傳輸、數(shù)據(jù)同步是一個很大的問題,很重要,而且必須是可靠的。分布在各地的系統(tǒng)之間進行數(shù)據(jù)傳輸,會因為網絡問題、服務器處理問題變得十分復雜;這樣,如果采用傳統(tǒng)意義上的網絡編程的話,恐怕就達不到預期的效果了。
          而采用消息中間件產品可以解決這樣問題。
          這是我對中間件產品MQ的一些初步的理解。
          posted @ 2008-11-12 17:36 張老三 閱讀(2304) | 評論 (4)編輯 收藏
          好久不能上網了,我哭
          posted @ 2008-11-12 17:35 張老三 閱讀(291) | 評論 (0)編輯 收藏

          今天,應用程序出現(xiàn)問題,一個頁面的表格展現(xiàn)不出來。
          左查右查,發(fā)現(xiàn)是這個表格查詢的數(shù)據(jù)庫視圖不可用導致的。

          針對這個視圖做查詢時,報錯如下:
          SQL0575N  不能使用視圖或具體查詢表
          "DB2ADMIN.VIEW_BRAND_EXPORT_FLAG",因為它已經標記為不可用。  SQLSTATE=51024

          問題1:
          這是什么原因引起的?以前一直用的挺正常,怎么就突然不可用了呢。

          Google了一把,IBM的官方資料有這么一個介紹:加入建立視圖view_a,然后建立角色role_a,分配view_a的查詢權限給role_a,然后把role_a分配給用戶db2admin,之后使用db2admin用戶可以查詢視圖view_a。但是當角色role_a的查詢權限revoke的話,再用db2admin用戶查詢視圖view_a是,就報錯:SQL0575N  不能使用視圖或具體查詢表,因為它已經標記為不可用。  SQLSTATE=51024。詳情見:http://www.ibm.com/developerworks/cn/db2/library/techarticles/dm-0808chengy/index.html
          但是,可以肯定的是我這個問題不是由這個原因引起的。因為我們根本沒有創(chuàng)建角色,我們使用db2admin用戶直接訪問視圖的。
          那問題出在哪兒呢?
          我也不知道,以后再查吧。
          問題2:
          這個問題怎么解決呢?
          我沒有什么好辦法。
          比較菜:drop 該視圖,然后找到建立該視圖的SQL腳本,重新建立一遍,就OK了。

          哪位高人對這個問題有了解,請把問題原因和解決辦法分析一下吧!

          posted @ 2008-10-07 10:56 張老三 閱讀(4106) | 評論 (2)編輯 收藏
          主站蜘蛛池模板: 长泰县| 铜川市| 巴林左旗| 舞钢市| 红原县| 义乌市| 麦盖提县| 宁德市| 贵州省| 弥渡县| 渭源县| 马边| 华亭县| 泊头市| 西城区| 阿拉善盟| 高州市| 新安县| 芜湖市| 收藏| 湟源县| 武汉市| 胶州市| 航空| 平南县| 四子王旗| 两当县| 句容市| 东乌| 开封县| 平塘县| 福安市| 庆城县| 三江| 建湖县| 邹平县| 富平县| 尼勒克县| 凤台县| 太康县| 西宁市|