点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
所以,这是我第一次这样做,并将结构发送到由其他人创建的BAPI,BAPI可以运行,我已经在SAP中尝试过,但是现在,我们需要使用主系统来使用它。
这是结构:
in值具有3个值...
好,所以我可以正确连接并获取信息,但是我遇到了一个错误,我认为这是由于结构在发送之前已经准备好了...
这是代码:
公共字符串SendASFEmail(字符串id,字符串tipo,字符串correo) { 字符串idCompuesto =" 0000" + id; SAPConnection sapConnection =新的SAPConnection(); RfcDestination rfcDes = sapConnection.getRfcDestination(sapConnection); RfcRepository rfcRep = rfcDes.Repository; IRfcFunction fun = rfcRep.CreateFunction(" ZSLCM_UPDATE_EMAIL"); //使用id,tipo和correo创建结构 IRfcTable tablaEntrada = fun.GetTable(" T_CORREOS_IN"); //分配参数 RfcStructureMetadata stru = rfcRep.GetStructureMetadata(" T_CORREOS_IN"); IRfcStructure datos = stru.CreateStructure(); tablaEntrada.SetValue(" ZFKK_FAM",idCompuesto); tablaEntrada.SetValue(" BPKI",tipo); tablaEntrada.SetValue(" SMTP_ADDR",correo); tablaEntrada.Append(datos); fun.SetValue(" T_CORREOS_IN",tablaEntrada); //跑 fun.Invoke(rfcDes); //成功并获取out表,该表包含相同的参数以及第4列中的消息 IRfcTable tablaSalida = fun.GetTable(" T_CORREOS_OUT"); DataTable dtMessages = GetDataTableFromRFCTable(tablaSalida); //这是取出out结构并只获取字符串 字符串respuesta = dtMessages.Rows [0] [3] .ToString(); 返回respuesta; }
我不断收到错误消息:
其他信息:StructureOnly T_CORREOS_IN的元数据不可用:NOT_FOUND:T_CORREOS_IN的活动名称标签不存在
你好何塞,
T_CORREOS_IN是调用表的参数名称,而不是ABAP词典中的结构定义。 因此,GetStructureMetadata调用失败,因为这样的结构类型不存在。有一种更简单的方法来实现所需的功能。 只需在设置参数值之前在表参数实例上使用Append(),然后将所有内容放到stru和datos以及有趣的行中即可。 不需要。 无论如何,您在GetTable语句中都有对该表的引用
最好查看在 https://上找到的NCo样本。 support.sap.com/nco
最好的问候,
马库斯
一周热门 更多>