5207-42517.jpg
集團每月工單超領退料明細表●
 sql_str += " select '"+para1+"' X1,tlf905 X2,to_char(tlf06,'yyyy/mm/dd') X3,tlf906 X4,tlf62 X5,tlf01 X6,ima02 X7,ima021 X8,(tlf10*tlf907*(-1)) X9, USERNAME X10 ";
   sql_str += " from "+para1+".ima_file,"+para1+".tlf_file,"+para1+".sfp_file,ds.STAFF_file ";
   sql_str += " where ima01 = tlf01 and tlf13 in ('asfi512','asfi527') and tlf907 <> 0  AND year(tlf06) LIKE '"+para2+"' AND month(tlf06) LIKE '"+para3+"' ";

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

5207-42191.jpg
●集團呆滯庫存明細統計表●
 

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

5207-42192.jpg
●GPM資料維護作業● 
   

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

 
FUNCTION i901_out()
DEFINE
    l_i             LIKE type_file.num5,    #No.FUN-680136 SMALLINT
    sr              RECORD
        tc_votea01       LIKE tc_votea_file.tc_votea01,   #單據編號
tc_votea02       LIKE tc_votea_file.tc_votea02,   #
tc_votea03       LIKE tc_votea_file.tc_votea03,   #
tc_voteb02       LIKE tc_voteb_file.tc_voteb02,   #
tc_voteb03       LIKE tc_voteb_file.tc_voteb03,   #
tc_voteb04       LIKE tc_voteb_file.tc_voteb04    #單據編號
        #end No:FUN-550019
       END RECORD,
    l_name          LIKE type_file.chr20,  #External(Disk) file name  #No.FUN-680136 VARCHAR(20)
    l_za05          LIKE za_file.za05,     #No.FUN-680136 VARCHAR(40)
    l_azi03         LIKE azi_file.azi03,   #No.FUN-710091
     #MOD-530329
    l_wc            STRING                 #TQC-760033 add
    IF cl_null(g_votea.tc_votea01) THEN
       CALL cl_err('','9057',0) RETURN
    END IF
    IF cl_null(g_wc) THEN
       LET g_wc =" tc_votea01='",g_votea.tc_votea01,"'"       #TQC-760033 modify
       LET g_wc2=" 1=1 "   #TQC-760033 modify
    END IF
     #MOD-530329(end)
    CALL cl_wait()
    SELECT zo02 INTO g_company FROM zo_file WHERE zo01 = g_lang
    SELECT zz05 INTO g_zz05 FROM zz_file WHERE zz01 = g_prog   #TQC-760033 add
    #No.FUN-710091   --begin
    CALL cl_del_data(l_table)
     LET g_sql="INSERT INTO ",g_cr_db_str CLIPPED,l_table CLIPPED,  #TQC-780049
               " VALUES(?,?,?,?,?,?)"
    PREPARE insert_prep FROM g_sql
    IF STATUS THEN
       CALL cl_err("insert_prep:",STATUS,1) EXIT PROGRAM
    END IF
    #No.FUN-710091   --end
    LET g_sql = "SELECT tc_votea01,tc_votea02,tc_votea03,tc_voteb02,tc_voteb03,tc_voteb04",   
                " FROM tc_votea_file,tc_voteb_file",
                " WHERE tc_voteb01 = tc_votea01 AND ",g_wc CLIPPED, 
                "   AND ",g_wc2 CLIPPED
    LET g_sql = g_sql CLIPPED," ORDER BY 1,2"  #No.FUN-710091
    PREPARE i901_p1 FROM g_sql                # RUNTIME 編譯
    IF STATUS THEN CALL cl_err('i901_p1',STATUS,0) END IF
    #end No:FUN-550019
    DECLARE i901_co                         # CURSOR
        CURSOR FOR i901_p1
    FOREACH i901_co INTO sr.*
        IF SQLCA.sqlcode THEN
            CALL cl_err('foreach:',SQLCA.sqlcode,1)
            EXIT FOREACH
            END IF
        EXECUTE insert_prep USING sr.*  #No.FUN-710091 
    END FOREACH
    #No.FUN-710091  --begin
    #是否列印選擇條件
    #將cl_wcchp轉換後的g_wc放到l_wc,不要改變原來g_wc的值,不然第二次執行會有問題
    IF g_zz05 = 'Y' THEN
       CALL cl_wcchp(g_wc,'tc_votea01,tc_votea02,tc_votea03,tc_voteb02,tc_voteb03,tc_voteb04')                 
            RETURNING l_wc
    ELSE
       LET l_wc = ' '
    END IF
    LET g_str = l_wc CLIPPED ,";",g_prog CLIPPED        #TQC-760033  #MOD-7C0150
    LET g_sql ="SELECT * FROM ",g_cr_db_str CLIPPED,l_table CLIPPED
    LET g_prog="cxxi901"   #MOD-7C0150
    CALL cl_prt_cs3('cxxi901','cxxi901',g_sql,g_str)
  # FINISH REPORT i901_rep   #No.FUN-710091 
    CLOSE i901_co
    ERROR ""
END FUNCTION
FUNCTION i901_set_entry(p_cmd)
  DEFINE p_cmd   LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)
    IF p_cmd = 'a' AND ( NOT g_before_input_done ) THEN
      CALL cl_set_comp_entry("tc_votea01,tc_votea02,tc_votea03",TRUE)
      CALL cl_set_comp_entry("tc_voteaconf",FALSE)
    END IF
END FUNCTION
FUNCTION i901_set_no_entry(p_cmd)
  DEFINE p_cmd   LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)
    IF p_cmd = 'u' AND g_chkey = 'N' AND ( NOT g_before_input_done ) THEN
       CALL cl_set_comp_entry("tc_votea01,tc_voteaconf",FALSE)
       CALL cl_set_comp_entry("tc_votea02,tc_votea03,tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti",TRUE)    #No.FUN-610018
    END IF
END FUNCTION
FUNCTION i901_set_entry_b(p_cmd)
  DEFINE p_cmd   LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)
    CALL cl_set_comp_entry("tc_voteb02,tc_voteb03,tc_voteb04",TRUE)    #No.FUN-610018
END FUNCTION
FUNCTION i901_set_no_entry_b(p_cmd)
  DEFINE p_cmd   LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)
 CALL cl_set_comp_entry("tc_votebuser,tc_votebmodu,tc_votebdate,tc_voteaconf",FALSE)    #No.FUN-610018
END FUNCTION

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

 
FUNCTION i901_delall()
   SELECT COUNT(*) INTO g_cnt FROM tc_voteb_file
    WHERE tc_voteb01 = g_votea.tc_votea01
   IF g_cnt = 0 THEN                   # 未輸入單身資料, 是否取消單頭資料
      CALL cl_getmsg('9044',g_lang) RETURNING g_msg
      ERROR g_msg CLIPPED
      DELETE FROM tc_votea_file WHERE tc_votea01 = g_votea.tc_votea01
   END IF
END FUNCTION
 
FUNCTION i901_b_askkey()
    DEFINE l_wc2           STRING
    CONSTRUCT l_wc2 ON tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti,tc_votebuser,tc_votebmodu,tc_votebdate
            FROM s_voteb[1].tc_voteb02,s_voteb[1].tc_voteb03,s_voteb[1].tc_voteb04,
                 s_voteb[1].tc_votebacti,s_voteb[1].tc_votebuser,
                 s_voteb[1].tc_votebmodu,s_voteb[1].tc_votebdate
              #No:FUN-580031 --start--     HCN
              BEFORE CONSTRUCT
                 CALL cl_qbe_init()
              #No:FUN-580031 --end--       HCN
      #FUN-650191 add--begin
      { ON ACTION controlp
          CASE
            WHEN INFIELD(tc_voteb02) 
              CALL cl_init_qry_var()
              LET g_qryparam.state = 'c'
              LET g_qryparam.form ="q_voteb"
              CALL cl_create_qry() RETURNING g_qryparam.multiret
              DISPLAY g_qryparam.multiret TO tc_voteb02
              NEXT FIELD tc_voteb02
           END CASE
      }
      #FUN-650191 add--end
       ON IDLE g_idle_seconds
          CALL cl_on_idle()
          CONTINUE CONSTRUCT
 
      ON ACTION about         #MOD-4C0121
         CALL cl_about()      #MOD-4C0121
 
      ON ACTION help          #MOD-4C0121
         CALL cl_show_help()  #MOD-4C0121
 
      ON ACTION controlg      #MOD-4C0121
         CALL cl_cmdask()     #MOD-4C0121
 
 
                #No:FUN-580031 --start--     HCN
                 ON ACTION qbe_select
                   CALL cl_qbe_select()
                 ON ACTION qbe_save
                   CALL cl_qbe_save()
                #No:FUN-580031 --end--       HCN
    END CONSTRUCT
    IF INT_FLAG THEN
       LET INT_FLAG = 0
       RETURN
    END IF
    CALL i901_b_fill(l_wc2)
END FUNCTION
FUNCTION i901_b_fill(p_wc2)
   DEFINE p_wc2   STRING
   LET g_sql = "SELECT tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti,tc_votebuser,tc_votebmodu,tc_votebdate",
               " FROM tc_voteb_file",    #No:FUN-550019
               " WHERE tc_voteb01 ='",g_votea.tc_votea01,"' "   #單頭
   #No:9506
   IF NOT cl_null(p_wc2) THEN
      LET g_sql=g_sql CLIPPED," AND ",p_wc2 CLIPPED
   END IF
   LET g_sql=g_sql CLIPPED," ORDER BY 1 "
   #No:9506
   DISPLAY g_sql
   PREPARE i901_pb FROM g_sql
   DECLARE voteb_cs CURSOR FOR i901_pb
   CALL g_voteb.clear()
   LET g_cnt = 1
   FOREACH voteb_cs INTO g_voteb[g_cnt].*   #單身 ARRAY 填充
       IF SQLCA.sqlcode THEN
          CALL cl_err('foreach:',SQLCA.sqlcode,1)
          EXIT FOREACH
       END IF
   
       LET g_cnt = g_cnt + 1
       IF g_cnt > g_max_rec THEN
          CALL cl_err( '', 9035, 0 )
          EXIT FOREACH
       END IF
   END FOREACH
   CALL g_voteb.deleteElement(g_cnt)
 
   LET g_rec_b=g_cnt-1
   DISPLAY g_rec_b TO FORMONLY.cn2
   LET g_cnt = 0
