4gl操作Excel
2018-06-01 本文已影响0人
jiandanyaobai
一、业务场景说明
针对部分料件无法在BOM中进行搭建、用量不确定,组成无法事先搭配。只有在实际生成过程中,才会得到具体的用量和组成。比如说:针对一些注塑行业、印刷行业等等。但是,对于成本精细化管理的角度来讲。这一部分成本也是要从实际生产中体现出来。那如何处理呢?
二、4gl实际应用
通过在日常生产中记录用量,事后导入到系统中去。具体操作:读取excel,生成工单备料、生成发料单。
这里有几个问题要注意:
1.用临时表,如果excel中的笔数较多。如果用很多循环的话就会很慢。考虑效能。
2.用merge的语法,比较快速的更新工单备料。
PRIVATE FUNCTION csfp200_insert_excel_data_1(p_excelname)
DEFINE l_sfda RECORD #發退料單頭檔
sfdaent LIKE sfda_t.sfdaent, #企業編號
sfdasite LIKE sfda_t.sfdasite, #營運據點
sfdadocno LIKE sfda_t.sfdadocno, #發退料單號
sfdadocdt LIKE sfda_t.sfdadocdt, #單據日期
sfda001 LIKE sfda_t.sfda001, #過帳日期
sfda002 LIKE sfda_t.sfda002, #發退料類別
sfda003 LIKE sfda_t.sfda003, #生產部門
sfda004 LIKE sfda_t.sfda004, #申請人
sfda005 LIKE sfda_t.sfda005, #PBI編號
sfda006 LIKE sfda_t.sfda006, #生產料號
sfda007 LIKE sfda_t.sfda007, #BOM特性
sfda008 LIKE sfda_t.sfda008, #產品特徵
sfda009 LIKE sfda_t.sfda009, #生產控制組
sfda010 LIKE sfda_t.sfda010, #作業編號
sfda011 LIKE sfda_t.sfda011, #作業序
sfda012 LIKE sfda_t.sfda012, #庫位
sfda013 LIKE sfda_t.sfda013, #套數
sfda014 LIKE sfda_t.sfda014, #來源單號
sfda015 LIKE sfda_t.sfda015, #來源類型
sfdaownid LIKE sfda_t.sfdaownid, #資料所有者
sfdaowndp LIKE sfda_t.sfdaowndp, #資料所屬部門
sfdacrtid LIKE sfda_t.sfdacrtid, #資料建立者
sfdacrtdp LIKE sfda_t.sfdacrtdp, #資料建立部門
sfdacrtdt LIKE sfda_t.sfdacrtdt, #資料創建日
sfdamodid LIKE sfda_t.sfdamodid, #資料修改者
sfdamoddt LIKE sfda_t.sfdamoddt, #最近修改日
sfdacnfid LIKE sfda_t.sfdacnfid, #資料確認者
sfdacnfdt LIKE sfda_t.sfdacnfdt, #資料確認日
sfdapstid LIKE sfda_t.sfdapstid, #資料過帳者
sfdapstdt LIKE sfda_t.sfdapstdt, #資料過帳日
sfdastus LIKE sfda_t.sfdastus, #狀態碼
sfdaud001 LIKE sfda_t.sfdaud001, #自定義欄位(文字)001
sfdaud002 LIKE sfda_t.sfdaud002, #自定義欄位(文字)002
sfdaud003 LIKE sfda_t.sfdaud003, #自定義欄位(文字)003
sfdaud004 LIKE sfda_t.sfdaud004, #自定義欄位(文字)004
sfdaud005 LIKE sfda_t.sfdaud005, #自定義欄位(文字)005
sfdaud006 LIKE sfda_t.sfdaud006, #自定義欄位(文字)006
sfdaud007 LIKE sfda_t.sfdaud007, #自定義欄位(文字)007
sfdaud008 LIKE sfda_t.sfdaud008, #自定義欄位(文字)008
sfdaud009 LIKE sfda_t.sfdaud009, #自定義欄位(文字)009
sfdaud010 LIKE sfda_t.sfdaud010, #自定義欄位(文字)010
sfdaud011 LIKE sfda_t.sfdaud011, #自定義欄位(數字)011
sfdaud012 LIKE sfda_t.sfdaud012, #自定義欄位(數字)012
sfdaud013 LIKE sfda_t.sfdaud013, #自定義欄位(數字)013
sfdaud014 LIKE sfda_t.sfdaud014, #自定義欄位(數字)014
sfdaud015 LIKE sfda_t.sfdaud015, #自定義欄位(數字)015
sfdaud016 LIKE sfda_t.sfdaud016, #自定義欄位(數字)016
sfdaud017 LIKE sfda_t.sfdaud017, #自定義欄位(數字)017
sfdaud018 LIKE sfda_t.sfdaud018, #自定義欄位(數字)018
sfdaud019 LIKE sfda_t.sfdaud019, #自定義欄位(數字)019
sfdaud020 LIKE sfda_t.sfdaud020, #自定義欄位(數字)020
sfdaud021 LIKE sfda_t.sfdaud021, #自定義欄位(日期時間)021
sfdaud022 LIKE sfda_t.sfdaud022, #自定義欄位(日期時間)022
sfdaud023 LIKE sfda_t.sfdaud023, #自定義欄位(日期時間)023
sfdaud024 LIKE sfda_t.sfdaud024, #自定義欄位(日期時間)024
sfdaud025 LIKE sfda_t.sfdaud025, #自定義欄位(日期時間)025
sfdaud026 LIKE sfda_t.sfdaud026, #自定義欄位(日期時間)026
sfdaud027 LIKE sfda_t.sfdaud027, #自定義欄位(日期時間)027
sfdaud028 LIKE sfda_t.sfdaud028, #自定義欄位(日期時間)028
sfdaud029 LIKE sfda_t.sfdaud029, #自定義欄位(日期時間)029
sfdaud030 LIKE sfda_t.sfdaud030 #自定義欄位(日期時間)030
END RECORD
DEFINE l_sfdc RECORD #發退料需求檔
sfdcent LIKE sfdc_t.sfdcent, #企業編號
sfdcsite LIKE sfdc_t.sfdcsite, #營運據點
sfdcdocno LIKE sfdc_t.sfdcdocno, #發退料單號
sfdcseq LIKE sfdc_t.sfdcseq, #項次
sfdc001 LIKE sfdc_t.sfdc001, #工單單號
sfdc002 LIKE sfdc_t.sfdc002, #工單項次
sfdc003 LIKE sfdc_t.sfdc003, #工單項序
sfdc004 LIKE sfdc_t.sfdc004, #需求料號
sfdc005 LIKE sfdc_t.sfdc005, #產品特徵
sfdc006 LIKE sfdc_t.sfdc006, #單位
sfdc007 LIKE sfdc_t.sfdc007, #申請數量
sfdc008 LIKE sfdc_t.sfdc008, #實際數量
sfdc009 LIKE sfdc_t.sfdc009, #參考單位
sfdc010 LIKE sfdc_t.sfdc010, #參考單位需求數量
sfdc011 LIKE sfdc_t.sfdc011, #參考單位實際數量
sfdc012 LIKE sfdc_t.sfdc012, #指定庫位
sfdc013 LIKE sfdc_t.sfdc013, #指定儲位
sfdc014 LIKE sfdc_t.sfdc014, #指定批號
sfdc015 LIKE sfdc_t.sfdc015, #理由碼
sfdc016 LIKE sfdc_t.sfdc016, #庫存管理特徴
sfdc017 LIKE sfdc_t.sfdc017, #正負
sfdcud001 LIKE sfdc_t.sfdcud001, #自定義欄位(文字)001
sfdcud002 LIKE sfdc_t.sfdcud002, #自定義欄位(文字)002
sfdcud003 LIKE sfdc_t.sfdcud003, #自定義欄位(文字)003
sfdcud004 LIKE sfdc_t.sfdcud004, #自定義欄位(文字)004
sfdcud005 LIKE sfdc_t.sfdcud005, #自定義欄位(文字)005
sfdcud006 LIKE sfdc_t.sfdcud006, #自定義欄位(文字)006
sfdcud007 LIKE sfdc_t.sfdcud007, #自定義欄位(文字)007
sfdcud008 LIKE sfdc_t.sfdcud008, #自定義欄位(文字)008
sfdcud009 LIKE sfdc_t.sfdcud009, #自定義欄位(文字)009
sfdcud010 LIKE sfdc_t.sfdcud010, #自定義欄位(文字)010
sfdcud011 LIKE sfdc_t.sfdcud011, #自定義欄位(數字)011
sfdcud012 LIKE sfdc_t.sfdcud012, #自定義欄位(數字)012
sfdcud013 LIKE sfdc_t.sfdcud013, #自定義欄位(數字)013
sfdcud014 LIKE sfdc_t.sfdcud014, #自定義欄位(數字)014
sfdcud015 LIKE sfdc_t.sfdcud015, #自定義欄位(數字)015
sfdcud016 LIKE sfdc_t.sfdcud016, #自定義欄位(數字)016
sfdcud017 LIKE sfdc_t.sfdcud017, #自定義欄位(數字)017
sfdcud018 LIKE sfdc_t.sfdcud018, #自定義欄位(數字)018
sfdcud019 LIKE sfdc_t.sfdcud019, #自定義欄位(數字)019
sfdcud020 LIKE sfdc_t.sfdcud020, #自定義欄位(數字)020
sfdcud021 LIKE sfdc_t.sfdcud021, #自定義欄位(日期時間)021
sfdcud022 LIKE sfdc_t.sfdcud022, #自定義欄位(日期時間)022
sfdcud023 LIKE sfdc_t.sfdcud023, #自定義欄位(日期時間)023
sfdcud024 LIKE sfdc_t.sfdcud024, #自定義欄位(日期時間)024
sfdcud025 LIKE sfdc_t.sfdcud025, #自定義欄位(日期時間)025
sfdcud026 LIKE sfdc_t.sfdcud026, #自定義欄位(日期時間)026
sfdcud027 LIKE sfdc_t.sfdcud027, #自定義欄位(日期時間)027
sfdcud028 LIKE sfdc_t.sfdcud028, #自定義欄位(日期時間)028
sfdcud029 LIKE sfdc_t.sfdcud029, #自定義欄位(日期時間)029
sfdcud030 LIKE sfdc_t.sfdcud030 #自定義欄位(日期時間)030
END RECORD
DEFINE l_sfdd RECORD #發退料明細檔
sfddent LIKE sfdd_t.sfddent, #企業編號
sfddsite LIKE sfdd_t.sfddsite, #營運據點
sfdddocno LIKE sfdd_t.sfdddocno, #發退料單號
sfddseq LIKE sfdd_t.sfddseq, #項次
sfddseq1 LIKE sfdd_t.sfddseq1, #項序
sfdd001 LIKE sfdd_t.sfdd001, #發退料料號
sfdd002 LIKE sfdd_t.sfdd002, #替代率
sfdd003 LIKE sfdd_t.sfdd003, #庫位
sfdd004 LIKE sfdd_t.sfdd004, #儲位
sfdd005 LIKE sfdd_t.sfdd005, #批號
sfdd006 LIKE sfdd_t.sfdd006, #單位
sfdd007 LIKE sfdd_t.sfdd007, #數量
sfdd008 LIKE sfdd_t.sfdd008, #參考單位
sfdd009 LIKE sfdd_t.sfdd009, #參考單位數量
sfdd010 LIKE sfdd_t.sfdd010, #庫存管理特徵
sfdd011 LIKE sfdd_t.sfdd011, #包裝容器
sfdd012 LIKE sfdd_t.sfdd012, #正負
sfdd013 LIKE sfdd_t.sfdd013, #產品特徵
sfddud001 LIKE sfdd_t.sfddud001, #自定義欄位(文字)001
sfddud002 LIKE sfdd_t.sfddud002, #自定義欄位(文字)002
sfddud003 LIKE sfdd_t.sfddud003, #自定義欄位(文字)003
sfddud004 LIKE sfdd_t.sfddud004, #自定義欄位(文字)004
sfddud005 LIKE sfdd_t.sfddud005, #自定義欄位(文字)005
sfddud006 LIKE sfdd_t.sfddud006, #自定義欄位(文字)006
sfddud007 LIKE sfdd_t.sfddud007, #自定義欄位(文字)007
sfddud008 LIKE sfdd_t.sfddud008, #自定義欄位(文字)008
sfddud009 LIKE sfdd_t.sfddud009, #自定義欄位(文字)009
sfddud010 LIKE sfdd_t.sfddud010, #自定義欄位(文字)010
sfddud011 LIKE sfdd_t.sfddud011, #自定義欄位(數字)011
sfddud012 LIKE sfdd_t.sfddud012, #自定義欄位(數字)012
sfddud013 LIKE sfdd_t.sfddud013, #自定義欄位(數字)013
sfddud014 LIKE sfdd_t.sfddud014, #自定義欄位(數字)014
sfddud015 LIKE sfdd_t.sfddud015, #自定義欄位(數字)015
sfddud016 LIKE sfdd_t.sfddud016, #自定義欄位(數字)016
sfddud017 LIKE sfdd_t.sfddud017, #自定義欄位(數字)017
sfddud018 LIKE sfdd_t.sfddud018, #自定義欄位(數字)018
sfddud019 LIKE sfdd_t.sfddud019, #自定義欄位(數字)019
sfddud020 LIKE sfdd_t.sfddud020, #自定義欄位(數字)020
sfddud021 LIKE sfdd_t.sfddud021, #自定義欄位(日期時間)021
sfddud022 LIKE sfdd_t.sfddud022, #自定義欄位(日期時間)022
sfddud023 LIKE sfdd_t.sfddud023, #自定義欄位(日期時間)023
sfddud024 LIKE sfdd_t.sfddud024, #自定義欄位(日期時間)024
sfddud025 LIKE sfdd_t.sfddud025, #自定義欄位(日期時間)025
sfddud026 LIKE sfdd_t.sfddud026, #自定義欄位(日期時間)026
sfddud027 LIKE sfdd_t.sfddud027, #自定義欄位(日期時間)027
sfddud028 LIKE sfdd_t.sfddud028, #自定義欄位(日期時間)028
sfddud029 LIKE sfdd_t.sfddud029, #自定義欄位(日期時間)029
sfddud030 LIKE sfdd_t.sfddud030, #自定義欄位(日期時間)030
sfdd014 LIKE sfdd_t.sfdd014, #備置量
sfdd015 LIKE sfdd_t.sfdd015 #在揀量
END RECORD
DEFINE p_sfdadocno LIKE xmdk_t.xmdkdocno
DEFINE p_excelname LIKE type_t.chr1000 #excel档名
DEFINE r_success LIKE type_t.num5
DEFINE l_excelname STRING #excel档名
DEFINE l_today DATETIME YEAR TO SECOND
DEFINE l_count LIKE type_t.num10
DEFINE li_i LIKE type_t.num10
DEFINE l_success LIKE type_t.num10
DEFINE xlapp,iRes,iRow LIKE type_t.num5
DEFINE l_cnt LIKE type_t.num5
DEFINE l_cnt1 LIKE type_t.num5
DEFINE l_cnt2 LIKE type_t.num5
DEFINE l_cnt3 LIKE type_t.num5
DEFINE l_cnt4 LIKE type_t.num5
DEFINE l_cnt5 LIKE type_t.num5
DEFINE l_sfdastus LIKE sfda_t.sfdastus
DEFINE l_imaastus LIKE imaa_t.imaastus
DEFINE l_str STRING
DEFINE l_sfbaseq LIKE sfba_t.sfbaseq
DEFINE l_sfba001 LIKE sfba_t.sfba001
DEFINE l_sfba013 LIKE sfba_t.sfba013
DEFINE l_sfba016 LIKE sfba_t.sfba016
DEFINE l_sfba023 LIKE sfba_t.sfba023
DEFINE l_danbie LIKE type_t.chr10
DEFINE l_prog LIKE type_t.chr10
DEFINE l_sql STRING
DEFINE l_sfdc001 LIKE sfdc_t.sfdc001
DEFINE l_sfdc004 LIKE sfdc_t.sfdc004
DEFINE l_sfdc005 LIKE sfdc_t.sfdc005
DEFINE l_sfdc007 LIKE sfdc_t.sfdc007
DEFINE l_sfdc006 LIKE sfdc_t.sfdc006
DEFINE l_sfdc012 LIKE sfdc_t.sfdc012
DEFINE l_sfaastus LIKE sfaa_t.sfaastus
DEFINE l_flag1 LIKE type_t.chr1
DEFINE l_what LIKE type_t.chr1
LET l_sql = " SELECT MAX(sfbaseq)+10 FROM sfba_t WHERE sfbaent = ? AND sfbadocno = ? "
PREPARE sfbaseq_max_pre FROM l_sql
LET l_sql = " SELECT MAX(sfbaseq)+10 FROM csfp200_tmp01 WHERE sfdc001 = ? "
PREPARE sfbaseq_max_tmp_pre FROM l_sql
LET l_sql = " SELECT sfbaseq FROM sfba_t WHERE sfbaent = ? AND sfbadocno = ? AND sfba006 = ? AND sfba021 = ? "
PREPARE sfbaseq_pre FROM l_sql
CALL cl_err_collect_init()
LET r_success = TRUE
MESSAGE "汇入EXCEL中,请稍后!"
LET l_count = LENGTH(p_excelname CLIPPED)
#转换路径分隔符
FOR li_i = 1 TO l_count
IF p_excelname[li_i,li_i] ="/" THEN
LET l_excelname = l_excelname CLIPPED,'\\'
ELSE
LET l_excelname = l_excelname CLIPPED,p_excelname[li_i,li_i]
END IF
END FOR
#创建EXCEL 实例进程
#MS OFFICE EXCEL
CALL ui.interface.frontCall('WinCOM','CreateInstance',['Excel.Application'],[xlApp])
IF xlApp = -1 THEN
#KS WPS 9.0 KET
CALL ui.interface.frontCall('WinCOM','CreateInstance',['Ket.Application'],[xlApp])
END IF
IF xlApp = -1 THEN
#KS WPS 8.0 及以下 ET
CALL ui.interface.frontCall('WinCOM','CreateInstance',['ET.Application'],[xlApp])
END IF
IF xlApp <> -1 THEN
CALL ui.interface.frontCall('WinCOM','CallMethod',[xlApp,'WorkBooks.Open',l_excelname],[iRes])
LET iRes = 0
IF iRes <> -1 THEN
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.UsedRange.Rows.Count'],[iRow])
#插入倒扣料单头sfda_t
CALL csfp200_ins_sfda(p_excelname) RETURNING r_success
IF NOT r_success THEN
RETURN r_success
END IF
#读取excel,并写进临时表
#第一行是欄位的中文說明,从2开始
DELETE FROM csfp200_tmp01; #清空临时表
FOR li_i = 2 TO iRow
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',1).Value'],[l_sfdc001]) #工单号
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',2).Value'],[l_sfdc004]) #料号
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',3).Value'],[l_sfdc005]) #特征值
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',4).Value'],[l_sfdc007]) #用量
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',5).Value'],[l_sfdc006]) #单位
CALL ui.interface.frontCall('WinCOM','GetProperty',[xlApp,'ActiveSheet.Cells('||li_i||',6).Value'],[l_sfdc012]) #仓库
IF cl_null(l_sfdc005) THEN
LET l_sfdc005 = ' '
END IF
#检查工单
IF NOT cl_null(l_sfdc001) THEN
LET l_sfaastus = ''
SELECT sfaastus INTO l_sfaastus FROM sfaa_t
WHERE sfaaent = g_enterprise AND sfaadocno = l_sfdc001
CASE WHEN SQLCA.SQLCODE = 100
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'axc-00401' #工单不存在工单维护作业中
LET g_errparam.extend = l_sfdc001
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
WHEN l_sfaastus<>'F'
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'aqc-00123' #工单不是[F:已发出]状态!
LET g_errparam.extend = l_sfdc001
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END CASE
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'sub-00307' #传入的字段名不可为空
LET g_errparam.extend = "工单单号"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
#检查料号
IF NOT cl_null(l_sfdc004) THEN
LET l_cnt1 = ''
SELECT count(1) INTO l_cnt1 FROM imaa_t
WHERE imaaent = g_enterprise AND imaa001 = l_sfdc004 AND imaastus = 'Y'
IF cl_null(l_cnt1) THEN LET l_cnt1 = 0 END IF
IF l_cnt1 = 0 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'csf-00004' #料号不存在或未审核
LET g_errparam.extend = l_sfdc004
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'sub-00307' #传入的字段名不可为空
LET g_errparam.extend = "料号"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
#检查特征值
IF NOT cl_null(l_sfdc005) THEN
LET l_cnt2 = ''
SELECT count(1) INTO l_cnt2 FROM imaa_t,imec_t
WHERE imaaent=imecent AND imaaent = g_enterprise AND imaa005=imec001 AND imaa001 = l_sfdc004 AND imec003 = l_sfdc005 AND imecstus = 'Y'
IF cl_null(l_cnt2) THEN LET l_cnt2 = 0 END IF
IF l_cnt2 = 0 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'csf-00005' #料号+特征值不存在或无效
LET g_errparam.extend = l_sfdc004 CLIPPED,'+',l_sfdc005 CLIPPED
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
END IF
#检查用量
IF NOT cl_null(l_sfdc007) THEN
IF l_sfdc007 < 0 OR l_sfdc007 = 0 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = '-32406' #数值必须大于零.
LET g_errparam.extend = l_sfdc007
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'sub-00307' #传入的字段名不可为空
LET g_errparam.extend = "用量"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
#检查单位
IF NOT cl_null(l_sfdc006) THEN
LET l_cnt3 = ''
SELECT count(1) INTO l_cnt3 FROM imaa_t,imao_t
WHERE imaaent=imaoent AND imaaent = g_enterprise AND imaa001=imao001 AND imaa001 = l_sfdc004 AND imao002 = l_sfdc006 AND imaastus = 'Y'
IF cl_null(l_cnt3) THEN LET l_cnt3 = 0 END IF
IF l_cnt3 = 0 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'csf-00006' #单位不是料号允许使用的单位
LET g_errparam.extend = l_sfdc006
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'sub-00307' #传入的字段名不可为空
LET g_errparam.extend = "单位"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
#检查仓库
IF NOT cl_null(l_sfdc012) THEN
LET l_cnt4 = ''
SELECT count(1) INTO l_cnt4 FROM inaa_t
WHERE inaaent = g_enterprise AND inaasite = g_site AND inaa001 = l_sfdc012 AND inaa008 = 'Y'
IF cl_null(l_cnt4) THEN LET l_cnt4 = 0 END IF
IF l_cnt4 = 0 THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'csf-00007' #仓库编号不存在或不可使用
LET g_errparam.extend = l_sfdc012
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'sub-00307' #传入的字段名不可为空
LET g_errparam.extend = "仓库"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
CONTINUE FOR
END IF
#工单项次:若是新增的备料项次,则先从临时表抓最大项次,若是抓不到,再从sfba_t抓最大项次
LET l_sfbaseq = ''
EXECUTE sfbaseq_pre USING g_enterprise,l_sfdc001,l_sfdc004,l_sfdc005 INTO l_sfbaseq
IF cl_null(l_sfbaseq) THEN
EXECUTE sfbaseq_max_tmp_pre USING l_sfdc001 INTO l_sfbaseq
IF cl_null(l_sfbaseq) THEN
EXECUTE sfbaseq_max_pre USING g_enterprise,l_sfdc001 INTO l_sfbaseq
IF cl_null(l_sfbaseq) OR l_sfbaseq = 0 THEN
LET l_sfbaseq = 10
END IF
END IF
END IF
#excel数据写进临时表
#excel中记录可能会有重复的值,如果重新则进行update 否则进行insert
SELECT COUNT(1) INTO l_what FROM csfp200_tmp01 WHERE sfdc001 = l_sfdc001 AND sfdc004 = l_sfdc004 AND sfdc005 = l_sfdc005
IF l_what = '1' THEN
UPDATE csfp200_tmp01 SET sfdc007 = sfdc007 + l_sfdc007 WHERE sfdc001=l_sfdc001 AND sfdc004 = l_sfdc004
ELSE
INSERT INTO csfp200_tmp01(sfbaseq,sfdc001,sfdc004,sfdc005,sfdc007,sfdc006,sfdc012)
VALUES(l_sfbaseq,l_sfdc001,l_sfdc004,l_sfdc005,l_sfdc007,l_sfdc006,l_sfdc012)
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = "insert csfp200_tmp01"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
END IF
END IF
END FOR
#临时表读写出错!
IF NOT r_success THEN
RETURN r_success
END IF
#下面开始从临时表中抓数据写进工单备料单身啦!!!
IF r_success THEN
LET l_sql = " MERGE INTO sfba_t o ",
" USING (SELECT sfbaseq,sfdc001,sfdc004,sfdc005,sfdc006,SUM(sfdc007) sfdc007 ",
" FROM csfp200_tmp01 GROUP BY sfbaseq,sfdc001,sfdc004,sfdc005,sfdc006) a",
" ON (o.sfbadocno = a.sfdc001 AND o.sfbaseq = a.sfbaseq AND o.sfba006 = a.sfdc004 AND o.sfba021 = a.sfdc005 AND o.sfbaent ='",g_enterprise,"' AND o.sfbasite = '",g_site,"')",
" WHEN MATCHED THEN UPDATE SET o.sfba023 = o.sfba023 + a.sfdc007,o.sfba013 = o.sfba013 + a.sfdc007 ",
" WHEN NOT MATCHED THEN INSERT (o.sfbaent,o.sfbasite,o.sfbadocno,o.sfbaseq,o.sfbaseq1, ",
" o.sfba001,o.sfba005,o.sfba006,o.sfba009,o.sfba010, ",
" o.sfba011,o.sfba013,o.sfba014,o.sfba016,o.sfba021, ",
" o.sfba023,o.sfba008,o.sfba026,o.sfba028 ",
" ) VALUES (?,?,a.sfdc001,a.sfbaseq,0, ",
" '',a.sfdc004,a.sfdc004,'Y',1, ",
" 1,a.sfdc007,a.sfdc006,0,a.sfdc005, ",
" a.sfdc007,'3','1','N') "
PREPARE merge_pre FROM l_sql
EXECUTE merge_pre USING g_enterprise,g_site
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = "merge sfba_t"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
RETURN r_success
END IF
END IF
#下面开始从临时表中抓数据写进倒扣料单身啦!!!
IF r_success THEN
LET l_sql = " SELECT sfdc001,sfdc004,sfdc005,SUM(sfdc007),sfdc006,sfdc012 FROM csfp200_tmp01 ",
" GROUP BY sfdc001,sfdc004,sfdc005,sfdc006,sfdc012 "
PREPARE sfdc_pre FROM l_sql
DECLARE sfdc_cs CURSOR FOR sfdc_pre
FOREACH sfdc_cs INTO l_sfdc001,l_sfdc004,l_sfdc005,l_sfdc007,l_sfdc006,l_sfdc012
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = "FOREACH sfdc_cs "
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
EXIT FOREACH
END IF
#写进sfdc_t--------------------str
INITIALIZE l_sfdc.* TO NULL
LET l_sfdc.sfdcent = g_enterprise #企業編號
LET l_sfdc.sfdcsite = g_site #營運據點
LET l_sfdc.sfdcdocno = g_sfda.sfdadocno #發退料單號
#项次
SELECT MAX(sfdcseq)+1 INTO l_sfdc.sfdcseq FROM sfdc_t
WHERE sfdcent = g_enterprise AND sfdcsite = g_site AND sfdcdocno = g_sfda.sfdadocno
IF cl_null(l_sfdc.sfdcseq) THEN LET l_sfdc.sfdcseq = 1 END IF
LET l_sfdc.sfdc001 = l_sfdc001 #工单单号
LET l_sfdc.sfdc004 = l_sfdc004 #料号
LET l_sfdc.sfdc005 = l_sfdc005 #产品特征
#工單項次 #工单项序
SELECT sfbaseq,sfbaseq1 INTO l_sfdc.sfdc002,l_sfdc.sfdc003 FROM sfba_t
WHERE sfbaent = g_enterprise AND sfbadocno = l_sfdc001 AND sfba006 = l_sfdc004 AND sfba021 = l_sfdc005
LET l_sfdc.sfdc006 = l_sfdc006 #单位
LET l_sfdc.sfdc007 = l_sfdc007 #申请数量
LET l_sfdc.sfdc008 = l_sfdc.sfdc007 #實際數量
#参考单位
SELECT imaf015 INTO l_sfdc.sfdc009 FROM imaf_t
WHERE imafent = g_enterprise
AND imafsite= g_site
AND imaf001 = l_sfdc004
#參考數量、參考實際數量
IF NOT cl_null(l_sfdc.sfdc009) THEN
CALL s_aooi250_convert_qty(l_sfdc.sfdc004,l_sfdc.sfdc006,l_sfdc.sfdc009,l_sfdc.sfdc007)
RETURNING l_flag1,l_sfdc.sfdc010
IF NOT l_flag1 THEN
LET l_sfdc.sfdc010 = l_sfdc.sfdc007
END IF
CALL s_aooi250_take_decimals(l_sfdc.sfdc009,l_sfdc.sfdc010)
RETURNING l_flag1,l_sfdc.sfdc010
LET l_sfdc.sfdc011 = l_sfdc.sfdc010
ELSE
LET l_sfdc.sfdc010 = 0
LET l_sfdc.sfdc011 = 0
END IF
LET l_sfdc.sfdc012 = l_sfdc012 #指定仓库
LET l_sfdc.sfdc013 = ' ' #指定储位
LET l_sfdc.sfdc014 = ' ' #指定批号
LET l_sfdc.sfdc015 = '' #理由碼
LET l_sfdc.sfdc016 = ' ' #庫存管理特徴
LET l_sfdc.sfdc017 = '-1' #正負
INSERT INTO sfdc_t(sfdcent,sfdcsite,sfdcdocno,sfdcseq,sfdc001,
sfdc002,sfdc003,sfdc004,sfdc005,sfdc006,
sfdc007,sfdc008,sfdc009,sfdc010,sfdc011,
sfdc012,sfdc013,sfdc014,sfdc015,sfdc016,
sfdc017,sfdcud001,sfdcud002,sfdcud003,sfdcud004,
sfdcud005,sfdcud006,sfdcud007,sfdcud008,sfdcud009,
sfdcud010,sfdcud011,sfdcud012,sfdcud013,sfdcud014,
sfdcud015,sfdcud016,sfdcud017,sfdcud018,sfdcud019,
sfdcud020,sfdcud021,sfdcud022,sfdcud023,sfdcud024,
sfdcud025,sfdcud026,sfdcud027,sfdcud028,sfdcud029,
sfdcud030)
VALUES(l_sfdc.sfdcent,l_sfdc.sfdcsite,l_sfdc.sfdcdocno,l_sfdc.sfdcseq,l_sfdc.sfdc001,
l_sfdc.sfdc002,l_sfdc.sfdc003,l_sfdc.sfdc004,l_sfdc.sfdc005,l_sfdc.sfdc006,
l_sfdc.sfdc007,l_sfdc.sfdc008,l_sfdc.sfdc009,l_sfdc.sfdc010,l_sfdc.sfdc011,
l_sfdc.sfdc012,l_sfdc.sfdc013,l_sfdc.sfdc014,l_sfdc.sfdc015,l_sfdc.sfdc016,
l_sfdc.sfdc017,l_sfdc.sfdcud001,l_sfdc.sfdcud002,l_sfdc.sfdcud003,l_sfdc.sfdcud004,
l_sfdc.sfdcud005,l_sfdc.sfdcud006,l_sfdc.sfdcud007,l_sfdc.sfdcud008,l_sfdc.sfdcud009,
l_sfdc.sfdcud010,l_sfdc.sfdcud011,l_sfdc.sfdcud012,l_sfdc.sfdcud013,l_sfdc.sfdcud014,
l_sfdc.sfdcud015,l_sfdc.sfdcud016,l_sfdc.sfdcud017,l_sfdc.sfdcud018,l_sfdc.sfdcud019,
l_sfdc.sfdcud020,l_sfdc.sfdcud021,l_sfdc.sfdcud022,l_sfdc.sfdcud023,l_sfdc.sfdcud024,
l_sfdc.sfdcud025,l_sfdc.sfdcud026,l_sfdc.sfdcud027,l_sfdc.sfdcud028,l_sfdc.sfdcud029,
l_sfdc.sfdcud030)
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = "insert sfdc_t"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
EXIT FOREACH
END IF
#写进sfdc_t--------------------end
#写进sfdd_t--------------------str
INITIALIZE l_sfdd.* TO NULL
LET l_sfdd.sfddent = g_enterprise #企業編號
LET l_sfdd.sfddsite = g_site #營運據點
LET l_sfdd.sfdddocno = g_sfda.sfdadocno #發退料單號
LET l_sfdd.sfddseq = l_sfdc.sfdcseq #項次
LET l_sfdd.sfdd001 = l_sfdc.sfdc004 #發退料料號
LET l_sfdd.sfdd002 = '1' #替代率
LET l_sfdd.sfdd003 = l_sfdc.sfdc012 #庫位
LET l_sfdd.sfdd004 = ' ' #儲位
LET l_sfdd.sfdd005 = ' ' #批號
LET l_sfdd.sfdd006 = l_sfdc.sfdc006 #單位
LET l_sfdd.sfdd007 = l_sfdc.sfdc007 #數量
LET l_sfdd.sfdd008 = l_sfdc.sfdc009 #參考單位
LET l_sfdd.sfdd009 = l_sfdc.sfdc010 #參考單位數量
LET l_sfdd.sfdd010 = ' ' #庫存管理特徵
LET l_sfdd.sfdd011 = '' #包裝容器
LET l_sfdd.sfdd012 = '-1' #正負
LET l_sfdd.sfdd013 = l_sfdc.sfdc005 #产品特征
#項序
SELECT max(sfddseq1) + 1 INTO l_sfdd.sfddseq1 FROM sfdd_t
WHERE sfddent = g_enterprise AND sfdddocno = l_sfdd.sfdddocno AND sfddseq = l_sfdd.sfddseq
IF cl_null(l_sfdd.sfddseq1) OR l_sfdd.sfddseq1 = 0 THEN
LET l_sfdd.sfddseq1 = 1
END IF
INSERT INTO sfdd_t(sfddent,sfddsite,sfdddocno,sfddseq,sfddseq1,
sfdd001,sfdd002,sfdd003,sfdd004,sfdd005,
sfdd006,sfdd007,sfdd008,sfdd009,sfdd010,
sfdd011,sfdd012,sfdd013,sfddud001,sfddud002,
sfddud003,sfddud004,sfddud005,sfddud006,sfddud007,
sfddud008,sfddud009,sfddud010,sfddud011,sfddud012,
sfddud013,sfddud014,sfddud015,sfddud016,sfddud017,
sfddud018,sfddud019,sfddud020,sfddud021,sfddud022,
sfddud023,sfddud024,sfddud025,sfddud026,sfddud027,
sfddud028,sfddud029,sfddud030,sfdd014,sfdd015)
VALUES(l_sfdd.sfddent,l_sfdd.sfddsite,l_sfdd.sfdddocno,l_sfdd.sfddseq,l_sfdd.sfddseq1,
l_sfdd.sfdd001,l_sfdd.sfdd002,l_sfdd.sfdd003,l_sfdd.sfdd004,l_sfdd.sfdd005,
l_sfdd.sfdd006,l_sfdd.sfdd007,l_sfdd.sfdd008,l_sfdd.sfdd009,l_sfdd.sfdd010,
l_sfdd.sfdd011,l_sfdd.sfdd012,l_sfdd.sfdd013,l_sfdd.sfddud001,l_sfdd.sfddud002,
l_sfdd.sfddud003,l_sfdd.sfddud004,l_sfdd.sfddud005,l_sfdd.sfddud006,l_sfdd.sfddud007,
l_sfdd.sfddud008,l_sfdd.sfddud009,l_sfdd.sfddud010,l_sfdd.sfddud011,l_sfdd.sfddud012,
l_sfdd.sfddud013,l_sfdd.sfddud014,l_sfdd.sfddud015,l_sfdd.sfddud016,l_sfdd.sfddud017,
l_sfdd.sfddud018,l_sfdd.sfddud019,l_sfdd.sfddud020,l_sfdd.sfddud021,l_sfdd.sfddud022,
l_sfdd.sfddud023,l_sfdd.sfddud024,l_sfdd.sfddud025,l_sfdd.sfddud026,l_sfdd.sfddud027,
l_sfdd.sfddud028,l_sfdd.sfddud029,l_sfdd.sfddud030,l_sfdd.sfdd014,l_sfdd.sfdd015)
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = 'insert sfdd_t'
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
EXIT FOREACH
END IF
#写进sfdc_t--------------------end
END FOREACH
#insert sfdc/sfdd 出错!
IF NOT r_success THEN
RETURN r_success
END IF
END IF
END IF
ELSE
INITIALIZE g_errparam TO NULL
LET g_errparam.code = ''
LET g_errparam.extend = 'NO FILE'
LET g_errparam.popup = FALSE
CALL cl_err()
LET r_success = FALSE
END IF
MESSAGE ""
CALL ui.interface.frontCall('WinCOM','CallMethod',[xlApp,'Quit'],[iRes])
CALL ui.interface.frontCall('WinCOM','ReleaseInstance',[xlApp],[iRes])
RETURN r_success
END FUNCTION
################################################################################
# Descriptions...: 插入sfda_t
# Memo...........:
# Usage..........: CALL s_aooi150_ins (传入参数)
# RETURNING 回传参数
# Input parameter: 传入参数变量1 传入参数变量说明1
# : 传入参数变量2 传入参数变量说明2
# Return code....: 回传参数变量1 回传参数变量说明1
# : 回传参数变量2 回传参数变量说明2
# Date & Author..:
# Modify.........:
################################################################################
PRIVATE FUNCTION csfp200_ins_sfda(p_excelname)
DEFINE l_danbie LIKE type_t.chr10
DEFINE l_prog LIKE type_t.chr10
DEFINE l_success LIKE type_t.num5
DEFINE r_success LIKE type_t.num5
DEFINE p_excelname LIKE type_t.chr1000 #excel档名
LET r_success = TRUE #初始化
LET g_sfda.sfdaud001 = p_excelname
LET g_sfda.sfdaent = g_enterprise #企業編號 #161109-00085#32
LET g_sfda.sfdasite = g_site #營運據點 #161109-00085#32
#LET l_sfda.sfdadocno = g_inba_m.sfdadocno #發退料單號
LET g_sfda.sfdadocdt = g_today #單據日期
LET g_sfda.sfda001 = g_today #過帳日期
LET g_sfda.sfda002 = '14' #發退料類別
LET g_sfda.sfda003 = g_dept #生產部門
LET g_sfda.sfda004 = g_user #申請人
LET g_sfda.sfda005 = '' #PBI編號
LET g_sfda.sfda006 = '' #生產料號
LET g_sfda.sfda007 = '' #BOM特性
LET g_sfda.sfda008 = '' #產品特徵
LET g_sfda.sfda009 = '' #生產控制組
LET g_sfda.sfda010 = '' #作業編號
LET g_sfda.sfda011 = '' #作業序
LET g_sfda.sfda012 = '' #庫位
LET g_sfda.sfda013 = '' #套數
LET g_sfda.sfda014 = '' #來源單號 #161109-00085#32
LET g_sfda.sfda015 = '01' #來源類型
LET g_sfda.sfdaownid = g_user #資料所有者
LET g_sfda.sfdaowndp = g_dept #資料所屬部門
LET g_sfda.sfdacrtid = g_user #資料建立者
LET g_sfda.sfdacrtdp = g_dept #資料建立部門
LET g_sfda.sfdacrtdt = cl_get_current() #資料創建日
LET g_sfda.sfdamodid = '' #資料修改者
LET g_sfda.sfdamoddt = '' #最近修改日
LET g_sfda.sfdacnfid = '' #資料確認者
LET g_sfda.sfdacnfdt = '' #資料確認日
LET g_sfda.sfdapstid = '' #資料過帳者
LET g_sfda.sfdapstdt = '' #資料過帳日
LET g_sfda.sfdastus = 'N' #狀態碼
#161109-00085#62 --s add
#LET l_sfda.sfdaud001 = ''
LET g_sfda.sfdaud002 = ''
LET g_sfda.sfdaud003 = ''
LET g_sfda.sfdaud004 = ''
LET g_sfda.sfdaud005 = ''
LET g_sfda.sfdaud006 = ''
LET g_sfda.sfdaud007 = ''
LET g_sfda.sfdaud008 = ''
LET g_sfda.sfdaud009 = ''
LET g_sfda.sfdaud010 = ''
LET g_sfda.sfdaud011 = ''
LET g_sfda.sfdaud012 = ''
LET g_sfda.sfdaud013 = ''
LET g_sfda.sfdaud014 = ''
LET g_sfda.sfdaud015 = ''
LET g_sfda.sfdaud016 = ''
LET g_sfda.sfdaud017 = ''
LET g_sfda.sfdaud018 = ''
LET g_sfda.sfdaud019 = ''
LET g_sfda.sfdaud020 = ''
LET g_sfda.sfdaud021 = ''
LET g_sfda.sfdaud022 = ''
LET g_sfda.sfdaud023 = ''
LET g_sfda.sfdaud024 = ''
LET g_sfda.sfdaud025 = ''
LET g_sfda.sfdaud026 = ''
LET g_sfda.sfdaud027 = ''
LET g_sfda.sfdaud028 = ''
LET g_sfda.sfdaud029 = ''
LET g_sfda.sfdaud030 = ''
LET l_danbie = 'SF14'
LET l_prog = 'asft314'
CALL s_aooi200_gen_docno(g_site,l_danbie,g_sfda.sfdadocdt,l_prog)
RETURNING l_success,g_sfda.sfdadocno
IF NOT l_success THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = 'apm-00003' #自动生成单据编号有误,请重新审核
LET g_errparam.extend = g_sfda.sfdadocno
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
RETURN r_success
END IF
#INSERT INTO sfda_t VALUES g_sfda.*
INSERT INTO sfda_t(sfdaent,sfdasite,sfdadocdt,sfdaownid,sfdaowndp,
sfdacrtid,sfdacrtdp,sfdacrtdt,sfdamodid,sfdamoddt,
sfdacnfid,sfdacnfdt,sfdapstid,sfdapstdt,sfdastus,sfdadocno,
sfda001,sfda002,sfda003,sfda004,sfda005,
sfda006,sfda007,sfda008,sfda009,sfda010,
sfda011,sfda012,sfda013,sfda014,sfda015,
sfdaud001,sfdaud002,sfdaud003,sfdaud004,sfdaud005,
sfdaud006,sfdaud007,sfdaud008,sfdaud009,sfdaud010,
sfdaud011,sfdaud012,sfdaud013,sfdaud014,sfdaud015,
sfdaud016,sfdaud017,sfdaud018,sfdaud019,sfdaud020,
sfdaud021,sfdaud022,sfdaud023,sfdaud024,sfdaud025,
sfdaud026,sfdaud027,sfdaud028,sfdaud029,sfdaud030
)
VALUES (g_sfda.sfdaent,g_sfda.sfdasite,g_sfda.sfdadocdt,g_sfda.sfdaownid,g_sfda.sfdaowndp,
g_sfda.sfdacrtid,g_sfda.sfdacrtdp,g_sfda.sfdacrtdt,g_sfda.sfdamodid,g_sfda.sfdamoddt,
g_sfda.sfdacnfid,g_sfda.sfdacnfdt,g_sfda.sfdapstid,g_sfda.sfdapstdt,g_sfda.sfdastus,g_sfda.sfdadocno,
g_sfda.sfda001,g_sfda.sfda002,g_sfda.sfda003,g_sfda.sfda004,g_sfda.sfda005,
g_sfda.sfda006,g_sfda.sfda007,g_sfda.sfda008,g_sfda.sfda009,g_sfda.sfda010,
g_sfda.sfda011,g_sfda.sfda012,g_sfda.sfda013,g_sfda.sfda014,g_sfda.sfda015,
g_sfda.sfdaud001,g_sfda.sfdaud002,g_sfda.sfdaud003,g_sfda.sfdaud004,g_sfda.sfdaud005,
g_sfda.sfdaud006,g_sfda.sfdaud007,g_sfda.sfdaud008,g_sfda.sfdaud009,g_sfda.sfdaud010,
g_sfda.sfdaud011,g_sfda.sfdaud012,g_sfda.sfdaud013,g_sfda.sfdaud014,g_sfda.sfdaud015,
g_sfda.sfdaud016,g_sfda.sfdaud017,g_sfda.sfdaud018,g_sfda.sfdaud019,g_sfda.sfdaud020,
g_sfda.sfdaud021,g_sfda.sfdaud022,g_sfda.sfdaud023,g_sfda.sfdaud024,g_sfda.sfdaud025,
g_sfda.sfdaud026,g_sfda.sfdaud027,g_sfda.sfdaud028,g_sfda.sfdaud029,g_sfda.sfdaud030
)
IF SQLCA.sqlcode THEN
INITIALIZE g_errparam TO NULL
LET g_errparam.code = SQLCA.sqlcode
LET g_errparam.extend = "insert sfda_t"
LET g_errparam.popup = TRUE
CALL cl_err()
LET r_success = FALSE
RETURN r_success
END IF
RETURN r_success
END FUNCTION
################################################################################
# Descriptions...: 创建临时表
# Memo...........:
# Usage..........: CALL s_aooi150_ins (传入参数)
# RETURNING 回传参数
# Input parameter: 传入参数变量1 传入参数变量说明1
# : 传入参数变量2 传入参数变量说明2
# Return code....: 回传参数变量1 回传参数变量说明1
# : 回传参数变量2 回传参数变量说明2
# Date & Author..:
# Modify.........:
################################################################################
PRIVATE FUNCTION csfp200_crt_tmp01()
DROP TABLE csfp200_tmp01;
CREATE TEMP TABLE csfp200_tmp01(
sfbaseq DECIMAL, #工单项次
sfdc001 VARCHAR(80), #工单单号
sfdc004 VARCHAR(80), #料号
sfdc005 VARCHAR(255), #产品特征
sfdc007 DECIMAL, #用量
sfdc006 VARCHAR(80), #单位
sfdc012 VARCHAR(80) #仓库
);
END FUNCTION