SAP ABAP BDC录屏 保姆级教程

news2024/11/27 22:38:18

ME47修改报价请求中项目的信息记录更新这个字段.

1.输入TCODE: SHDB
在这里插入图片描述

2.点击创建记录

在这里插入图片描述

3.输入记录(也就是一个名称)和事务码(就是你想录的那个tcode的事务码),最后点击开始,之后就会跳到该事务码的初始屏幕上去了,然后就按照正常去操作,尽量一步到位不要有多余的操作!!
在这里插入图片描述

4.我的目的是为了修改报价请求中项目的信息记录更新这个字段.

5.然后先进入到项目总览,可以看到我这个有两个项目,但是如果你直接双击进去修改(如下面的第6条),就会出现点击那个项目就只修改那个项目;

正确的操作是看下图中箭头指向的那个项目(最初的是第一条的项目号),此时我们把它删除了,重新输入一条项目号(这里输入第2条),然后再回车(这时你会看到只有1条项目了),再去双击第1条,再进去修改;这样你就实现动态的修改所有的项目了.

在这里插入图片描述

6.需要大家注意的是,但我们在双击项目的时候,才会进入到这里.

在这里插入图片描述

7.保存之后就会进入到这里,可以看到你所执行的所有步骤,主要的就是这四个步骤.

在这里插入图片描述

8.然后点击保存退出,回到SHDB的初始界面

9.然后点击程序,然后输入程序名,然后确定,然后回到 SE38找到你那个程序名;

在这里插入图片描述

10.这个程序是可以正常执行的,可以观察看看.

现在我们只需要看DO循环中的子程序.

观察可以发现,DO循环中只有三个子程序:bdc_dynpro,bdc_fieldbdc_transaction.

这三个子程序的作用分别就是:处理屏幕,处理字段和调用并执行事务码.

DO.

    READ DATASET dataset INTO record.
    IF sy-subrc <> 0. EXIT. ENDIF.

    PERFORM bdc_dynpro      USING 'SAPMM06E' '0305'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RM06E-ANFNR'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'RM06E-ANFNR'
                                  record-anfnr_001.
    PERFORM bdc_dynpro      USING 'SAPMM06E' '0323'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RM06E-EBELP'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '/00'.
    PERFORM bdc_field       USING 'RM06E-EBELP'
                                  record-ebelp_002.
    PERFORM bdc_dynpro      USING 'SAPMM06E' '0323'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'RM06E-ANFPS(01)'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=DETA'.
    PERFORM bdc_field       USING 'RM06E-EBELP'
                                  record-ebelp_003.
    PERFORM bdc_dynpro      USING 'SAPMM06E' '0311'.
    PERFORM bdc_field       USING 'BDC_CURSOR'
                                  'EKPO-SPINF'.
    PERFORM bdc_field       USING 'BDC_OKCODE'
                                  '=BU'.
    PERFORM bdc_field       USING 'EKPO-EMATN'
                                  record-ematn_004.
    PERFORM bdc_field       USING 'EKPO-LGORT'
                                  record-lgort_005.
    PERFORM bdc_field       USING 'EKPO-TXZ01'
                                  record-txz01_006.
    PERFORM bdc_field       USING 'RM06E-ANMNG'
                                  record-anmng_007.
    PERFORM bdc_field       USING 'EKPO-AGDAT'
                                  record-agdat_008.
    PERFORM bdc_field       USING 'RM06E-EEIND'
                                  record-eeind_009.
    PERFORM bdc_field       USING 'RM06E-LPEIN'
                                  record-lpein_010.
    PERFORM bdc_field       USING 'EKPO-SPINF'
                                  record-spinf_011.
    PERFORM bdc_field       USING 'EKPO-BPUMN'
                                  record-bpumn_012.
    PERFORM bdc_field       USING 'EKPO-BPUMZ'
                                  record-bpumz_013.
    PERFORM bdc_transaction USING 'ME47'.

  ENDDO.

11.首先看一下图中这个结构BDCDATA,标准描述就是:批输入:新表格字段结构,这个结构就是处理BDC数据的主要结构.

  • PROGRAM :就是程序名,当前屏幕所在的程序,如图:(对比下面的代码去观察)

  • 在这里插入图片描述

  • DYNPRO :屏幕编号

  • DYNBEGIN:启动 ‘X’ 不启动 ‘’

  • FNAM:字段名

  • FVAL:字段值

在这里插入图片描述

12.然后我们再看这两个子程序:bdc_dynprobdc_field

现在数据都在bdcdata内表中了.

bdc_transaction这个子程序,我们用另一种方式去处理.

FORM bdc_dynpro USING program dynpro.
  CLEAR bdcdata.
  bdcdata-program  = program.
  bdcdata-dynpro   = dynpro.
  bdcdata-dynbegin = 'X'.
  APPEND bdcdata.
ENDFORM.
*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
*  IF fval <> nodata."把这个注释掉
  CLEAR bdcdata.
  bdcdata-fnam = fnam.
  bdcdata-fval = fval.
  APPEND bdcdata.
*  ENDIF.
ENDFORM.

13.下面就是具体的参数赋值了.

