SAP IRPA ---Call SAP RFC/BAPI----传递表和结构

场景:

调用BAPI的时候不再是简单的传一个值,而是传递一个结构或者表。

第一步:创建工作流

在这里插入图片描述

第二步:编写脚本

在这里插入图片描述

// Describe functionality to be implemented in JavaScript later in the project.
	var BAPI = new ActiveXObject("SAP.Functions");
	var Connection = BAPI.Connection;
	Connection.ApplicationServer = "dlwr-s4h-p8.dcsc.be"; 
	Connection.SystemNumber = "00";
	Connection.System = "F4P";
	Connection.Client = "130";
	Connection.User = "DLW_DCH_09";
	Connection.Password = "0315Wanan";
	Connection.Language = "ZH";
	Connection.RfcWithDialog = true;
	Connection.logon(0, true);

	var RFC = BAPI.Add("BAPI_PO_CREATE1"); 
	var ImportHeader = RFC.exports("POHEADER");
	ImportHeader('PO_NUMBER').value = "1";
	var ImportItemRow = RFC.tables("POITEM").Rows.Add;
	ImportItemRow("PO_ITEM").value = "1";
	RFC.Call();
	
	//Read table parameter
	var ResultTable = RFC.tables("RETURN");
	ctx.log(ResultTable);

	//Iterate through the tables parameter
	for (var enumerator = new Enumerator(ResultTable.Rows); !enumerator.atEnd(); enumerator.moveNext()) {
	   var ResultTableRow = enumerator.item();
	   ctx.log("ResultTable= " + ResultTableRow("TYPE") + " " + ResultTableRow("MESSAGE") );
	}

代码详解:

var ImportHeader = RFC.exports("POHEADER");
	ImportHeader('PO_NUMBER').value = "1";

POHEADER是一个结构

var ImportItemRow = RFC.tables("POITEM").Rows.Add;
	ImportItemRow("PO_ITEM").value = "1";

POITEM是一个内表

var ResultTable = RFC.tables("RETURN");

获取返回值,返回值也是一个内表

//Iterate through the tables parameter
	for (var enumerator = new Enumerator(ResultTable.Rows); !enumerator.atEnd(); enumerator.moveNext()) {
	   var ResultTableRow = enumerator.item();
	   ctx.log("ResultTable= " + ResultTableRow("TYPE") + " " + ResultTableRow("MESSAGE") );
	}

读取内表里的数据
在这里插入图片描述
上图可以看到我的输出。

至此,流程结束。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值