DATA lt_bapicondct TYPE TABLE OF bapicondct.
DATA lt_bapicondhd TYPE TABLE OF bapicondhd.
DATA lt_bapicondit TYPE TABLE OF bapicondit.
DATA lt_bapicondqs TYPE TABLE OF bapicondqs.
DATA lt_bapicondvs TYPE TABLE OF bapicondvs.
DATA lt_bapiret2 TYPE TABLE OF bapiret2.
DATA lt_bapiknumhs TYPE TABLE OF bapiknumhs.
DATA lt_mem_initial TYPE TABLE OF cnd_mem_initial.
DATA ls_bapicondct TYPE bapicondct.
DATA ls_bapicondhd TYPE bapicondhd.
DATA ls_bapicondit TYPE bapicondit.
DATA ls_bapicondqs TYPE bapicondqs.
DATA ls_bapicondvs TYPE bapicondvs.
DATA ls_bapiret2 TYPE bapiret2.
DATA ls_bapiknumhs TYPE bapiknumhs.
DATA ls_mem_initial TYPE cnd_mem_initial.
CLEAR:ls_bapicondct ,
ls_bapicondhd ,
ls_bapicondit ,
ls_bapicondqs ,
ls_bapicondvs ,
ls_bapiret2 ,
ls_bapiknumhs ,
ls_mem_initial.
CLEAR:lt_bapicondct ,
lt_bapicondhd ,
lt_bapicondit ,
lt_bapicondqs ,
lt_bapicondvs ,
lt_bapiret2 ,
lt_bapiknumhs ,
lt_mem_initial.
DATA h_varkey TYPE char100.
DATA h_varkey_long TYPE char100.
DATA lv_valid_to TYPE datum.
DATA lv_valid_from TYPE datum.
lv_valid_to = '99991231'.
lv_valid_from = sy-datum.
* SELECT MAX( knumh ) AS knumh FROM konh INTO @DATA(lv_knumh).
DATA lv_knumh TYPE knumh.
lv_knumh = '$000000001'.
"插入香港澳门 HKD MOP
DO 2 TIMES.
"条件表A901
CLEAR:ls_bapicondct,ls_bapicondhd,ls_bapicondit.
IF lt_bapicondct IS INITIAL.
h_varkey+00(4) = lv_ekorg. " 0-4位:销售组织
h_varkey+04(2) = '01'. " 4-2位:分销渠道
h_varkey+06(40) = in_matnr. " 6-18位:物料(自动补空格)
h_varkey+46(18) = in_ean11. " 24-11位:EAN11(自动补空格)
h_varkey+64(3) = 'HK'. " 24-11位:EAN11(自动补空格)
h_varkey_long+00(4) = lv_ekorg. " 0-4位:销售组织
h_varkey_long+04(2) = '01'. " 4-2位:分销渠道
h_varkey_long+06(40) = in_matnr. " 6-18位:物料(自动补空格)
h_varkey_long+46(18) = in_ean11. " 24-11位:EAN11(自动补空格)
h_varkey_long+64(3) = 'HK'. " 24-11位:EAN11(自动补空格)
* CONCATENATE lv_ekorg '01' in_matnr ' 'in_ean11 'HK' INTO h_varkey_long .
ELSE.
CLEAR:lt_bapicondct.
h_varkey+00(4) = lv_ekorg. " 0-4位:销售组织
h_varkey+04(2) = '01'. " 4-2位:分销渠道
h_varkey+06(40) = in_matnr. " 6-18位:物料(自动补空格)
h_varkey+46(18) = in_ean11. " 24-11位:EAN11(自动补空格)
h_varkey+64(3) = 'MO'. " 24-11位:EAN11(自动补空格)
h_varkey_long+00(4) = lv_ekorg. " 0-4位:销售组织
h_varkey_long+04(2) = '01'. " 4-2位:分销渠道
h_varkey_long+06(40) = in_matnr. " 6-18位:物料(自动补空格)
h_varkey_long+46(18) = in_ean11. " 24-11位:EAN11(自动补空格)
h_varkey_long+64(3) = 'MO'. " 24-11位:EAN11(自动补空格)
* CONCATENATE lv_ekorg '01' in_matnr INTO h_varkey .
* CONCATENATE lv_ekorg '01' in_matnr ' ' in_ean11 ' ' 'MO' INTO h_varkey_long .
ENDIF.
ls_bapicondct-operation = '009'. "009 新增 003 删除 004 修改
ls_bapicondct-cond_usage = 'A'.
ls_bapicondct-table_no = '901'. "条件表A901
ls_bapicondct-applicatio = 'V'.
ls_bapicondct-cond_type = 'VKP0'.
ls_bapicondct-varkey = h_varkey.
ls_bapicondct-varkey_long = h_varkey_long.
ls_bapicondct-valid_to = lv_valid_to. "条件记录有效截止日期
ls_bapicondct-valid_from = lv_valid_from. "条件记录有效起始日
* lv_knumh = lv_knumh + 1.
ls_bapicondct-cond_no = lv_knumh. "條件記錄號碼
APPEND ls_bapicondct TO lt_bapicondct.
"KONH
CLEAR:lt_bapicondhd.
ls_bapicondhd-operation = '009'.
ls_bapicondhd-cond_no = lv_knumh.
ls_bapicondhd-created_by = sy-uname.
ls_bapicondhd-creat_date = sy-datum.
ls_bapicondhd-cond_usage = 'A'.
ls_bapicondhd-table_no = '901'.
ls_bapicondhd-applicatio = 'V'.
ls_bapicondhd-cond_type = 'VKP0'.
ls_bapicondhd-varkey = h_varkey.
ls_bapicondhd-varkey_long = h_varkey_long.
ls_bapicondhd-valid_to = lv_valid_to.
ls_bapicondhd-valid_from = lv_valid_from.
APPEND ls_bapicondhd TO lt_bapicondhd.
"KONP
IF lt_bapicondit IS INITIAL.
ls_bapicondit-condcurr = 'HKD'.
ELSE.
CLEAR:lt_bapicondit.
ls_bapicondit-condcurr = 'MOP'.
ENDIF.
ls_bapicondit-operation = '009'. "修改
ls_bapicondit-cond_no = lv_knumh.
ls_bapicondit-cond_count = '01'. "条件序列号
ls_bapicondit-applicatio = 'V'.
ls_bapicondit-cond_type = 'VKP0'. "条件类型
ls_bapicondit-scaletype = 'A'. "STFKZ Staffelsoort
ls_bapicondit-scalebasin = ''. "KZBZG Teken:rekeneenheid " wa_bapicondit-scalebasin = 'C'. 存在数量等级
ls_bapicondit-scale_qty = '1'. "KSTBM Conditiestaffelbasis hoeveelheid
ls_bapicondit-cond_p_unt = '1'. "KPEIN prijseenheid
ls_bapicondit-cond_unit = 'ST'. "KMEIN Conditie-hoeveelheidseenheid
ls_bapicondit-calctypcon = 'C'. "KRECH Conditie-rekenregel
ls_bapicondit-cond_value = in_kbetr.
ls_bapicondit-condcurren = 'HKD'.
APPEND ls_bapicondit TO lt_bapicondit.
CALL FUNCTION 'BAPI_PRICES_CONDITIONS'
* EXPORTING
* PI_INITIALMODE = ' '
* PI_BLOCKNUMBER =
* PI_PHYSICAL_DELETION =
TABLES
ti_bapicondct = lt_bapicondct
ti_bapicondhd = lt_bapicondhd
ti_bapicondit = lt_bapicondit
ti_bapicondqs = lt_bapicondqs
ti_bapicondvs = lt_bapicondvs
to_bapiret2 = lt_bapiret2
to_bapiknumhs = lt_bapiknumhs
to_mem_initial = lt_mem_initial
EXCEPTIONS
update_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDDO.
ABAP VK11物料价格 BAPI_PRICES_CONDITIONS
最新推荐文章于 2026-07-31 12:28:18 发布

1852

被折叠的 条评论
为什么被折叠?



