本文主要收集了与集成扩展相关的常见问题(2022年04月 – 2022年06月),按照主要问询对象API,CDS View,CPI,自定义字段和逻辑以及集成相关对常见问题进行了大致的分类。每一类对象下又进行了问题性质的分类,例如:功能缺失,操作和实施以及配置相关问题等。客户可以点击下方链接查看到相关问题。
Contents
API
功能缺失相关问题
- 问题:客户无法通过API SALES_ORDER_WITHOUT_CHARGE_SRV更改免费销售订单的审批状态,无法实现免费的销售订单的外部审批
解答:API_SALES_ORDER_WITHOUT_CHARGE_SRV 没有用于更新审批状态的字段;即销售凭证审批状态。无法使用 API_SALES_ORDER_SRV 更新此销售订单类型。客户可以提交新功能请求。
- 问题:API API_PRODUCTION_ORDER_2_SRV/A_ProductionOrder_2 不能用于更新基本计划类型和生产主管信息。
解答:目前提及的 2 个字段是只读字段,尚无法由 API 更新。
您可以参考 API 的在线帮助。
https://help.sap.com/docs/SAP_S4HANA_CLOUD/d35113ee62644d3abee1aaec148291d9/e76b570c36764ae9a1cc4747a3c144b7.html
由于目前缺少此功能,您可以在 Customer Influence 中提交功能申请。
- 问题:客户询问是否有固定资产报废接口
解答:当前只有创建和更改固定资产的API可用。尚不存在用于报废固定资产的 API 解决方案。
请使用 Customer Influence 提交新功能请求
- 问题:客户需要通过API API_BUSINESS_PARTNER来创建和更改客户主数据,客户启用了POD功能,但是找不到字段POD Relevant。
解答:POD字段目前还没有在cloud版本上可用。需要提交新功能请求。
操作和实施相关问题
- 问题:使用 /API_INSPECTIONLOT_SRV 更新检验批次数据时,客户面临错误“428 Precondition Required”。
解答:首先可以使用 API 的 “GET” 方法获取检验批次的 ETag。更新数据时,在 If-Match 抬头字段中输入 ETag。
详情参考:
- 问题:使用 API_RESERVATION-DOCUNENT_SRV 时出现错误 M7508
解答:请参阅SAP Note 101569 – Reservation with quantity 0
此处概述了系统不会在事务 MB21 中拒绝零值数量的预留,在on-Premise中建议将 M7508 从错误更改为警告以允许此操作。Cloud中,您可以在 SSCUI“103897 设置库存管理中的系统消息”中更改系统消息 M7508
- 问题:通过外部接口创建物料清单时,如何将组件的有效期间设置为非当前时间
解答:请使用新的物料清单 API 版本 2 API_BILL_OF_MATERIAL_SRV_0002
请在添加组件时考虑使用更改编号设置有效期
链接中提供了使用 Entity UpdateBOMItemWithECN 的示例:
- 问题:客户想要了解如何监控 SOAP API 调用的状态。
解答:请参考下方的APP:
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘F4516’)/S27
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘F5169’)/S27
https://fioriappslibrary.hana.ondemand.com/sap/fix/externalViewer/#/detail/Apps(‘F2949’)/S27
- 问题:客户创建了Odata API,之前是可以正常工作的,但现在碰到问题,返回代码401。
- https://my000000-api.saps4hanacloud.cn/sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder(‘1’)/to_Item
解答:遇到到该错误可以检查一下用户,是否该用户多次错误登录。
- 问题:用户说,不能通过API设置生产订单的deletion flag了。
https://my000000-api.saps4hanacloud.cn/sap/opu/odata/SAP/API_PRODUCTION_ORDER_2_SRV/DeletionFlagOrder?ManufacturingOrder=’2041876′
解答:原因是用户加了一段自定义代码,会去查询CDS View I_FinancialPlanningEntryItem,但是用户没有访问这个CDS View的权限。解决办法是增加权限,或者当设置deletion flag的时候跳过这段逻辑。
- 问题:客户想要知道有没有API可以创建supplier down payment request。
解答:客户可以使用API “Journal Entry – Post”。
Journal Entry – Post (Synchronous) Help Portal
https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/f5c8d0579212c525e10000000a4450e5.html?locale=en-US
Journal Entry – Post (Asynchronous) Help Portal
https://help.sap.com/docs/SAP_S4HANA_CLOUD/b978f98fc5884ff2aeb10c8fdeb8a43b/22a267e571e948499fda007a65b27c64.html?locale=en-US
Guidelines for API Journal Entry – Post
https://blogs.sap.com/2019/09/06/guidelines-for-api-journal-entry-post/
Journal Entry – Post (Synchronous) API Business Hub
https://api.sap.com/api/JOURNALENTRYCREATEREQUESTCONFI/overview
Journal Entry – Post (Asynchronous) API Business Hub
https://api.sap.com/api/JOURNALENTRYBULKCREATIONREQUES/overview
- 问题:客户使用API API_BUSINESS_PARTNER/A_BusinessPartner创建Business Partner,但是没有credit profile相关的字段。想问一下这些字段是否在API里被支持。
解答:如果想要通过API发送CreditManagementProfile相关的字段,需要使用SOAP API。当前在Odata API里不支持。
- 问题:当前Sales Order (A2X) API的错误信息返回格式是”Material 401010302001001 Does not exist in storage location B110 1E41″,客户希望在错误信息里加上Material Description物料描述信息。
解答:这类新功能需求建议客户在customer influence网址提交。
- 问题:客户有需求从一个仓库做货物转移到另一个仓库,所以想知道有没有办法创建没有order reference的outbound delivery。
解答:目前Odata API做不到,SOAP API Outbound Delivery – Notify (B2B) CO_EDI_DELIVERY_REQUEST_OUT,字段”ReferenceSDDocument”是可选的,所以建议客户使用这个API。
- 问题:客户想要通过接口来创建production version,但是没有找到相应的API接口。
解答:目前没有API可以创建production version,推荐使用迁移对象production version来导入。
- 问题:客户调用Batch Plant的API API_BATCH_SRV的时候,基于Datetime字段过滤,可是报错。调用方式如下:sap/opu/odata/sap/API_BATCH_SRV/BatchPlant?$filter=LastChangeDateTime ge datetime’2022-05-13T00:00:00′
解答:LastChangeDateTime字段是一个DateTimeOffset类型的字段,它有7位小数,因此查询条件需要正确填写日期类型:
sap/opu/odata/sap/API_BATCH_SRV/BatchPlant?$filter=LastChangeDateTime ge datetimeoffset’2022-05-13T00:00:00.0000000Z’
- 问题:客户通过sales order Odata API来做patch操作,更改字段salesdocumentrjcnreason,返回结果204,但是字段没有更改成功。
解答:对于PATCH操作来说,每个字段都会去独立处理。尝试更改一个字段,但是字段不能改,然后就会去处理下一个字段。整个PATCH操作来说是正确执行完的,所以返回结果是204。至于业务上这个字段更改后的值是什么,需要查看具体返回的message,或者在PATCH之后再调用一下GET操作。
- 问题:客户的外部MES系统想要获取生产订单的一些信息,比如status change time。
解答:目前没有API可以获取这样的信息。备选方案是使用CDS I_MFGORDERWITHSTATUS。客户想要的status change time可以参考字段MFGORDERACTUALCOMPLETIONDATE。
CDS View
功能缺失相关问题
- 问题:是否可以开放V_MaterialValuationHistory CDS视图?
解答:当前,CDS 视图 V_MaterialValuationHistory 未发布,客户可以在 Customer Influence 渠道上提出功能请求。
另外后端表 MBEWH/QBEWH 等中也存在历史库存数据。您也可以尝试使用APP Customer Data Return来获取后端表数据。
操作和实施相关问题
- 问题:订单到成本分析和 CDS 视图 i_mfghorderactlplantgtldgrcost 中的目标成本不匹配。
解答:2618359 – FAQ: Product Costing: On-the-Fly Target Cost Calculation in S/4 HANA Cloud CE2105
https://launchpad.support.sap.com/#/notes/2618359
即时目标成本计算
根据收货时实际输出数量调整的不同计划成本源计算制造订单的目标成本,如下所示:
与批量相关的成本:根据批量大小而变化的成本除以成本核算批量(和计划输出数量),然后乘以实际交货数量(产量)。
与批量无关的成本:不随批量变化的成本(如设置成本)直接用作目标成本。
CDS 视图与分析数据不同在于:
生产订单抬头-成本-分析中的目标成本基于标准成本估算(也在已评估销售订单库存场景中),并通过差异计算进行计算。
此处的 CDS 视图 i_mfghorderactlplantgtldgrcost 中的目标成本基于“新”订单计划成本,并即时计算。
因此,目标成本略有不同,不是错误或漏洞,而是作为标准设计执行,以不同的方式计算这 2 个目标成本。
- 问题:是否有 CDS 视图可用于检索 MD04 中重新计划消息的数据?
解答:没有可用于检索 MD04 中重新计划消息的 CDS 视图。但是,有可用的 API API_MRP_MATERIALS_SRV_01/SupplyDemandItems
您可以参考下方的链接:
https://help.sap.com/docs/SAP_S4HANA_CLOUD/d35113ee62644d3abee1aaec148291d9/1b51fd5209e7406bb2a98b1252b398d0.html?version=2202.502
- 问题:物料档案–会计1 页签里面的评估分类存在哪个CDS里?
解答:CDS 视图 – I_ProductValuationBasic 将返回字段数据 – 评估类
表名称 MBEW
字段名称 BKLAS
数据元素 BKLAS
- 问题:在自定义CDS视图 APP中,关联两个数据源,但是想用全外链接的方式,不知道怎么实现?或者是可以实现吗,以及实现的方式。
解答:很遗憾,自定义CDS 视图APP中不支持此操作。
目前,仅支持以下情况:
示例 1:1:1 匹配
示例 2: m:n 匹配
- 问题:在CDS接口中添加了字段,导致接口查询出各国文字,数据量太大无法获取数据。单独获取10000条可以获取,但是数据重复。
解答:服务器的可用内存量存在限制。如果下载更多限制数据,则将发生short dump。
请缩小选择范围并尝试选择较少的数据或尝试使用标准 CDS 视图
- 问题:尝试发布自定义 CDS 视图时出现错误消息“Boolean annotation value must be lowercase”。
解答:请参考KBA3115037 – “Boolean annotation value must be lowercase” when publishing or checking CDS view。可将元素属性 中的 语义值 的全部关闭再打开,然后再检查并发布。
- 问题:是否存在有关物料清单级别的 API 或 CDS 视图?
解答:展开物料清单时,将在运行时计算组件的物料清单级别,没有存储在物料清单表或CDS 视图中。
另外可参考API API_PRODUCTION_ORDER_2_SRV 是否满足需求:
https://api.sap.com/api/API_BILL_OF_MATERIAL_SRV_0002/resource
- 问题:检查自定义 CDS 视图会抛出错误:函数 GET_NUMERIC_VALUE 中不允许使用表达式类型 ATOMIC_VIA_PATH,参数 1
解答:由于某些技术限制,当前不允许在计算字段中使用关联数据源元素与 GET_NUMERIC_VALUE 或 CURR_TO_DECFLOAT_AMOUNT 的组合。建议为关联数据源创建一个CDS,并将所需要的字段信息披露出来后使用,详情请参考下方:
https://launchpad.support.sap.com/#/notes/3213096
- 问题:因为外围系统需要使用净固定资产字段,有没有相关字段的CDS?
解答:请参阅 以下链接,一个为显示所有资产会计 CDS 视图,另外两个包含具有账面净值的 CDS 视图。
https://help.sap.com/docs/SAP_S4HANA_CLOUD/3e5fcf2c768746049b5627bd5a42f720/3e4e64781f00498fb2bab41b90aa228c.html?version=2202.502
https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/725caef5864849e9b47ac9bd65dfc2d5.html?version=2202.502
- 问题:客户想要知道是否有CDS 可以查看生产订单组件是否标记为待删除。
解答:要获取生产订单组件的删除状态,请使用 CDS 视图 I_MfgOrderOperationComponent,字段 MATLCOMPISMARKEDFORDELETION。此 CDS 视图反映组件级别的数据。
- 问题:在自定义 CDS 视图APP里,关联数据源时无法找到数据源例如 “I_User”。
解答:I_User 数据源会自动按适合性进行过滤,以便最初仅显示那些被视为适合视图构建的数据源。这些数据源包括所有自定义 CDS 视图,以及在定义新 CDS 实体时显式推荐使用的 SAP CDS 视图,即建模数据源(针对主数据源)或建模关联目标(针对关联数据源)。要查看其他数据源,请单击“显示过滤器”,然后将“建议的数据源”的过滤器设置为“否”。如果不确定要选取的数据源,请使用视图浏览器 APP以查找适合您需求的数据源。
文档:
https://help.sap.com/docs/SAP_S4HANA_CLOUD/0f69f8fb28ac4bf48d2b57b9637e81fa/b0000072fe994d7b9d5e015adf066059.html?locale=en-US
博文:https://blogs.sap.com/2022/01/25/custom-cds-views-whats-new-in-2202/
- 问题:客户想知道制造订单状态的相应 CDS 视图.
解答:CDS 视图 I_MfgOrderWithStatus 和 I_MfgOrderOperationWithStatus 检索补充了系统状态信息(表 JEST)的制造订单抬头数据(表 AUFK、AFKO)。
提供以下状态:
已创建、已下达、已打印、已部分确认、已交货、已删除、已部分下达、已部分下达、技术上已完成、已关闭、已部分交货、已加删除标记、是否按批次处理、是否生成工序、是否已生成工序、是否检查物料可用性、创建结算规则并手动创建结算规则。
可参考下方链接:
- 问题:客户想要知道日记账分录原因代码的 CDS。
解答:字段“原因代码”在 CDS 视图 I_JournalEntryItem、I_JournalEntryItemCube、I_JournalEntryItemBrowser、I_JournalEntryItemBasic 中不可用,因为它不属于基础数据库表 ACDOCA。为此,您需要使用以下视图:
I_OplAcctgDocumentItemBrowser | I_OperationalAcctgDocCube | I_OperationalAcctgDocItem
在Community中可以查看类似问题:
https://answers.sap.com/questions/13248753/view.html
自定义字段和逻辑
操作和实施相关问题
- 问题:为什么在创建自定义字段 后无法在物料主数据中显示?
解答:客户扩展字段只能使用“管理产品主数据”进行维护和显示 。 这些字段无法在classic Harmonized Apps中维护(创建物料/更改物料/显示物料 APP)。客户只能使用这些应用来维护 SAP 提供的标准字段。对于扩展字段,请使用管理产品主数据 APP。
如果您希望在classic Harmonized Apps中添加功能,请按照 KBA 2963059 提交功能请求。
- 问题:在自定义逻辑里面如何获取当前登录的用户?
解答:推荐使用方法 get_user_technical_name 从类 cl_abap_context_info 获取系统信息。具体可参考下方用例:
集成相关
操作和实施相关问题
- 问题:销售订单行项目条件中的数量小数位差异导致外围系统和SAP的金额不一致
- 接口传输的数量存在多为小数,定价条件的条件单位是整数位,就导致最终的价格核算存在差异,销售订单行项目条件中的数量小数位差异导致外围系统和SAP的金额不一致
解答:请直接将 BAG 传输到 SAP 系统。然后,系统将根据 CV 和 BAG 之间的转换自动转换条件值。
以上为本次分享的全部内容。若想要了解往期更多有关集成扩展的常问问题,可以点击下方链接进行查看:
- S/4HANA Cloud集成与扩展FAQ(2020年6月 – 2020年8月):click here.
- S/4HANA Cloud集成与扩展FAQ(2020年3月 – 2020年5月):click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2020年09月 – 2020年11月): click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2020年12月 – 2021年3月):click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2021年4月 – 2021年6月):click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2021年7月 – 2021年9月):click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2021年10月 – 2021年12月):click here.
- SAP S/4HANA Cloud集成与扩展FAQ(2022年01月 – 2022年03月):click here.