END FUNCTION
FUNCTION i901_copy()
   DEFINE l_newno     LIKE tc_votea_file.tc_votea01,
  l_newdate   LIKE tc_votea_file.tc_voteadate,
          l_oldno     LIKE tc_votea_file.tc_votea01,
          l_old_votea01     LIKE tc_votea_file.tc_votea01,
          l_old_votea02     LIKE tc_votea_file.tc_votea02,
          l_old_votea03     LIKE tc_votea_file.tc_votea03
   DEFINE li_result   LIKE type_file.num5    #No.FUN-680136 SMALLINT
   DEFINE l_sql STRING
   IF s_shut(0) THEN RETURN END IF
   IF g_votea.tc_votea01 IS NULL THEN
      CALL cl_err('',-400,0)
      RETURN
   END IF
  
   LET l_newdate = g_today
   LET g_before_input_done = FALSE
   
   CALL i901_set_entry('a')
   CALL cl_set_head_visible("","YES")           #No.FUN-6B0032 
   INPUT l_newno FROM tc_votea01
        #No:MOD-540182 --start--
       BEFORE INPUT
          CALL cl_set_docno_format("tc_votea01")
        #No:MOD-540182 ---end---
       AFTER FIELD tc_votea01
            #No:MOD-540182 --start--
           CALL s_check_no("apm",l_newno,"","6","tc_votea_file","tc_votea01","") RETURNING li_result,l_newno
      
           DISPLAY l_newno TO tc_votea01
           
           IF (NOT li_result) THEN
              LET g_votea.tc_votea01 = g_votea_o.tc_votea01
              NEXT FIELD tc_votea01
           END IF
    {
         #DISPLAY g_smy.smydesc TO smydesc           #單據名稱
         #No:MOD-540182 ---end---
         AFTER FIELD tc_votea02
          
           IF cl_null(l_old_votea02) THEN
              NEXT FIELD tc_votea02
           END IF
          # DISPLAY l_old_votea02 TO tc_votea02
 AFTER FIELD tc_votea03
        
           IF cl_null(l_old_votea03) THEN
              NEXT FIELD tc_votea03
           END IF
}
BEGIN WORK #No:7857
           CALL s_auto_assign_no("cxx",l_newno,l_newdate,"","tc_votea_file","tc_votea01","","","") RETURNING li_result,l_newno
           IF (NOT li_result) THEN
              NEXT FIELD tc_votea01
           END IF
           DISPLAY l_newno TO tc_votea01
    LET l_sql =" SELECT CASE WHEN sno < 10                 THEN substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||'00'||to_char(sno) ",
           "                   WHEN sno > 10  AND sno < 100  THEN substr('",g_votea.tc_votea01 CLIPPED,"',1,12)|| '0'||to_char(sno) ",
           "               ELSE substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||to_char(sno) ",
           "               END sno ",
           " FROM ( ",
           " SELECT TO_NUMBER(SUBSTR(NVL(MAX(tc_votea01),'XPUBX-'||to_char(sysdate,'yymmdd')||'000'),-3,3))+1 sno ",
   " FROM ds.tc_votea_file WHERE tc_votea01 LIKE substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||'%' )"
     
    #MESSAGE l_sql
    PREPARE i901_snoc FROM l_sql                # RUNTIME 編譯
    IF STATUS THEN CALL cl_err('i901_snoc',STATUS,0) END IF
    #end No:FUN-550019
    DECLARE i901_cs_snoc                        # CURSOR
        CURSOR FOR i901_snoc
    FOREACH i901_cs_snoc INTO l_newno
        IF SQLCA.sqlcode THEN
            CALL cl_err('foreach:',SQLCA.sqlcode,1)
            EXIT FOREACH
            END IF
    END FOREACH
    MESSAGE l_newno
    DISPLAY l_newno TO tc_votea01
          # DISPLAY l_old_votea03 TO tc_votea03
       ON ACTION controlp
          CASE
             WHEN INFIELD(tc_votea01) #單據編號
                 LET g_t1=s_get_doc_no(l_newno)         #No:MOD-540182
                 CALL q_smycust(FALSE,FALSE,g_t1,'APM','6') RETURNING g_t1 #TQC-670008
                 LET l_newno=g_t1                       #No:MOD-540182
                DISPLAY BY NAME l_newno
                NEXT FIELD tc_votea01
              OTHERWISE EXIT CASE
           END CASE
 
      ON IDLE g_idle_seconds
         CALL cl_on_idle()
         CONTINUE INPUT
 
     ON ACTION about         #MOD-4C0121
        CALL cl_about()      #MOD-4C0121
 
     ON ACTION help          #MOD-4C0121
        CALL cl_show_help()  #MOD-4C0121
 
     ON ACTION controlg      #MOD-4C0121
        CALL cl_cmdask()     #MOD-4C0121
 
 
   END INPUT
   IF INT_FLAG THEN
      LET INT_FLAG = 0
      DISPLAY BY NAME g_votea.tc_votea01
       #No:MOD-540182 --start--
      ROLLBACK WORK
       #No:MOD-540182 ---end---
      RETURN
   END IF
   DROP TABLE y
   SELECT * FROM tc_votea_file         #單頭複製
       WHERE tc_votea01 = g_votea.tc_votea01
       INTO TEMP y
   UPDATE y
       SET tc_votea01   = l_newno,  #新的鍵值
 #  tc_votea02   = '',  #新的鍵值
   tc_votea03   = 'U',  #新的鍵值
           tc_voteauser = g_user,   #資料所有者
           tc_voteamodu = NULL,     #資料修改者
           tc_voteadate = g_today,  #資料建立日期
           tc_voteaacti = 'Y',       #有效資料
   tc_voteaconf = 'N'       #有效資料
   INSERT INTO tc_votea_file SELECT * FROM y
   #No:MOD-540182 --start--
   IF SQLCA.SQLCODE THEN
      CALL cl_err3("ins","tc_votea_file","","",SQLCA.SQLCODE,"","",1)  #No.FUN-660129
      ROLLBACK WORK
      RETURN
   ELSE
      COMMIT WORK
   END IF
   #No:MOD-540182 ---end---
   DROP TABLE x
   SELECT * FROM tc_voteb_file         #單身複製
       WHERE tc_voteb01 = g_votea.tc_votea01
       INTO TEMP x
   IF SQLCA.SQLCODE THEN
      CALL cl_err3("ins","x","","",SQLCA.SQLCODE,"","",1)  #No.FUN-660129
      RETURN
   END IF
   UPDATE x SET tc_voteb01 = l_newno
   INSERT INTO tc_voteb_file SELECT * FROM x
   IF SQLCA.SQLCODE THEN
      ROLLBACK WORK #No:7857
      CALL cl_err3("ins","tc_voteb_file","","",SQLCA.SQLCODE,"","",1)  #No.FUN-660129
      RETURN
   ELSE
       COMMIT WORK #No:7857
   END IF
   LET g_cnt=SQLCA.SQLERRD[3]
   MESSAGE '(',g_cnt USING '##&',') ROW of (',l_newno,') O.K'
 
   LET l_oldno = g_votea.tc_votea01
   SELECT ROWID,tc_votea_file.* INTO g_votea_rowid,g_votea.* FROM tc_votea_file WHERE tc_votea01 = l_newno
   CALL i901_u()
   CALL i901_b()
   SELECT ROWID,tc_votea_file.* INTO g_votea_rowid,g_votea.* FROM tc_votea_file WHERE tc_votea01 = l_oldno
   CALL i901_show()
END FUNCTION

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

 
FUNCTION i901_z()

   IF g_votea.tc_votea01 IS NULL THEN RETURN END IF

    SELECT * INTO g_votea.* FROM tc_votea_file WHERE tc_votea01=g_votea.tc_votea01

   IF g_votea.tc_voteaconf='X' THEN CALL cl_err(g_votea.tc_voteaconf,'9024',0) RETURN END IF

   IF g_votea.tc_voteaconf='N' THEN RETURN END IF

   IF NOT cl_confirm('axm-109') THEN RETURN END IF

   BEGIN WORK

   OPEN i901_cl USING g_votea_rowid

   #--Add exception check during OPEN CURSOR

   IF STATUS THEN

      CALL cl_err("OPEN i255_cl:", STATUS, 1)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   FETCH i901_cl INTO g_votea.*               # 鎖住將被更改或取消的資料

   

   IF SQLCA.SQLCODE THEN

      CALL cl_err(g_votea.tc_votea01,SQLCA.SQLCODE,0)          #資料被他人LOCK

      ROLLBACK WORK

      RETURN

   END IF

   LET g_success = 'Y'

   LET g_votea.tc_votea03 = 'U'

    UPDATE tc_votea_file SET tc_voteaconf='N',tc_votea03  = g_votea.tc_votea03

    WHERE tc_votea01 = g_votea.tc_votea01

 

   IF SQLCA.sqlcode OR SQLCA.sqlerrd[3]=0 THEN

      CALL cl_err3("upd","tc_votea_file",g_votea.tc_votea01,"","apm-266","","upd tc_votea_file",1)  #No.FUN-660129

      LET g_success='N'

   END IF

 

   IF g_success = 'Y' THEN

      LET g_votea.tc_voteaconf='N'

      COMMIT WORK

      DISPLAY BY NAME g_votea.tc_voteaconf

      DISPLAY BY NAME g_votea.tc_votea03

   ELSE

      LET g_votea.tc_voteaconf='Y'

      DISPLAY BY NAME g_votea.tc_voteaconf

      DISPLAY BY NAME g_votea.tc_votea03

      ROLLBACK WORK

   END IF

   

   IF g_votea.tc_voteaconf='X' THEN LET g_chr='Y'  ELSE LET g_chr='N' END IF  #No.MOD-480339

   IF g_votea.tc_votea03='R'   THEN LET g_chr2='Y' ELSE LET g_chr2='N' END IF

   CALL cl_set_field_pic(g_votea.tc_voteaconf,g_chr2,"","",g_chr,"")             #No.MOD-480339

   ### END  No.MOD-4A0344

END FUNCTION

FUNCTION i901_x()

   IF s_shut(0) THEN

      RETURN

   END IF

   IF g_votea.tc_votea01 IS NULL THEN

      CALL cl_err("",-400,0)

      RETURN

   END IF

   BEGIN WORK

   OPEN i901_cl USING g_votea_rowid

   IF STATUS THEN

      CALL cl_err("OPEN i901_cl:", STATUS, 1)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   FETCH i901_cl INTO g_votea.*               # 鎖住將被更改或取消的資料

   IF SQLCA.sqlcode THEN

      CALL cl_err(g_votea.tc_votea01,SQLCA.sqlcode,0)          #資料被他人LOCK

      ROLLBACK WORK

      RETURN

   END IF

   LET g_success = 'Y'

   CALL i901_show()

   IF cl_exp(0,0,g_votea.tc_voteaacti) THEN                   #確認一下

      LET g_chr=g_votea.tc_voteaacti

      IF g_votea.tc_voteaacti = 'Y' THEN

         LET g_votea.tc_voteaacti = 'N'

         LET g_votea.tc_voteaconf='X'

      ELSE

         LET g_votea.tc_voteaacti = 'Y'

 LET g_votea.tc_voteaconf='N'

      END IF

      UPDATE tc_votea_file SET tc_voteaacti = g_votea.tc_voteaacti,tc_voteamodu=g_user,tc_voteadate=g_today,tc_voteaconf = g_votea.tc_voteaconf

      WHERE tc_votea01 = g_votea.tc_votea01

      IF SQLCA.sqlcode OR SQLCA.SQLERRD[3]=0 THEN

         CALL cl_err3("upd","t_votea_file",g_votea.tc_votea01,"",SQLCA.sqlcode,"","",1)  #No.FUN-660129

         LET g_votea.tc_voteaacti = g_chr

         LET g_success='N'

      END IF

   END IF

   CLOSE i901_cl

   IF g_success = 'Y' THEN

      COMMIT WORK

      DISPLAY BY NAME g_votea.tc_voteaconf

      DISPLAY BY NAME g_votea.tc_votea03

   ELSE

      LET g_votea.tc_voteaconf = g_votea_t.tc_voteaconf

      LET g_votea.tc_votea03   = g_votea_t.tc_votea03

      DISPLAY BY NAME g_votea.tc_voteaconf

      DISPLAY BY NAME g_votea.tc_votea03

      ROLLBACK WORK

   END IF

   SELECT tc_voteaacti,tc_voteamodu,tc_voteadate,tc_voteaconf

     INTO g_votea.tc_voteaacti,g_votea.tc_voteamodu,g_votea.tc_voteadate,g_votea.tc_voteaconf FROM tc_votea_file

    WHERE tc_votea01 = g_votea.tc_votea01

   DISPLAY BY NAME g_votea.tc_voteaacti,g_votea.tc_voteamodu,g_votea.tc_voteadate,g_votea.tc_voteaconf

 

   IF g_votea.tc_voteaconf ='X' THEN LET g_chr='Y'  ELSE LET g_chr='N'  END IF

   IF g_votea.tc_votea03 ='R'   THEN LET g_chr2='Y' ELSE LET g_chr2='N' END IF

   CALL cl_set_field_pic(g_votea.tc_voteaconf,g_chr2,"","",g_chr,"")             #No.MOD-480339

END FUNCTION

FUNCTION i901_r()

   IF s_shut(0) THEN

      RETURN

   END IF

   IF g_votea.tc_votea01 IS NULL THEN

      CALL cl_err("",-400,0)

      RETURN

   END IF

   SELECT * INTO g_votea.* FROM tc_votea_file

    WHERE tc_votea01 = g_votea.tc_votea01

  #FUN-730060  --begin--------

  #IF g_votea.tc_voteaacti ='N' THEN    #檢查資料是否為無效

  #   CALL cl_err(g_votea.tc_votea01,'mfg1000',0)

  #   RETURN

  #END IF

  #FUN-730060  --end----------

   BEGIN WORK

   OPEN i901_cl USING g_votea_rowid

   IF STATUS THEN

      CALL cl_err("OPEN i901_cl:", STATUS, 1)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   FETCH i901_cl INTO g_votea.*               # 鎖住將被更改或取消的資料

   IF SQLCA.sqlcode THEN

      CALL cl_err(g_votea.tc_votea01,SQLCA.sqlcode,0)          #資料被他人LOCK

      ROLLBACK WORK

      RETURN

   END IF

   CALL i901_show()

   IF cl_delh(0,0) THEN                   #確認一下

      DELETE FROM tc_votea_file WHERE tc_votea01 = g_votea.tc_votea01

      DELETE FROM tc_voteb_file WHERE tc_voteb01 = g_votea.tc_votea01

      CLEAR FORM

      CALL g_voteb.clear()

      OPEN i901_count

      FETCH i901_count INTO g_row_count

      DISPLAY g_row_count TO FORMONLY.cnt

      OPEN i901_cs

      IF g_curs_index = g_row_count + 1 THEN

         LET g_jump = g_row_count

         CALL i901_fetch('L')

      ELSE

         LET g_jump = g_curs_index

         LET mi_no_ask = TRUE      #No:FUN-6A0067

         CALL i901_fetch('/')

      END IF

   END IF

   CLOSE i901_cl

   COMMIT WORK

END FUNCTION

#單身

FUNCTION i901_b()

