123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- $PBExportHeader$f_mtrl_pz.srf
- global type f_mtrl_pz from function_object
- end type
- forward prototypes
- global function string f_mtrl_pz (s_pzwin_open arg_s_open)
- end prototypes
- global function string f_mtrl_pz (s_pzwin_open arg_s_open);String rslt_pz
- String ls_col_name
- Int li_flag_status,li_flag_woodcode,li_flag_pcode
- Long ll_statustype,ll_woodcodetype,ll_pcodetype
- IF arg_s_open.arg_mtrlid = 0 THEN
- rslt_pz = ''
- GOTO ext
- END IF
- ls_col_name = Lower(arg_s_open.arg_col)
- IF Pos(ls_col_name,'status') > 0 THEN
- SELECT statusflag,statustype
- INTO :li_flag_status,:ll_statustype
- FROM u_mtrldef
- Where mtrlid = :arg_s_open.arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt_pz = ''
- GOTO ext
- END IF
-
- CHOOSE CASE li_flag_status
- CASE 0
- arg_s_open.arg_mtrlid = 0
- arg_s_open.arg_dwname = 'dw_pz_ch_color'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 1
- arg_s_open.arg_mtrlid = ll_statustype
- arg_s_open.arg_dwname = 'dw_pz_ch_pztype'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 2
-
- OpenWithParm(w_configure_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 3
- rslt_pz = ''
- GOTO ext
- CASE 4
- arg_s_open.arg_id = arg_s_open.arg_mtrlid
- arg_s_open.arg_mtrlid = ll_statustype
- arg_s_open.arg_editmode = true
- OpenWithParm(w_configure_pzmx_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE ELSE
- rslt_pz = ''
- GOTO ext
- END CHOOSE
-
- ELSEIF Pos(ls_col_name,'woodcode') > 0 THEN
- SELECT woodcodeflag,woodcodetype
- INTO :li_flag_woodcode,:ll_woodcodetype
- FROM u_mtrldef
- Where mtrlid = :arg_s_open.arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt_pz = ''
- GOTO ext
- END IF
-
- CHOOSE CASE li_flag_woodcode
- CASE 0
- arg_s_open.arg_mtrlid = 0
- arg_s_open.arg_dwname = 'dw_pz_ch_woodcode'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 1
- arg_s_open.arg_mtrlid = ll_woodcodetype
- arg_s_open.arg_dwname = 'dw_pz_ch_pztype'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 4
- arg_s_open.arg_id = arg_s_open.arg_mtrlid
- arg_s_open.arg_mtrlid = ll_woodcodetype
- arg_s_open.arg_editmode = true
- OpenWithParm(w_configure_pzmx_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE ELSE
- rslt_pz = ''
- GOTO ext
- END CHOOSE
-
- ELSEIF Pos(ls_col_name,'pcode') > 0 THEN
- SELECT pcodeflag,pcodetype
- INTO :li_flag_pcode,:ll_pcodetype
- FROM u_mtrldef
- Where mtrlid = :arg_s_open.arg_mtrlid;
- IF sqlca.SQLCode <> 0 THEN
- rslt_pz = ''
- GOTO ext
- END IF
-
- CHOOSE CASE li_flag_pcode
- CASE 0
- arg_s_open.arg_mtrlid = 0
- arg_s_open.arg_dwname = 'dw_pz_ch_pcode'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 1
- arg_s_open.arg_mtrlid = ll_pcodetype
- arg_s_open.arg_dwname = 'dw_pz_ch_pztype'
- OpenWithParm(w_pz_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE 4
- arg_s_open.arg_id = arg_s_open.arg_mtrlid
- arg_s_open.arg_mtrlid = ll_pcodetype
-
- arg_s_open.arg_editmode = true
- OpenWithParm(w_configure_pzmx_ch,arg_s_open)
- rslt_pz = Message.StringParm
- CASE ELSE
- rslt_pz = ''
- GOTO ext
- END CHOOSE
- ELSE
- rslt_pz = ''
- GOTO ext
- END IF
- ext:
- RETURN rslt_pz
- end function
|