点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好,
我正在尝试使用RV_CONDITION_COPY更新现有的比例,但是它没有更新。
您能帮我吗,我能够重新创建它。
方法upd_cond_record_wo_service。 *-数据 数据:komv的lt_cr类型标准表, ls_cr TYPE komv, lt_komg komg类型标准表, ls_komg TYPE komg, ls_komk TYPE komk, ls_komp TYPE komp, lt_copy_staffel condscale的类型标准表, ls_copy_staffel TYPE condscale, lt_knumh knumh_comp的标准类型表, ls_knumh TYPE knumh_comp, lt_komv_idoc komv_idoc的类型标准表, ls_komv_idoc TYPE komv_idoc。 选择单个*从ekko到@DATA(ls_ekko)在哪里 ebeln = @iv_ebeln。 如果sy-subrc = 0。 选择单个*从ekpo到@DATA(ls_ekpo)的ebeln = @ ls_ekko-ebeln且 ebelp = @iv_ebelp。 如果sy-subrc = 0。 通话功能'ME_FILL_KOMG_PO' 出口 i_ekko = ls_ekko i_ekpo = ls_ekpo 输入 e_komg = ls_komg。 *-填充KOMK 将ls_komg移动到ls_komk。 ls_komk-mandt = sy-mandt。 *-填充KOMP 将ls_komg移动到ls_komp。 ls_komp-kposn = 1。 *-填写KOMV_IDOC ls_komv_idoc-kznep ='X'。 附录ls_komv_idoc到lt_komv_idoc。 从a016中选择SELECT datbi,datab,knumh 其中kappl ='M'并且 kschl ='PB00'并且 evrtn = @iv_ebeln AND evrtp = @iv_ebelp AND datbi = @iv_datbi AND datab = @iv_datab INTO @DATA(ls_a016)。 如果sy-subrc = 0。 ****读取PB00记录 从konp中选择单个knumh到@DATA(lv_knumh)WHERE knumh = @ ls_a016-knumh AND kschl ='PB00'。 如果sy-subrc <> 0。 清除lv_knumh。 万一。 万一。 ****填充附加记录 循环到it_konp ASSIGNING FIELD-SYMBOL()。 将 对应移动到ls_cr。 如果lv_knumh不是INITIAL。 ls_cr-knumh = lv_knumh。 其他。 ls_cr-knumh ='$ 000000001'。 万一。 ls_cr-loevm_ko = -loevm_ko。 如果 -loevm_ko = abap_true。 ls_cr-updkz = abap_true。 万一。 ls_cr-mandt = sy-mandt。 如果 -konwa不初始且 -konwa <>'%'。 ls_cr-waers = -konwa。 ELSEIF -konwa ='%'。 ls_cr-kbetr = ls_cr-kbetr * 10。 万一。 ***贝娄是KOMV秤的重要领域。 使用键ebeln = iv_ebeln读取表it_scales ebelp = iv_ebelp kschl = -kschl 增量= -loevm_ko 无领域运输。 如果sy-subrc = 0。 *如果 -kstbm不是初始的。 ls_cr-kopos = 1。 ls_cr-kzbzg ='C'。 ls_cr-konms = -表示。 ls_cr-stfkz ='A'。 DATA(lv_counter)= 0。 在it_scales处环分配ASSIGNING FIELD-SYMBOL( )在其中ebeln = iv_ebeln AND ebelp = iv_ebelp AND kschl = -kschl和 delt = -loevm_ko。 在lt_copy_staffel ASSIGNING FIELD-SYMBOL( )后面添加初始行。 如果sy-subrc = 0。 lv_counter = lv_counter + 1。 如果lv_knumh不是INITIAL。 -knumh = lv_knumh。 其他。 -knumh ='$ 000000001'。 万一。 -klfn1 = lv_counter。 -kopos ='01'。 -kstbm = -kstbm。 -kbetr = -kstbw。 "标价 -kzbzg ='C'。 *如果lv_knumh不是INITIAL。 * -updkz ='X' * 万一。 * -klfka ='X' -rv13akonwa = -konwa。 -konpkmein = -meins。 -konpkonms = -meins。 万一。 结局。 清除:lv_counter。 万一。 附加ls_cr至lt_cr。 清除:ls_cr。 结局。 ****更新数据库 如果lv_knumh不是INITIAL。 通话功能" RV_CONDITION_COPY" 出口 应用='M' condition_table ='016' condition_type ='PB00' date_from = iv_datab date_to = iv_datbi 入队='X' i_komk = ls_komk i_komp = ls_komp key_fields = ls_komg maintenance_mode ='B' no_authority_check ='X' selection_date = iv_datab * keep_old_records ='X' overlay_confirmed ='X' no_db_update = iv_testrun 桌子 copy_records = lt_cr copy_staffel = lt_copy_staffel copy_recs_idoc = lt_komv_idoc 例外情况 enqueue_on_record = 01 invalid_application = 02 invalid_condition_number = 03 invalid_condition_type = 04 no_authority_ekorg = 05 no_authority_kschl = 06 no_authority_vkorg = 07 no_selection = 08 table_not_valid = 09。 如果sy-subrc <> 0。 将初始行追加到et_return ASSIGNING FIELD-SYMBOL( )。 -type = sy-msgty。 -id = sy-msgid。 -number = sy-msgno。 -message = sy-modno。 -message_v1 = sy-msgv1。 -message_v2 = sy-msgv2。 -message_v3 = sy-msgv3。 -message_v4 = sy-msgv4。 万一。 其他。 通话功能" RV_CONDITION_COPY" 出口 应用='M' condition_table ='016' condition_type ='PB00' date_from = iv_datab date_to = iv_datbi 入队='X' i_komk = ls_komk i_komp = ls_komp key_fields = ls_komg maintenance_mode ='A' no_authority_check ='X' overlay_confirmed ='X' no_db_update = iv_testrun 桌子 copy_records = lt_cr copy_staffel = lt_copy_staffel copy_recs_idoc = lt_komv_idoc 例外情况 enqueue_on_record = 01 invalid_application = 02 invalid_condition_number = 03 invalid_condition_type = 04 no_authority_ekorg = 05 no_authority_kschl = 06 no_authority_vkorg = 07 no_selection = 08 table_not_valid = 09。 如果sy-subrc <> 0。 将初始行追加到et_return ASSIGNING 。 -type = sy-msgty。 -id = sy-msgid。 -number = sy-msgno。 -message = sy-modno。 -message_v1 = sy-msgv1。 -message_v2 = sy-msgv2。 -message_v3 = sy-msgv3。 -message_v4 = sy-msgv4。 万一。 万一。 如果iv_testrun = abap_false。 通话功能" RV_CONDITION_SAVE"。 调用功能" RV_CONDITION_RESET"。 提交工作并等待。 如果sy-subrc <> 0。 将初始行追加到et_return ASSIGNING 。 -type = sy-msgty。 -id = sy-msgid。 -number = sy-msgno。 -message = sy-modno。 -message_v1 = sy-msgv1。 -message_v2 = sy-msgv2。 -message_v3 = sy-msgv3。 -message_v4 = sy-msgv4。 万一。 万一。 万一。 万一。 终结法。
嗨
也许您可以按照注释1149781-API进行研究:系统不支持更新秤,您可以实现。 如注释所示,不支持更新和删除。 在您的发行版中签入您有可用的功能组COND_MNT_INTF。
我希望它对您有帮助
问候
Eduardo
我建议不要使用功能模块-RV_CONDITION_ *,这些FM不会发布。 我们遇到了相同的问题,但是对于所有A *表并创建了动态BDC和报表。
我做了隐式增强以使其工作...
谢谢..
一周热门 更多>