DEFINE

    l_ac_t          LIKE type_file.num5,                #未取消的ARRAY CNT  #No.FUN-680136 SMALLINT

    l_n             LIKE type_file.num5,                #檢查重複用  #No.FUN-680136 SMALLINT

    l_cnt           LIKE type_file.num5,                #檢查重複用  #No.FUN-680136 SMALLINT

    l_lock_sw       LIKE type_file.chr1,                #單身鎖住否  #No.FUN-680136 VARCHAR(1)

    p_cmd           LIKE type_file.chr1,                #處理狀態  #No.FUN-680136 VARCHAR(1)

    l_misc          LIKE gef_file.gef01,                #No.FUN-680136 VARCHAR(04)

    l_allow_insert  LIKE type_file.num5,                #可新增否  #No.FUN-680136 SMALLINT

    l_allow_delete  LIKE type_file.num5                 #可刪除否  #No.FUN-680136 SMALLINT

    LET g_action_choice = ""

    IF s_shut(0) THEN

       RETURN

    END IF

    IF g_votea.tc_votea01 IS NULL THEN

       RETURN

    END IF

    SELECT * INTO g_votea.* FROM tc_votea_file

     WHERE tc_votea01=g_votea.tc_votea01

    IF g_votea.tc_voteaacti ='N' THEN    #檢查資料是否為無效

     CALL cl_err(g_votea.tc_votea01,'mfg1000',0)

     RETURN

    END IF

    IF g_votea.tc_voteaconf ='X' THEN    #檢查資料是否為作廢

      CALL cl_err(g_votea.tc_voteaconf,'9024',0)

     RETURN

    END IF

    CALL cl_opmsg('b')

    LET g_forupd_sql = " SELECT tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti,tc_votebuser,tc_votebmodu,tc_votebdate",

                       " FROM tc_voteb_file",

                       " WHERE tc_voteb01 = ? AND tc_voteb02 = ? FOR UPDATE NOWAIT "

    DECLARE i901_bcl CURSOR FROM g_forupd_sql      # LOCK CURSOR

    LET l_allow_insert = cl_detail_input_auth("insert")

    LET l_allow_delete = cl_detail_input_auth("delete")

    INPUT ARRAY g_voteb WITHOUT DEFAULTS FROM s_voteb.*

          ATTRIBUTE(COUNT=g_rec_b,MAXCOUNT=g_max_rec,UNBUFFERED,

                    INSERT ROW=l_allow_insert,DELETE ROW=l_allow_delete,

                    APPEND ROW=l_allow_insert)

        BEFORE INPUT

           DISPLAY "BEFORE INPUT!"

           IF g_rec_b != 0 THEN

              CALL fgl_set_arr_curr(l_ac)

           END IF

        BEFORE ROW

           DISPLAY "BEFORE ROW!"

           LET p_cmd = ''

           LET l_ac = ARR_CURR()

           LET l_lock_sw = 'N'            #DEFAULT

           LET l_n  = ARR_COUNT()

           BEGIN WORK

           OPEN i901_cl USING g_votea_rowid

           IF STATUS THEN

              CALL cl_err("OPEN i901_cl:", STATUS, 1)

              CLOSE i901_cl

              ROLLBACK WORK

              RETURN

           END IF

           FETCH i901_cl INTO g_votea.*            # 鎖住將被更改或取消的資料

           IF SQLCA.sqlcode THEN

              CALL cl_err(g_votea.tc_votea01,SQLCA.sqlcode,0)      # 資料被他人LOCK

              CLOSE i901_cl

              ROLLBACK WORK

              RETURN

           END IF

           IF g_rec_b >= l_ac THEN

              LET p_cmd='u'

              LET g_voteb_t.* = g_voteb[l_ac].*  #BACKUP

              LET g_voteb_o.* = g_voteb[l_ac].*  #BACKUP

              OPEN i901_bcl USING g_votea.tc_votea01,g_voteb_t.tc_voteb02

              IF STATUS THEN

                 CALL cl_err("OPEN i901_bcl:", STATUS, 1)

                 LET l_lock_sw = "Y"

              ELSE

                 FETCH i901_bcl INTO g_voteb[l_ac].*

                 IF SQLCA.sqlcode THEN

                    CALL cl_err(g_voteb_t.tc_voteb02,SQLCA.sqlcode,1)

                    LET l_lock_sw = "Y"

                 END IF

              END IF

              CALL cl_show_fld_cont()     #FUN-550037(smin)

              CALL i901_set_entry_b(p_cmd)    #No.FUN-610018

              CALL i901_set_no_entry_b(p_cmd) #No.FUN-610018

           END IF

        BEFORE INSERT

           DISPLAY "BEFORE INSERT!"

           LET l_n = ARR_COUNT()

           LET p_cmd='a'

           

           INITIALIZE g_voteb[l_ac].* TO NULL     

           LET g_voteb[l_ac].tc_voteb03 = ''           #Body default

           LET g_voteb[l_ac].tc_voteb04 = ''           #Body default

           LET g_voteb[l_ac].tc_votebacti = 'Y'           #Body default

           LET g_voteb[l_ac].tc_votebuser = g_user           #Body default

           LET g_voteb[l_ac].tc_votebmodu = g_user           #Body default

           LET g_voteb[l_ac].tc_votebdate = g_today           #Body default

           LET g_voteb_t.* = g_voteb[l_ac].*         #新輸入資料

           LET g_voteb_o.* = g_voteb[l_ac].*         #新輸入資料

           IF l_ac > 1 THEN # 修改日期初始值

              LET g_voteb[l_ac].tc_votebdate = g_voteb[l_ac-1].tc_votebdate

           ELSE

              LET g_voteb[l_ac].tc_votebdate = g_votea.tc_voteadate

           END IF

           CALL cl_show_fld_cont()         #FUN-550037(smin)

           CALL i901_set_entry_b(p_cmd)    #No.FUN-610018

           CALL i901_set_no_entry_b(p_cmd) #No.FUN-610018

           

        NEXT FIELD tc_voteb02 # 開始進入單身輸入欄位

        AFTER INSERT

           DISPLAY "AFTER INSERT!"

           IF INT_FLAG THEN

              CALL cl_err('',9001,0)

              LET INT_FLAG = 0

              CANCEL INSERT

           END IF

          #-----No:FUN-670099-----

          # IF cl_null(g_voteb[l_ac].voteb03) THEN

          #    LET g_voteb[l_ac].voteb03 = " "

          # END IF

          #-----No:FUN-670099 END-----

           INSERT INTO tc_voteb_file(tc_voteb01,tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti,tc_votebuser,tc_votebmodu,tc_votebdate)  

           VALUES(g_votea.tc_votea01,g_voteb[l_ac].tc_voteb02,g_voteb[l_ac].tc_voteb03,g_voteb[l_ac].tc_voteb04,

                  g_voteb[l_ac].tc_votebacti,g_voteb[l_ac].tc_votebuser,g_voteb[l_ac].tc_votebmodu,g_voteb[l_ac].tc_votebdate)

           IF SQLCA.sqlcode THEN

              CALL cl_err3("ins","tc_voteb_file",g_votea.tc_votea01,g_voteb[l_ac].tc_voteb02,SQLCA.sqlcode,"","",1)  #No.FUN-660129

              CANCEL INSERT

           ELSE

              MESSAGE 'INSERT O.K'

              COMMIT WORK

              LET g_rec_b=g_rec_b+1

              DISPLAY g_rec_b TO FORMONLY.cn2

           END IF

        BEFORE FIELD tc_voteb02                       #default 序號

           IF g_voteb[l_ac].tc_voteb02 IS NULL OR g_voteb[l_ac].tc_voteb02 = 0 THEN

             

                SELECT MAX(tc_voteb02)+1

                INTO g_voteb[l_ac].tc_voteb02

                FROM tc_voteb_file

               WHERE tc_voteb01 = g_votea.tc_votea01

              IF g_voteb[l_ac].tc_voteb02 IS NULL THEN

                 LET g_voteb[l_ac].tc_voteb02 = 1

              END IF

           END IF

        AFTER FIELD tc_voteb02                        #check 序號是否重複

           IF NOT cl_null(g_voteb[l_ac].tc_voteb02 ) THEN

              IF g_voteb[l_ac].tc_voteb02  != g_voteb_t.tc_voteb02 

                 OR g_voteb_t.tc_voteb02  IS NULL THEN

                 SELECT count(*)

                   INTO l_n

                   FROM tc_voteb_file

                  WHERE tc_voteb01 = g_votea.tc_votea01

                    AND tc_voteb02 = g_voteb[l_ac].tc_voteb02 

                 IF l_n > 0 THEN

                    CALL cl_err('',-239,0)

                    LET g_voteb[l_ac].tc_voteb02 = g_voteb_t.tc_voteb02 

                    NEXT FIELD tc_voteb02 

                 END IF

              END IF

           END IF

    #FUN-650191 --begin--begin

      AFTER FIELD tc_voteb03                      #廠商編號

         IF cl_null(g_voteb[l_ac].tc_voteb03) THEN    

                  NEXT FIELD tc_voteb03 

         END IF

            LET g_voteb_o.tc_voteb03  = g_voteb[l_ac].tc_voteb03 

         

    #FUN-650191 --add--end

        BEFORE FIELD tc_voteb04

           CALL i901_set_entry_b(p_cmd)

 

        AFTER FIELD tc_voteb04                

           IF cl_null(g_voteb[l_ac].tc_voteb03) THEN  

                 NEXT FIELD tc_voteb03  

           END IF

           LET g_voteb_o.tc_voteb04 = g_voteb[l_ac].tc_voteb04  

              

         AFTER FIELD tc_votebacti    #保稅否

            IF g_voteb[l_ac].tc_votebacti NOT MATCHES '[YyNn]' THEN

               NEXT FIELD tc_votebacti

            END IF

            LET g_voteb_o.tc_voteb03 = g_voteb[l_ac].tc_votebacti

CALL i901_set_no_entry_b(p_cmd)

        BEFORE DELETE                      #是否取消單身

           DISPLAY "BEFORE DELETE"

           IF g_voteb_t.tc_voteb02 > 0 AND g_voteb_t.tc_voteb02 IS NOT NULL THEN

              IF NOT cl_delb(0,0) THEN

                 CANCEL DELETE

              END IF

              IF l_lock_sw = "Y" THEN

                 CALL cl_err("", -263, 1)

                 CANCEL DELETE

              END IF

              DELETE FROM tc_voteb_file

               WHERE tc_voteb01 = g_votea.tc_votea01

                 AND tc_voteb02 = g_voteb_t.tc_voteb02

              IF SQLCA.sqlcode THEN

                 CALL cl_err3("del","tc_voteb_file",g_votea.tc_votea01,g_voteb_t.tc_voteb02,SQLCA.sqlcode,"","",1)  #No.FUN-660129

                 ROLLBACK WORK

                 CANCEL DELETE

              END IF

              LET g_rec_b=g_rec_b-1

              DISPLAY g_rec_b TO FORMONLY.cn2

           END IF

           COMMIT WORK

        ON ROW CHANGE

           IF INT_FLAG THEN

              CALL cl_err('',9001,0)

              LET INT_FLAG = 0

              LET g_voteb[l_ac].* = g_voteb_t.*

              CLOSE i901_bcl

              ROLLBACK WORK

              EXIT INPUT

           END IF

           IF l_lock_sw = 'Y' THEN

              CALL cl_err(g_voteb[l_ac].tc_voteb02,-263,1)

              LET g_voteb[l_ac].* = g_voteb_t.*

           ELSE

              #-----No:FUN-670099-----

             # IF cl_null(g_voteb[l_ac].pmx10) THEN

             #    LET g_voteb[l_ac].pmx10 = " "

             # END IF

              #-----No:FUN-670099 END-----

              UPDATE tc_voteb_file SET 

tc_voteb02=g_voteb[l_ac].tc_voteb02,

tc_voteb03=g_voteb[l_ac].tc_voteb03,

tc_voteb04=g_voteb[l_ac].tc_voteb04,

tc_votebacti=g_voteb[l_ac].tc_votebacti,

tc_votebuser=g_voteb[l_ac].tc_votebuser,

tc_votebmodu=g_voteb[l_ac].tc_votebmodu,

