在sap的定价配置中,我们常常会使用到参考结构和参考字段(条件表和存储顺序),这些字段是如何使用的呢,我带着这个好奇阅读了sap的源码(函数SD_COND_ACCESS),并将我的理解记录下来供大家参考。
Step 1 调用t682z_select子过程从T682Z读取存储顺序存储到t682z_tab
PERFORM t682z_select TABLES t682z_tab
USING t682i_i
CHANGING subrc.
并根据参考结构和参考字段拼接存放到内表的字段kommfield中
CONCATENATE t682z_buf-qustr '-' t682z_buf-qufna
INTO t682z_buf-kommfield.
Step 2 在子例程sel_kondtab中根据存储顺序里的参考结构和字段名提取参考结构的对应字段值
ASSIGN TABLE FIELD (proto_fld_tab-kommfield) TO <f>.
proto_fld_tab-wert = <f>.
注:proto_fld_tab-kommfield的值,如:KOMP-PRODH1
Step 3 在子例程sel_kondtab中拼接查询条件(放在coding_tab内表中)
* buffered with wrong value -> replace value
coding_template-value = proto_fld_tab-wert.
REPLACE ALL OCCURRENCES OF '''' IN proto_fld_tab-wert
WITH '''''' IN CHARACTER MODE.
CONCATENATE '''' proto_fld_tab-wert '''' INTO h_value.
CONCATENATE <t682z>-zifna '=' h_value
INTO coding_template-line
SEPARATED BY ' '.
MODIFY coding_template INDEX sy-tabix TRANSPORTING value line.
IF first = yes.
first = no.
coding_tab = coding_template-line.
ELSE.
CONCATENATE 'AND' coding_template-line INTO coding_tab
SEPARATED BY ' '.
ENDIF.
ENDIF.
APPEND coding_tab.
Step 4 在子例程sel_kondtab中根据拼接(放在coding_tab内表中)出查询条件取读取条件记录。
SELECT * FROM (t681-kotab) APPENDING TABLE <cond_tab>
UP TO 1 ROWS
WHERE kappl = se_kappl
AND kschl = se_kschl
AND (coding_tab).
注:t681-kotab为条件表名称如:A802 ;coding_tab内容参见下图
有了这些,我们对参考字段和参考结构的使用的理解就应该很容易了。
分享到:
相关推荐
在 SAP 方丈中,查表字段是指通过 ABAP 语言对表结构中的字段进行查找和操作的过程。查表字段可以实现对表结构中的数据的读取、写入和修改等操作。通过查表字段,可以对 SAP 系统中的数据进行实时监控和分析。 本...
### 更改Oracle表中字段顺序的方法 在Oracle数据库管理中,有时我们可能需要对表中的字段顺序进行调整。然而,通常的做法是通过备份、删除原表并重建来达到这一目的,这种方法不仅耗时而且繁琐。幸运的是,经过一番...
在SAP SD模块中,定价配置是核心流程之一,它涉及到销售订单的金额计算,包括折扣、税项、附加费等。以下是对SAP SD定价配置步骤的详细说明: 1) **字段目录**:字段目录定义了定价过程所需的特定字段,如货币、...
### Oracle通用数据库存储过程代码——高效分页存储过程解析 #### 标题解析 标题“Oracle通用数据库存储过程代码——高效分页存储过程”表明这是一个适用于Oracle数据库的存储过程,主要用于实现高效的分页查询功能...
然后,通过后台配置把这些字段添加到字段目录中,以便在定价过程中使用。 2. **创建条件表**: - 条件表是定义不同定价条件的载体,如价格、折扣和税。使用Tcode `V/03` 创建新条件表,定义关键字。自定义条件表...
在SAP_SD系统中,需要将想要的字段放入字段目录中,以便在后续的配置过程中使用。这一步骤是整个定价配置的基础。 步骤2:创建条件表 创建条件表是定价配置的关键步骤。在这个步骤中,需要定义条件记录的关键字,...
### SAP MM 采购定价过程详解 #### 一、概述 SAP MM (Materials Management) 是 SAP ERP (Enterprise Resource Planning) 的一个重要模块,主要用于管理企业的物料流。其中的采购定价过程是一个核心功能,它允许...
这允许在后续的定价过程中使用这些字段进行计算和决策。 2) **创建条件表**:条件表用于定义定价条件的记录关键字。Tcode v/03用于创建条件表,而v/05用于查看。条件表可以是标准的(如002代表国内税),也可以是...
但在实际应用过程中,可能会遇到现有BAPI无法完全满足特定业务需求的情况,比如需要额外的字段来存储特定的信息。这时候就需要对现有的BAPI进行字段扩展,以增加新的数据字段来满足业务需求。 #### 字段扩展的具体...
通过学习和分析这些源代码,开发者可以掌握如何在商业应用中有效地使用ADO来调用和管理存储过程,从而提高代码的性能和可维护性。同时,了解如何处理数据库交互中的异常情况和事务管理,也是确保系统稳定运行的关键...
本文将详细介绍 Oracle 中 LOB 字段的存储结构、存储参数和存储方式,并讨论 LOB 字段的优化策略。 LOB 字段的存储结构 ------------- LOB 字段由三个部分组成:LOB 列、LOB 数据段和 LOB 索引段。LOB 列是指向 ...
- “源代码”标签表明了本文档包含实际的编程代码,可用于参考和学习。 ### 五、注意事项 - 在实际应用中,创建数据库和表时需要考虑数据安全性、性能优化等因素。 - 代码示例中的路径、字段名称等应根据实际情况...
标题“sql分页存储过程(无论那个表,表中有多少字段都可以用这一个存储过程)”明确指出这是一个适用于任何表结构的分页查询存储过程,无论表中有多少个字段,均能通过此存储过程进行高效的数据分页操作。...
标题与描述解析:“F-02 抬头显示系统隐藏字段 卡号”与“F-02系统字段,卡号让其显示出来作为其他用途”这两句话共同指向了一个核心议题,即在SAP F-02事务处理系统中,如何使原本隐藏的卡号字段在抬头显示中可见,...
软件数据字典,是软件开发过程中不可或缺的一个重要文档,它详尽地记录了软件系统中的所有数据元素、数据结构、数据流、数据存储以及过程等信息,为软件设计和维护提供了精确的数据参考。这份名为"QM-TEMP-SD-70-...
在 SAP SD 系统中,我们还可以看到“必需”字段,该字段表明当系统使用这个定价过程完成定价时,条件是否是必需的。即要求该条件类型必须有值。 此外,我们还可以看到“小计”字段,该字段给步骤分配给一个小计...
以下是关于SAP销售定价过程的一些详细解释: 1. **条件类型编号与步骤**: 条件类型在计算方案中以步骤编号进行排序,如步骤10、20等。这有助于组织和执行价格计算。尽管可以不连续地分配步骤,但为了方便后期修改...
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
- 实现销售和分销中的定价过程,包括创建、修改及显示定价条件等。 #### 五、扩展知识点 **销售和分销中的接口**: - 介绍与其他模块(如财务会计、物料管理等)之间的集成点。 **销售和分销中的主数据**: - 深入...