$PBExportHeader$f_init_table_field.srf global type f_init_table_field from function_object end type forward prototypes global function integer f_init_table_field (ref string arg_msg) end prototypes global function integer f_init_table_field (ref string arg_msg);Int rslt rslt = 1 datastore ds_table ds_table = CREATE datastore ds_table.DataObject = 'ds_rpt_table_def' ds_table.SetTransObject(sqlca) datastore ds_field ds_field = CREATE datastore ds_field.DataObject = 'ds_rpt_field_def' ds_field.SetTransObject(sqlca) Long ll_row,ll_row2 ll_row = ds_table.RowCount() ll_row2 = ds_field.RowCount() Long cnt Long ll_i cnt = 0 SELECT count(*) INTO :cnt FROM u_report_table; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询数据字典表数量失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF Long ll_cnt = 1 IF cnt < ll_row THEN DELETE FROM u_report_table; IF sqlca.SQLCode <> 0 THEN arg_msg = '删除原数据字典表数据失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF Long ll_tableid String ls_table_english String ls_table_chinese FOR ll_i = 1 TO ds_table.RowCount() ll_tableid = ds_table.Object.tableid[ll_i] ls_table_english = ds_table.Object.table_english[ll_i] ls_table_chinese = ds_table.Object.table_chinese[ll_i] INSERT INTO u_report_table(u_report_table.tableid, u_report_table.table_english, u_report_table.table_chinese) VALUES(:ll_tableid, :ls_table_english, :ls_table_chinese); IF sqlca.SQLCode <> 0 THEN arg_msg = '新增数据字典表数据数据失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF NEXT END IF cnt = 0 SELECT count(*) INTO :cnt FROM pbcatcol; IF sqlca.SQLCode <> 0 THEN arg_msg = '查询数据字典字段数量失败'+sqlca.SQLErrText rslt = 0 GOTO ext END IF IF cnt < ll_row2 THEN DELETE FROM pbcatcol; IF sqlca.SQLCode <> 0 THEN arg_msg = '删除原数据字典字段数据失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF String pbc_labl String pbc_hdr String pbc_cnam String pbc_tnam Long pbc_tid String pbc_ownr Long pbc_cid Long pbc_lpos Long pbc_hpos Long pbc_jtfy String pbc_mask Long pbc_case Long pbc_wdth Long pbc_hght String pbc_ptrn String pbc_bmap String pbc_init String pbc_cmnt String pbc_edit String pbc_tag FOR ll_i = 1 TO ds_field.RowCount() pbc_labl = ds_field.Object.pbc_labl[ll_i] pbc_hdr = ds_field.Object.pbc_hdr[ll_i] pbc_cnam = ds_field.Object.pbc_cnam[ll_i] pbc_tnam = ds_field.Object.pbc_tnam[ll_i] pbc_tid = ds_field.Object.pbc_tid[ll_i] pbc_ownr = ds_field.Object.pbc_ownr[ll_i] pbc_cid = ds_field.Object.pbc_cid[ll_i] pbc_lpos = ds_field.Object.pbc_lpos[ll_i] pbc_hpos = ds_field.Object.pbc_hpos[ll_i] pbc_jtfy = ds_field.Object.pbc_jtfy[ll_i] pbc_mask = ds_field.Object.pbc_mask[ll_i] pbc_case = ds_field.Object.pbc_case[ll_i] pbc_wdth = ds_field.Object.pbc_wdth[ll_i] pbc_hght = ds_field.Object.pbc_hght[ll_i] pbc_ptrn = ds_field.Object.pbc_ptrn[ll_i] pbc_bmap = ds_field.Object.pbc_bmap[ll_i] pbc_init = ds_field.Object.pbc_init[ll_i] pbc_cmnt = ds_field.Object.pbc_cmnt[ll_i] pbc_edit = ds_field.Object.pbc_edit[ll_i] pbc_tag = ds_field.Object.pbc_tag[ll_i] INSERT INTO pbcatcol(pbcatcol.pbc_labl, pbcatcol.pbc_hdr, pbcatcol.pbc_cnam, pbcatcol.pbc_tnam, pbcatcol.pbc_tid, pbcatcol.pbc_ownr, pbcatcol.pbc_cid, pbcatcol.pbc_lpos, pbcatcol.pbc_hpos, pbcatcol.pbc_jtfy, pbcatcol.pbc_mask, pbcatcol.pbc_case, pbcatcol.pbc_wdth, pbcatcol.pbc_hght, pbcatcol.pbc_ptrn, pbcatcol.pbc_bmap, pbcatcol.pbc_init, pbcatcol.pbc_cmnt, pbcatcol.pbc_edit, pbcatcol.pbc_tag) VALUES(:pbc_labl, :pbc_hdr, :pbc_cnam, :pbc_tnam, :pbc_tid, :pbc_ownr, :pbc_cid, :pbc_lpos, :pbc_hpos, :pbc_jtfy, :pbc_mask, :pbc_case, :pbc_wdth, :pbc_hght, :pbc_ptrn, :pbc_bmap, :pbc_init, :pbc_cmnt, :pbc_edit, :pbc_tag); IF sqlca.SQLCode <> 0 THEN arg_msg = '新增数据字典字段数据数据失败,'+sqlca.SQLErrText rslt = 0 GOTO ext END IF NEXT END IF ext: IF rslt = 0 THEN ROLLBACK; ELSE COMMIT; END IF RETURN rslt end function