ABAP-创建客户阶梯价
【摘要】 告别忙碌低效!本文提供示例,帮助您用更少时间完成更多高质量工作,重获工作与生活平衡。
*&---------------------------------------------------------------------* *& Form frm_create_price *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM frm_create_price USING VALUE(uv_kappl) TYPE kappl VALUE(uv_kschl) TYPE kschl VALUE(uv_reswk) TYPE reswk VALUE(uv_werks) TYPE werks_d VALUE(uv_matnr) TYPE matnr VALUE(uv_kfrst) TYPE kfrst VALUE(uv_datbi) TYPE kodatbi VALUE(uv_datab) TYPE kodatab VALUE(uv_peinh) TYPE peinh VALUE(uv_meins) TYPE meins VALUE(uv_kbetr) TYPE kbetr CHANGING cv_flg TYPE bapi_mtype cv_mesg TYPE bapi_msg. DATA: lt_bapicondct TYPE STANDARD TABLE OF bapicondct, " lt_bapicondhd TYPE STANDARD TABLE OF bapicondhd, " lt_bapicondit TYPE STANDARD TABLE OF bapicondit, lt_bapicondqs TYPE STANDARD TABLE OF bapicondqs, lt_bapicondvs TYPE STANDARD TABLE OF bapicondvs, lt_bapiret2 TYPE STANDARD TABLE OF bapiret2, lt_bapiknumhs TYPE STANDARD TABLE OF bapiknumhs, lt_mem_initial TYPE STANDARD TABLE OF cnd_mem_initial. DATA: lv_varkey(100) TYPE c. lv_varkey = |{ uv_reswk }{ uv_werks }{ uv_matnr }|. APPEND VALUE #( table_no = '901' "条件表A901 applicatio = 'M' cond_usage = 'A' "条件表用途 ‘ A定价 cond_type = uv_kschl "定价条件 operation = '009' "创建 varkey = lv_varkey valid_to = uv_datbi valid_from = uv_datab cond_no = '$000000001' ) TO lt_bapicondct. APPEND VALUE #( operation = '009' cond_no = '$000000001' created_by = sy-uname creat_date = sy-datum cond_usage = 'A' table_no = '901' applicatio = 'M' cond_type = uv_kschl varkey = lv_varkey valid_from = uv_datab valid_to = uv_datbi ) TO lt_bapicondhd. APPEND VALUE #( operation = '009' cond_no = '$000000001' cond_count = '01' "条件序列号 applicatio = 'M' cond_type = uv_kschl "条件类型 scaletype = 'A' "STFKZ scalebasin = '' "KZBZG 'C'. 存在数量等级 scale_qty = '1' "KSTBM cond_p_unt = uv_peinh "KPEIN cond_unit = uv_meins "KMEIN calctypcon = 'C' "KRECH cond_value = uv_kbetr condcurr = 'CNY' exclusion = 'X' ) 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. cv_flg = 'E'. MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 INTO cv_mesg. RETURN. ENDIF. LOOP AT lt_bapiret2 ASSIGNING FIELD-SYMBOL(<fs_return>) WHERE type CA 'AEX'. cv_mesg = <fs_return>-message && '!' && cv_mesg . ENDLOOP. IF sy-subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. cv_flg = 'E'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. cv_flg = 'S'. cv_mesg = '价格条件处理成功!'. ENDIF. ENDFORM.
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)