SAP PO/PI-更好的转换

2020-09-22 02:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我们正在使用单栈PO v 7.5...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我们正在使用单栈PO v 7.5(不确定SP级别)。 我们已经设置了许多转换UDF,这些UDF从SAP提取数据并将其转换为客户所需的数据。 代替每个单独的地图,这是在全局级别进行的,以便于更新。


一个示例将"合作伙伴资料"编号转换为EDI-X12 ISA/GS ID对(发送者/接收者)。 Java代码很简单。 根据IDOC中提供的合作伙伴资料编号返回ISA/GS ID信息。

以下是我们正在使用的示例UDF:

公共无效getEDI_ISA_Info(String []客户,ResultList senderQualifier,ResultList senderID,ResultList receiverQualifier,ResultList ReceiverID,Container容器)抛出StreamTransformationException {

String sysName = getSAPSystemEnvironment(container);
//String [] [] info = {{"参数"," isa05"," 06"," 07"," 08"},{下一组} }

如果(customer == null || customer.length == 0)
{
container.getTrace()。addWarning(" input:ERROR sysname:" + sysName);
返回;
}

//container.getTrace().addWarning("输入:" +客户[0] +" sysname:" + sysName);

//测试 -SetUp
String [] [] info = {
{" sysName-customer"," isa05"," 06"," 07"," 08"},
{" Test-1", " 12"," 67696876"," 01"," 876544356"},
{" Test-2"," 01"," 125679"," 14"," 123456"},
{" Test -3"," 12"," test1234"," 01"," abdT"}};

字符串名称=(sysName.equals(" PRD")?" Prod-":" Test-")+ customer [0];
for(int i = 0; i {
//container.getTrace().addWarning("信息名称=" +信息[i] [0] +",名称=" +名称);
如果((信息[i] [ 0] .equals(name)){
senderQualifier.addValue(info [i] [1]);
senderID.addValue(info [i] [2]);
receiveerQualifier.addValue(info [ i] [3]);
receiverID.addValue(info [i] [4]);

return;
}
}


但是,我想知道是否有更好的方法可以做到这一点。

我们公司已通过GMP和FDA监管,因此我们对PI/PO系统进行了监控。 我们必须提交更改请求以更新这些表(因为它需要传输)。 但是,如果我们将数据保留在File或JDBC(或其他方式)外部,则可以避免此文书工作并加快处理速度。

有什么建议吗? 有什么想法吗?

2条回答
Haoba3210
2020-09-22 03:12

如果您在Production env中的Integration Directory中进行了更改。 你能避免文书工作吗? 看一下ValueMappings。 如果标准的"价值映射"不能完全根据您的要求进行调整,请记住存在的内容和用于管理它的API。

在客户的采购订单中,我使用了带有分隔符的3,4种不同值的ValueMappings。

一周热门 更多>