问题标签 [s4hana]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
572 浏览

sql - 在 Hana DB 中传输 4 个虚拟 SDA 表的最佳方式

问题:我的团队目前正在进行从 ECC 系统到新 S/4 Hana 系统的 ERP 迁移。作为上线的一部分,我们的团队需要将所有表从 S/4 系统复制到我们将托管数据的 SLT 模式中。大多数表将由 SAP 之外的 SLT 复制处理。但是,由于时间紧迫,我们确定了 4 个需要多天复制的表。想法是从远程源 (ABAP/SDA) 复制现有数据并放置在我们的 SLT 模式中。一旦完成,我们可以激活点前向复制并允许更新所有新的或修改的记录查看 SLT 复制。

尝试的方法:我们当前的方法是与后端 S/4 数据库建立 SDA 连接,并按年份分解数据,以使用存储过程插入到我们的本地表中。这种方法出现了许多问题,但它目前正在发挥作用。它只是超级慢。

论坛问题:

  • 这是您处理此类问题的方式吗?如果没有,您提出的解决方案是什么?
  • 您是否在目标表中看到任何需要自定义以提高性能的内容?
  • 存储过程中是否有任何突出的地方需要调整?

示例: 假设我们有一个名为:A_tbl的源表

  • A_tbl 中有 5 亿条记录
  • 大约 500 列宽

然后我们将有我们的目标表:B_tbl

  • 与 A_tbl (500) 相同的列数
  • 12 人轮循分区
  • 索引 5 列

当前程序:

0 投票
1 回答
273 浏览

abap - 如何在 S4HANA 中阻止用于存放的存储箱?

我需要阻止在创建仓库任务期间确定的 bin 以外的 bin - 与确定的 bin 相邻的 bin。我可以通过 /SCWM/LS02 手动阻止存储箱进行存放,如下所示:

/SCWM/LS02 屏幕样本

但是,我需要在仓库任务过帐期间通过增强来做到这一点。我把代码放在一个BADI中,用于更新仓库任务(增强点/SCWM/ES_CORE_SB),在/SCWM/LS02中复制这个过程是相当困难的。它涉及通过对话框操作内存值,然后在调用功能模块以保存更改之前将它们再次导入主程序(但仍然无法成功使更改“粘住”)

自定义状态已设置好,可用作阻止 bin for putaway 的原因。

有谁知道我可以使用任何 FM 或 BAPI 来阻止具有自定义状态的存储箱?或者尝试通过 ABAP 阻止存储箱?谷歌搜索但没有找到。已经查看并尝试了 FG CRMBSVA 的 FM,但无济于事。

在此先感谢您的帮助!

0 投票
0 回答
37 浏览

api - 如何访问 S/4HANA Cloud 的 REST API

我有一个 S/4HANA Cloud 试用帐户,并尝试访问 REST API。我收到“401 未授权”错误。
S/4HANA 试用账户是否不允许访问 REST API?有没有办法启用它?或者我应该为 REST API 的基本身份验证使用其他一些用户 ID?(我正在尝试与网络浏览器相同的用户名/密码)谢谢。西本杜

0 投票
1 回答
243 浏览

azure - 面向 SAP 网关的 Azure APIM 客户端证书