tc_votebdate=g_voteb[l_ac].tc_votebdate

               WHERE tc_voteb01=g_votea.tc_votea01

                 AND tc_voteb02=g_voteb_t.tc_voteb02

              IF SQLCA.sqlcode OR SQLCA.sqlerrd[3] = 0 THEN

                 CALL cl_err3("upd","tc_voteb_file",g_votea.tc_votea01,g_voteb_t.tc_voteb02,SQLCA.sqlcode,"","",1)  #No.FUN-660129

                 LET g_voteb[l_ac].* = g_voteb_t.*

              ELSE

                 MESSAGE 'UPDATE O.K'

                 COMMIT WORK

              END IF

           END IF

        AFTER ROW

           DISPLAY  "AFTER ROW!!"

           LET l_ac = ARR_CURR()

           LET l_ac_t = l_ac

           IF INT_FLAG THEN

              CALL cl_err('',9001,0)

              LET INT_FLAG = 0

              IF p_cmd = 'u' THEN

                 LET g_voteb[l_ac].* = g_voteb_t.*

              END IF

              CLOSE i901_bcl

              ROLLBACK WORK

              EXIT INPUT

           END IF

           CLOSE i901_bcl

           COMMIT WORK

        ON ACTION CONTROLO                        #沿用所有欄位

           IF INFIELD(pmx02) AND l_ac > 1 THEN

              LET g_voteb[l_ac].* = g_voteb[l_ac-1].*

              LET g_voteb[l_ac].tc_voteb02 = g_rec_b + 1

              NEXT FIELD tc_voteb02

           END IF

        ON ACTION CONTROLZ

           CALL cl_show_req_fields()

        ON ACTION CONTROLG

           CALL cl_cmdask()

        ON ACTION controlp

        {   CASE

           #FUN-650191 add--begin

             WHEN INFIELD(tc_voteb03) 

               CALL cl_init_qry_var()

               LET g_qryparam.form ="q_voteb" #MOD-530533

               LET g_qryparam.default1 = g_voteb[l_ac].tc_voteb03

               CALL cl_create_qry() RETURNING g_voteb[l_ac].tc_voteb03

               DISPLAY BY NAME g_voteb[l_ac].tc_voteb03

               NEXT FIELD tc_voteb03

               OTHERWISE EXIT CASE

            END CASE

       }

      ON ACTION CONTROLF

         CALL cl_set_focus_form(ui.Interface.getRootNode()) RETURNING g_fld_name,g_frm_name #Add on 040913

         CALL cl_fldhelp(g_frm_name,g_fld_name,g_lang) #Add on 040913

 

      ON IDLE g_idle_seconds

         CALL cl_on_idle()

         CONTINUE INPUT

 

      ON ACTION about         #MOD-4C0121

         CALL cl_about()      #MOD-4C0121

 

      ON ACTION help          #MOD-4C0121

         CALL cl_show_help()  #MOD-4C0121

 

      ON ACTION controls                           #No.FUN-6B0032             

         CALL cl_set_head_visible("","AUTO")       #No.FUN-6B0032

    END INPUT

   #start FUN-5B0136

    LET g_votea.tc_voteamodu = g_user

    LET g_votea.tc_voteadate = g_today

    UPDATE tc_votea_file SET tc_voteamodu = g_votea.tc_voteamodu,tc_voteadate = g_votea.tc_voteadate

     WHERE tc_votea01 = g_pmw.tc_votea01

    DISPLAY BY NAME g_votea.tc_voteamodu,g_votea.tc_voteadate

   #end FUN-5B0136

    CLOSE i901_bcl

    COMMIT WORK

    CALL i901_delall()

END FUNCTION

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

 
FUNCTION i901_tc_votea01(p_cmd)  #單據編號

   DEFINE l_smydesc LIKE smy_file.smydesc,

          l_smyacti LIKE smy_file.smyacti,

          l_t1      LIKE oay_file.oayslip, #No.FUN-680136 VARCHAR(5)  

          p_cmd     LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)

 

   LET g_errno = ' '

   LET l_t1 = s_get_doc_no(g_votea.tc_votea01)        #No:MOD-540182

   IF g_votea.tc_votea01 IS NULL THEN

      LET g_errno = 'E'

      LET l_smydesc=NULL

   ELSE

      SELECT smydesc,smyacti

        INTO l_smydesc,l_smyacti

        FROM smy_file WHERE smyslip = l_t1

      IF SQLCA.sqlcode THEN

         LET g_errno = 'E'

         LET l_smydesc = NULL

      ELSE

         IF l_smyacti matches'[nN]' THEN

            LET g_errno = 'E'

         END IF

      END IF

   END IF

   IF cl_null(g_errno) OR p_cmd = 'd' THEN

    #  DISPLAY l_smydesc TO FORMONLY.smydesc

   END IF

END FUNCTION

  

FUNCTION i901_q()

   LET g_row_count = 0

   LET g_curs_index = 0

   CALL cl_navigator_setting( g_curs_index, g_row_count )

   MESSAGE ""

   CALL cl_opmsg('q')

   CLEAR FORM

   CALL g_voteb.clear()

   DISPLAY ' ' TO FORMONLY.cnt

   CALL i901_cs()

   IF INT_FLAG THEN

      LET INT_FLAG = 0

      INITIALIZE g_votea.* TO NULL

      RETURN

   END IF

   OPEN i901_cs                            # 從DB產生合乎條件TEMP(0-30秒)

   IF SQLCA.sqlcode THEN

      CALL cl_err('',SQLCA.sqlcode,0)

      INITIALIZE g_votea.* TO NULL

   ELSE

      OPEN i901_count

      FETCH i901_count INTO g_row_count

      DISPLAY g_row_count TO FORMONLY.cnt

      CALL i901_fetch('F')                  # 讀出TEMP第一筆並顯示

   END IF

END FUNCTION

FUNCTION i901_fetch(p_flag)

DEFINE

   p_flag          LIKE type_file.chr1                  #處理方式  #No.FUN-680136 VARCHAR(1)

   CASE p_flag

      WHEN 'N' FETCH NEXT     i901_cs INTO g_votea_rowid,g_votea.tc_votea01

      WHEN 'P' FETCH PREVIOUS i901_cs INTO g_votea_rowid,g_votea.tc_votea01

      WHEN 'F' FETCH FIRST    i901_cs INTO g_votea_rowid,g_votea.tc_votea01

      WHEN 'L' FETCH LAST     i901_cs INTO g_votea_rowid,g_votea.tc_votea01

      WHEN '/'

            IF (NOT mi_no_ask) THEN      #No:FUN-6A0067

                CALL cl_getmsg('fetch',g_lang) RETURNING g_msg

                LET INT_FLAG = 0

                PROMPT g_msg CLIPPED,': ' FOR g_jump

                   ON IDLE g_idle_seconds

                      CALL cl_on_idle()

 

      ON ACTION about         #MOD-4C0121

         CALL cl_about()      #MOD-4C0121

 

      ON ACTION help          #MOD-4C0121

         CALL cl_show_help()  #MOD-4C0121

 

      ON ACTION controlg      #MOD-4C0121

         CALL cl_cmdask()     #MOD-4C0121

 

                END PROMPT

                IF INT_FLAG THEN

                   LET INT_FLAG = 0

                   EXIT CASE

                END IF

            END IF

            FETCH ABSOLUTE g_jump i901_cs INTO g_votea_rowid,g_votea.tc_votea01

            LET mi_no_ask = FALSE     #No:FUN-6A0067

   END CASE

   IF SQLCA.sqlcode THEN

      CALL cl_err(g_votea.tc_votea01,SQLCA.sqlcode,0)

      INITIALIZE g_votea.* TO NULL               #No.FUN-6A0162

      RETURN

   ELSE

      CASE p_flag

         WHEN 'F' LET g_curs_index = 1

         WHEN 'P' LET g_curs_index = g_curs_index - 1

         WHEN 'N' LET g_curs_index = g_curs_index + 1

         WHEN 'L' LET g_curs_index = g_row_count

         WHEN '/' LET g_curs_index = g_jump

      END CASE

      CALL cl_navigator_setting( g_curs_index, g_row_count )

      DISPLAY g_curs_index TO FORMONLY.idx                    #No:FUN-4A0089

   END IF

   SELECT * INTO g_votea.* FROM tc_votea_file WHERE ROWID = g_votea_rowid

   IF SQLCA.sqlcode THEN

      CALL cl_err3("sel","tc_votea_file","","",SQLCA.sqlcode,"","",1)  #No.FUN-660129

      INITIALIZE g_votea.* TO NULL

      RETURN

   END IF

   LET g_data_owner = g_votea.tc_voteauser      #FUN-4C0056 add

  # LET g_data_group = g_votea.tc_voteagrup      #FUN-4C0056 add

   CALL i901_show()

END FUNCTION

#將資料顯示在畫面上

FUNCTION i901_show()

   LET g_votea_t.* = g_votea.*                #保存單頭舊值

   LET g_votea_o.* = g_votea.*                #保存單頭舊值

   DISPLAY BY NAME g_votea.tc_votea01,g_votea.tc_votea02,g_votea.tc_votea03,

                   g_votea.tc_voteauser,g_votea.tc_voteamodu,

                   g_votea.tc_voteadate,g_votea.tc_voteaacti,g_votea.tc_voteaconf

 

   CALL i901_tc_votea01('d')

   CALL i901_b_fill(g_wc2)                 #單身

   CALL cl_show_fld_cont()                   #No:FUN-550037 hmf

   IF g_votea.tc_voteaconf ='X' THEN LET g_chr='Y'  ELSE LET g_chr='N'  END IF

   IF g_votea.tc_votea03 ='R'   THEN LET g_chr2='Y' ELSE LET g_chr2='N' END IF

   CALL cl_set_field_pic(g_votea.tc_voteaconf,g_chr2,"","",g_chr,"")

END FUNCTION

#FUN-580120

FUNCTION i901_y_chk()

DEFINE l_cnt       LIKE type_file.num5    #No.FUN-680136 SMALLINT

   LET g_success = 'Y'

   IF s_shut(0) THEN RETURN END IF

   SELECT * INTO g_votea.* FROM tc_votea_file WHERE ROWID = g_votea_rowid

   IF SQLCA.SQLCODE THEN

      CALL cl_err('','mfg-009',1)

      LET g_success = 'N'

      RETURN

   END IF

   IF cl_null(g_votea.tc_votea01) THEN 

    CALL cl_err('',-400,0) 

 LET g_success = 'N'   

 RETURN 

   END IF

   IF g_votea.tc_voteaconf='X' THEN

      CALL cl_err('','9024',0)

      LET g_success = 'N'

      RETURN

   END IF

   IF g_votea.tc_voteaconf='Y' THEN

      CALL cl_err('','9023',0)

      LET g_success = 'N'

      RETURN

   END IF

   IF g_votea.tc_voteaacti= 'N' THEN

       CALL cl_err('','mfg0301',1)

       LET g_success = 'N'

       RETURN

   END IF

   LET l_cnt =0

   #控管單身未輸入資料

   SELECT COUNT(*) INTO l_cnt

     FROM tc_voteb_file

    WHERE tc_voteb01 = g_votea.tc_votea01

   IF SQLCA.SQLCODE THEN

      CALL cl_err('','mfg-009',1)

      LET g_success = 'N'

      RETURN

   END IF

   IF l_cnt = 0 OR l_cnt IS NULL THEN

      CALL cl_err('','mfg-009',1)

      LET g_success = 'N'

      RETURN

   END IF

END FUNCTION

FUNCTION i901_y_upd()

   DEFINE  l_cnt           LIKE type_file.num5    #No.FUN-680136 SMALLINT

   LET g_success = 'Y'

   IF NOT cl_confirm('axm-108') THEN RETURN END IF

   BEGIN WORK

   OPEN i901_cl USING g_votea_rowid

   IF STATUS THEN

      LET g_success = 'N'

      CALL cl_err("OPEN i901_cl:", STATUS, 1)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   FETCH i901_cl INTO g_votea.*               # 對DB鎖定

   

   IF SQLCA.SQLCODE THEN

      LET g_success = 'N'

      CALL cl_err(g_votea.tc_votea01,SQLCA.SQLCODE,0)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   UPDATE tc_votea_file SET tc_voteaconf = 'Y' WHERE tc_votea01 = g_votea.tc_votea01

   IF SQLCA.SQLCODE OR SQLCA.sqlerrd[3]=0 THEN

      CALL cl_err3("upd","tc_votea_file",g_votea.tc_votea01,"","apm-266","","upd tc_votea_file",1)  #No.FUN-660129

      LET g_success='N'

   END IF

   IF g_votea.tc_votea03 = 'U' THEN

      

      LET g_votea.tc_votea03 = 'R'

      UPDATE tc_votea_file SET tc_votea03 = 'U' WHERE tc_votea01 != g_votea.tc_votea01

      IF SQLCA.SQLCODE THEN

         CALL cl_err3("upd","tc_votea_file",g_votea.tc_votea01,"","apm-266","","upd tc_votea_file",1)  #No.FUN-660129

         LET g_success = 'N'

      END IF

      UPDATE tc_votea_file SET tc_votea03 = g_votea.tc_votea03 WHERE tc_votea01 = g_votea.tc_votea01

      IF SQLCA.SQLCODE THEN

         CALL cl_err3("upd","tc_votea_file",g_votea.tc_votea01,"","apm-266","","upd tc_votea_file",1)  #No.FUN-660129

         LET g_success = 'N'

      END IF

   END IF

   IF g_success = 'Y' THEN

      SELECT COUNT(*) INTO g_cnt FROM tc_voteb_file

       WHERE tc_voteb01 = g_votea.tc_votea01

      IF g_cnt = 0 OR SQLCA.SQLCODE THEN

         CALL cl_err(' ','aws-065',0)

         LET g_success = 'N'

      END IF

   END IF

  

      IF g_success='Y' THEN

         LET g_votea.tc_votea03='R'

         LET g_votea.tc_voteaconf='Y'

         COMMIT WORK

         DISPLAY BY NAME g_votea.tc_votea03

         DISPLAY BY NAME g_votea.tc_voteaconf

      ELSE

         LET g_votea.tc_voteaconf='N'

         LET g_success = 'N'

         ROLLBACK WORK

      END IF

   #CKP

   SELECT * INTO g_votea.* FROM tc_votea_file WHERE tc_votea01 = g_votea.tc_votea01

   IF g_votea.tc_voteaconf ='X' THEN LET g_chr='Y'  ELSE LET g_chr='N'  END IF

   IF g_votea.tc_votea03 ='R'   THEN LET g_chr2='Y' ELSE LET g_chr2='N' END IF

   CALL cl_set_field_pic(g_votea.tc_voteaconf,g_chr2,"",g_chr3,g_chr,g_votea.tc_voteaacti)

