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

          貌似ERP的產品也很多,SAP的,Oracle的,國內有些名聲的有金蝶,用友,金算盤等等吧。
          我們這個項目是和SAP公司合作,使用SAP的軟件產品。
          貌似SAP這個產品非常復雜。真的是一無所知啊。
          我被分到TR模塊,和SAP公司的顧問,客戶公司的顧問和一些關鍵用戶一起做。
          先熟悉一下TR是什么;
          TR:treasury的簡寫;是SAP ERP系統中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(三) 一個實例。
          現在有兩臺機器A和B,分別安裝了MQ6.0,我要通過MQ進行A和B之間的雙向通信。
          我打算分兩步,第一步:實現A到B的數據傳輸。
          在A上:
          1、創建隊列管理器 QM_1001。
          2、創建本地隊列 LQ_1001
          3、創建傳輸隊列 XQ_1001
          4、創建遠程隊列 RQ_1002
          5、創建發送方通道 1001.1002
          在B上:
          1、創建隊列管理器 QM_1002
          2、創建本地隊列 LQ_1002
          3、創建接收方通道 1001.1002,名字必須與發送方通道相同。
          4、創建偵聽器,監聽1414端口
          這樣,A到B的數據傳輸就可以了。
          啟動隊列管理器QM_1001和QM_1002,啟動B上的偵聽器,A上啟動發送方通道1001.1002,B上的接收方通道也會自動運行;
          第二步:實現B到A的數據傳輸
          在B上:
          1、創建傳輸隊列 XQ_1002
          2、創建遠程隊列 RQ_1001
          3、創建發送方通道 1002.1001
          在A上:
          1、創建接收方通道1002.1001
          2、創建偵聽器,偵聽1414端口
          啟動A上的偵聽器,啟動B上的發送方通道1002.1001,這樣A上的接收方通道會自動運行。
          這樣,由B到A的數據傳輸也能進行了。
          這是我搞定的第一個例子,也是我學習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')

          * 定義發送方通道
              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')

          * 定義發送方通道
              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系統中最上層的一個概念。每一個queue manager都有一個偵聽器,如果它要接受消息的話,每個queue manager中管理多個隊列queue和消息通道message channel。
          2、消息 message,消息是應用程序交給MQ來傳輸的數據。
          3、隊列 queue,隊列是用來存放消息的,把消息存放到隊列中,直到應用程序或其他MQ對象來處理或取走。
          假如,系統A和系統B之間需要數據傳輸,那么應用程序在系統A端把消息放到MQ的隊列中,在系統B端的應用程序從隊列中取消息,至于系統A到系統B的數據傳輸,那是MQ要做的事情。
          我用到的隊列有三種,本地隊列,遠程隊列,傳輸隊列。其中傳輸隊列也是本地隊列的一種,也叫本地傳輸隊列,另外一個叫普通本地隊列。
          普通本地隊列是消息的暫存區,應用程序可以通過API直接把消息放入本地隊列,或者取走消息,普通本地隊列是占用磁盤空間的,應該是對應磁盤上測某個文件。
          本地傳輸隊列是一個存儲轉發隊列,資料上是這么說的:比如,我們將某個消息交給MQ系統發送到遠程主機,而此時網絡發生故障,MQ將把消息放在傳輸隊列中暫存,當網絡恢復時,再發往遠端目的地。
          本地傳輸隊列也是要占用磁盤存儲空間的。
          遠程隊列是一個定義,它是目的MQ系統中的本地隊列在本系統中的一個映像,就像定義了一個指針,指向目的系統的本地隊列一樣。它不占用磁盤空間。

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

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

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

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

          今天,應用程序出現問題,一個頁面的表格展現不出來。
          左查右查,發現是這個表格查詢的數據庫視圖不可用導致的。

          針對這個視圖做查詢時,報錯如下:
          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
          但是,可以肯定的是我這個問題不是由這個原因引起的。因為我們根本沒有創建角色,我們使用db2admin用戶直接訪問視圖的。
          那問題出在哪兒呢?
          我也不知道,以后再查吧。
          問題2:
          這個問題怎么解決呢?
          我沒有什么好辦法。
          比較菜:drop 該視圖,然后找到建立該視圖的SQL腳本,重新建立一遍,就OK了。

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

          posted @ 2008-10-07 10:56 張老三 閱讀(4106) | 評論 (2)編輯 收藏
          AIX默認安裝ksh,默認沒有翻查上一條命令
          而習慣了bash中的翻查上一條命令,使用起AIX的ksh感覺不爽。在不安裝bash的情況下,可以使用下述方法在ksh中實現翻查上一個命令。
          1、在主目錄中 vi .profile
          2、添加一行:export EDITOR=vi
          3、保存.profile,重新登陸。
          這樣就可以使用vi中的上下(j/k)翻查上一條命令了。
          posted @ 2008-08-26 13:16 張老三 閱讀(4036) | 評論 (3)編輯 收藏
          ??????????????
          posted @ 2008-08-18 12:58 張老三 閱讀(281) | 評論 (0)編輯 收藏
          主站蜘蛛池模板: 文化| 石门县| 黄陵县| 明星| 固原市| 四川省| 曲阳县| 文山县| 千阳县| 彰化市| 绥德县| 杨浦区| 扬州市| 莆田市| 延吉市| 霍林郭勒市| 东兰县| 钟祥市| 哈尔滨市| 莱州市| 灵璧县| 肃北| 珠海市| 灵石县| 三穗县| 和林格尔县| 宁河县| 象州县| 托克托县| 康乐县| 沛县| 湖南省| 贵德县| 乌兰浩特市| 化州市| 拜城县| 娄烦县| 常山县| 昌邑市| 偃师市| 井冈山市|