$PBExportHeader$f_init_dft_dwprint_dynamic.srf global type f_init_dft_dwprint_dynamic from function_object end type forward prototypes global function integer f_init_dft_dwprint_dynamic (ref string arg_msg) end prototypes global function integer f_init_dft_dwprint_dynamic (ref string arg_msg);Int rslt rslt = 1 datastore ds_dynamic ds_dynamic = Create datastore ds_dynamic.DataObject = 'ds_sys_dft_dwprint_dynamic' ds_dynamic.SetTransObject(sqlca) Long ll_row ll_row = ds_dynamic.RowCount() Long cnt Long ll_i String chnname String dft_new_dwname String pblname Long prownum String dwtype Long powerid Long auditprint Long ptype Long dwprintid String dft_old_dwname Long ifuse Long ifdefault cnt = 0 SELECT count(*) INTO :cnt FROM sys_dft_dwprint_dynamic Where dwprintid < 0 ; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询格式设置数量失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF Long ll_cnt = 1 IF cnt < ll_row THEN FOR ll_i = 1 To ds_dynamic.RowCount() chnname = ds_dynamic.Object.chnname[ll_i] dft_new_dwname = ds_dynamic.Object.dft_new_dwname[ll_i] pblname = ds_dynamic.Object.pblname[ll_i] prownum = ds_dynamic.Object.prownum[ll_i] dwtype = ds_dynamic.Object.dwtype[ll_i] powerid = ds_dynamic.Object.powerid[ll_i] auditprint = ds_dynamic.Object.auditprint[ll_i] ptype = ds_dynamic.Object.ptype[ll_i] dwprintid = ds_dynamic.Object.dwprintid[ll_i] ifuse = ds_dynamic.Object.ifuse[ll_i] ifdefault = ds_dynamic.Object.ifdefault[ll_i] UPDATE sys_dft_dwprint_dynamic SET dft_new_dwname = :dft_new_dwname, chnname = :chnname, powerid = :powerid, dwtype = :dwtype, auditprint = :auditprint, prownum = :prownum, ptype = :ptype, pblname = :pblname, ifuse = :ifuse, ifdefault = :ifdefault WHERE dwprintid = :dwprintid AND dft_new_dwname = :dft_new_dwname AND chnname = :chnname ; IF sqlca.SQLCode = -1 THEN ELSEIF sqlca.SQLCode = 0 THEN IF sqlca.SQLNRows = 0 THEN cnt = 0 SELECT count(*) INTO :cnt FROM sys_dft_dwprint_dynamic Where dft_new_dwname = :dft_new_dwname; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询默认格式设置失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt > 0 THEN DELETE FROM sys_dft_dwprint_dynamic Where dft_new_dwname = :dft_new_dwname; IF sqlca.SQLCode <> 0 THEN arg_msg = '删除默认格式设置失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF INSERT INTO sys_dft_dwprint_dynamic ( dwprintid, dft_new_dwname, chnname, powerid, dwtype, auditprint, prownum, ptype, pblname, ifuse, ifdefault ) VALUES ( :dwprintid, :dft_new_dwname, :chnname, :powerid, :dwtype, :auditprint, :prownum, :ptype, :pblname, :ifuse, :ifdefault) ; IF sqlca.SQLCode <> 0 THEN arg_msg = '插入默认格式设置失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF END IF END IF NEXT END IF ext: IF rslt = 0 THEN ROLLBACK; ELSE COMMIT; END IF RETURN rslt end function