在 SAP S/4HANA 中调用 OData 服务时,我们尝试使用客户端证书进行身份验证。我们从一个天蓝色的 APIM 实例调用。作为证书,我们创建了一个自签名证书并根据此博客配置了 SAP S/4HANA ( https://blogs.sap.com/2020/05/03/x.509-certificate-based-logon-to- odata-services/ ) 然后我们从浏览器中测试它,它就像一个魅力。但是从 azure APIM 调用我们会从 SAP S/4HANA 得到以下响应:

<?xml version="1.0" encoding="utf-8"?> <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance">
<code>HTTP/404/E/Not Found</code>
<message> Service /sap/opu/odata/sap/xxxxyyyy/xxyyzz call was terminated because the corresponding service is not available.The termination occurred in system UFI with error code 404 and for the reason Not found. Please select a valid URL. If it is a valid URL, check whether service /sap/opu/odata/sap/xxxxyyyy/xxyyzz is active in transaction SICF. If you do not yet have a user ID, contact your system administrator. </message>

SAP S/4HANA 支持表示,然后从浏览器调用他们可以“看到”有效负载中的证书,但随后从 APIM 调用,有效负载是“空的”。

我从 SAP S/4HANA 网关服务器获得了跟踪日志,并且我注意到从浏览器调用与从 APIM 调用的细微差别:

浏览器调用(成功):[Thr 140708195055360] HttpModGetDefRules:确定缺陷:COPY_CERT_TO_MPI (1)

APIM 调用(失败):[Thr 140708197697280] HttpModGetDefRules:确定了缺陷:NOTHING (0)

所以证书显然是到达 SAP S/4HANA 网关服务器,而不是 SAP S/4HANA Odata 服务器。所以不知何故,由于某种原因,它在 SAP S/4HANA 网关服务器上丢失了,然后它来自 azure APIM。

我试图使调用 100% 相同(相同的标头相同的值),但我无法控制在 azure apim 中添加证书的方式,或者可以一个?

我读到可以使用以下策略设置证书正文:

但我不知道如何获得“byteCertificate”的正确值。

有人做过吗?或者有没有人遇到过类似的问题?

0 投票
0 回答
75 浏览

tms - 从 TMS 到 SAP S/4HANA(入站)的 SAP PO 7.5 接口。IDOC XML 到标准企业服务将通过 2 个新字段得到增强

我在从 TMS 到 SAP S/4HANA(入站)的 TMS 接口中使用 SAP PO 7.5。它是标准企业服务 ( TrasaportatiOrderGenericRequest_IN) 的 IDOC XML(XML 文件),需要通过附加 2 个新字段来增强。

对于 N 个停靠点 ( E1TPSLS-LSQNUM),需要在 (N-1) 个阶段填充每个阶段下的字段,以根据交货的装载/卸载位置取值。在给定的装卸条件下,我无法在每个阶段生成ReqeustedUnloadedDateTime和字段。ExpectedArrivalDateTime

这是核心 TMS 场景。谁能帮助我。我是否使用任何 UDF 来处理具有给定条件的事件和队列。请帮忙。

附上截图。

图片1:源-IDOC XML 结构

图片2:目标服务结构

图片3:目标阶段生成

图片4:映射逻辑

0 投票
0 回答
130 浏览

s4hana - 是否可以通过 ERP 连接器访问 SAP Analytics Cloud 中的 S/4HANA SQVI 查询?

上下文:我需要将事务中内置的查询中的数据从SQVI本地 S/4HANA 复制到 SAP Analytics Cloud(版本:2021.14.7)。然而,显而易见的连接器 S/4HANA 连接器不起作用。相反,我使用了 ERP 连接器,但在这里我无法访问 Z* 查询。

0 投票
0 回答
65 浏览

abap - 按当前采购订单类型限制 MIRO 中的预扣税?

企业问我,在MIRO预扣税中的供应商即将到来的供应商中设置的那些。他们想要的是从所有这些预扣税中只保留属于特定采购订单 (PO) 类型的那些。例如,我们有一个供应商,并且在MIRO以下EH税收期间即将到来 01、04、06、07。但是对于特定的采购订单类型,我们只想在选项卡中显示 01 和 04。

我尝试了 BAdIs MRM_WT_SPLIT_UPDATEMRM_HEADER_CHECK但没有任何反应。
在此处输入图像描述

我只想显示前 2 行,而不是最后 2 行。

有谁知道如何做到这一点?

我们的系统是 S/4HANA。

在此先感谢
埃利亚斯

0 投票
0 回答
114 浏览

abap - ABAP Open SQL - 从多个表中选择的最佳方式

我想从多个表的选择中报告并应用过滤器。没什么新鲜的,但我想知道最好的实现是什么(考虑到我使用的是 S/4HANA 系统)。

规格

  1. 数据
    例如,我们要从表中检索数据:

    • EKKO订单标题
    • EKPO订购项目
    • EKKN订单项目分配
    • EKBE订单项目历史

    表有以下关系:

    • EKKO1 - nEKPO
    • EKPO1 - nEKKN
    • EKPO1 - nEKBE
  2. 过滤器

    • 我们希望每个表的至少一个元素存在(INNER JOIN),如果标题没有项目我们不上传标题数据,如果项目没有分配我们不上传帖子的数据,等等

    • 我们将过滤器应用于几个表格区域,例如

      • EKPO-WERKS植物
      • ETC...

执行

  1. 选择加入

第一个解决方案是使用连接对所有表进行选择,然后在使用LOOP AT ... GROUP BY...then之后将它们分解LOOP AT GROUP

但我已经在问自己问题了!
应按什么顺序选择数据? EKKO-> EKPO-> 等等。或EKPO->EKKO等。

  1. 多选

选择标题,然后根据标题选择项目,然后根据项目进行分配等。

优点是它更具可读性(不确定)并且我们的冗余数据更少,另一方面,我们必须在 ABAP 中应用某些过滤器后选择。

  1. ???

另一种解决方案?

结论

所以我有点迷茫,我想听听你的意见。

0 投票
0 回答
39 浏览

s4hana - 将 ASCII 数据从 SAP 提取到其他系统

我们正在将一些数据从 SAP 导出到 Azure。这包括一个包含 URL 信息的字段。SAP 以 ASCII 格式存储它。

在这个其他系统中如何将这些数据转换为文本数据?是否有一些可用的标准代码/库(例如 Java、Python)?

更多信息 - 当使用 SAP Logon 查看数据时,它显示为字符串“ FF060201.....”,看起来像 ASCII Hex。但是当我尝试像http://www.unit-conversion.info/texttools/ascii/这样的在线 ASCII 转换器时,它无法转换和显示 URL(显示一些垃圾字符)。这是因为 SAP Logon 屏幕显示数据的方式不同,而实际存储的 ASCII 数据不同?

提前感谢您的任何指示/帮助。

问候,

S.达斯

编辑:

这就是我使用 SAP Logon 搜索表并查看数据(存储在名为 Data 的列中)的方式

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
43 浏览

workflow - SAP Workflow 从邮件模板的 CDS 视图读取决策说明

正如标题所示,我必须在 CDS 视图中阅读工作流用户决策任务中的决策说明(https://blogs.sap.com/2013/04/01/sap-workflow-decision-task-new-capability-添加注释/)。CDS 视图用于向邮件模板提供数据,该模板在用户拒绝某个工作流程步骤后发送。决定说明为什么该项目被拒绝应该在邮件中发送,以通知收件人出了什么问题。

在 ABAP 中,存在两个不同的函数(SO_NOTE_READ 或 SO_DOCUMENT_READ_API1)来阅读决策说明,效果很好,我能够轻松阅读决策说明。但是我在纯 CDS 中找不到等价物。

我还找到了两种不同的解决方案来解决这个问题。但该解决方案仅使我能够使用 SQl 查询访问数据库层或使用虚拟元素注释。 ABAP CDS 视图 - 使用类方法 后一种解决方案仅适用于基于注释的解决方案,邮件模板不是,我没有找到关于如何从纯 SQL 中读取决策说明的解决方案。

对于这个问题,任何人都有解决方案来替换纯 CDS 中的 FM SO_NOTE_READ 吗?请注意,我使用的是灵活的工作流程,邮件是通过 Fiori 应用程序“维护电子邮件模板”触发的,因此不可能/不需要使用 ABAP 发送邮件。