END FUNCTION

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

 
#start FUN-640063 add

FUNCTION i901_bp_refresh()

  DISPLAY ARRAY g_voteb TO s_voteb.* ATTRIBUTE(COUNT=g_rec_b,UNBUFFERED)

     BEFORE DISPLAY

        EXIT DISPLAY

     ON IDLE g_idle_seconds

        CALL cl_on_idle()

        CONTINUE DISPLAY

  END DISPLAY

END FUNCTION

#end FUN-640063 add

FUNCTION i901_a()

   DEFINE li_result   LIKE type_file.num5    #No.FUN-680136 SMALLINT

   DEFINE ls_doc      STRING

   DEFINE li_inx      LIKE type_file.num10   #No.FUN-680136 INTEGER

   DEFINE l_newno     LIKE tc_votea_file.tc_votea01

   DEFINE l_sql      STRING

   MESSAGE ""

   CLEAR FORM

   CALL g_voteb.clear()

   LET g_wc = NULL #MOD-530329

   LET g_wc2= NULL #MOD-530329

   IF s_shut(0) THEN

      RETURN

   END IF

   INITIALIZE g_votea.* LIKE tc_votea_file.*             #DEFAULT 設定

   LET g_votea01_t = NULL

   IF g_ydate IS NULL THEN

      LET g_votea.tc_votea01 = NULL

      LET g_votea.tc_voteadate = g_today

   ELSE                                          #使用上筆資料值

      LET g_votea.tc_votea01   = g_sheet            #採購詢價單別

      LET g_votea.tc_voteadate = g_ydate            #收貨日期

   END IF

   #預設值及將數值類變數清成零

   LET g_votea_t.* = g_votea.*

   LET g_votea_o.* = g_votea.*

   

   CALL cl_opmsg('a')

   WHILE TRUE

      LET g_votea.tc_voteauser = g_user

      LET g_votea.tc_voteamodu = g_user

      LET g_votea.tc_voteadate = g_today

      LET g_votea.tc_voteaacti = 'Y'              #資料有效

      LET g_votea.tc_voteaconf = 'N'              #資料有效

      CALL i901_i("a")                   #輸入單頭

      IF INT_FLAG THEN                   #使用者不玩了

         INITIALIZE g_votea.* TO NULL

         LET INT_FLAG = 0

         CALL cl_err('',9001,0)

         EXIT WHILE

      END IF

      IF cl_null(g_votea.tc_votea01) THEN       # KEY 不可空白

         CONTINUE WHILE

      END IF

      #輸入後, 若該單據需自動編號, 並且其單號為空白, 則自動賦予單號

      BEGIN WORK

       #No:MOD-540182 --start--

       CALL s_auto_assign_no("cxx",g_votea.tc_votea01,g_votea.tc_voteadate,"","tc_votea_file","tc_votea01","","","") RETURNING li_result,g_votea.tc_votea01

      

      IF (NOT li_result) THEN

         CONTINUE WHILE

      END IF

      MESSAGE g_votea.tc_votea01

      LET l_sql =" SELECT CASE WHEN sno < 10                 THEN substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||'00'||to_char(sno) ",

           "                   WHEN sno > 10  AND sno < 100  THEN substr('",g_votea.tc_votea01 CLIPPED,"',1,12)|| '0'||to_char(sno) ",

           "               ELSE substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||to_char(sno) ",

           "               END sno ",

           " FROM ( ",

           " SELECT TO_NUMBER(SUBSTR(NVL(MAX(tc_votea01),'XPUBX-'||to_char(sysdate,'yymmdd')||'000'),-3,3))+1 sno ",

   " FROM ds.tc_votea_file WHERE tc_votea01 LIKE substr('",g_votea.tc_votea01 CLIPPED,"',1,12)||'%' )"

     

    #MESSAGE l_sql

    PREPARE i901_sno FROM l_sql                # RUNTIME 編譯

    IF STATUS THEN CALL cl_err('i901_sno',STATUS,0) END IF

    #end No:FUN-550019

    DECLARE i901_cs_sno                        # CURSOR

        CURSOR FOR i901_sno

    FOREACH i901_cs_sno INTO l_newno

        IF SQLCA.sqlcode THEN

            CALL cl_err('foreach:',SQLCA.sqlcode,1)

            EXIT FOREACH

            END IF

    END FOREACH

    MESSAGE l_newno

    LET g_votea.tc_votea01 = l_newno

      DISPLAY BY NAME g_votea.tc_votea01

      INSERT INTO tc_votea_file VALUES (g_votea.*)

      LET g_ydate = g_votea.tc_voteadate                #備份上一筆日期

      #No:MOD-540182 --start--

      #備份上一筆單別

      CALL s_get_doc_no(g_votea.tc_votea01) RETURNING g_sheet

      #No:MOD-540182 ---end---

      IF SQLCA.SQLCODE THEN                     #置入資料庫不成功

         ROLLBACK WORK      #No:7857

         CALL cl_err3("ins","tc_votea_file",g_votea.tc_votea01,"",SQLCA.SQLCODE,"","",1)  #No.FUN-660129

         CONTINUE WHILE

      ELSE

         COMMIT WORK        #No:7857

      END IF

      SELECT ROWID INTO g_votea_rowid FROM tc_votea_file

       WHERE tc_votea01 = g_votea.tc_votea01

      

      LET g_votea01_t = g_votea.tc_votea01        #保留舊值

      LET g_votea_t.* = g_votea.*

      LET g_votea_o.* = g_votea.*

      

       CALL g_voteb.clear()

      LET g_rec_b = 0  #No:MOD-490280

      CALL i901_b()                   #輸入單身

      EXIT WHILE

   END WHILE

END FUNCTION

FUNCTION i901_u()

   IF s_shut(0) THEN

      RETURN

   END IF

   IF g_votea.tc_votea01 IS NULL THEN # KEY 不可為空白

      CALL cl_err('',-400,0)

      RETURN

   END IF

   SELECT * INTO g_votea.* FROM tc_votea_file

    WHERE tc_votea01=g_votea.tc_votea01

   IF g_votea.tc_voteaacti ='N' THEN    #檢查資料是否為無效

      CALL cl_err(g_votea.tc_votea01,'mfg1000',0)

      RETURN

   END IF

   MESSAGE ""

   CALL cl_opmsg('u')

   

   LET g_votea01_t = g_votea.tc_votea01

   

   BEGIN WORK

   OPEN i901_cl USING g_votea_rowid

   IF STATUS THEN

      CALL cl_err("OPEN i901_cl:", STATUS, 1)

      CLOSE i901_cl

      ROLLBACK WORK

      RETURN

   END IF

   FETCH i901_cl INTO g_votea.*                      # 鎖住將被更改或取消的資料

   IF SQLCA.SQLCODE THEN

       CALL cl_err(g_votea.tc_votea01,SQLCA.SQLCODE,0)    # 資料被他人LOCK

       CLOSE i901_cl

       ROLLBACK WORK

       RETURN

   END IF

   CALL i901_show()

   WHILE TRUE

      LET g_votea01_t = g_votea.tc_votea01

      LET g_votea_o.* = g_votea.*

      LET g_votea.tc_voteamodu = g_user

      LET g_votea.tc_voteadate = g_today

      CALL i901_i("u")                      #欄位更改

      IF INT_FLAG THEN

         LET INT_FLAG = 0

         LET g_votea.*=g_votea_t.*

         CALL i901_show()

         CALL cl_err('','9001',0)

         EXIT WHILE

      END IF

      IF g_votea.tc_votea01 != g_votea01_t THEN            # 更改單號

         UPDATE tc_voteb_file SET voteb01 = g_votea.tc_votea01 WHERE tc_voteb01 = g_votea01_t

         IF SQLCA.SQLCODE OR SQLCA.sqlerrd[3] = 0 THEN

            CALL cl_err3("upd","tc_voteb_file",g_votea01_t,"",SQLCA.SQLCODE,"","voteb",1)  #No.FUN-660129

            CONTINUE WHILE

         END IF

      END IF

      UPDATE tc_votea_file SET tc_votea_file.* = g_votea.* WHERE ROWID = g_votea_rowid

      IF SQLCA.SQLCODE OR SQLCA.sqlerrd[3] = 0 THEN

         CALL cl_err3("upd","tc_votea_file","","",SQLCA.SQLCODE,"","",1)  #No.FUN-660129

         CONTINUE WHILE

      END IF

      EXIT WHILE

   END WHILE

   CLOSE i901_cl

   COMMIT WORK

  

  #start FUN-640063 add

   CALL i901_b_fill("1=1")

   CALL i901_bp_refresh()

  #end FUN-640063 add

END FUNCTION

FUNCTION i901_i(p_cmd)

DEFINE

   l_n       LIKE type_file.num5,    #No.FUN-680136 SMALLINT

   p_cmd     LIKE type_file.chr1     #a:輸入 u:更改  #No.FUN-680136 VARCHAR(1)

   DEFINE    li_result   LIKE type_file.num5    #No.FUN-680136 SMALLINT

   IF s_shut(0) THEN

      RETURN

   END IF

   DISPLAY BY NAME g_votea.tc_voteauser,g_votea.tc_voteamodu,g_votea.tc_voteadate,g_votea.tc_voteaacti,g_votea.tc_voteaconf

   CALL cl_set_head_visible("","YES")           #No.FUN-6B0032

 

   INPUT BY NAME g_votea.tc_votea01,g_votea.tc_votea02,g_votea.tc_votea03 WITHOUT DEFAULTS

 

      BEFORE INPUT

         LET g_before_input_done = FALSE

         CALL i901_set_entry(p_cmd)

         CALL i901_set_no_entry(p_cmd)

         LET g_before_input_done = TRUE

          #No:MOD-540182 --start--

         CALL cl_set_docno_format("tc_votea01") 

          #No:MOD-540182 ---end---

      AFTER FIELD tc_votea01

         #單號處理方式:

         #在輸入單別後, 至單據性質檔中讀取該單別資料;

         #若該單別不需自動編號, 則讓使用者自行輸入單號, 並檢查其是否重複

         #若要自動編號, 則單號不用輸入, 直到單頭輸入完成後, 再行自動指定單號

          #No:MOD-540182 --start--

         IF NOT cl_null(g_votea.tc_votea01) THEN

            CALL s_check_no("apm",g_votea.tc_votea01,g_votea01_t,"6","tc_votea_file","tc_votea01","") RETURNING li_result,g_votea.tc_votea01

            DISPLAY BY NAME g_votea.tc_votea01

            IF (NOT li_result) THEN

               LET g_votea.tc_votea01=g_votea_o.tc_votea01

               NEXT FIELD tc_votea01

            END IF

          #  DISPLAY g_smy.smydesc TO smydesc

            IF g_votea.tc_votea01 != g_votea01_t OR g_votea01_t IS NULL THEN

               #進行輸入之單號檢查

               #No:MOD-540182 --start-- 暫時先mark,因為此支程式裡面沒有改成動態編碼長度

#              CALL s_mfgchno(g_votea.tc_votea01) RETURNING g_i,g_votea.tc_votea01

#              DISPLAY BY NAME g_votea.tc_votea01

#              IF NOT g_i THEN

#                 NEXT FIELD tc_votea01

#              END IF

                #No:MOD-540182 ---end---

#              SELECT count(*) INTO l_n FROM tc_votea_file

#               WHERE tc_votea01 = g_votea.tc_votea01

#              IF l_n > 0 THEN   #單據編號重複

#                 CALL cl_err(g_votea.tc_votea01,-239,0)

#                 LET g_votea.tc_votea01 = g_votea01_t

#                 DISPLAY BY NAME g_votea.tc_votea01

#                 NEXT FIELD tc_votea01

