增加雙檔單身欄位時,
1. 先於 b_fill() Function 找尋相對應的欄位 (如 ta_rvb001),新增欄位。
2. 再至 4fd Browser panel Form Item 找到 ta_rvb001 Add Column After.
3. 最後開啟.global 找尋 ta_rvb001,新增欄位。
如此 FOREACH rvb_curs INTO g_rvb[g_cnt].*   時,欄位就會正確對應。

Genero 發表在 痞客邦 留言(0) 人氣()

一樣的功能,但放在不一樣的地方時,程式碼是不一定能全部 COPY
如訂單單身的  AFTER FIELD oeb04  段,加了以下一段程式碼
SELECT SUM(img10) INTO l_img10
                FROM img_file
                WHERE img01 = g_oeb[l_ac].oeb04 AND img02 IN ('HS02','HS24')
                GROUP BY img01                
                IF  cl_null(l_img10) THEN LET l_img10 = 0 END IF
                LET g_oeb[l_ac].img10 = l_img10               
                DISPLAY BY NAME g_oeb[l_ac].img10

Genero 發表在 痞客邦 留言(0) 人氣()

如果只寫  CLEAR FORM ,只是清除畫面,但欄位的值並沒有清除, 如果是 LET xxx = '' 或  CALL g_imn.clear() 只是清空值,畫面沒有清除。
所以應該二個都要放才OK。
                LET g_tc_ila001 = ''   # 畫面 Field
            # CALL g_imn.clear()     # Grid
                CLEAR FORM

Genero 發表在 痞客邦 留言(0) 人氣()

SQL 排序 先排第一欄 倒排 ,再作第二欄倒排 (由大到小) ,常會這樣寫 ORDER BY 1, 2 DESC
正確寫法  ORDER BY 1 DESC, 2 DESC

Genero 發表在 痞客邦 留言(0) 人氣()

在 FUNCTION 中,如果執行到 RETURN 時,會傳回需要的值,
並立即停止此 FUNCTION 。所以要注意,所加的程式段 與
FUNCTION 中 RETURN 的相對位置。
FUNCTION t600_chk_oga03(p_cmd)
   .........................
   .........................
   # 120507-------------------- (s)
   IF NOT cl_null(g_oga.oga03) AND g_dbs = 'tuoc13' AND
        (   g_oga.oga01[1,4] = 'P122' OR g_oga.oga01[1,4] = 'P125'
         OR g_oga.oga01[1,4] = 'P721' OR g_oga.oga01[1,4] = 'P725')
   THEN
        LET g_oga.oga15='US2'
        SELECT gem02 INTO g_buf FROM gem_file WHERE gem01='US2'
         AND gemacti='Y'         
        LET g_oga.oga14=''
        DISPLAY BY NAME g_oga.oga15,g_oga.oga14
        DISPLAY g_buf TO gem02
   END IF
   # 120507-------------------- (e) 
  
   RETURN TRUE
  # 如果整段加在後面,程式是不會執行的。

Genero 發表在 痞客邦 留言(0) 人氣()

INPUT g_file,g_disk,g_check,g_date,g_vender,g_meno,g_currency
          WITHOUT DEFAULTS FROM FORMONLY.n1,FORMONLY.b,FORMONLY.c,FORMONLY.d1,FORMONLY.v1,FORMONLY.m1,FORMONLY.c1

 AFTER FIELD v1       
             SELECT pmc22 INTO l_pmc22 FROM pmc_file WHERE pmcacti = 'Y' and pmc05 = '1' and pmc01 = g_vender
             IF SQLCA.sqlcode = 100 THEN
                CALL cl_err('','aap-000',1)
                NEXT FIELD v1
             ELSE
                LET g_currency = l_pmc22
             #  DISPLAY BY NAME g_currency
             #  使用 DISPLAY BY NAME 變數 g_currency 需與畫面檔欄位名稱 FORMONLY.c1 相同
                DISPLAY g_currency TO FORMONLY.c1          
             END IF

END INPUT 

Genero 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。