❶ 大数据学习要多久
这是看你选择的自学还是跟班学习
一般来说自学周期时间长,因为每一个固定的学习计划,时间较分散,进度较缓慢。且对知识点的把控能力较差,学习效率低,相对于跟班学习时间还是比较长的。
如果你选择跟班学习的话,有基础的学习大数据大概要3个月时间,0基础小白的学习的话还需要学习java基础 时间就会再多两个月,一共5个月左右时间,跟班学习主要是有个完整的学习环境,科学的学习规划,还有老师鞭策,不会像自学那么散漫。
关于大数据的学习还有方向选择,现在大部分分为两个方向一个是大数据开发另一个是大数据分析,这两个方向是现在较为主要的两个发展方向,未来前景也很不错,如果想了解更多可以咨询我
❷ abap怎样抽取数据到内表
REPORT ZFIRSTEXAM1.tables:mard.data:begin of gt_data occurs 0, matnr like mard-matnr, werks like mard-werks, lgort like mard-lgort, labst like mard-labst, end of gt_data.select matnr werks lgort labstinto corresponding fields of table gt_data from mard where werks = '1100'.loop at gt_data. write: / gt_data-matnr,gt_data-werks,gt_data-lgort,gt_data-labst. endloop.这样写,能成。 这样写的效率,是不是比楼主的第庆宏一,第二种樱枝还要高誉颂册呢。
❸ 请问abap开发和java开发哪个好一点会java基础的话,abap就不难吗
abap开发和java开发差不多。会java基础的话,abap相对上手比较快。有关开发问题,推荐千锋教育,千锋教育采用全程面授高品质、高体验培养模式,学科大纲紧跟企业需求,拥有国内一体化教学管理及学员服务,在职业教育发展道路上不断探索前行。
ABAP开发环境包括设计和开发程序、屏幕、菜单、功能模块等所需的一切工具。它还包括了程序调试、性能和在线分析、测山扰竖试所需的实用程序。ABAP/4是SAP自己的第四代编程语言。从4.0版本开始,它简称为ABAP;它是经技术改进的I刮名语言,主要添加了新特性以成为面向对象的语言。李芦ABAP的意思是“先进经营应用编程语言”,这表明SAP编程语言用于开发R/3套件中所有的标准经营应用程序。java开发经常涉及的几个主要技术内容包括java的流技术、线程、网络通信、jdbc技术、web编程、struts框架、分布式编程、ejb、java数据结构等。
想要了解更多有关开发的相关信息,推荐咨询千锋教育。千锋教育成立教研学科中心,推出贴近企业需求的线下技能培训课程。课程包含HTML5大前端培训、JavaEE+分布式开发培训、Python人工智能+数据分析培训、全链路UI/UE设计培训、云计算培训、全栈软件测试培训、大数据+人工智能培训、智能物联网+嵌入式培训、Unity游戏开发培训、网络安全培训、区块链培训、影视剪辑包装培训、游戏原画培训、全媒体运营培训。逗大采用全程面授高品质、高体验培养模式,非常值得选择。
❹ 如何提高ABAP程序运行效率
程序的效率是每个程序员都应该重视的,无论您是采用哪一种语言进行开发. 程序有时候越短,并不
一定越快,有时候程序很多代码,但不一定会很慢. 性能是一把双刃剑, 获得时间效率的森槐虚同时, 牺牲
的是空间的开销. 这里提供一些建议以提高你的程序运行速度和减低系统荷载。
首先是尽此燃量减少I/O操作,类似对硬盘的读写的I/O操作是最耗费时间的, 比如读写数据库。以下是
减少I/O操作的例子:
1, 减少数据库DB的读写操作, 当使用VIEW视图的时候, 当被视图join的table有数据更新操作的时
候, 同时系统也会更新到这个view里面, 使得它们之间的数据一样, 所以使用视图会对这些日常操
作带来效率问题. 如果视图join的表多数是日常事物需要更新的事物数据表(如EKET), 就要避免
使用视图.
2, 避免使用SELECT *, 尽量使用SELECT A B C INTO TABLE ITAB这样的语句。这个操作会将所有符
合条件的数据一次性地读进内表,这比在SELECT A B C INTO WA... APPEND... ENDSELECT的循环中
添加数据到内表要快。不用频繁的读DB.
3, 避免频繁使用SELECT SINGLE语句, 特别是在LOOP和SELECT...ENDSELECT里面用, 应该把要读取
的数据用SELECT FOR ALL ENTRIES IN 一次全部取得, 然后用READ TABLE WITH KEY ... BINARY
SEARCH.
虽然说操作内存比磁盘操作要高效,但是如果对内存的使用不加以控制,可能有些时候不得不对硬盘
的交换空间操作, 这样就增加了对磁盘的I/O读写操作.正如下面所说:
4, 当你定义内表的时候可以也会出现这样的问题, 比如你定义一个内表使用的是OCCURS 100,而不
是OCCURS 0, 会导致内表长度大于100的时候,就会占用系统页面缓存。
5, Field-groups对于多层次的排序和显示是非常有用的。它是将数据写入系统的页面文件,而不是
内存(内表一般是使用内存的)。基于这个原因,field-groups比较适合于处理大量数据的列表(
一般超过50000条记录)。如果涉及大量的数据处理,应该首先和系统管理员协商来决定这个程序最
多能使用多少内存,以计算这个程序需要使用多少资源。然后你就可以决定是把数据写入内存还是
交换空明笑间。
6, 用SORT代替ORDER BY, ORDER BY从句是执行在数据库服务器上, 而SORT是ABAP语句执行在应用服
务器上的. 数据库服务器通常会形成性能瓶颈问题, 所以最好是吧数据导入内表做SORT.
7, 避免使用SELECT DISTINCT语句, 因为当你用来判断唯一的字段为非索引字段时, 效率是十分的
低, 所以请导入内表SORT后, 使用DELETE ADJACENT DUPLICATES 来去重复.
其次就是要减轻CPU的负载, 可以通过优化程序来改善,比如在程序中语句和算法, 以下是减低CPU
负载的优化例子:
1, 使用宏代替频繁函数调用. ABAP没有内联函数这个说法, 所以我们如果需要频繁调用函数时, 函
数调用有栈内存创建和释放的开销. 在ABAP中可以用宏代码提高执行效率,宏代码不是函数但使用
起来像函数,编译器用复制宏代码的方式取代函数调用,省去了参数压栈、从而提高速度。注意使
用宏有缺点:(1)容易出错, 宏不能pass-by-value按值传递,用于代替实现函数功能时要十分注意!
(2)不可调试; (3)无法操作类的私有数据成员.
2, 避免使用过得的LOOP 和SELECT .... END SELECT. 避免使用嵌套的LOOP 和SELECT .... END
SELECT.
3, 尽可能多地使用表的KEY FIELD作为Where分句的条件选项。比如SELECT * FROM BSEG WHERE
BUKRS = '1000' AND BELNR = '0100000007' AND GJAHR =
'2006' AND BUZEI = '003'. 这里的四个字段BUKRS,BELNR,GJAHR,BUZEI 都
是BSEG表的KEY字段.
4, 如果某些数据需要频繁的从不同表提取, 使用视图VIEW实现读取缓存可以提高效率. 当视图连接
的是读取次数较多, 但写入不频繁的表时(比如物料主数据表MARA), 可以使用视图, 这样比在程序
里面简单用join要快,理论上join语句每次读取的速度都是一样的, 而视图是从读二次开始就快了,
而且cache使得网络负载减低.
5, 使用SQL语句里面的JOIN时候, 应该避免JOIN的表不要超过3个, 否则严重影响效率. 如果真的要
JOIN表3个以上的话, 正确的方法不是用视图VIEW, 而是使用SELECT ... INTO TABLE ... FOR ALL
ENTRIES IN 以及 READ TABLE WITH KEY BINARY SEARCH.例如我们要提高读取BSEG表的性能,首先我
们会根据GJAHR主键从BKPF表取出部分数据到内表itab,然后使用FOR ALL ENTRIES IN itab WHERE
BSEG~BELNR = itab~BELNR 这样的的方法取得符合itab里所有条件的BSEG数据.注意使用FOR ALL
ENTRIES要先CHECK作为条件的内表itab是否为空,还有作为WHERE的条件在这个内表里面是否会有空
值存在,否则无效.
6, 注意使用CORRESPONDING FIELDS OF 和 MOVE-CORRESPONDING 时候会进行字段比较, 带来CPU的
开销大.
7, 避免过得而频繁的数据类型转换,比如N转换为C,但是从N转换成STRING却是很快的,因为操作
STRING比CHAR类型少了比较长度的时间.
8, 使用二级索引提高DDIC的读写效率, 可以根据你的需要在SE11里面创建INDEX, 并让你程序里的
SQL查询语句里WHERE条件的顺序与你的索引顺序一致.
9, 二分查找比线性查找要高效,READ TABLE的之前使用SORT TABLE BY XXX 某个表关键字段进行排
序, 然后使用READ TABLE WITH KEY XXX = 'XXX' BINARY SEARCH. 这个就是所谓的二分
查找法的应用.
10, 避免使用SQL语句动态查询条件,动态表名和动态字段名, 必要时候用宏或者子程序模块代替.
11, 对于同一功能的函数和方法, 调用METHOD比调用FUNCTION要快.
12, SORTED TABLE可以使用二分查找法取得节点, 其时间复杂度是O(log N),但是插入节点会慢,因
为要移动很多节点. 而HASHED TABLE则是基于哈希算法的,其高效主要体现在把数据的存储和查找时
间大大降低,几乎可以看成是常数时间O(1),而代价是消耗比较多的内存,然而在硬件技术越来越
发达的今天,用空间换时间的做法在某种意义上是值得的。但是使用哈希表必须注意键值的唯一性
!如果键值会出现重复的话, 不能使用哈希表,只能用排序表和标准表。
13, 使用APPEND LINES(或者INSERT LINES) OF ITAB1 TO ITAB2 比 LOOP AT ITAB1 INTO WA.
APPEND(INSERT) WA TO ITAB2. ENDLOOP. 要高效.
14, 使用效率比较高的COLLECT, DELETE ADJACENT DUPLICATES FROM语句。
15, 使用高效的CONTEXT SQL语句.如以下代码2比代码1要快10倍以上!
代码1:
SELECT * FROM SBOOK INTO SBOOK_WA UP TO 10 ROWS.
SELECT SINGLE AIRPFROM AIRPTO INTO (AP1, AP2)
FROM SPFLI
WHERE CARRID = SBOOK_WA-CARRID
AND CONNID = SBOOK_WA-CONNID.
SELECT SINGLE NAME INTO NAME1 FROM SAIRPORT
WHERE ID = AP1.
SELECT SINGLE NAME INTO NAME2 FROM SAIRPORT
WHERE ID = AP2.
ENDSELECT.
代码2:
SELECT * FROM SBOOK INTO SBOOK_WA UP TO 10 ROWS.
SUPPLY CARRID = SBOOK_WA-CARRID
CONNID = SBOOK_WA-CONNID
TO CONTEXT TRAV1.
DEMAND AIRPFROM = AP1
AIRPTO = AP2
NAME_FROM = NAME1
NAME_TO = NAME2
FROM CONTEXT TRAV1.
ENDSELECT.
最后是注意内存的使用,以下是内存优化方面的例子:
1, 虽然ABAP拥有垃圾处理的机制, 但是这个是在程序运行完成后实现的. 所以我们尽量把无用的变
量,内表,对象都释放掉;
2, 尽量减少无用的静态定义的变量,内表和对象, 因为静态定义的对象会在编译开始就占有内存空
间;
3, 尽量减少网络的传输负载, 比如在设计RFC远程调用传回的内表数据要尽量精简, 数据量越大,对
CPU和内存需求越多;
4, 内存使用紧张的情况下, 使用FREE语句, 以及SQL语句的PACKAGE SIZE n 选项.
SELECT vbeln erdat
FROM vbak
INTO TABLE li_vbak PACKAGE SIZE 50.
❺ abap 怎么截取后面的10位数字,汉字不要
1、先得到去除汉态侍字后字符串的长度,从长扒改度-10处开始取,取后面的10位。
2、选取全部字符串,将字符串翻转,然后取前十春闭判位。以上就是abap截取后面的10位数字的方法。
❻ abap怎样抽取数据到内表 顺便想求教关于ABAP程序执行效率和优化
定义一个内表,然后按照内表中的字段进行select into到内表中。例如:
data:begin of gt_data occurs 0,
matnr like mard-matnr,
werks like mard-werks,
lgort like mard-lgort,
labst like mard-labst,
end of gt_data.
上面的表示一个内表gt_data定义出来了。然后我们在把对应的数据提取出来,
select matnr
werks
lgort
labst
into table gt_data
from mard
where werks = '1100'.
这样的话,数据就会按照物料号、工厂、库存地点、非限制库存 提取放到内表gt_data中了。
也可以写成:
select *
into corresponding fields of table gt_data
from mard
where werks = '1100'.
上面的这两种sql语句的册春历区别在于: 第一种程序会只针对matnr werks lgort labst 这四个字段去提取数据,第二种,程序会提取mard表中所有字段,然后按照matnr werks lgort labst 来mapping上去。 相对效率而言,第一种效率好些。
至于程序森枝优化上面,尽量减少对数据库的访问,尽量避州搜开那几个大表,比如 mseg ,bseg 等这类的表。 尽量把数据放在内存中计算, 别的倒也没什么了,其实在内表上关于一些sort table 和 hash table 来说,虽然在速度上会快一些(“比如在处理几十万条数据”),如果在几万到十几万条数据的话,性能上其实没什么太大的变化,但是在后期程序修改上,会比较的麻烦一点,一般这种内表我们只是运用在比较大的表上用。OK。说完了。就这样吧。
❼ ABAP和大数据哪个更有前途
应该是后者,abap比较局限于sap,脱离了sap就没有用处了,而大数据是未来的趋势!
❽ SAP各大模块的用途_SAP五大模块
1SAPMM(物料管理模块):SAP产品中最常用的一个模块,它涉及到物料管理的全过程,与财务、生产、销售、成本等模块均有密切的关系。主要有采购、库房与库存管理、MRP、供应商评价等管理功能。
2SAPSD(销售与分销模块):其中包括销售计划、询价报价、订单管理、运输发货、发票等的管理,同时可对分销网络进行有效的管理。
3SAPFI(财务会计模块):它可提供应收、应付、总账、合并、投资、基金、现金管理等功能,这些功能可以根据各分支机构的需要来进行调整,并且往往是多语种的。同时,科目的设置会遵循任何一个特定国家中的有关规定。
4SAPCO(管理会计模块):它包括利润及成本中心、产品成本、项目会计、获利分析等功能,它不仅可以控制成本,还可以控制公司的目标,另外还提供信息以帮助高级管理人员作出决策或制定规划。
5SAPPS(项目管理模块):具有项目计划、项目预算、能力计划、资源管理、结果分析等功能。
6SAPQM(质量管理模块):可提供质量计划、质量检测、质量控制、质量文档等功能。
7SAPPP(生产计划模块):可实现对工厂数据、生产计划、MRP、能力计划、成本核算等的管理,使得企业能够有效的降低库存,提高效率。同时各个原本分散的生产流程的自动连接,也使得生产流程能够前后连贯的进行,而不会出现生产脱节,耽误生产交货时间。
8SAPPM(工厂维修模块):可提供维护及检测计划、交易所处理、历史数据、报告分析。
9SAPBW(商务智能集成化组件):为SAP数据和非SAP数据的采集、存储、分析和管理提供一个集成的,面向商务仔中咐的平台。使企业对市场反应更灵敏快捷,整个企业也更具有生命力和竞争力。
10SAPABAP(SAP开发模块):作为SAP的应用编程语言,ABAP现在用于编写SAP的几乎全部产品源代码。同时也是挑战FICO顾问、MM顾问、SD顾问等具体岗位的基石。
11SAPHANA(SAP大数据):HANA是一个软件结合体,提高性能的数据数据查询功能,用户可以对大量实时业务数据进行查询和分析。通过HANA,为SAP优化技术应用,转变人们的念纯思考、规划和工作方式。
(8)abap大数据提取办法扩展阅读:
SAP是该软件培颂的总称,它也分为多个模块,每一个模块都有它相应的专攻专业,能学好其中的一门就已经是十分了得的了。下面我们来了解一些常用的模块。
一、ABAP。这是SAP中最为重要的模块。它是一款高级的编程语言,为程序员提供方便、快捷、无流量压力的工作成效。其本身对于其他模块的联系也是最密不可分的,所有模块都是在此模块的基础上进行的。不过想要成为该模块的专家,需要的努力是不可少的。
二、财务管理。对于会计专业的人才来说,在应用这方面应该已经熟能生巧了。因此学习SAP也就容易了许多。对于资产负债的权衡、对于会计账目的规划、对于会计报表的制作,通过SAP软件也将方便许多。SAP能帮你分析出适合你的情况的规划,并且列出相应注意点,甚至能检测出一些错误,大大加强会计管理能力。
三、人力资源类型。大公司往往员工众多,光靠人力部门人工管理、排序也是极为辛苦的,对着厚厚的名单,一般得花很长时间才能管理好人员分配。对于旧问题的未处理与新问题的不断出现,人力部门总是压力很大。
在应用SAP软件系统化地帮助管理人力事物之后,依靠人工去统计的数据就减少了,SAP能依照具体情况制定出一系列的计划,帮助提高公司运营。
四、采购销售。SAP中重要模块之一,涉及到物料、供应商、客户之间的关系、数据、信息的维护和运行。
❾ ABAP 提取采购订单的项目文本时 有误
应该是你的ID写错了,呵呵~
告诉你一个方法啊,给'READ_TEXT'里面加一个断点,然后运行me23n查看long text.
debug模式里面,你可知辩余以参考一下SAP系灶友统使用的参数,照着弄一下就行了搭滚!
good luck!
❿ SAP ABAP程序中 BDC录屏步骤 简要说
首先知道BDC是什么?SAP实施工作导数据给SAP系统。正常情况,例如新建物料,就是MM01中一点点KEY值进去保存。那么如果大数据量,客户还不得累死,几百万条数据做到什么时候。所以使用BDC,upload数据到程序里,程序进行loop,每一次loop,就是模仿操作一次MM01,最后call trancation,提交一次。成功或者失败抛出消息。BDC原理就是这样。
知道了原因,如何操作录屏,SHDB,选择下需要使用什么事物代码,然后开始录屏,进到MM01添加该添加字段值,保存,回退到SHDB中,再次保存。这里SHDB就是录屏操作步骤,网上相关录屏操作截图有很多。可以网络查查。
最后生成程序,在程序中把固定值变成变量,这样就可以每次loop时候,填充字段。
这就是BDC相关操作。