#              END IF

            END IF

         END IF

       #No:MOD-540182 ---end---

      AFTER FIELD tc_votea02                 

         IF cl_null(g_votea.tc_votea02) THEN

            LET g_votea_o.tc_votea02 = g_votea.tc_votea02

    NEXT FIELD tc_votea02

         END IF

  AFTER FIELD tc_votea03                 

         #IF cl_null(g_votea.tc_votea03) THEN

         #   LET g_votea_o.tc_votea03 = g_votea.tc_votea03

 #   NEXT FIELD tc_votea03

         #END IF

        IF NOT cl_null(g_votea.tc_votea03) THEN

        IF g_votea.tc_votea03 NOT MATCHES "[UR]" OR g_votea.tc_votea03 IS NULL

         THEN CALL cl_err(g_votea.tc_votea03,'cxx1001',0)

              LET g_votea_o.tc_votea03 = g_votea.tc_votea03

              DISPLAY BY NAME g_votea.tc_votea03

              NEXT FIELD tc_votea03

         END IF

        END IF

      ON ACTION CONTROLZ

         CALL cl_show_req_fields()

      ON ACTION CONTROLG

         CALL cl_cmdask()

      ON ACTION CONTROLF                  #欄位說明

         CALL cl_set_focus_form(ui.Interface.getRootNode()) RETURNING g_fld_name,g_frm_name #Add on 040913

         CALL cl_fldhelp(g_frm_name,g_fld_name,g_lang) #Add on 040913

 

      ON ACTION controlp

         CASE

            WHEN INFIELD(tc_votea01) #單據編號

                 LET g_t1 = s_get_doc_no(g_votea.tc_votea01)     #No:MOD-540182

                 CALL q_smycust(FALSE,FALSE,g_t1,'APM','6') RETURNING g_t1 #TQC-670008

                 LET g_votea.tc_votea01 = g_t1                 #No:MOD-540182

                 DISPLAY BY NAME g_votea.tc_votea01

                 CALL i901_tc_votea01('d')

                 NEXT FIELD tc_votea01

            OTHERWISE EXIT CASE

          END CASE

      ON IDLE g_idle_seconds

         CALL cl_on_idle()

         CONTINUE INPUT

 

      ON ACTION about         #MOD-4C0121

         CALL cl_about()      #MOD-4C0121

 

      ON ACTION help          #MOD-4C0121

         CALL cl_show_help()  #MOD-4C0121

 

   END INPUT

END FUNCTION

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

 
# Prog. Version..: '5.00.04-07.12.21(00009)'     #

# Pattern name...: cxxi901.4gl

# Descriptions...: ●職工福利委員會公告資料維護作業●

# Date & Author..: 2011/01/05 By  Jeffrey

# Modify.........: 

DATABASE ds

GLOBALS "../../../tiptop/config/top.global"

#模組變數(Module Variables)

DEFINE g_votea         RECORD LIKE tc_votea_file.*,      # (單頭)

       g_votea_t       RECORD LIKE tc_votea_file.*,      # (舊值)

       g_votea_o       RECORD LIKE tc_votea_file.*,      # (舊值)

       g_votea01_t     LIKE tc_votea_file.tc_votea01,    # (舊值)

       g_votea_rowid   LIKE type_file.chr18,         #ROWID  

       g_t1          LIKE oay_file.oayslip,        #MOD-540182  #No.FUN-680136 VARCHAR(5)

       g_sheet       LIKE oay_file.oayslip,        #No.FUN-680136 VARCHAR(5) #單別 (沿用)

       g_ydate       LIKE type_file.dat,           #No.FUN-680136 DATE    #單據日期(沿用)

       g_voteb         DYNAMIC ARRAY OF RECORD       #程式變數(Program Variables)

           tc_voteb02       LIKE tc_voteb_file.tc_voteb02,          #公告項次

           tc_voteb03       LIKE tc_voteb_file.tc_voteb03,          #公告細項主旨

           tc_voteb04       LIKE tc_voteb_file.tc_voteb04,          #URL連結網址 

           tc_votebacti     LIKE tc_voteb_file.tc_votebacti,        #資料有效碼

           tc_votebuser     LIKE tc_voteb_file.tc_votebuser,        #資料建立者

           tc_votebmodu     LIKE tc_voteb_file.tc_votebmodu,        #最近資料修改者

           tc_votebdate     LIKE tc_voteb_file.tc_votebdate         #最近修改日期

                     END RECORD,

       g_voteb_t       RECORD                        #程式變數 (舊值)

           tc_voteb02       LIKE tc_voteb_file.tc_voteb02,          #公告項次

           tc_voteb03       LIKE tc_voteb_file.tc_voteb03,          #公告細項主旨

           tc_voteb04       LIKE tc_voteb_file.tc_voteb04,          #URL連結網址 

           tc_votebacti     LIKE tc_voteb_file.tc_votebacti,        #資料有效碼

           tc_votebuser     LIKE tc_voteb_file.tc_votebuser,        #資料建立者

           tc_votebmodu     LIKE tc_voteb_file.tc_votebmodu,        #最近資料修改者

           tc_votebdate     LIKE tc_voteb_file.tc_votebdate         #最近修改日期

                     END RECORD,

       g_voteb_o       RECORD                        #程式變數 (舊值)

           tc_voteb02       LIKE tc_voteb_file.tc_voteb02,          #公告項次

           tc_voteb03       LIKE tc_voteb_file.tc_voteb03,          #公告細項主旨

           tc_voteb04       LIKE tc_voteb_file.tc_voteb04,          #URL連結網址 

           tc_votebacti     LIKE tc_voteb_file.tc_votebacti,        #資料有效碼

           tc_votebuser     LIKE tc_voteb_file.tc_votebuser,        #資料建立者

           tc_votebmodu     LIKE tc_voteb_file.tc_votebmodu,        #最近資料修改者

           tc_votebdate     LIKE tc_voteb_file.tc_votebdate         #最近修改日期

                     END RECORD,

       g_sql         STRING,                       #CURSOR暫存 TQC-5B0183

       g_wc          STRING,                       #單頭CONSTRUCT結果

       g_wc2         STRING,                       #單身CONSTRUCT結果

       g_rec_b       LIKE type_file.num5,          #單身筆數  #No.FUN-680136 SMALLINT

       l_ac          LIKE type_file.num5           #目前處理的ARRAY CNT  #No.FUN-680136 SMALLINT

DEFINE p_row,p_col         LIKE type_file.num5    #No.FUN-680136 SMALLINT

DEFINE g_gec07             LIKE gec_file.gec07    #FUN-550019

DEFINE g_forupd_sql        STRING                 #SELECT ... FOR UPDATE NOWAIT NOWAIT SQL

DEFINE g_before_input_done LIKE type_file.num5    #No.FUN-680136 SMALLINT

DEFINE g_chr               LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)

DEFINE g_cnt               LIKE type_file.num10   #No.FUN-680136 INTEGER

DEFINE g_i                 LIKE type_file.num5    #count/index for any purpose  #No.FUN-680136 SMALLINT

DEFINE g_msg               LIKE ze_file.ze03      #No.FUN-680136 VARCHAR(72)

DEFINE g_curs_index        LIKE type_file.num10   #No.FUN-680136 INTEGER

DEFINE g_row_count         LIKE type_file.num10   #總筆數  #No.FUN-680136 INTEGER

DEFINE g_jump              LIKE type_file.num10   #查詢指定的筆數  #No.FUN-680136 INTEGER

DEFINE mi_no_ask           LIKE type_file.num5    #是否開啟指定筆視窗  #No.FUN-680136 SMALLINT      #No:FUN-6A0067

DEFINE g_argv1             LIKE tc_votea_file.tc_votea01    #No.FUN-680136 VARCHAR(16) #單號 #TQC-630074

DEFINE g_argv2             STRING               #指定執行的功能 #TQC-630074

DEFINE g_argv3             STRING    #No:FUN-670099

#No.FUN-710091   --begin

DEFINE l_table             STRING

DEFINE g_str               STRING

DEFINE g_chr2         LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)

DEFINE g_chr3         LIKE type_file.chr1    #FUN-580120  #No.FUN-680136 VARCHAR(1)

#No.FUN-710091   --end  

#主程式開始

MAIN

   DEFINE l_time   LIKE type_file.chr8             #計算被使用時間  #No.FUN-680136 VARCHAR(8)

#No:FUN-710055 --start--

   OPTIONS                               #改變一些系統預設值

      FORM LINE       FIRST + 2,         #畫面開始的位置

      MESSAGE LINE    LAST,              #訊息顯示的位置

      PROMPT LINE     LAST,              #提示訊息的位置

      INPUT NO WRAP                      #輸入的方式: 不打轉

   DEFER INTERRUPT                       #擷取中斷鍵, 由程式處理

#No:FUN-710055 ---end---

   IF (NOT cl_user()) THEN

      EXIT PROGRAM

   END IF

 

   WHENEVER ERROR CALL cl_err_msg_log

 

   IF (NOT cl_setup("CXX")) THEN

      EXIT PROGRAM

   END IF

   LET g_argv1=ARG_VAL(1)           #TQC-630074

   LET g_argv2=ARG_VAL(2)           #TQC-630074

   LET g_argv3=ARG_VAL(3)           #TQC-630074

   #No.FUN-710091  --begin

   LET g_sql="tc_votea01.tc_votea_file.tc_votea01,",   

             "tc_votea02.tc_votea_file.tc_votea02,",   

             "tc_votea03.tc_votea_file.tc_votea03,",  

     "tc_voteb02.tc_voteb_file.tc_voteb02,",   

             "tc_voteb03.tc_voteb_file.tc_voteb03,",   

             "tc_voteb04.tc_voteb_file.tc_voteb04"   

   LET l_table = cl_prt_temptable('cxxi901',g_sql) CLIPPED

   IF  l_table = -1 THEN EXIT PROGRAM END IF

   #No.FUN-710091  --end 

   CALL cl_used(g_prog,l_time,1)       #計算使用時間 (進入時間) #MOD-580088

      RETURNING l_time

   LET g_forupd_sql = "SELECT * FROM tc_votea_file WHERE ROWID = ? FOR UPDATE NOWAIT"

   DECLARE i901_cl CURSOR FROM g_forupd_sql

   LET p_row = 1 LET p_col = 3

   OPEN WINDOW i901_w AT p_row,p_col WITH FORM "cxx/42f/cxxi901"

     ATTRIBUTE (STYLE = g_win_style CLIPPED) #No:FUN-580092 HCN

   CALL cl_set_locale_frm_name("cxxi901")   #No:FUN-670099

   

   LET g_pdate = g_today   #No.FUN-710091 

   CALL cl_ui_init()

   LET g_ydate = NULL

   CALL i901_menu()

   CLOSE WINDOW i901_w                 #結束畫面

   CALL cl_used(g_prog,l_time,2)       #計算使用時間 (退出時間) #MOD-580088

      RETURNING l_time

END MAIN

#QBE 查詢資料

