123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- $PBExportHeader$f_find_mtrlware_spt.srf
- global type f_find_mtrlware_spt from function_object
- end type
- forward prototypes
- global function integer f_find_mtrlware_spt (string arg_mtrlcode, long arg_sptid, ref s_sptware_array arg_s_mtrlware)
- end prototypes
- global function integer f_find_mtrlware_spt (string arg_mtrlcode, long arg_sptid, ref s_sptware_array arg_s_mtrlware);Int rslt = 1
- Long cnt = 0
- String ls_like_mtrlcode
- String ls_mtrlcode,ls_mtrlname,ls_unit,ls_mtrlmode
- String ls_plancode,ls_status,ls_woodcode,ls_pcode
- Long ls_mtrlwareid,ls_mtrlid,ll_sptid
- String ls_mtrlsectype,ls_zxmtrlmode
- Dec ls_noallocqty,ls_planprice,ls_cost
- int li_ifunit
- Boolean if_find = FALSE
- IF Pos(Trim(arg_mtrlcode),'%') = 0 THEN
- ls_like_mtrlcode = '%'+ Trim(arg_mtrlcode) + '%'
- ELSE
- ls_like_mtrlcode = Trim(arg_mtrlcode)
- END IF
- SELECT count(*) INTO :cnt
- FROM ow_wfjgware, u_mtrldef
- WHERE ( u_mtrldef.mtrlid = ow_wfjgware.mtrlid )
- AND ( ow_wfjgware.sptid = :arg_sptid )
- And ( u_mtrldef.mtrlcode = :arg_mtrlcode OR u_mtrldef.mtrlname = :arg_mtrlcode );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- IF cnt <> 1 THEN
- SELECT count(*) INTO :cnt
- FROM ow_wfjgware, u_mtrldef
- WHERE ( u_mtrldef.mtrlid = ow_wfjgware.mtrlid )
- AND ( ow_wfjgware.sptid = :arg_sptid )
- And ( u_mtrldef.mtrlcode Like :ls_like_mtrlcode OR u_mtrldef.mtrlname Like :ls_like_mtrlcode );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- IF cnt <> 1 THEN
- rslt = 0
- GOTO ext
- ELSE
- SELECT ow_wfjgware.mtrlwareid ,
- ow_wfjgware.mtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- ow_wfjgware.noallocqty,
- ow_wfjgware.planprice,
- ow_wfjgware.plancode,
- u_mtrldef.mtrlmode,
- ow_wfjgware.status,
- ow_wfjgware.woodcode,
- ow_wfjgware.pcode,
- ow_wfjgware.cost,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- ow_wfjgware.sptid,
- u_mtrldef.ifunit
- INTO :ls_mtrlwareid,
- :ls_mtrlid,
- :ls_mtrlcode,
- :ls_mtrlname,
- :ls_unit,
- :ls_noallocqty,
- :ls_planprice,
- :ls_plancode,
- :ls_mtrlmode,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ls_cost,
- :ls_mtrlsectype,
- :ls_zxmtrlmode,
- :ll_sptid,
- :li_ifunit
- FROM u_mtrldef,
- ow_wfjgware
- WHERE ( u_mtrldef.mtrlid = ow_wfjgware.mtrlid )
- AND ( ow_wfjgware.sptid = :arg_sptid )
- And ( u_mtrldef.mtrlcode Like :ls_like_mtrlcode OR u_mtrldef.mtrlname Like :ls_like_mtrlcode );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- if_find = TRUE
- END IF
- END IF
- END IF
- ELSE
- SELECT ow_wfjgware.mtrlwareid ,
- ow_wfjgware.mtrlid,
- u_mtrldef.mtrlcode,
- u_mtrldef.mtrlname,
- u_mtrldef.unit,
- ow_wfjgware.noallocqty,
- ow_wfjgware.planprice,
- ow_wfjgware.plancode,
- u_mtrldef.mtrlmode,
- ow_wfjgware.status,
- ow_wfjgware.woodcode,
- ow_wfjgware.pcode,
- ow_wfjgware.cost,
- u_mtrldef.mtrlsectype,
- u_mtrldef.zxmtrlmode,
- ow_wfjgware.sptid,
- u_mtrldef.ifunit
- INTO :ls_mtrlwareid,
- :ls_mtrlid,
- :ls_mtrlcode,
- :ls_mtrlname,
- :ls_unit,
- :ls_noallocqty,
- :ls_planprice,
- :ls_plancode,
- :ls_mtrlmode,
- :ls_status,
- :ls_woodcode,
- :ls_pcode,
- :ls_cost,
- :ls_mtrlsectype,
- :ls_zxmtrlmode,
- :ll_sptid,
- :li_ifunit
- FROM u_mtrldef,
- ow_wfjgware
- WHERE ( u_mtrldef.mtrlid = ow_wfjgware.mtrlid )
- AND ( ow_wfjgware.sptid = :arg_sptid )
- And ( u_mtrldef.mtrlcode = :arg_mtrlcode OR u_mtrldef.mtrlname = :arg_mtrlcode );
- IF sqlca.SQLCode <> 0 THEN
- rslt = 0
- GOTO ext
- ELSE
- if_find = TRUE
- END IF
-
- END IF
- END IF
- IF if_find THEN
- arg_s_mtrlware.u_mtrldef_mtrlcode[1] = ls_mtrlcode
- arg_s_mtrlware.u_mtrldef_mtrlname[1] = ls_mtrlname
- arg_s_mtrlware.u_mtrldef_unit[1] = ls_unit
- arg_s_mtrlware.u_mtrldef_mtrlmode[1] = ls_mtrlmode
- arg_s_mtrlware.u_mtrldef_mtrlsectype[1] = ls_mtrlsectype
- arg_s_mtrlware.u_mtrldef_zxmtrlmode[1] = ls_zxmtrlmode
- arg_s_mtrlware.plancode[1] = ls_plancode
- arg_s_mtrlware.status[1] = ls_status
- arg_s_mtrlware.woodcode[1] = ls_woodcode
- arg_s_mtrlware.pcode[1] = ls_pcode
- arg_s_mtrlware.mtrlid[1] = ls_mtrlid
- arg_s_mtrlware.mtrlwareid[1] = ls_mtrlwareid
- arg_s_mtrlware.sptid[1] = ll_sptid
- arg_s_mtrlware.noallocqty[1] = ls_noallocqty
- arg_s_mtrlware.planprice[1] = ls_planprice
- arg_s_mtrlware.cost[1] = ls_cost
- arg_s_mtrlware.ifunit[1] = li_ifunit
-
- END IF
- ext:
- RETURN rslt
- end function
|