问题背景
在 SAP 系统的日常运维中,采购业务往往涉及跨国贸易或多币种结算。当我们在创建采购订单(PO)、合同(Contract)或进行发票校验时,系统如果无法找到交易日期对应的有效汇率,业务流程就会中断。此外,对于长期协议类的采购,如何正确定义和使用合同凭证类型也是确保业务合规性的基础。
问题表现
汇率报错:系统提示错误代码SG105("Entry in table TCURR not found"),导致涉及外币的单据无法保存 。
合同无法创建:在执行ME31K(创建合同)时,找不到符合业务场景的凭证类型,或者合同编号分配不符合预期。
凭证确认:用户不确定合同或计划协议是否已成功生成,例如看到系统提示“分納契約(计划协议)XX 已注册” 。
原因分析
汇率表维护缺失:报错SG105的技术本质是系统在TCURR表中找不到特定“汇率类型”(如 M 型)、“从/至币种”以及“效期内”的汇率数值 。
凭证类型逻辑未定义:SAP 区分不同类型的采购协议(如 MK 量大合同、WK 价值合同)。如果后台没有定义对应的凭证类型及编号范围,前台则无法选择 。
翻译与多语言环境:在多语言(如日语/中文)环境下,用户可能会看到“分納契約”等术语,其本质对应的是系统的计划协议(Scheduling Agreement) 。
解决方案
1. 修复汇率报错 SG105(事务码:OB08)
这是解决跨币种记账问题的标准动作。
操作步骤:
- 进入事务码OB08。
点击“新条目”。
输入汇率类型(通常为 M)、起始货币(如 USD)、目标货币(如 CNY)以及有效起始日期。
输入当前的汇率直接汇率/间接汇率。
关键点:汇率是具有时效性的,建议定期维护或通过接口自动同步。
2. 合同凭证类型维护(事务码:ME33K 关联后台)
合同的查询与定义是采购管理的核心。
查询合同:使用ME33K查看已存在的合同详细信息,确认其凭证类型(Document Type) 。
定义凭证类型(后台 SPRO):
在采购后台配置中,定义合同的凭证类型(如自定义 ZMK)。
分配编号范围:确保每个凭证类型都关联了一个内部或外部编号区间。例如,系统提示“分納契約(计划协议)编号 5500000027 已注册”,这代表该凭证类型成功触发了编号范围内的下一个可用号码 。
3. 区分合同与计划协议
数量/价值合同:通常使用 ME31K 创建,ME33K 显示 。
计划协议(分納契約):虽然同样属于长期供应协议,但它更强调细化的交货计划单(Delivery Schedule) 。
总结与复用经验
报错预警:SG105属于配置类报错,一旦出现,通常意味着财务基础设置未覆盖到新的交易币种。
流程闭环:在 SAP MM 中,从定义凭证类型到通过OB08解决汇率障碍,是保障“采购-发票校验”链路畅通的必要前提。
语言备注:在国际化项目中,注意“分納契約”即为计划协议,掌握不同语言下的单据名称有助于快速定位问题单据 。