iT邦幫忙

0

TIPTOP 如何新增欄位並宣告其存在

假設,在p_zta中看到一個new_file ,我想在這個FILE裡面新增欄位
該如何新建並宣告欄位,若我有2-3個營運中心的話,又如何在全部營運中心中新增並宣告這個欄位,如何正確的挖洞與宣告

2 個回答

0
做工仔人!
iT邦大師 1 級 ‧ 2020-12-16 12:33:33

1.先在DS的NEW_FILE新增欄位,新增後系統應該會自動產生: DS.SCH (如果沒有就用 r.s2 ds來產生)
2.其他的營運中心也比照ds的方式增加欄位.而且是"每個營運中心"都要加.
3.修改程式(4gl)及畫面檔(4fd或4ad) ,並重新comiple 及link.

看更多先前的回應...收起先前的回應...
carry1246 iT邦新手 5 級 ‧ 2020-12-16 13:05:20 檢舉

是我先去p_zta 新增欄位嗎?
那個DS是什麼?@@

1.是我先去p_zta 新增欄位嗎? =>yes
2.ds就是 system 這個營運中心.(所有4gl程式中database參考的營運中心)

carry1246 iT邦新手 5 級 ‧ 2020-12-16 14:23:11 檢舉

假設 我有三個營運中心,分別UAPC UBPC UCPC
我要在UAPC NEW_file 新增 一個叫test的欄位
p_zta 下面於單身處 新增 欄位代號、字串長度名稱之後
去到axm/4gl 下面打r.s2 ds 就算成功嗎?
還是有需要下rebuild

建議:先去上技轉課程吧!
因為 您目前的基礎太弱!寫不完.

carry1246 iT邦新手 5 級 ‧ 2020-12-16 15:25:52 檢舉

目前在按照 做工大大1、2步驟在p_zta下select 有看到欄位的名稱出現,剩下就4gl與per的宣告

0
by2048
iT邦新手 1 級 ‧ 2020-12-17 09:25:52

oracle alter table add or modify commit 每個db(營運中心)後
r.s2 要每個db(營運中心)都做
程式改好後
r.c2 XXX 4gl程式
r.f2 XXX per畫面
相關的程式都要重新link
r.l2 XXX link
p_perlang p_per 定義畫面提示.....

看更多先前的回應...收起先前的回應...
carry1246 iT邦新手 5 級 ‧ 2020-12-17 14:42:34 檢舉

我修改4gl完之後,r.c2與r.l2 都編譯的過
但當我執行時卻跑出這串
Program stopped at 'adm_admi200.4gl', line number 395.
FORMS statement error number -8023.
Dom: The attribute currentRow does not belong to node TableColumn.

by2048 iT邦新手 1 級 ‧ 2020-12-17 15:06:25 檢舉

g_dma 陣列宣告有沒有加新欄位
select 內容有沒有加新欄位
admi200.per 欄位的位置
TABLE
ATTRIBUTES
SCREEN RECORD
以上三行要加新欄位

carry1246 iT邦新手 5 級 ‧ 2020-12-17 15:28:53 檢舉

如果以select * from dma_file是有欄位的出現
per檔裡面也有新增了欄位的排列
第一個在程式碼中也有輸入
DEFINE
g_dma DYNAMIC ARRAY OF RECORD #程式變數(Program Variables)
dma01 LIKE dma_file.dma01,
dma02 LIKE dma_file.dma02,
dma03 LIKE dma_file.dma03,

by2048 iT邦新手 1 級 ‧ 2020-12-18 08:46:46 檢舉

select * from dma_file的欄位個數,要跟陣列欄位的個數相符
dma_file如有3個欄位,陣列中也要有3個
正常的select 只會把要顯示的欄位帶入

carry1246 iT邦新手 5 級 ‧ 2020-12-21 11:41:14 檢舉

而且我改完之後
r.c2和r.l2 是過的
但執行上卻無法執行

by2048 iT邦新手 1 級 ‧ 2020-12-22 09:36:33 檢舉

程式是參照DS做r.c2 r.f2 r.l2
資料才是看其他營運中心的
r.s2 ds 沒做,其他都是白做的
建議執行r.d2+ 去看一下程式是標準區/客制區,是不是你改的那支程式

carry1246 iT邦新手 5 級 ‧ 2020-12-25 20:33:01 檢舉

目前新增欄位成功,只剩4gl 裡面如何寫入 可以供人輸入資料與儲存

by2048 iT邦新手 1 級 ‧ 2020-12-28 13:52:02 檢舉

查詢所有的dma01,dma02,dmaacti字串
加上新增欄位(dma01,dma02,dmaacti,test)
因為不管是讀出到陣列或寫入資料庫都要把新加的欄位放進去

我要發表回答

立即登入回答