FORM frm_bdc_me47  USING ps_alv TYPE zmmr030_a.

  DATA opt TYPE ctu_params.

  IF sy-subrc <> 0. EXIT. ENDIF.

  PERFORM bdc_dynpro      USING 'SAPMM06E' '0305'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'RM06E-ANFNR'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '/00'.
  PERFORM bdc_field       USING 'RM06E-ANFNR' ps_alv-ebeln. "报价请求

  PERFORM bdc_dynpro      USING 'SAPMM06E' '0323'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'RM06E-EBELP'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '/00'.
  PERFORM bdc_field       USING 'RM06E-EBELP' ps_alv-ebelp.

  PERFORM bdc_dynpro      USING 'SAPMM06E' '0323'.
  PERFORM bdc_field       USING 'BDC_CURSOR' 'RM06E-ANFPS(01)'.
  PERFORM bdc_field       USING 'BDC_OKCODE' '=DETA'.
  PERFORM bdc_field       USING 'RM06E-EBELP' ps_alv-ebelp.

  PERFORM bdc_dynpro      USING 'SAPMM06E' '0311'.
  PERFORM bdc_field       USING 'EKPO-SPINF' 'B'."信息记录更
  PERFORM bdc_field       USING 'BDC_OKCODE' '=BU'.

  opt-dismode = 'E'.
  opt-defsize = 'X'.

*这里就是处理bdc数据了.(调用并执行事务码)
  TRY.
      CALL TRANSACTION 'ME47'     WITH AUTHORITY-CHECK    "(调用的事务码)
                 USING bdcdata   OPTIONS  FROM opt    .    "(调用选项)

    CATCH cx_sy_authorization_error ##NO_HANDLER .
  ENDTRY.


ENDFORM.

end.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1177225.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PackageManagerService 深入理解Android 卷2 学习笔记

PackageManagerService是Android核心服务之一&#xff0c;负责系统中Package的管理&#xff0c;应用程序的安装、卸载、信息查询等。 1、初识PMS PMS由SystemServer创建&#xff1a; SystemServer的run函数调用startBootstrapServices&#xff0c;startBootstrapServices调用…

开发抖音群控软件的费用在什么范围内?

随着抖音等社交媒体的普及&#xff0c;越来越多的企业和个人开始注重在社交媒体平台上的营销和推广&#xff0c;而开发一款抖音群控软件&#xff0c;可以帮助用户更好地管理和运营其在抖音平台上的账号&#xff0c;提高账号的曝光率和关注度&#xff0c;那么&#xff0c;开发一…

速卖通发布公告,屏蔽对欧洲资质和标签不合规商品——站斧浏览器

近日全球速卖通发布关于公告&#xff0c;根据欧盟法规要求&#xff0c;商品卖向欧盟和英国市场需要满足欧盟商品资质合规的要求。对于资质和标签不满足合规要求的商品&#xff0c;平台已经陆续开始执行屏蔽管控&#xff0c;卖家为了保障欧盟市场的正常售卖&#xff0c;需要尽快…

【计算机网络】数据链路层-MAC和ARP协议

文章目录 1. 认识以太网2. MAC协议MAC帧的格式MAC地址和IP地址的区别MTU 3. 局域网通信原理碰撞检测和避免 4. ARP协议ARP数据报的格式ARP缓存 1. 认识以太网 网络层解决的是跨网络点到点传输的问题&#xff0c;数据链路层解决的是同一网络中的通信。 数据链路层负责在同一局域…

Power Apps-1.1通过函数修改组件属性

修改字体颜色 1.点击想要根据条件变化的文本组件&#xff0c;出现右侧边栏后&#xff0c;点击下方的“颜色”标题 2.修改函数设置 If(判断条件,判断结果为true时执行的颜色,判断结果为false时执行的颜色) 颜色代码可参考&#xff1a; Power Apps 中的颜色和边框属性 - Power…

单点登录与OAuth2.0 的区别

前言&#xff1a;SSO是Single Sign On(单点登录)的缩写&#xff0c;OAuth是Open Authority&#xff08;开放授权&#xff09;&#xff0c;这两者都是使用令牌的方式来代替用户密码访问应用。流程上来说他们非常相似&#xff0c;但概念上又十分不同。很多人会将其混为一谈&#…

操作系统·操作系统引论

1.1 操作系统的目标和作用 1.目前常见操作系统&#xff1a; 微软&#xff1a;Windows系列&#xff08;以前MS-DOS&#xff09; UNIX&#xff1a;Solaris, AIX, HP UX, SVR4, BSD, ULTRIX 自由软件&#xff1a;Linux, freeBSD, Minix IBM: AIX, zOS(OS/390), OS/2, OS/400, PC…

JAVA客户端使用账号密码调用influxdb2报错:{“code“:“unauthorized“,“message“:“Unauthorized“}

问题&#xff1a;JAVA客户端访问influxdb2报错 说明&#xff1a;当前influxdb版本&#xff1a;2.6.1 使用依赖&#xff1a; <dependency><groupId>org.influxdb</groupId><artifactId>influxdb-java</artifactId><version>2.10</vers…

