当前位置: 首页 > 工具软件 > tiptop > 使用案例 >

tiptop对接泛微OA详细步骤

花品
2023-12-01

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

泛微OA在企业里面是一个应用比较广泛的OA系统,很多家企业都有ERP对接OA的需求,去实现一些流程的电子化,tiptop和泛微OA都有提供webservice的接口供外部调用,下面,主要的就是详细记录一下tiptop将单据内容提交到OA去审批的整套流程


一、什么是webservice

webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言开发的应用之间的交互。

二、使用步骤

1.找到OA的接口地址

泛微OA的接口地址一般为http://地址/services/接口空间?wsdl,创建流程的接口为doCreateWorkflowRequest

2.通过接口地址,产生tiptop相关接口文件

进入tiptop Linux后台,cd cws/4gl目录 运行 fglwsdl 接口地址 ,这个时候,会发现目录下面产生了2个文件xxx.4gl,xxx.inc,可以将这两个文件的名字改成自己喜欢的,4gl文件提供调用方法,inc文件提供变量定义。

3.编写4gl程序,通过接口传递数据

这里直接上一段实际代码,这个是通过将ERP采购单发送到OA的一个范例


DATABASE ds
 
GLOBALS "../../config/top.global"    #FUN-7C0053
GLOBALS "erp_oa.inc"

FUNCTION cws_oa_apmt540(p_po)
DEFINE p_po   LIKE type_file.chr100
DEFINE   soapStatus	       INTEGER
DEFINE l_pmn   RECORD 
      pmm01    LIKE pmm_file.pmm01,  #采购单号
      pmm04    LIKE type_file.chr100,  #日期
      pmm12    LIKE pmm_file.pmm12,  #采购员编号
      gen02    LIKE gen_file.gen02,  #采购员姓名
      pmm13    LIKE pmm_file.pmm13,  #采购部门编号
      gem02    LIKE gem_file.gem02,  #采购部门名称
      pmm09    LIKE pmm_file.pmm09,  #供应商编号
      pmc03    LIKE pmc_file.pmc03,  #供应商名称
      pmm21    LIKE pmm_file.pmm21,  #税种
      gec02    LIKE gec_file.gec02,  #税别描述  2019-05-20
      pmm43    LIKE pmm_file.pmm43,  #税率
      pmm40t   LIKE pmm_file.pmm40t,
      pmm22    LIKE pmm_file.pmm22,  #币种
      azi02    LIKE azi_file.azi02,  #币种名称    2019-05-20
      pmm42    LIKE pmm_file.pmm42,  #汇率
      pma02    LIKE pma_file.pma02,  #付款条件说明 2019-05-20
      pnz02    LIKE pnz_file.pnz02,  #价格条件 2019-05-20
      pmn02    LIKE pmn_file.pmn02,  #采购项次
      pmn04    LIKE pmn_file.pmn04,  #料号
      ima02    LIKE ima_file.ima02,  #品名
      ima021   LIKE ima_file.ima021, #规格
      pmn07    LIKE pmn_file.pmn07,  #单位
      pmn31t   LIKE pmn_file.pmn31t, #含税单价
      pmn20    LIKE pmn_file.pmn20,  #数量
      pmn88t   LIKE pmn_file.pmn88t, #含税金额
      pmn33    LIKE type_file.chr100,   #交货日期
      pmnud01  LIKE pmn_file.pmnud01,  #高价采购原因 2019-05-20
      pmnud05  LIKE pmn_file.pmnud05,  #备注 2019-05-20
      ta_pmj07 LIKE pmj_file.ta_pmj07, #价格类型    2019-05-20
      ta_pmj09 LIKE pmj_file.ta_pmj09  #基准价      2019-05-20
	END RECORD
DEFINE l_sql   STRING
DEFINE l_id    LIKE type_file.chr100
DEFINE l_i     LIKE type_file.num5
DEFINE l_cnt   LIKE type_file.num5
DEFINE l_smydesc LIKE smy_file.smydesc 
DEFINE l_pmmud02     LIKE type_file.chr1000
DEFINE l_pmmud03     LIKE type_file.chr1000 
DEFINE l_pmkud02     LIKE type_file.chr1000 
DEFINE l_requestid   LIKE type_file.chr100
DEFINE l_msg         LIKE type_file.chr1000 
DEFINE l_status      INTEGER 
#ns1doCreateWorkflowRequest



