iT邦幫忙

0

rebuild

想問,tiptop新增欄位完之後
我要怎麼判斷rebuild是成功還是失敗?
失敗的判定是,中間只要有某一支程式跳出錯誤就算rebuild失敗嗎?
當所謂的 rebuild 先做
標準順序是:
/u2/toppprod/tiptop
clf
asf
1
客製順序是:
/u2/topprod/topcust
clf
csf
1
是這樣嗎?
我也想了解一下正確的步驟,我目前的步驟為
先去p_zta 現有營運中心新增 欄位 還有 DEMO-1 新增欄位
之後去per檔案建立,再去4gl 新增該欄位宣告,在做rebuild
還是應該是 p_zta增加完之後 就要直接rebuild才對
然後rebuild的失敗,是只要中間有一隻程式有跳錯誤出來他就會判斷失敗嗎?

為何不直接撥打鼎新客服呢?又不是用盜版,用力的給他打下去吧,別浪費了正版的軟體服務資源
carry1246 iT邦新手 5 級 ‧ 2021-08-11 10:07:48 檢舉
因為沒有MA,目前是公司再自行維護
技術問題應該不用MA也能提問吧 ~~
1
做工仔人!
iT邦大師 1 級 ‧ 2021-08-11 21:00:40

1.rebuild的選項及順序看起來是對的.只是我認為樓主的心臟有點大顆.(因為rebuild是先compile lib 及 sub後再compile其他模組程式,link的順序也是一樣, 萬一那個前輩程式改一半就存檔跑了,就會有修不完的問題)
2.新增或修改欄位的順序是: ds 營運中心要先新增修改,之後才是其他的營運中心.
3.新增或修改欄位後,要再執行r.s(informix版)或 r.s2(oracle版)
新增欄位的作業順序:
a.p_zta先新增ds再新其他營運中心(請好心一點:全部的營運中心都要新增)
b.r.s或r.s2
c.download ds.sch
d.修改form檔及complie form檔.(如果新增的欄位與form檔無關,則免這個步驟)
e.修改及compile 4gl.
f.link相關程式.

carry1246 iT邦新手 5 級 ‧ 2021-08-12 08:06:45 檢舉

我現在就是第一點的最後發生問題,感覺有人改到一半跑掉,導致我在rebuild時,跳了失敗,接下來我所有的csf與asf有相關聯的通通斷了,我只能一個一個進去r.c2 r.l2 r.f2 r.gf
順帶我想問,如果我新增新的欄位,一定要rebuild嗎?

不用,新增欄位與rebuild完全無關

0
by2048
iT邦研究生 4 級 ‧ 2021-08-12 09:35:29

p_zz先看程式是執行環境是 tiptop 還是客制的topcust
r.s2 至少要做ds 使用中的營運中心,兩個 (所有的營運中心都要新增欄位)
r.c2 的對象是對ds做的
r.f2
r.l2
新增欄位後相關的程式都要r.c2 r.l2
基本上還用不到rebuild

carry1246 iT邦新手 5 級 ‧ 2021-08-12 10:20:40 檢舉

所以當我新增完欄位後,我可以下 grep "ksg_file" *.4gl
*這樣來查詢有相關聯的程式在一一r.c2 r.l2 也可以嗎?

by2048 iT邦研究生 4 級 ‧ 2021-08-12 13:04:02 檢舉

find /u1/topprod -name "*.4gl" -exec grep -H "ksg_file" {} ; >/tmp/outlist.txt
ksg_file相關就這4支程式
asfi301
asfp302
asfi500
q_ksg
r.s2後 r.c2 r.l2

真的需要rebuild 大概是動了top.global才會有這種需求

改用
g5 ksg_file
更方便

0
ksharry
iT邦新手 5 級 ‧ 2021-08-23 13:26:54

建議你先用全新的TABLE做練習會好一點,
通常加完欄位後,我們會找相關的直接做編譯而已,
rebuild會在全域變數或關聯太多才會使用。
rebuild後相關檢查如下(版本不同可能有差異),
(a) 到temp目錄底下,檢查log檔是否有error產生
(b) vi一筆最新的*.out檔
(c) 顯示*.out檔的內容並確認是否有error產生,若有error請排除再繼續
(d) 確認部分程式是否皆可正常執行(如表一),進行新增及查詢測試

我要發表回答

立即登入回答