$PBExportHeader$f_init_dftpbl.srf global type f_init_dftpbl from function_object end type forward prototypes global function integer f_init_dftpbl (string arg_pblname, ref string arg_msg) end prototypes global function integer f_init_dftpbl (string arg_pblname, ref string arg_msg);Long rslt = 1 String ls_dwsyn,ls_pblpath String ls_Filename[] String ls_comments[] Blob lb_dwsyn Long i = 1,no_mxcheck ls_pblpath = sys_cur_path + arg_pblname IF FileExists(ls_pblpath) THEN RETURN 1 IF LibraryCreate(ls_pblpath,'ewiserp') = -1 THEN rslt = 0 arg_msg = "创建PBL失败 " GOTO ext END IF Long cnt SELECT count(*) INTO :cnt FROM u_setliblist Where libname = :arg_pblname; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "查询操作失败,附加文件列表" GOTO ext END IF IF cnt = 0 THEN INSERT INTO u_setliblist(libname ) Values (:arg_pblname); IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "插入操作失败,附加文件" GOTO ext END IF END IF DECLARE cur_inwaermx CURSOR FOR SELECT Filename,comments FROM sys_autoudpb ; OPEN cur_inwaermx; FETCH cur_inwaermx INTO :ls_Filename[i],:ls_comments[i]; DO WHILE sqlca.SQLCode = 0 i++ FETCH cur_inwaermx INTO :ls_Filename[i],:ls_comments[i]; LOOP CLOSE cur_inwaermx; SELECT count(*) INTO :no_mxcheck FROM sys_autoudpb ; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "查询操作失败,数据窗口数量" GOTO ext END IF IF i <> (no_mxcheck+1) THEN rslt = 0 arg_msg = "查询操作失败,数据窗口数量" GOTO ext END IF FOR i = 1 TO no_mxcheck SELECTBLOB filedata INTO :lb_dwsyn FROM sys_autoudpb Where Filename = :ls_Filename[i]; IF sqlca.SQLCode <> 0 THEN rslt = 0 arg_msg = "查询操作失败,数据窗口语法信息" GOTO ext ELSE ls_dwsyn = String(lb_dwsyn) END IF IF LibraryImport(ls_pblpath,ls_Filename[i], ImportDataWindow!, ls_dwsyn, arg_msg,ls_comments[i] ) = -1 THEN rslt = 0 GOTO ext END IF NEXT ext: RETURN rslt end function