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
請先 登入 以發表留言。