LET l_allow_insert = cl_detail_input_auth('insert')
 LET l_allow_delete = cl_detail_input_auth('delete')

 LET g_forupd_sql = "SELECT * FROM qdc_file",
                       " WHERE qdc01=? FOR UPDATE"
    DECLARE i001_bcl CURSOR FROM g_forupd_sql      # LOCK CURSOR

    INPUT ARRAY g_qdc WITHOUT DEFAULTS FROM s_qdc.*
      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
           IF g_rec_b != 0 THEN
              CALL fgl_set_arr_curr(l_ac)
           END IF

        BEFORE ROW
            LET p_cmd=''
            LET l_ac = ARR_CURR()
            LET l_lock_sw = 'N'            #DEFAULT
            LET l_n  = ARR_COUNT()
            IF g_rec_b>=l_ac THEN
               BEGIN WORK
               LET p_cmd='u'
               LET g_qdc_t.* = g_qdc[l_ac].*  #BACKUP
               LET g_before_input_done = FALSE
               CALL i001_set_entry(p_cmd)
               CALL i001_set_no_entry(p_cmd)..
.....................

 

FUNCTION i001_set_entry(p_cmd)
   DEFINE p_cmd   char(01)

   IF p_cmd = 'a' AND ( NOT g_before_input_done ) THEN
     CALL cl_set_comp_entry("qdc01",TRUE)
   END IF

END FUNCTION


FUNCTION i001_set_no_entry(p_cmd)
   DEFINE p_cmd   char(01)

   IF p_cmd = 'u' AND ( NOT g_before_input_done ) AND g_chkey='N' THEN
     CALL cl_set_comp_entry("qdc01",FALSE)
   END IF

END FUNCTION

 

創作者介紹
創作者 NTD19的IT123 的頭像
十九圓

NTD19的IT123

十九圓 發表在 痞客邦 留言(0) 人氣( 272 )