ABAP 销售定价条件记录
1、常用表
a505 客户/物料/销售组织
a508 地区/物料/销售组织
a901 销售组织/价格组(基地)/物料
a902 销售组织/价格组(基地)/产品层次
a906 销售组织/地区/价格组/产品层次
a907 销售组织/地区/价格组/物料
a908 产品层次/地区/销售组织
a606 物料/销售组织
a608 产品层次/销售组织
a808 客户/产品层次/销售组织
2、BAPI
" 先检查是否存在, sy-subrc = 0 则存在, 否则不存在
SELECT COUNT(*)
FROM a505 AS a
INNER JOIN konp AS b ON a~knumh = b~knumh
WHERE a~kappl = 'V'
AND a~kunnr = lv_kunnr
AND matnr = ls_item-productcode
AND vkorg = cs_vkorg
AND datbi = ls_item-enddate
AND datab = ls_item-begindate
AND a~kschl = cs_kschl
AND b~loevm_ko = ''.
ls_komv-kappl = 'V'.
ls_komv-kschl = 'PR00'.
ls_komv-waers = 'CNY'.
ls_komv-kmein = lv_meins.
ls_komv-kpein = '1'.
ls_komv-kbetr = ls_item-amount.
ls_komv-mandt = sy-mandt.
APPEND ls_komv TO lt_komv.
CALL FUNCTION 'RV_CONDITION_COPY'
EXPORTING
application = 'V' "(V 销售)
condition_table = '505' " 这里为条件表
condition_type = cs_kschl " 条件类型 PR00
key_fields = ls_komg " 这里为关键字组合,不可缺少,否则会有错误
date_from = lv_begin " 开始时间
date_to = lv_end " 结束时间
enqueue = 'X' " lock entry 锁定VK11/VK12
overlap_confirmed = 'X' " 直接覆盖,跨以前的期间不会弹出界面
maintain_mode = lv_mode " A= create, B= change, C= display, D= create
TABLES
copy_records = lt_komv " 行项目
EXCEPTIONS
enqueue_on_record = 1
invalid_application = 2
invalid_condition_number = 3
invalid_condition_type = 4
no_authority_ekorg = 5
no_authority_kschl = 6
no_authority_vkorg = 7
no_selection = 8
table_not_valid = 9
no_material_for_settlement = 10
no_unit_for_period_cond = 11
no_unit_reference_magnitude = 12
invalid_condition_table = 13
OTHERS = 14.
post SAP-Garson
原文链接:https://blog.csdn.net/wx774891/article/details/117557951文章来自于网络,如果侵犯了您的权益,请联系站长删除!