2020-09-15 18:06发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好。
我有问题。
我在NAST表中有超过1000条记录,键KAPPL ='V5'和KSCHL ='ZRC1'。 其他关键领域并不重要。 我需要将此1000条记录克隆到其他键即1000条记录中,即
键KAPPL ='V5'和KSCHL ='ZRC1'的1000条记录===>键KAPPL ='V5'和KSCHL ='ZRC2'的1000条记录。
也许标准功能具有进行此克隆的工具?
p.s。 抱歉,我的英语不好。
对不起。 我们的顾问不想手动进行记录。 编写了程序。 源代码
表格:t685。 数据:gv_error TYPE C, go_log类型参考zcl_log, gt_nast类型标准表。 带有标题标题text-001的bl1块的选择屏幕开始。 参数:p_kap_fr类型sna_kappl强制性, p_obj_fr TYPE na_objkey, p_ksc_fr类型sna_kschl义务。 bl1的选择屏幕结尾。 带有标题标题text-002的bl2块的选择屏幕开始。 参数:p_kap_to类型sna_kappl强制性, p_ksc_to类型sna_kschl义务。 块bl2的选择屏幕结束。 选择开始。 执行主要。 选择结束。 执行show_result。 表格主要。 go_log = zcl_log => factory()。 执行check_sel_data。 检查gv_error是否为INITIAL。 执行get_data。 检查gv_error是否为INITIAL。 执行check_data。 检查gv_error是否为INITIAL。 执行prepare_data。 执行save_data。 ENDFORM。 FORM check_sel_data。 数据:lv_kap_to TYPE sy-msgv1, lv_ksc_to喜欢lv_kap_to。 单选* 从t685起 哪里kvewe ='B' AND kappl = p_kap_to AND kschl = p_ksc_to。 IF sy-subrc NE 0。 gv_error = abap_true。 将p_kap_to移动到lv_kap_to。 将p_ksc_to移动到lv_ksc_to。 go_log-> add(iv_msgty ='E' iv_msgid ='ZMES_UTIL' iv_msgno = 002 iv_msgv1 = lv_kap_to iv_msgv2 = lv_ksc_to)。 万一。 ENDFORM。 FORM get_data。 数据:lt_where_tab(40)类型c。 如果p_obj_fr不是INITIAL。 lt_where_tab ='OBJKY = @P_OBJ_FR'。 万一。 选择 * 进入表@gt_nast 从纳斯特 在哪里kappl = @p_kap_fr AND kschl = @p_ksc_fr AND(lt_where_tab)。 如果gt_nast []是INITIAL。 gv_error = abap_true。 go_log-> add(iv_msgty ='E' iv_msgid ='ZMES_UTIL' iv_msgno = 000)。 万一。 ENDFORM。 FORM check_data。 数据:带有默认键的lt_nast类型标准列表 lv_line_count类型sy-msgv1。 选择NAST〜* 进入表@lt_nast 从纳斯特 在哪里kappl = @p_kap_to AND kschl = @p_ksc_to。 如果lt_nast []不是INITIAL。 在lt_nast分配字段符号()处循环播放。 读取表gt_nast分配字段符号()二进制搜索 WITH KEY objky = -objky spras = -spras parnr = -parnr parvw = -parvw erdat = -erdat eruhr = -eruhr。 如果sy-subrc = 0。 -kappl ='DL'。 万一。 结局。 删除gt_nast WHERE kappl ='DL'。 万一。 如果gt_nast []是INITIAL。 gv_error = abap_true。 go_log-> add(iv_msgty ='E' iv_msgid ='ZMES_UTIL' iv_msgno = 000)。 其他。 描述表gt_nast LINES DATA(lv_count)。 将lv_count移动到lv_line_count。 go_log-> add(iv_msgty ='I' iv_msgid ='ZMES_UTIL' iv_msgno = 001 iv_msgv1 = lv_line_count)。 万一。 ENDFORM。 FORM prepare_data。 在gt_nast分配字段符号()处循环播放。 -kappl = p_kap_to。 -kschl = p_ksc_to。 结局。 ENDFORM。 FORM save_data。 调用功能'Z _ ***** _ INSERT_NAST'在更新任务中 出口 it_nast = gt_nast。 ENDFORM。 FORM show_result。 go_log-> display()。 ENDFORM。
您好,真正的提案是什么?
以下 SAP文档解释了NAST表 和相应的处理。
关于
问题已解决
就像罗伯托一样,我想知道此练习的目的是什么,因为您提到了另一个关键 字段并不重要。 这些不重要的字段之一是OBJKEY,它链接到实际的文档,在您的情况下,该文档应该是输出组(VG02)。
您的任务是确定大量现有文档中的某些新输出类型吗? 如果是的话,那么您的职能顾问应该已经知道该如何处理,并且您不需要在ABAP中写任何花哨的东西。 您只需要配置输出过程,创建条件记录,维护打印参数运输等,确保可以在文档中自动确定输出。 然后,您所需要做的就是更改模式并保存。 对于一件如此简单的事情,甚至可以创建一个记录(VG02,输入文件编号,保存)并通过批处理输入来处理文件。 应该是一次活动的1000个文档还不足以证明需要开发人员参与。
一天中的好时光。 我会写得更准确。 其他关键字段也很重要,但是当我撰写此问题时,此关键字段并不重要。
很早以前,当我们将ERP系统集成到公司中时,就创建了1000多个记录,键KAPPL ='V5'和KSCHL ='ZRC1'。 现在您需要创建相同的1000条记录,但是KSCHL是" ZRC2"的值。
我看到两种方式:
1。 手动创建超过1000条记录。 但是很长。
2。 编写程序,她会做的。
Veseline和Roberto,谢谢您的回答。
现在,请与我们分享您的解决方法。 毕竟,有两个人试图帮助您-为什么不帮助遇到相同或相似问题的人?
最多设置5个标签!
对不起。 我们的顾问不想手动进行记录。 编写了程序。 源代码
您好,真正的提案是什么?
以下 SAP文档解释了NAST表 和相应的处理。
关于
问题已解决
就像罗伯托一样,我想知道此练习的目的是什么,因为您提到了另一个关键 字段并不重要。 这些不重要的字段之一是OBJKEY,它链接到实际的文档,在您的情况下,该文档应该是输出组(VG02)。
您的任务是确定大量现有文档中的某些新输出类型吗? 如果是的话,那么您的职能顾问应该已经知道该如何处理,并且您不需要在ABAP中写任何花哨的东西。 您只需要配置输出过程,创建条件记录,维护打印参数运输等,确保可以在文档中自动确定输出。 然后,您所需要做的就是更改模式并保存。 对于一件如此简单的事情,甚至可以创建一个记录(VG02,输入文件编号,保存)并通过批处理输入来处理文件。 应该是一次活动的1000个文档还不足以证明需要开发人员参与。
一天中的好时光。 我会写得更准确。 其他关键字段也很重要,但是当我撰写此问题时,此关键字段并不重要。
很早以前,当我们将ERP系统集成到公司中时,就创建了1000多个记录,键KAPPL ='V5'和KSCHL ='ZRC1'。 现在您需要创建相同的1000条记录,但是KSCHL是" ZRC2"的值。
我看到两种方式:
1。 手动创建超过1000条记录。 但是很长。
2。 编写程序,她会做的。
Veseline和Roberto,谢谢您的回答。
现在,请与我们分享您的解决方法。 毕竟,有两个人试图帮助您-为什么不帮助遇到相同或相似问题的人?
一周热门 更多>