提升企业知名度必备!媒体发稿的5个关键要点

近年来&#xff0c;媒体发稿成为企业提升知名度和品牌形象的重要手段。无论是大型企业还是中小企业&#xff0c;都倾向于选择媒体发稿来扩大影响力。然而&#xff0c;很多企业在发稿后并没有如预期般获得良好效果。这可能是因为他们没有掌握正确的技巧。那么&#xff0c;在媒体…

带你一文搞懂 Linux 网络 Phy 驱动

概述 上图来自 瑞昱半导体 (RealTek) 的 RTL8201F 系列网卡 PHY 芯片手册。按OSI 7层网络模型划分&#xff0c;网卡PHY 芯片(图中的RTL8201F)位于物理层&#xff0c;对应的软件层就是本文讨论的 PHY 驱动层&#xff1b;而 MAC 位于 数据链路层&#xff0c;也是通常软件上所说的…

【黑马程序员】Git 的概述

文章目录 前言一、概述1. 开发中的实际场景2. 版本控制器的方式3. SVN4. Git5. Git 工作流程图 总结 前言 跟着B站的黑马程序员学习 Git&#xff0c;语言为java&#xff0c;目前是第一个内容 课程传送门&#xff1a;Git 的概述 一、概述 1. 开发中的实际场景 场景一&#xf…

高效解决香港服务器负载过高的方法

​  当我们在使用香港服务器时&#xff0c;有时会遇到服务器负载过高的问题。这会导致网站加载速度变慢甚至无法正常使用。为了解决这个问题&#xff0c;我们需要采取一些高效的方法来提升服务器的负载能力。 1.考虑对服务器进行升级维护。通过增加硬件资源&#xff0c;如CPU…

综合布线可视化管理系统价值分析

传统综合布线管理&#xff0c;全部依靠手工登记&#xff0c;利用标签标示线缆&#xff0c;利用文档资料记录链路的连接和变更&#xff0c;高度依赖网络管理员的管理能力&#xff0c;维护效率低下。同时&#xff0c;网络接入故障和非法接入难以及时发现。在以往的文章中小编一直…

灵活调整宣传策略,媒体发稿和新闻发布的优势所在

企业在当今信息爆炸的时代&#xff0c;要想在市场竞争中脱颖而出&#xff0c;提高公信力是至关重要的。而媒体发稿和新闻发布是提升企业公信力的重要手段之一。下面将从门户网站的权威展示、搜索引擎排名的提升、内容的持续稳定有效性、内容的可改性以及协助增加网站流量等方面…

深度剖析.locked1勒索病毒的威胁:如何保护您的数据

导言&#xff1a; .locked1勒索病毒是当今数字时代中最神秘的网络威胁之一。这种恶意软件以其毫不留情的数据加密技术而著称&#xff0c;常通过欺诈邮件附件、恶意链接或漏洞利用等方式传播。本文91数据恢复将深入探讨.locked1勒索病毒的运作方式&#xff0c;提供数据恢复的方…

北京陪诊小程序|陪诊系统开发|陪诊小程序未来发展不可小觑

近几年随着互联网快速发展&#xff0c;各行业领域都比较注重线上服务系统&#xff0c;通过陪诊小程序开发可以满足更多用户使用需求&#xff0c;同时还能提高用户使用体验。现在陪诊类的软件应用得到全面推广&#xff0c;在医疗行业当中陪诊小程序更贴近用户生活&#xff0c;可…

【QT】QT自定义类封装,附简单例子

提升为主要是可以使用自定义的部件&#xff0c;所以先要写好自定义控件后&#xff0c;再添加&#xff0c;在频繁使用同一控件时&#xff0c;的确非常的高效。 下面以自定义的QPushButton作一个很简单的例子。 先新建默认Qt Widgets Application项目 一、自定义类 建立项目后…

以“和合”酒礼开启“全国理性饮酒周”,五粮液勇担社会责任赋能美好生活

执笔 | 尼 奥 编辑 | 萧 萧 10月31日&#xff0c;由中国酒业协会主办&#xff0c;酒与社会责任促进工作委员会承办&#xff0c;五粮液集团公司协办的“2023年中国酒业协会酒与社会责任促进工作委员会年会暨2023全国理性饮酒宣传周新闻发布会”在成都举行。 酒&#xff0c…

大数据趣味学习探讨(二):我是怎么坚持学习的

CSDN话题挑战赛第2期 参赛话题&#xff1a;大数据趣味学习探讨 文章目录 要不要学&#xff0c;为什么要学大数据&#xff0c;最好的机会没有之一 一、根本性的问题 1、打仗最重要的是什么&#xff1f; 2、为什么总是知行不一 二、大数据到底好在哪 1、结论 2、大数据为…

机器人制作开源方案 | 管内检测维护机器人

一、作品简介 作者&#xff1a;李泽彬&#xff0c;李晋晟&#xff0c;杜张坤&#xff0c;禹馨雅 单位&#xff1a;运城学院 指导老师&#xff1a;薛晓峰 随着我国的社会主义市场经济的飞速发展和科学技术的革新&#xff0c;各行各业的发展越来越离不开信息化和网络化的…