iT邦幫忙

0

TIPTOP CR報表 如果某張報表使用者反映要BY營運中心來固定樣版語系

H3TIPTOP CR報表 如果某張報表使用者反映要BY營運中心來固定樣版語系

TIPTOP CR報表 如果某張報表使用者反映要BY營運中心來固定樣版語系時,單兵應如何處置?

  1. 請報表程式4gl打開 搜尋 g_rlang 這個變數。
  2. 尋找有LET g_rlang = ... 的程式碼且沒有被註解掉的,
    如果是用VIM開發,我們先祈禱同事或客服沒有使用{...}作註解,
    很辛苦的把整段程式看完才發現大刮弧,真的會七孔流血。
  3. 通常來說會有兩段,第一段是外部呼叫時,會指定要使用哪種語言,如下例:
LET g_pdate = ARG_VAL(1)                 # Get arguments from command line
LET g_towhom = ARG_VAL(2)
LET g_rlang = ARG_VAL(3)
#JS17080401 大陸版資料庫,永遠使用大陸樣板。(台灣因為開發需求,不這樣修改)
IF g_aza.aza26 = '2' THEN
 LET g_rlang = g_aza.aza26
END IF
LET g_bgjob = ARG_VAL(4)
LET g_prtway = ARG_VAL(5)
LET g_copies = ARG_VAL(6)
LET tm.wc = ARG_VAL(7)
LET tm.a  = ARG_VAL(8)
LET tm.b  = ARG_VAL(9)
LET tm.c  = ARG_VAL(10)   
#TQC-610085-begin
#LET g_rpt_name = ARG_VAL(11)   # 外部指定報表名稱
#No:FUN-570264 --start--
LET g_rep_user = ARG_VAL(11)
LET g_rep_clas = ARG_VAL(12)
LET g_template = ARG_VAL(13)
LET g_rpt_name = ARG_VAL(14)  #No:FUN-7C0078
  1. 第二段是查詢條件打完之後它會要塞一些出屎資料
 INITIALIZE tm.* TO NULL            # Default condition
LET tm.a    = 'N'
LET tm.b    = 'N'
LET tm.c    = 0
LET tm.more = 'N'
LET g_pdate = g_today
LET g_rlang = g_lang
 #JS17080401 大陸版資料庫,永遠使用大陸樣板。(台灣因為開發需求,不這樣修改)
IF g_aza.aza26 = '2' THEN
 LET g_rlang = g_aza.aza26
END IF
LET g_bgjob = 'N'
LET g_copies = '1'
  1. 您可以看到程式中,
    一但我偵測到aoos010的功能別為2:中國時,就將g_rlang改成2:中國版,
    如此一來在中國的台幹,不管當前使用的介面是0:繁體中文 或 2:簡體中文
    一律都會依照營運中心的功能別來挑選樣版。

    PS. 當然,您現在知道g_rlang控制了報表樣版是使用哪一個? 您就可以自由設定不同的條件,
    例如:針對開發人員及管理人員可以設定繁體簡體報表(因為我們比較聰明,不是麻瓜!)
    其它人一律得要依照g_aza.aza26的設定來指定語言別,這樣也是可以的。

文末,我們來看看比較"不一樣(爛)"的解法(徒增工作量),
我的同事,祂在繁體中文報表資料夾中放置簡體中文的報表檔案,並且使用如下方式來進行切換的動作。

IF g_aza.aza26 = '0' THEN
      CALL cl_prt_cs3('aoorXXX','aoorXXX',l_sql,l_str)
  ELSE
      CALL cl_prt_cs3('aoorXXX','aoorXXX_ch',l_sql,l_str)
  END IF
p_zaw 的樣板設定檔 變成有兩組 
  第一組 aoorXXX
    0:aoorXXX_0_cust01
    2:aoorXXX_2_cust01
  第二組 apmrXXX_ch
    0:aoorXXX_ch_0_cust01
    2:aoorXXX_ch_2_cust01
  ```
資料夾中變成有四個樣板檔案:
0:繁體中文 |
  aoorXXX_0_cust01.rpt    zh-tw
  aoorXXX_ch_cust01.rpt   zh-cn
2:簡體中文 | 
  aoorXXX_2_cust01.rpt    zh-cn
  aoorXXX_ch_2_cust01.rpt zh-cn
  ```

提供大家當作絕對不要這樣做的參考,因為一但您這樣去做之後,今後當您改完簡體報表之後,
您最少須要拷貝三次更名兩次(每次都要多這樣的工)。

一但你忘記,他對著你說:『你忘記要弄這兩個簡體的檔案囉!』
(超大聲 一邊講一邊翻白眼 我是做不來啦)
而追究根本的原因,只是某個號稱有十幾年經驗的同事,竟然不知道有g_rlang的這個變數可以玩弄!

套句白癡說過的話:『台北到高雄能到就好囉』 但你知道這條路若是九彎十八拐 以後所有人都要九彎十八拐嗎?


尚未有邦友留言

立即登入留言