FUNCTION i901_cs()

   DEFINE lc_qbe_sn   LIKE gbm_file.gbm01    #No:FUN-580031  HCN

   CLEAR FORM 

   CALL g_voteb.clear()

  

   #TQC-630074

   IF NOT cl_null(g_argv1) THEN

      LET g_wc = " tc_votea01 = '",g_argv1,"'"  #FUN-580120

   ELSE

     

       CALL cl_set_head_visible("","YES")           #No.FUN-6B0032

      INITIALIZE g_votea.* TO NULL      #No.FUN-750051

      CONSTRUCT BY NAME g_wc ON tc_votea01,tc_votea02,tc_votea03,

                                tc_voteauser,tc_voteamodu,tc_voteadate,tc_voteaacti,tc_voteaconf

         #No:FUN-580031 --start--     HCN

         BEFORE CONSTRUCT

            CALL cl_qbe_init()

         #No:FUN-580031 --end--       HCN

         ON ACTION controlp

            CASE

               WHEN INFIELD(tc_votea01) #詢價單號   #MOD-4A0252

                  CALL cl_init_qry_var()

                  LET g_qryparam.state = 'c'

                  LET g_qryparam.form ="q_votea"

          LET g_qryparam.where = " 1=1 "

                  CALL cl_create_qry() RETURNING g_qryparam.multiret

                  DISPLAY g_qryparam.multiret TO tc_votea01

                  NEXT FIELD tc_votea01

               OTHERWISE EXIT CASE

            END CASE

      

         ON IDLE g_idle_seconds

            CALL cl_on_idle()

            CONTINUE CONSTRUCT

      

         ON ACTION about         #MOD-4C0121

            CALL cl_about()      #MOD-4C0121

      

         ON ACTION help          #MOD-4C0121

            CALL cl_show_help()  #MOD-4C0121

      

         ON ACTION controlg      #MOD-4C0121

            CALL cl_cmdask()     #MOD-4C0121

      

         #No:FUN-580031 --start--     HCN

         ON ACTION qbe_select

            CALL cl_qbe_list() RETURNING lc_qbe_sn

            CALL cl_qbe_display_condition(lc_qbe_sn)

         #No:FUN-580031 --end--       HCN

      END CONSTRUCT

      

      IF INT_FLAG THEN

         RETURN

      END IF

   END IF

   #END TQC-630074

  # 資料權限的檢查

  # IF g_priv2='4' THEN                           #只能使用自己的資料

  #    LET g_wc = g_wc clipped," AND tc_voteauser = '",g_user,"'"

  # END IF

 

  # IF g_priv3='4' THEN                           #只能使用相同群的資料

  #    LET g_wc = g_wc clipped," AND tc_voteagrup MATCHES '",g_grup CLIPPED,"*'"

  # END IF

  #  IF g_priv3 MATCHES "[5678]" THEN    #TQC-5C0134群組權限

  #     LET g_wc = g_wc clipped," AND tc_voteagrup IN ",cl_chk_tgrup_list()

  #  END IF

  #start FUN-580035

  #  IF g_priv3 MATCHES '[567]' THEN               #只能使用相同群組的資料

  #     LET g_wc = g_wc clipped," AND tc_voteagrup IN ",cl_get_grup_str(g_grup)

  #  END IF

  #end FUN-580035

   #TQC-630074

   IF NOT cl_null(g_argv1) THEN

      LET g_wc2 = ' 1=1'     

   ELSE

      CONSTRUCT g_wc2 ON tc_voteb02,tc_voteb03,tc_voteb04,tc_votebacti,tc_votebuser,tc_votebmodu,tc_votebdate   #螢幕上取單身條件

              FROM s_voteb[1].tc_voteb02,s_voteb[1].tc_voteb03,s_voteb[1].tc_voteb04,

   s_voteb[1].tc_votebacti,s_voteb[1].tc_votebuser,s_voteb[1].tc_votebmodu,s_voteb[1].tc_votebdate

         #No:FUN-580031 --start--     HCN

         BEFORE CONSTRUCT

            CALL cl_qbe_display_condition(lc_qbe_sn)

         #No:FUN-580031 --end--       HCN

   

         #-----No:FUN-670099----- 

         ON ACTION CONTROLP

            CASE

           #FUN-650191--add--begin

            WHEN INFIELD(tc_voteb03) #

              CALL cl_init_qry_var()

              LET g_qryparam.state = 'c'

              LET g_qryparam.form ="q_voteb"

              CALL cl_create_qry() RETURNING g_qryparam.multiret

              DISPLAY g_qryparam.multiret TO tc_voteb03

              NEXT FIELD tc_voteb03

   OTHERWISE EXIT CASE

           #FUN-650191 add--end

            END CASE

         #-----No:FUN-670099 END----- 

         ON IDLE g_idle_seconds

            CALL cl_on_idle()

            CONTINUE CONSTRUCT

    

         ON ACTION about         #MOD-4C0121

            CALL cl_about()      #MOD-4C0121

    

         ON ACTION help          #MOD-4C0121

            CALL cl_show_help()  #MOD-4C0121

    

         ON ACTION controlg      #MOD-4C0121

            CALL cl_cmdask()     #MOD-4C0121

    

         #No:FUN-580031 --start--     HCN

         ON ACTION qbe_save

            CALL cl_qbe_save()

         #No:FUN-580031 --end--       HCN

      END CONSTRUCT

   

      IF INT_FLAG THEN

         RETURN

      END IF

    END IF

    #END TQC-630074

   IF g_wc2 = " 1=1" THEN                  # 若單身未輸入條件

      LET g_sql = "SELECT ROWID, tc_votea01 FROM tc_votea_file ",

                  " WHERE ", g_wc CLIPPED,

                  " ORDER BY 2"

   ELSE                              # 若單身有輸入條件

      LET g_sql = "SELECT UNIQUE tc_votea_file.ROWID, tc_votea01 ",

                  "  FROM tc_votea_file, tc_voteb_file ",

                  " WHERE tc_votea01 = tc_voteb01",

                  "   AND ", g_wc CLIPPED, " AND ",g_wc2 CLIPPED,

                  " ORDER BY 2"

   END IF

   PREPARE i901_prepare FROM g_sql

   DECLARE i901_cs                         #SCROLL CURSOR

       SCROLL CURSOR WITH HOLD FOR i901_prepare

   IF g_wc2 = " 1=1" THEN                  # 取合乎條件筆數

      LET g_sql="SELECT COUNT(*) FROM tc_votea_file WHERE ",g_wc CLIPPED

   ELSE

      LET g_sql="SELECT COUNT(DISTINCT tc_votea01) FROM tc_votea_file,tc_voteb_file WHERE ",

                "tc_votea01 = tc_voteb01 AND ",g_wc CLIPPED," AND ",g_wc2 CLIPPED

   END IF

   PREPARE i901_precount FROM g_sql

   DECLARE i901_count CURSOR FOR i901_precount

END FUNCTION

FUNCTION i901_menu()

   WHILE TRUE

      CALL i901_bp("G")

      CASE g_action_choice

         WHEN "insert"

            IF cl_chk_act_auth() THEN

               CALL i901_a()

            END IF

         WHEN "query"

            IF cl_chk_act_auth() THEN

               CALL i901_q()

            END IF

         WHEN "delete"

            IF cl_chk_act_auth() THEN

               CALL i901_r()

            END IF

         WHEN "modify"

            IF cl_chk_act_auth() THEN

               CALL i901_u()

            END IF

         WHEN "invalid"

            IF cl_chk_act_auth() THEN

               CALL i901_x()

            END IF

         WHEN "reproduce"

            IF cl_chk_act_auth() THEN

               CALL i901_copy()

            END IF

         WHEN "detail"

            IF cl_chk_act_auth() THEN

               CALL i901_b()

            ELSE

               LET g_action_choice = NULL

            END IF

         WHEN "output"

            IF cl_chk_act_auth() THEN

               CALL i901_out()

            END IF

         WHEN "help"

            CALL cl_show_help()

         WHEN "exit"

            EXIT WHILE

         WHEN "controlg"

            CALL cl_cmdask()

 WHEN "confirm" #確認

            IF cl_chk_act_auth() THEN

            CALL i901_y_chk()       #CALL 原確認的 check 段

               IF g_success = "Y" THEN

                 CALL i901_y_upd()      #CALL 原確認的 update 段

               END IF

             END IF

 WHEN "undo_confirm"

            IF cl_chk_act_auth() THEN

               CALL i901_z()

            END IF

         WHEN "void"

            IF cl_chk_act_auth() THEN

               CALL i901_x()

            END IF

         WHEN "exporttoexcel"     #FUN-4B0025

            IF cl_chk_act_auth() THEN

              CALL cl_export_to_excel(ui.Interface.getRootNode(),base.TypeInfo.create(g_voteb),'','')

            END IF

         #No:FUN-6A0162-------add--------str----

         WHEN "related_document"  #相關文件

              IF cl_chk_act_auth() THEN

                 IF g_votea.tc_votea01 IS NOT NULL THEN

                 LET g_doc.column1 = "tc_votea01"

                 LET g_doc.value1 = g_votea.tc_votea01

                 CALL cl_doc()

               END IF

         END IF

         #No:FUN-6A0162-------add--------end----

      END CASE

   END WHILE

END FUNCTION

FUNCTION i901_bp(p_ud)

   DEFINE   p_ud   LIKE type_file.chr1    #No.FUN-680136 VARCHAR(1)

   IF p_ud <> "G" OR g_action_choice = "detail" THEN

      RETURN

   END IF

   LET g_action_choice = " "

   CALL cl_set_act_visible("accept,cancel", FALSE)

   DISPLAY ARRAY g_voteb TO s_voteb.* ATTRIBUTE(COUNT=g_rec_b,UNBUFFERED)

      BEFORE DISPLAY

         CALL cl_navigator_setting( g_curs_index, g_row_count )

      BEFORE ROW

         LET l_ac = ARR_CURR()

         CALL cl_show_fld_cont()                   #No:FUN-550037 hmf

      ON ACTION insert

         LET g_action_choice="insert"

         EXIT DISPLAY

      ON ACTION query

         LET g_action_choice="query"

         EXIT DISPLAY

      ON ACTION delete

         LET g_action_choice="delete"

         EXIT DISPLAY

      ON ACTION modify

         LET g_action_choice="modify"

         EXIT DISPLAY

      ON ACTION first

         CALL i901_fetch('F')

         CALL cl_navigator_setting(g_curs_index, g_row_count)

         CALL fgl_set_arr_curr(1)

         ACCEPT DISPLAY   #FUN-530067(smin)

      ON ACTION previous

         CALL i901_fetch('P')

         CALL cl_navigator_setting(g_curs_index, g_row_count)

         CALL fgl_set_arr_curr(1)

         ACCEPT DISPLAY   #FUN-530067(smin)

      ON ACTION jump

         CALL i901_fetch('/')

         CALL cl_navigator_setting(g_curs_index, g_row_count)

         CALL fgl_set_arr_curr(1)

         ACCEPT DISPLAY   #FUN-530067(smin)

      ON ACTION next

         CALL i901_fetch('N')

         CALL cl_navigator_setting(g_curs_index, g_row_count)

         CALL fgl_set_arr_curr(1)

         ACCEPT DISPLAY   #FUN-530067(smin)

      ON ACTION last

         CALL i901_fetch('L')

         CALL cl_navigator_setting(g_curs_index, g_row_count)

         CALL fgl_set_arr_curr(1)

         ACCEPT DISPLAY   #FUN-530067(smin)

      ON ACTION invalid

         LET g_action_choice="invalid"

         EXIT DISPLAY

      ON ACTION reproduce

         LET g_action_choice="reproduce"

         EXIT DISPLAY

      ON ACTION detail

         LET g_action_choice="detail"

         LET l_ac = 1

         EXIT DISPLAY

      ON ACTION output

         LET g_action_choice="output"

         EXIT DISPLAY

      ON ACTION help

         LET g_action_choice="help"

         EXIT DISPLAY

      ON ACTION locale

         CALL cl_dynamic_locale()

         CALL cl_show_fld_cont()                   #No:FUN-550037 hmf

      ON ACTION exit

         LET g_action_choice="exit"

         EXIT DISPLAY

      ON ACTION controlg

         LET g_action_choice="controlg"

         EXIT DISPLAY

#@    ON ACTION 確認

      ON ACTION confirm

         LET g_action_choice="confirm"

         EXIT DISPLAY

#@    ON ACTION 取消確認

      ON ACTION undo_confirm

         LET g_action_choice="undo_confirm"

         EXIT DISPLAY

#@    ON ACTION 作廢

      ON ACTION void

         LET g_action_choice="void"

         EXIT DISPLAY

      ON ACTION accept

         LET g_action_choice="detail"

         LET l_ac = ARR_CURR()

         EXIT DISPLAY

      ON ACTION cancel

         LET INT_FLAG=FALSE          #MOD-570244  mars

         LET g_action_choice="exit"

         EXIT DISPLAY

      ON IDLE g_idle_seconds

         CALL cl_on_idle()

         CONTINUE DISPLAY

 

      ON ACTION about         #MOD-4C0121

         CALL cl_about()      #MOD-4C0121

 

      ON ACTION exporttoexcel       #FUN-4B0025

         LET g_action_choice = 'exporttoexcel'

         EXIT DISPLAY

      # No:FUN-530067 --start--

      AFTER DISPLAY

         CONTINUE DISPLAY

      # No:FUN-530067 ---end---

      ON ACTION controls                           #No.FUN-6B0032             

         CALL cl_set_head_visible("","AUTO")       #No.FUN-6B0032

      ON ACTION related_document                #No:FUN-6A0162  相關文件

         LET g_action_choice="related_document"          

         EXIT DISPLAY

   END DISPLAY

   CALL cl_set_act_visible("accept,cancel", TRUE)

END FUNCTION

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

 
<?xml version="1.0" encoding="UTF-8" ?>

<Form width="288" lstrtoalltitle="false" lstrtoallitem="false" database_name="ds01" CHECKSUM="-1" spacing="normal" posX="0" posY="0" height="19" percommentheader="" percommentinstruction="" percommentattribute="" lstrtoallcomment="false" percommentschema="" name="cxxi901" fourSTFile="" defaultspacing="true" text="cxxi901" gstVersion="11401" lstrtoalltext="false" percommentlayout="GRID

GRID

HBOX

PAGE

GRID

PAGE

FOLDER

TABLE

GRID

VBOX

LAYOUT