INITIALIZE ns1doCreateWorkflowRequest.* TO NULL
#接口赋值
LET l_sql = "SELECT pmm01,TO_CHAR(PMM04,'YYYY-MM-DD'),pmm12,gen02,pmm13,gem02,pmm09,pmc03,pmm21,gec02,",
"pmm43,pmm40t,pmm22,azi02,pmm42,pma02,pnz02,pmn02,pmn04,ima02,ima021,pmn07,pmn31t,pmn20,pmn88t,TO_CHAR(pmn33,'YYYY-MM-DD') ",
",pmnud01,pmnud05,ta_pmj07,ta_pmj09,pmmud02,pmmud03,pmkud02 ",
" FROM pmm_file ",
" LEFT OUTER JOIN (SELECT gen01,gen02 FROM gen_file) ON gen01 = pmm12 ",
" LEFT OUTER JOIN (SELECT gem01,gem02 FROM gem_file) ON gem01 = pmm13 ",
" LEFT OUTER JOIN (SELECT pmc01,pmc03 FROM pmc_file) ON pmc01 = pmm09 ",
" LEFT OUTER JOIN (SELECT gec01,gec02 FROM gec_file) ON gec01 = pmm21 ",
" LEFT OUTER JOIN (SELECT azi01,azi02 FROM azi_file) ON azi01 = pmm22 ",
" LEFT OUTER JOIN (SELECT pma01,pma02 FROM pma_file) ON pma01 = pmm20 ",
" LEFT OUTER JOIN (SELECT pnz01,pnz02 FROM pnz_file) ON pnz01 = pmm41 ",
" ,pmn_file ",
" LEFT OUTER JOIN (SELECT ima01,ima02,ima021 FROM ima_file) ON ima01 = pmn04 ",
" LEFT OUTER JOIN (SELECT pmj01,pmj02,ta_pmj07,ta_pmj09 FROM pmj_file ) ON pmj01=pmn75 AND pmj02=pmn76 ",
" LEFT OUTER JOIN pmk_file ON pmk01=pmn24  ",
" WHERE pmm01=pmn01 AND pmm01 = '",p_po,"' "
   PREPARE cws_oa_apmt540_cs FROM l_sql
   DECLARE cws_oa_apmt540_cd CURSOR FOR cws_oa_apmt540_cs

#先写公共部分值
#1:获取ID 
LET l_id  = ''
select ID INTO l_id  from HRMRESOURCE where workcode = g_user
IF cl_null(l_id) AND g_user<>'tiptop'  THEN
  ERROR "OA中没有此用户资料,请联系OA管理员!"
  RETURN 100,-1
END IF

LET ns1doCreateWorkflowRequest.in1 = l_id
LET ns1doCreateWorkflowRequest.in0.creatorId = l_id
LET ns1doCreateWorkflowRequest.in0.requestName="ERP订货合同流程"
LET ns1doCreateWorkflowRequest.in0.workflowBaseInfo.workflowId = '5767'
LET ns1doCreateWorkflowRequest.in0.isnextflow = '1'

LET l_cnt = 0
LET l_i = 1
FOREACH cws_oa_apmt540_cd INTO l_pmn.*,l_pmmud02,l_pmmud03,l_pmkud02

IF g_user = 'tiptop'  THEN
select ID INTO l_id  from HRMRESOURCE where workcode = l_pmn.pmm12
IF cl_null(l_id)  THEN
  ERROR "OA中没有此用户资料,请联系OA管理员!"
  RETURN 100,-1
END IF
LET ns1doCreateWorkflowRequest.in1 = l_id
LET ns1doCreateWorkflowRequest.in0.creatorId = l_id
END IF


#请购原因+到备注
IF NOT cl_null(l_pmkud02)  THEN
   LET l_pmn.pmnud05 = l_pmn.pmnud05,"-请购原因:",l_pmkud02
END IF


IF l_cnt=0  THEN

#单据类型
SELECT smydesc INTO l_smydesc FROM smy_file WHERE smyslip = substr(l_pmn.pmm01,1,3)

IF l_pmn.pmm09='L060'  THEN
  LET l_pmn.pmc03 = l_pmmud02
  LET l_pmn.pnz02 = l_pmmud03
END IF
#采购单号
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[1].fieldName = 'pmm01'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[1].fieldValue=l_pmn.pmm01
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[1].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[1].view = '1' 
#采购日期
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[12].fieldName = 'pmm04'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[12].fieldValue=l_pmn.pmm04
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[12].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[12].view = '1' 
#采购人编号
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[2].fieldName = 'pmm12'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[2].fieldValue=l_pmn.pmm12
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[2].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[2].view = '1' 
#采购人姓名
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[3].fieldName = 'gen02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[3].fieldValue=l_pmn.gen02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[3].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[3].view = '1' 
#采购部门
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[4].fieldName = 'pmm13'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[4].fieldValue=l_pmn.pmm13
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[4].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[4].view = '1' 
#采购部门名称
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[5].fieldName = 'gem02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[5].fieldValue=l_pmn.gem02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[5].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[5].view = '1' 
#供应商
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[6].fieldName = 'pmm09'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[6].fieldValue=l_pmn.pmm09
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[6].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[6].view = '1' 
#供应商名称
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[7].fieldName = 'pmc03'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[7].fieldValue=l_pmn.pmc03
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[7].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[7].view = '1' 
#pmm21税种
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[8].fieldName = 'pmm21'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[8].fieldValue=l_pmn.pmm21
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[8].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[8].view = '1' 
#pmm43税率
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].fieldName = 'pmm43'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].fieldValue=l_pmn.pmm43
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].view = '1' 
#pmm40T 总金额
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].fieldName = 'pmm40t'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].fieldValue=l_pmn.pmm40t
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[9].view = '1' 

