iT邦幫忙

0

tiptop 觸發其他程式functioin

  • 分享至 

  • xImage

例:
當我執行axmt410程式時,我想觸發cpji201的某個FUNCTION來做事情
請問我應該怎麼在axmt410內 寫這個call cpji201內的某個FUNCTION?

很像跳板的概念

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
souda
iT邦好手 1 級 ‧ 2022-05-05 08:03:06

建議您可以這麼做
直接寫CALL 就好了喔!若要回傳結果再加 RETURNING.
細節就不贅述瞜! 試看看

看更多先前的回應...收起先前的回應...
carry1246 iT邦新手 4 級 ‧ 2022-05-05 08:53:31 檢舉

如果我兩個程式都有MAIN的狀況下?

by2048 iT邦高手 1 級 ‧ 2022-05-05 09:04:21 檢舉

通常共用的FUNCTION都寫成sub or lib
把FUNCTION程式碼 copy到axmt410 去call
來驗證程式是否正確可用

carry1246 iT邦新手 4 級 ‧ 2022-05-05 10:40:37 檢舉

兩個都是MAIN 的狀況下,用P_link連結就會異常 因為有兩個MAIN存在

souda iT邦好手 1 級 ‧ 2022-05-05 10:58:05 檢舉

1.建議您可以參考apmt420 以及 sapmt400 相互的關係!
2.兩支都是MAIN的話就是算Call By Value,請參考apmt420 以及apmt900 相互關係.

1
做工仔人!
iT邦大師 1 級 ‧ 2022-05-05 10:54:53

二個作法:
1.複製貼上:將FUNCTION 從cpji201.4gl 中複製貼到 axmt410 中 , 這種作法適用於這個function 只有這二支程式會用到(function name要改一下會比較好 i201...->t410...).
2.將這個function 獨立成為一支4gl程式,放在csub/4gl 或 clib/4gl 下, 變成為一支獨立的function ->compile ,在會用到的程式link(p_link)時加入這它即可:這個作法適用於這個function 會常被其他程式使用.

至於:要不要加入到p_link的 sub 或 lib中:建議先不要.(因為加入後,系統要rebuild.風險比較高)

另外一種想法 axmt410 已經有 saxmt410 程式搬過來,重點是你要寫一隻沒有MAIN 斷落的 SUB , 再用LINK 關聯起來

0
xuango_chen9999
iT邦新手 5 級 ‧ 2022-05-31 20:16:58

題外話: 先確認cpji201是否有MAIN段,或是可以將其拆成副程式使用。

其實基本是直接用CALL FUNCTION 就可以解決這問題。
那其次該注意的是 p_link要鏈結的到。

我自己比較請向將相同段落拆成副程式,然後改cpji201和axmt410去CALL那一段。
這樣未來也比較不會遇到REBUILD 或 重複 DEFINE問題。

我要發表回答

立即登入回答