" >

 <VBox tag="" posX="0" posY="0" hidden="" style="" name="" >

  <PageControl width="287" posX="0" height="6" posY="0" lstrcomment="false" name="folder01" >

   <Page lstrtext="false" hidden="--------" imagetype="Image as URL" name="page01" fontPitch="default" text="Main" >

    <HBox width="108" tag="" posX="0" height="4" posY="0" hidden="" style="" name="" >

     <Grid width="107" posX="0" height="4" posY="0" lstrcomment="false" hidden="--------" name="gr1629" fontPitch="default" scroll="false" >

      <Text width="4" lstrtext="false" gridWidth="11" posX="1" height="1" posY="0" sizePolicy="initial" name="text5532" text="UUID" />

      <FormField sqlDBName="ds" colName="tc_votea01" fieldId="1" sqlTabName="tc_votea_file" name="tc_votea01" fieldtype="TABLE_COLUMN" >

       <ButtonEdit width="20" case="NONE" comment="&lt;^P>Query Item  " gridWidth="30" invisible="--------" notNull="true" image="zoom" posX="22" action="controlp" formfieldname="formfield0" height="1" posY="0" autoNext="--------" lstrcomment="false" hidden="--------" imagetype="Select File" verify="--------" sizePolicy="initial" tabIndex="1" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" name="tc_votea01" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="true" scroll="--------" />

      </FormField>

      <Text width="5" lstrtext="false" gridWidth="12" posX="1" height="1" posY="1" hrecindex="-1" sizePolicy="initial" name="text26" text="Title" />

      <FormField sqlDBName="ds" colName="tc_votea02" fieldId="2" sqlTabName="tc_votea_file" name="tc_votea02" fieldtype="TABLE_COLUMN" >

       <Edit width="20" case="NONE" gridWidth="30" invisible="--------" notNull="--------" posX="22" formfieldname="formfield2" height="1" posY="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="2" zeroFill="--------" lstrtitle="false" name="tc_votea02" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

      </FormField>

      <Text width="6" lstrtext="false" gridWidth="13" posX="1" height="1" posY="2" sizePolicy="initial" name="text5534" text="Status" />

      <FormField sqlDBName="ds" colName="tc_votea03" sqlTabName="tc_votea_file" fieldId="3" name="tc_votea03" fieldtype="TABLE_COLUMN" >

       <ComboBox width="20" case="NONE" comment="Enter  RELEASED/UNDER_REVISION" gridWidth="10" notNull="true" posX="22" formfieldname="formfield3" height="1" posY="2" lstrcomment="false" hidden="--------" sizePolicy="initial" tabIndex="3" data_type="VARCHAR" lstrtitle="false" name="tc_votea03" century="R" color="black" fontPitch="default" noEntry="--------" queryEditable="true" required="true" >

        <Item lstrtext="" name="U" text="UNDER_REVISION" />

        <Item lstrtext="" name="R" text="RELEASED" />

       </ComboBox>

      </FormField>

      <FormField colName="imgmksg" fieldId="2" sqlTabName="formonly" name="formonly.imgmksg" fieldtype="FORM_ONLY" >

       <Image unitHeight="2 CHARACTERS" width="10" gridWidth="7" posX="67" formfieldname="formfieldname" height="3" posY="0" autoScale="true" lstrcomment="false" hidden="--------" imagetype="Image as URL" tabIndex="99" lstrtitle="false" name="imgmksg" unitWidth="7 CHARACTERS" gridHeight="2" noEntry="true" stretch="none" />

      </FormField>

      <Text width="7" lstrtext="false" gridWidth="7" posX="44" posY="0" height="1" sizePolicy="initial" name="text16320" text="Confirm" />

      <FormField sqlDBName="ds" colName="tc_voteaconf" sqlTabName="tc_votea_file" fieldId="30" name="tc_voteaconf" fieldtype="TABLE_COLUMN" >

       <ComboBox width="13" case="NONE" gridWidth="10" notNull="--------" posX="52" formfieldname="formfield100" height="1" posY="0" lstrcomment="false" hidden="--------" sizePolicy="initial" tabIndex="100" data_type="VARCHAR" lstrtitle="false" name="tc_voteaconf" century="R" color="black" fontPitch="default" noEntry="true" queryEditable="--------" required="--------" >

        <Item lstrtext="" name="N" text="UnConfirmed" />

        <Item lstrtext="" name="Y" text="Confirmed" />

        <Item lstrtext="" name="X" text="Void" />

       </ComboBox>

      </FormField>

     </Grid>

    </HBox>

   </Page>

   <Page lstrtext="false" hidden="--------" imagetype="Image as URL" name="info" fontPitch="default" text="Info" >

    <Grid width="73" posX="0" height="3" posY="0" lstrcomment="false" hidden="--------" name="gr1631" fontPitch="default" scroll="false" >

     <Text width="12" lstrtext="false" gridWidth="12" posX="1" height="1" posY="0" sizePolicy="initial" name="text5539" text="Record Owner" />

     <FormField sqlDBName="ds" colName="tc_voteauser" fieldId="4" sqlTabName="tc_votea_file" name="tc_voteauser" fieldtype="TABLE_COLUMN" >

      <Edit width="10" case="NONE" gridWidth="10" invisible="--------" notNull="--------" posX="22" formfieldname="formfield4" height="1" posY="0" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="4" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" name="tc_voteauser" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

     </FormField>

     <Text width="16" lstrtext="false" gridWidth="16" posX="35" height="1" posY="0" sizePolicy="initial" name="text5540" text="Last Modified by" />

     <FormField sqlDBName="ds" colName="tc_voteamodu" fieldId="5" sqlTabName="tc_votea_file" name="tc_voteamodu" fieldtype="TABLE_COLUMN" >

      <Edit width="10" case="NONE" gridWidth="10" invisible="--------" notNull="--------" posX="55" formfieldname="formfield5" height="1" posY="0" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="5" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" name="tc_voteamodu" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

     </FormField>

     <Text width="15" lstrtext="false" gridWidth="15" posX="35" height="1" posY="1" sizePolicy="initial" name="text5541" text="Data Valid Code" />

     <FormField sqlDBName="ds" colName="tc_voteaacti" fieldId="6" sqlTabName="tc_votea_file" name="tc_voteaacti" fieldtype="TABLE_COLUMN" >

      <Edit width="10" case="NONE" gridWidth="10" invisible="--------" notNull="--------" posX="55" formfieldname="formfield6" height="1" posY="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="6" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" name="tc_voteaacti" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

     </FormField>

     <Text width="18" lstrtext="false" gridWidth="18" posX="1" height="1" posY="1" sizePolicy="initial" name="text5543" text="Create/Modify Date" />

     <FormField sqlDBName="ds" colName="tc_voteadate" fieldId="7" sqlTabName="tc_votea_file" name="tc_voteadate" fieldtype="TABLE_COLUMN" >

      <DateEdit width="12" gridWidth="12" notNull="--------" posX="22" formfieldname="formfield7" height="1" posY="1" autoNext="--------" lstrcomment="false" hidden="--------" sizePolicy="initial" tabIndex="7" data_type="DATE" lstrtitle="false" name="tc_voteadate" century="R" color="black" fontPitch="default" noEntry="true" required="--------" />

     </FormField>

    </Grid>

   </Page>

  </PageControl>

  <Table width="287" wantFixedPageSize="--------" unhidableColumns="--------" posX="0" height="8" posY="6" lstrcomment="false" unmovableColumns="--------" hidden="--------" unsizableColumns="--------" totalRows="6" name="s_voteb" fontPitch="default" tabName="s_voteb" tabName1="s_voteb" unsortableColumns="--------" >

   <TableColumn width="20" lstrtext="false" sqlDBName="ds" height="1" colName="tc_voteb02" fieldId="12" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="12" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_voteb02" text="tc_voteb02" fieldtype="TABLE_COLUMN" >

    <Edit width="20" case="NONE" comment="tc_voteb02" invisible="--------" notNull="true" height="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" zeroFill="--------" data_type="SMALLINT" lstrtitle="false" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="true" scroll="--------" />

   </TableColumn>

   <TableColumn width="20" lstrtext="false" sqlDBName="ds" height="1" colName="tc_voteb03" fieldId="13" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="13" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_voteb03" text="tc_voteb03" fieldtype="TABLE_COLUMN" >

    <Edit width="20" case="NONE" comment="tc_voteb03" invisible="--------" notNull="--------" height="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="--------" scroll="--------" />

   </TableColumn>

   <TableColumn width="20" lstrtext="false" sqlDBName="ds" height="1" colName="tc_voteb04" fieldId="14" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="14" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_voteb04" text="tc_voteb04" fieldtype="TABLE_COLUMN" >

    <Edit width="20" case="NONE" comment="tc_voteb04" invisible="--------" notNull="--------" height="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="--------" scroll="--------" />

   </TableColumn>

   <TableColumn width="10" lstrtext="false" sqlDBName="ds" height="1" colName="tc_votebacti" fieldId="15" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="15" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_votebacti" text="tc_votebacti" fieldtype="TABLE_COLUMN" >

    <CheckBox width="17" lstrtext="false" notNull="true" height="1" lstrcomment="false" hidden="--------" sizePolicy="initial" data_type="VARCHAR" lstrtitle="false" fontPitch="default" valueUnchecked="N" noEntry="--------" required="true" text="" valueChecked="Y" />

   </TableColumn>

   <TableColumn width="10" lstrtext="false" sqlDBName="ds" height="1" colName="tc_votebuser" fieldId="16" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="16" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_votebuser" text="tc_votebuser" fieldtype="TABLE_COLUMN" >

    <Edit width="13" case="NONE" invisible="--------" notNull="--------" height="1" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" zeroFill="--------" data_type="VARCHAR" lstrtitle="false" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="--------" scroll="--------" />

   </TableColumn>

   <TableColumn width="10" lstrtext="false" sqlDBName="ds" colName="tc_votebmodu" fieldId="17" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="16" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_votebmodu" flag_text_changed="FALSE" text="tc_votebmodu" fieldtype="TABLE_COLUMN" >

    <Edit width="17" case="NONE" justify="none" invisible="--------" notNull="--------" autoNext="--------" lstrcomment="false" colorCondition="black" hidden="--------" verify="--------" sizePolicy="initial" data_type="VARCHAR" reverse="--------" century="R" color="black" fontPitch="default" noEntry="--------" required="--------" scroll="--------" />

   </TableColumn>

   <TableColumn width="15" lstrtext="false" sqlDBName="ds" colName="tc_votebdate" fieldId="18" unsortable="--------" sqlTabName="tc_voteb_file" tabIndex="17" unsizable="--------" unhidable="--------" unmovable="--------" name="tc_votebdate" flag_text_changed="FALSE" text="tc_votebdate" fieldtype="TABLE_COLUMN" >

    <DateEdit justify="none" notNull="--------" lstrcomment="false" colorCondition="black" hidden="--------" sizePolicy="initial" data_type="DATE" century="R" color="black" fontPitch="default" noEntry="--------" required="--------" />

   </TableColumn>

  </Table>

  <Grid width="287" posX="0" height="3" posY="14" lstrcomment="false" hidden="--------" name="gr1632" fontPitch="default" scroll="false" >

   <HLine width="10" gridWidth="10" posX="2" height="1" posY="2" name="hl444" />

   <Text width="4" lstrtext="false" gridWidth="4" posX="13" height="1" posY="2" sizePolicy="initial" name="text5554" text="Rows" />

   <FormField colName="cnt" fieldId="19" sqlTabName="formonly" name="formonly.cnt" fieldtype="FORM_ONLY" >

    <Edit width="6" case="NONE" gridWidth="6" invisible="--------" notNull="--------" posX="19" formfieldname="formfield19" height="1" posY="2" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="18" zeroFill="--------" data_type="SMALLINT" lstrtitle="false" name="cnt" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

   </FormField>

   <Text width="1" lstrtext="false" gridWidth="1" posX="27" height="1" posY="2" sizePolicy="initial" name="text5555" text="/" />

   <FormField colName="cn2" fieldId="37" sqlTabName="formonly" name="formonly.cn2" fieldtype="FORM_ONLY" >

    <Edit width="6" case="NONE" gridWidth="6" invisible="--------" notNull="--------" posX="30" formfieldname="formfield20" height="1" posY="2" autoNext="--------" lstrcomment="false" hidden="--------" verify="--------" sizePolicy="initial" tabIndex="19" zeroFill="--------" data_type="SMALLINT" lstrtitle="false" name="cn2" reverse="--------" century="R" color="black" fontPitch="default" noEntry="true" required="--------" scroll="--------" />

   </FormField>

   <HLine width="10" gridWidth="10" posX="38" height="1" posY="2" name="hl445" />

  </Grid>

 </VBox>

 <RecordView SRType="default" fromTable="true" name="s_voteb" tableKey="tb1" >

  <Link colName="tc_voteb02" fromTable="true" colKey="Col2" />

  <Link colName="tc_voteb03" fromTable="true" colKey="Col3" />

  <Link colName="tc_voteb04" fromTable="true" colKey="Col4" />

  <Link colName="tc_votebacti" fromTable="true" colKey="Col5" />

  <Link colName="tc_votebuser" fromTable="true" colKey="Col6" />

  <Link colName="tc_votebmodu" fromTable="true" colKey="Col7" />

  <Link colName="tc_votebdate" fromTable="true" colKey="Col8" />

 </RecordView>

</Form>

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

5207-47722.jpg
 

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



 


TIPTOP GP ERP + EasyFlow GP+ BI 系統整合開發建置經驗分享


企業級應用程序開發技術整合專案研究探討


此站使用程式技術如下:


1.Flex SDK


2.pureMVC / Cairngorm Framework 


3. JAVA  


4.Spring / Hibernate / iBatis(myBatis) 


5.amfphp 


6.BlazeDS 


7.Apache / Tomcat / Ralio CFML


8.Genero 4GL


9.Oracle PL/SQL


10.Crystal Report 


*個人喜歡研究新技術應用開發整合平台。 


*外包案子接收窗口平台: 104外包網 JCase / 518 外包網。


*(鼎新TIPTOP GP 程式客製開發/CR報表開發/Oracle建置)


*針對社會人士 授課企業電腦系統實務應用與教學。


*TIPTOP GP 多重AP SERVER 備援機制建置 。


*如果你有 TIPTOP GP 4GL / Crystal Report / EasyFlow GP / BI / Flex / AIR  / PHP / Java / Oracle PL/SQL 相關的案子需要外包都可以直接與我聯絡!


MSN:johnaustinkimo@yahoo.com.tw



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

Blog Stats
⚠️

成人內容提醒

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

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