写一个RFC,在VK11下,把条件类型是Z907的一些数据输出。
在IMPORT下入参 定义2个
IT_VKORG LIKEA907-VKORG 销售组织
IT_KUNNR LIKE A907-KUNNR 客户号
当输入IT_VKOGR 或者 IT_KUNNR 时,或者2个都输入都能获取到数据。 这个看似简单的需求,我确花费了大概1天的时间。
其中卡就卡在:
第一,对ranges基本用法的不理解;
第二,没有进行判断就执行;
第三,对where条件后的 and 和 or 不了解。
下面看看最后正确的做法:
定义ranges
ranges知识:
RANGES <seltab> FOR <f>.
该语句创建 选择表 <seltab>, 该表参考数 据库表的列 <f> 或内部字段 <f>。选 择表 <seltab> 必须在程序 中填充。不 必在程序中 再用 TABLES 语句声明数 据库表。
RANGES 语句是下列 语句的短格 式:
DATA: BEGIN OF <seltab> OCCURS 10,
SIGN(1),
OPTION(2)
LOW LIKE <f>,
HIGH LIKE <f>,
END OF <seltab>.