更多源码下载 https://pan.baidu.com/s/1Qb1QIUZITfIPPN_WcflscA?pwd=k4tk
3.提交 | aws_post_asft620 | 提交保存记录并过账完成。 |
项目 | 说明 |
函式说明 | 提交过账完工入库单。 |
函式名称 | aws_post_asft620 接口名:PostAsft620 |
aws_post_asft620.4gl 源码
# Prog. Version..: '5.30.06-13.03.12(00000)' #
# Descriptions...:完工入庫過賬接口
# Date & Author..: 2022-12-19 By Lian
DATABASE ds
GLOBALS "../../../tiptop/config/top.global"
GLOBALS "../../../tiptop/aws/4gl/aws_ttsrv_global.4gl"
GLOBALS
DEFINE g_sfu01 LIKE sfu_file.sfu01 #入???
DEFINE g_sfv04 LIKE sfv_file.sfv04 #料?
DEFINE g_ima02 LIKE ima_file.ima02 #品名
DEFINE g_sfv09 LIKE sfv_file.sfv09 #可入?量
DEFINE g_sfv09a LIKE sfv_file.sfv09 #??入?量
DEFINE g_in LIKE rvv_file.rvv17
DEFINE g_rva01 LIKE rva_file.rva01
DEFINE li_result LIKE type_file.num5
DEFINE g_yy,g_mm LIKE type_file.num5
DEFINE g_img09_t LIKE img_file.img09
DEFINE g_i LIKE type_file.num5
DEFINE g_ima907 LIKE ima_file.ima907
DEFINE g_gec07 LIKE gec_file.gec07
DEFINE g_sql STRING
DEFINE g_ima35 LIKE ima_file.ima35
DEFINE g_ima36 LIKE ima_file.ima36
DEFINE g_ima25 LIKE ima_file.ima25
DEFINE g_ima55 LIKE ima_file.ima55
DEFINE g_cnt LIKE type_file.num10
DEFINE g_rec_b LIKE type_file.num5
DEFINE g_rec_b_1 LIKE type_file.num5
DEFINE l_ac_t LIKE type_file.num10
DEFINE li_step LIKE type_file.num5
DEFINE g_img07 LIKE img_file.img07
DEFINE g_img09 LIKE img_file.img09
DEFINE g_img10 LIKE img_file.img10
DEFINE g_ima906 LIKE ima_file.ima906
DEFINE g_flag LIKE type_file.chr1
DEFINE g_pmm RECORD LIKE pmm_file.*
DEFINE g_pmn RECORD LIKE pmn_file.*
DEFINE g_rva RECORD LIKE rva_file.*
DEFINE g_rvb RECORD LIKE rvb_file.*
DEFINE g_sfu RECORD LIKE sfu_file.*
DEFINE g_srm_dbs LIKE type_file.chr50
DEFINE g_factor LIKE sfs_file.sfs31
DEFINE g_return1 RECORD #回傳值必須宣告為一個 RECORD 變數, 且此 RECORD 需包含所有要回傳的欄位名稱與定義
# statu LIKE type_file.chr1,
sfu01 LIKE sfu_file.sfu01 #回傳的欄位名稱
# mes STRING #
END RECORD
END GLOBALS
#[
# Description....: 提供建立完工入庫單資料的服務(入口 function)
# Date & Author..:
# Parameter......: none
# Return.........: none
# Memo...........:
# Modify.........:
#
#]
FUNCTION aws_post_asft620()
WHENEVER ERROR CONTINUE
CALL aws_ttsrv_preprocess() #呼叫服務前置處理程序
#--------------------------------------------------------------------------#
# 新增完工入庫單資料 #
#--------------------------------------------------------------------------#
IF g_status.code = "0" THEN
CALL aws_post_asft620_process()
END IF
CALL aws_ttsrv_postprocess() #呼叫服務後置處理程序
# DROP TABLE asft620_file
END FUNCTION
#[
# Description....: 依據傳入資訊新增 ERP 完工入庫單資料
# Date & Author..:
# Parameter......: none
# Return.........: 入庫單號
# Memo...........:
# Modify.........:
#
#]
FUNCTION aws_post_asft620_process()
DEFINE l_i LIKE type_file.num10,
l_j LIKE type_file.num10,
l_k LIKE type_file.num10
DEFINE l_cnt LIKE type_file.num10,
l_cnt1 LIKE type_file.num10,
l_cnt2 LIKE type_file.num10,
l_cnt3 LIKE type_file.num10
DEFINE l_node1 om.DomNode,
l_node2 om.DomNode,
l_node3 om.DomNode
DEFINE l_flag LIKE type_file.num10
DEFINE l_pmm RECORD LIKE pmm_file.*
DEFINE l_pmn RECORD LIKE pmn_file.*
DEFINE l_rva RECORD LIKE rva_file.*
DEFINE l_rvb RECORD LIKE rvb_file.*
DEFINE l_yy,l_mm LIKE type_file.num5
DEFINE l_status LIKE sfu_file.sfuconf
DEFINE l_cmd STRING
DEFINE l_prog STRING
DEFINE l_flag1 LIKE type_file.chr1 #FUN-B70074
DEFINE l_success CHAR(1)
DEFINE l_factor DECIMAL(16,8)
DEFINE l_img09 LIKE img_file.img09
DEFINE l_img10 LIKE img_file.img10
DEFINE l_ima108 LIKE ima_file.ima108
DEFINE l_n SMALLINT
DEFINE l_length LIKE type_file.num5
DEFINE p_cmd LIKE type_file.chr1 #處理狀態
DEFINE l_t LIKE type_file.num5
DEFINE l_inaconf LIKE ina_file.inaconf
DEFINE l_ogb04 LIKE ogb_file.ogb04
DEFINE l_ogb31 LIKE ogb_file.ogb31
DEFINE l_ogb32 LIKE ogb_file.ogb32
DEFINE l_sum_ogb12 LIKE ogb_file.ogb12
DEFINE l_ogb12 LIKE ogb_file.ogb12
DEFINE l_ogb01a LIKE ogb_file.ogb01
DEFINE l_ogb03a LIKE ogb_file.ogb03
DEFINE l_ogb01 LIKE ogb_file.ogb01
DEFINE l_ogb03 LIKE ogb_file.ogb03
DEFINE l_ima021 LIKE ima_file.ima021
DEFINE l_ogb12a LIKE ogb_file.ogb12
DEFINE l_sql STRING
DEFINE l_pmn04 LIKE pmn_file.pmn04 #料件??
DEFINE l_ima02 LIKE ima_file.ima02 #品名
DEFINE l_pmn07 LIKE pmn_file.pmn07 #?位
DEFINE l_lotnumber LIKE type_file.chr50 #批?
DEFINE l_barcode1 LIKE type_file.chr100 #??
DEFINE l_pmn20 LIKE pmn_file.pmn20 #?据?量
DEFINE l_msg LIKE type_file.chr50 #No.FUN-680136 VARCHAR(40)
DEFINE l_pmn01 LIKE pmn_file.pmn01
DEFINE l_pmm01 LIKE pmm_file.pmm01
DEFINE l_pmn02 LIKE pmn_file.pmn02
DEFINE l_pmn02a LIKE pmn_file.pmn02
DEFINE l_pmn20a LIKE pmn_file.pmn20
DEFINE l_pmn20ab LIKE pmn_file.pmn20
DEFINE l_pmn20b LIKE pmn_file.pmn20
DEFINE l_sum LIKE pmn_file.pmn20
DEFINE l_sl LIKE pmn_file.pmn20
DEFINE l_sr STRING
DEFINE l_rvb87 LIKE rvb_file.rvb87
DEFINE l_rvb29 LIKE rvb_file.rvb29
DEFINE l_pmn50 LIKE pmn_file.pmn50
DEFINE l_pmn55 LIKE pmn_file.pmn55
DEFINE l_pmn58 LIKE pmn_file.pmn58
DEFINE l_rvb07 LIKE rvb_file.rvb07
DEFINE l_barcode LIKE type_file.chr200
DEFINE l_sfuconf LIKE sfu_file.sfuconf
DEFINE l_sfupost LIKE sfu_file.sfupost
{ DEFINE l_tc_lplb_file RECORD
tc_lplb001 LIKE tc_lplb_file.tc_lplb001,
tc_lplb002 LIKE tc_lplb_file.tc_lplb002,
tc_lplb003 LIKE tc_lplb_file.tc_lplb003,
tc_lplb004 LIKE tc_lplb_file.tc_lplb004,
tc_lplb005 LIKE tc_lplb_file.tc_lplb005,
tc_lplb006 LIKE tc_lplb_file.tc_lplb006
END RECORD
DEFINE l_tc_baradg_file RECORD LIKE tc_baradg_file.*
DEFINE l_asft620_file RECORD #?身
sfv03 LIKE sfv_file.sfv03, #?次
sfv04 LIKE sfv_file.sfv04, #料?
ima02 LIKE ima_file.ima02, #品名
sfv05 LIKE sfv_file.sfv05, #??
sfv06 LIKE sfv_file.sfv06, #?位
sfv07 LIKE sfv_file.sfv07, #批次
ibb01 LIKE ibb_file.ibb01, #批次??
sfv09b LIKE sfv_file.sfv09, #?量
newsfv05 LIKE type_file.chr500 #修改后的???位信息
END RECORD
DROP TABLE asft620_file
CREATE TEMP TABLE asft620_file(
sfv03 LIKE sfv_file.sfv03, #?次
sfv04 LIKE sfv_file.sfv04, #料?
ima02 LIKE ima_file.ima02, #?格
sfv05 LIKE sfv_file.sfv05, #??
sfv06 LIKE sfv_file.sfv06, #?位
sfv07 LIKE sfv_file.sfv07, #批次
ibb01 LIKE ibb_file.ibb01, #批次??
sfv09b LIKE sfv_file.sfv09, #?量
newsfv05 LIKE type_file.chr500) #修改后的???位信息
DROP TABLE asft620_file1
CREATE TEMP TABLE asft620_file1(
sfv03 LIKE sfv_file.sfv03, #?次
sfv05 LIKE sfv_file.sfv05, #??
sfv06 LIKE sfv_file.sfv06)
DROP TABLE asft620_file2
CREATE TEMP TABLE asft620_file2(
tt LIKE type_file.chr200)
}
#--------------------------------------------------------------------------#
# 處理呼叫方傳遞給 ERP 的完工入庫單資料 #
#--------------------------------------------------------------------------#
LET g_success = 'Y'
LET l_cnt1 = aws_ttsrv_getMasterRecordLength("Master") #取得共有幾筆單檔資料 *** 原則上應該僅一次一筆! ***
IF l_cnt1 = 0 THEN #由正常的l_cnt1 = 0 ?整? l_cnt1 <> 0 by xiaolin20220719 XPM禁用?程序
LET g_status.code = "-1"
LET g_status.description = "No recordset processed!"
LET g_success='N'
RETURN
END IF
BEGIN WORK
FOR l_i = 1 TO l_cnt1
LET l_node1 = aws_ttsrv_getMasterRecord(l_i, "Master") #目前處理單檔的 XML 節點
LET g_sfu01 = aws_ttsrv_getRecordField(l_node1,"sfu01")
IF cl_null(g_sfu01) THEN
LET g_status.code=-1
LET g_status.description="完工入庫單號不能為空! "
RETURN
END IF
LET l_cnt = 0
SELECT COUNT(*) INTO l_cnt FROM sfu_file WHERE sfu01 = g_sfu01
IF l_cnt <= 0 THEN
LET g_status.code = "-1"
LET g_status.description = "入庫單號在ERP不存在,請檢查! "
RETURN
END IF
INITIALIZE l_sfuconf,l_sfupost TO NULL
SELECT sfuconf,sfupost INTO l_sfuconf,l_sfupost FROM sfu_file WHERE sfu01 = g_sfu01
IF l_sfupost = 'Y' THEN
LET g_status.code = "-1"
LET g_status.description = "入庫單已過賬!"
RETURN
END IF
IF l_sfuconf = 'N' THEN
LET g_status.code = "-1"
LET g_status.description = "入庫單未審核!"
RETURN
END IF
IF l_sfuconf = 'X' THEN
LET g_status.code = "-1"
LET g_status.description = "入庫單已作廢!"
RETURN
END IF
END FOR
IF g_success = 'Y' THEN
CALL i_bc6202_load2()
END IF
END FUNCTION
FUNCTION i_bc6202_load2()
DEFINE l_n LIKE type_file.num5
DEFINE l_img09 LIKE img_file.img09
DEFINE l_n2 LIKE type_file.num5
DEFINE l_ibb01 LIKE type_file.chr500
#更新ERP端的?据的???位信息,根据???描的???位信息?更新
IF g_success = 'Y' THEN
LET g_prog='aws_ttsrv2'
CALL t620sub_s(g_sfu01,"1",TRUE,'') #过账
IF g_success = "Y" THEN
LET g_status.description = '入庫過賬成功!'
# LET g_return.statu='Y'
LET g_return1.sfu01=g_sfu01
# LET g_return.mes='入????成功!'
CALL aws_ttsrv_addParameterRecord(base.TypeInfo.create(g_return1))
{
UPDATE sfu_file SET sfuud06 ='S' WHERE sfu01 = g_sfu01
IF SQLCA.sqlcode OR SQLCA.sqlerrd[3] = 0 THEN
LET g_status.code = -1
LET g_status.sqlcode = SQLCA.SQLCODE
LET g_status.description="更新入??!Update the sfuud06."
LET g_success = 'N'
RETURN
END IF
}
COMMIT WORK
ELSE
ROLLBACK WORK
LET g_status.code = '-1'
LET g_status.description = '入庫過賬失敗,請聯繫管理員處理!'
END IF
END IF
END FUNCTION
SOAPUI提交的数据
fu01 入库单号
<Request>
<Access>
<Authentication password="tiptop" user="czbjbzb" />
<Connection application="APP" source="" />
<Organization name="DG" />
<Locale language="zh_cn" />
</Access>
<RequestContent>
<Document>
<RecordSet id="1">
<Master name="Master">
<Record>
<Field name="sfu01" value="N3A1-23074126"/>
</Record>
</Master>
</RecordSet>
</Document>
</RequestContent>
</Request>
返回的信息
sfu01 入库单号
--------------------------------------------------------------------------------------------------------------------------
<Response>
<Execution>
<Status code="0" sqlcode="0" description="完工入库单过账成功!"/>
</Execution>
<ResponseContent>
<Parameter>
<Record>
<Field name="sfu01" value="N3A1-23074126"/>
</Record>
</Parameter>
<Document/>
</ResponseContent>
</Response>