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