#pmm22币种
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[10].fieldName = 'pmm22'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[10].fieldValue=l_pmn.pmm22
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[10].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[10].view = '1' 
#pmm42汇率
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[11].fieldName = 'pmm42'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[11].fieldValue=l_pmn.pmm42
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[11].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[11].view = '1' 

#pmmuser_id
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[13].fieldName = 'pmmuser_id'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[13].fieldValue=l_id
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[13].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[13].view = '1' 
#triggertag
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[14].fieldName = 'triggertag'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[14].fieldValue="ERP"
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[14].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[14].view = '1' 

#采购单别
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[15].fieldName = 'smydesc'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[15].fieldValue=l_smydesc
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[15].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[15].view = '1' 


#付款条件说明
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[16].fieldName = 'pma02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[16].fieldValue=l_pmn.pma02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[16].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[16].view = '1' 

#价格条件说明
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[17].fieldName = 'pnz02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[17].fieldValue=l_pmn.pnz02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[17].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[17].view = '1' 

#币别名称
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[18].fieldName = 'azi02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[18].fieldValue=l_pmn.azi02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[18].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[18].view = '1' 

#税别名称
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[19].fieldName = 'gec02'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[19].fieldValue=l_pmn.gec02
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[19].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowMainTableInfo.requestRecords.WorkflowRequestTableRecord[1].workflowRequestTableFields.WorkflowRequestTableField[19].view = '1' 

END IF

#载入单身信息
#项次
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[1].fieldName = 'pmn02'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[1].fieldValue = l_pmn.pmn02
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[1].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[1].view = '1'
#料号
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[2].fieldName = 'pmn04'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[2].fieldValue = l_pmn.pmn04
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[2].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[2].view = '1'
#品名
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[3].fieldName = 'ima02'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[3].fieldValue = l_pmn.ima02
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[3].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[3].view = '1'
#规格
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[4].fieldName = 'ima021'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[4].fieldValue = l_pmn.ima021
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[4].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[4].view = '1'
#单价
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[5].fieldName = 'pmn31t'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[5].fieldValue = l_pmn.pmn31t
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[5].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[5].view = '1'
#数量
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[6].fieldName = 'pmn20'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[6].fieldValue = l_pmn.pmn20
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[6].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[6].view = '1'
#金额
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[7].fieldName = 'pmn88t'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[7].fieldValue = l_pmn.pmn88t
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[7].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[7].view = '1'
#交货日期
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[8].fieldName = 'pmn33'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[8].fieldValue = l_pmn.pmn33
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[8].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[8].view = '1'

#交货日期
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[9].fieldName = 'pmn07'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[9].fieldValue = l_pmn.pmn07
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[9].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[9].view = '1'

#高价采购原因
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].fieldName = 'pmnud01'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].fieldValue = l_pmn.pmnud01
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].view = '1'

#高价采购原因
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].fieldName = 'pmnud05'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].fieldValue = l_pmn.pmnud05
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[10].view = '1'

#价格类型
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[11].fieldName = 'ta_pmj07'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[11].fieldValue = l_pmn.ta_pmj07
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[11].edit = '1'
LET ns1doCreateWorkflowRequest.in0.workflowDetailTableInfos.WorkflowDetailTableInfo[1].workflowRequestTableRecords.WorkflowRequestTableRecord[l_i].workflowRequestTableFields.WorkflowRequestTableField[11].view = '1'




LET l_cnt = 1
LET l_i = l_i+1
END FOREACH 
LET soapStatus = 0
LET ns1doCreateWorkflowRequestResponse.out = ""
CALL doCreateWorkflowRequest_g() RETURNING soapStatus

#在这里干预OA返回的结果
IF soapStatus <> 0 AND cl_null(ns1doCreateWorkflowRequestResponse.out) THEN 
LET l_requestid = 0	
SELECT f_get_oaid(l_pmn.pmm01,l_pmn.pmm12) INTO l_requestid FROM  dual
LET l_msg = "单号:",l_pmn.pmm01,"OA返回失败:",soapStatus,",强查得到:",l_requestid
CALL  cws_wechat_msg("65509",l_msg) RETURNING l_status
IF NOT cl_null(l_requestid) AND  l_requestid> 0 THEN 
 LET soapStatus = 0 
 LET ns1doCreateWorkflowRequestResponse.out = l_requestid
END IF 
END IF 

RETURN soapStatus,ns1doCreateWorkflowRequestResponse.out

END FUNCTION 

总结

其实主要流程就是,拿到接口地址,确定接口需要传递的参数,将参数赋值,最后调用发送接口发送

 类似资料: