123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- $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
|