自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (13)
  • 收藏
  • 关注

原创 吐槽SAP GUI新主题(SAP GUI 770,SAP GUI 8)

吐槽SAP GUI新主题(SAP GUI 770,SAP GUI 8)

2023-07-07 10:07:33 332 1

原创 ABAP快速读取动态内表

当读取大数据量内表时,用where条件性能超低,尤其是动态内表,连where字段名都不知道。请尝试以下方法提高程序性能。

2022-11-16 10:43:29 526 1

原创 ABAP 汇总数据为何不用COLLECT

经常看到有人根据关键字段汇总数据到另一个内表时,会先判断关键字段是否存在,存在则修改,否则添加,比如下面:这种写法不是不可以,但是为什么不用COLLECT语句更明了呢,有人说COLLECT语句性能不好,那就用事实来说明。在30万行数据情况下,事实说明两种写法运行时间不是一个级别,用COLLECT 明显比第一种写快3秒左右。然而需要汇总的数据内表推荐使用hash内表,效果更佳,如下:通过比较第三种写比第二种写法略胜一丢丢,可以忽略。但如果后续要根据关键字从已汇总的内表数据中读取出数据,.

2021-08-27 09:56:13 486 1

原创 ABAP 给数据表写修改记录

在调用BAPI时,一般会自动写数据表的修改记录,但有些简单的逻辑,不需要使用BAPI实现,直接使用SQL语句修改数据表时,为了方便查找字段的修改记录可以以下方法实现。DATA: OBJECTID TYPE CDHDR-OBJECTID,TCODE TYPE CDHDR-TCODE,PLANNED_CHANGE_NUMBER TYPE CDHDR-PLANCHNGNR,UTIME TYPE .

2021-08-05 13:47:06 744

原创 使用SAP Commit Work时犯的错误

在一次批量使用BAPI的功能开发时,在CALL BAPI之后,一般都会判断是否成功,如果成功则执行语句 COMMIT WORK AND WAIT,否则执行语句ROLLBACK WORK,比如:LOOP AT ITAB.CALL FUNCITON ‘BAPI_XXX_XXX’.IF SY-SUBRC = 0.COMMIT WORK AND WAIT.ELSE.ROLLBACK WORK.ENDIF."不管以上成功与否,接下来都要更新自定义表的某些数据perform update_xxxx.

2021-07-23 10:36:28 1678

原创 通过Function找SMOD增强

有时即使实现了出口Funciton,还要通过SMOD去激活增强.因此需要通过Function找SMOD增强.

2021-01-04 15:48:34 123

原创 CONVERT_TO_LOCAL_CURRENCY货币转换问题

货币金额转换时,输入金额字段和输出金额字段的小数位必须一致,否则导致转换的金额被放大或缩小。测试:声明输入金额字段与输出金额字段小数位都为2,100USD = 708.83CNY,正确。以下小数位变化,导致转换结果错误。...

2020-07-02 20:09:09 1568

原创 SAP ABAP 内表导出EXCEL 新方法

ABAP 内表导出EXCEL可以用OLE方法,也可以用SAP已有的函数:RH_START_EXCEL_WITH_DATA,GUI_DOWNLOAD,还可以:dataGT_HEADER TYPE LVC_T_FCAT."需要导出EXCEL的标题data:r_result_datatypereftocl_salv_ex_result_data_table....

2020-01-16 10:16:58 3896

原创 ABAP 调用Function 处理 E 类型消息问题

有时在function中会用到调用标准程序中的某form,但form中的消息是直接以Message方式显示在前端。如MESSAGEE007(QA)WITHL_USER-NAME_TEXTQALS-PRUEFLOS.比如写了一个function :ZMES_INSPLOT_DECISION 调用 QA11中的formauto_ud,再在程序中调用 function :ZMES_INSP...

2020-01-10 10:34:30 1720

原创 SAP QA11 检验决策并过帐 BAPI

在对检验批做决策时可以使用BAPI:BAPI_INSPLOT_SETUSAGEDECISION。此BAPI其实也可以过帐,但不能针对不同的类型过帐,比如有部分数量进入非限制库存,有部分数量进入冻结库存,有部分数量要退货等,只能是一次性对所有数量进行非限制库存过帐。BAPI调用如下:DATAud_dataLIKEbapi2045ud.DATA:ud_return_dataLIK...

2020-01-08 16:27:56 8763 1

原创 BAPI_MATERIAL_SAVEREPLICA扩展字段注意

BAPI_MATERIAL_SAVEREPLICA中需要对物料主数据比如MARA的附加结构进行维护时,需要使用BAPI的扩展结构。经过调试BAPI发现包含文件L1001MASSUEBF01处理扩展字段时语句如下:传入的结构名有两个cust_maraLIKEt133d-routnVALUE'BAPI_TE_E1MARA',cust_mara2LIKEt133d...

2019-11-08 15:57:41 4381

原创 ABAP 不要以为会JOIN就显得SQL语句很高明

最近用户用一个报表查看采购订单的修改记录,结果运行了30分钟还没出来,选择条件如下: 而查看其源代码,是这样写的SQL语句:用EKKO的EBELN关联CDHDR的objectid,还join EKPO,join MARA可想而知数据量有多大。此语句系统应该会先找CDHDR中所有 objectid与 EKKO的所有采购订单EBELN匹配,找出的结果再排除在修改日期在201...

2019-09-10 09:26:01 643

原创 ABAP 为什么我的程序能一眨眼就运行出来

最近业务顾问让我在一个报表上增字段,在我不了解此报表逻辑情况下,只好先运行此报表看看结果是什么样子的。谁知道运行了N久,我实等得不耐烦了,只好强行停止运行。作为ABAP开发多年,我一直强调,凡事性能差的开发都是耍流氓。于是SE38进行看源代码,到底里面写了些啥。 首先从代码的结构布局上来看就不怎的。ABAP程序员有一个惯例,即先写一个取数的form:PERFORMfrm_get...

2019-08-04 12:00:10 345

原创 ABAP 显示增强与隐式增强

ABAP 增强有显式和隐式两种:USEREXIT,BADI,ENHANCEMENT-POINT,属于显式增强,这类增强分布在SAP 源代码的各个地方。我们一进入TCODE SE37 ,SE38 在SAP源代码中可以直接查看得到,如: 而隐式增强一般在每个form或function或method的第一行和form或function或method的最后一行,需要如下操作...

2019-08-02 11:28:19 7398

原创 SAP ALV 选择模式

ALV多种选择模式,适应不同用户需求,比如用户想选择某个区域的数据进行复制,此时就要用到单元格区域选择。ALV有以下几种选择模式:A:if_salv_c_selection_mode=>row_column.多行多列选择。有选择块,通过前面的选择块选择行,但不可以选择单元格区域。B:if_salv_c_selection_mode=>single.单...

2019-06-28 08:51:01 8911 1

原创 FOR ALL ENTRIES IN 语句真的会排除重复数据吗

ABAP OPEN SQL "FOR ALL ENTRIES IN " 语句从数据库取数时,会根据select 查询的字段排除重复项,(注意:不是根据内表字段排除重复项)。比如:"取出会计凭证DATAlt_belLIKESTANDARDTABLEOFgs_bel."如果在SELECT 里指定了搜索字段,以下语句查询字段中没有BUZEI,即会计凭证项目字段,则查询结果会自动根...

2019-05-31 11:11:43 1678

原创 为内表动态添加字段

有时内表部分字段是明确的,部分字段需要在运行时动态添加。 1.先把明确固定的字段声明一个结构,注意字段参照数据元素,或数据字典中的字段。如: DATA:BEGIN OF gs_main1, werks LIKE marc-werks, matnr LIKE mara-matnr, matne LI...

2019-05-08 14:21:30 1837

原创 关于ABAP BINARY SEARCH搜索不到值问题

第1次读取不到的原因是with key 后面字段没有按排序字段顺序,matnr 字段放在werks 字段前面,修改字段顺序后成功读取。 另外,如果gt_matn内表字段过多时,需要binary search字段应放在前面,否则也可能读取不到,如果sy-subrc = 8 ,则是因为内表没有排序,如果sy-subrc = 4,则是因为根据条件没有找到值。...

2019-03-05 10:51:25 974

原创 物料BOM修改的函数 CSAI_BOM_MAINTAIN的BUG

曾经用CSAI_BOM_MAINTAIN 修改BOM,当BOM项目存在长文本需要写入,且BOM项目很多时,发现此函数修改完成后,长文本内容对应的BOM项目与我们实际传入的错位了。(也许是我们传值有错误?如果是请联系微信) 例如:我们需要BOM项目40项的长文本内容是T1……,第50项目需要删除,项目60的长文本内容是T2……,项目70的长文本为 T3……,此时发现调用函...

2019-03-02 17:39:37 2059

原创 SAP ABAP 语句性能对比

获取内表部分字段 从一个内表抽取部分字段到另一个内表,要求字段名相同。方法一:循环添加;方法二:MOVE-CORRESPONDINGITAB1[]TOITAB2[]DATA:BEGINOFGS_OUT,EBELNLIKEEKPO-EBELN,EBELPLIKEEKPO-EBELP,MATNRLIKEEKPO-MATNR,M...

2019-03-02 14:52:06 780

ABAP连接MySQL数据库

ABAP连接MySQL数据库,采用OLE方式,不用在SAP服务器配置什么,简单高效。适合SAP用户在SAP GUI中直接操作,不能在SAP后台运行。前提是用户电脑必须安装MySQL数据库驱动。如果在SAP服务器后台运行,SAP服务器也安装了MySQL数据库驱动的话,待测试。

2023-05-31

SAP ABAP启动OUTLOOK发邮件.docx

最近公司业务部门要求用户操作SAP采购订单报表时,发送采购订单到供应商的邮箱,使用自己的Outlook邮箱帐号发送邮件,发送过的邮件需要在用户自己的发件箱中,而且用户在Outlook中设有签名,希望在发送邮件时自动启用签名。

2021-01-27

EXCEL替换单元格中的空字符

EXCEL替换单元格中的空字符,不是替换空格,如果是替换空格,用函数trim,或clean即可。

2019-01-15

vb6.0调用webservice详解

网上写vb6.0调用webservice的都写得比较简单, 这个结合实例作了较详细介绍

2014-07-06

ABAP 调用 DLL文件

有时外部程序调用SAP 的RFC, 实现与SAP程序的接口, 是以外部程序为主; 现在终于找到以SAP程序为主调用外部程序的方法了. 就是SAP 的ABAP语言调用 DLL文件中的函数实现一些功能, 例如可以用DLL文件连接外部数据库读取数据. 我在网上找了好久,都没有一个完整的答案, 也没有一个完整的实例, 根据网上的各种说法, 我整合到一起, 终于成功, 原来这么简单

2012-11-26

ABAP模块池程序设计给文本字段做多项选择

ABAP在模块池程序设计中,有时要给文本字段做多项选择,当然可以用到选择屏幕,但选择屏幕有一定的局限性,有时需要手工做多项选择,其实很简单,具体请看附件。基中方法二为个人根据经验独创。

2012-07-16

eclipse与myeclipse汉化方法

把eclipse3.5中文包下载后解压,解压后其中有个eclipse的文件夹,将这个文件夹放到你的eclipse.exe文件所在目录里的dropins文件夹中,然后打开eclipse.ini文件,在最后加上 -nl zh。 此方法同样适应MyEclipse。 把eclipse3.5中文包下载后解压,解压后其中有个eclipse的文件夹,将这个文件夹放到你的myeclipse.exe文件所在目录里的dropins文件夹中,然后打开myeclipse.ini文件,在最后加上 -nl zh。

2012-04-20

myeclipse汉化

MyEclipse汉化包以及安装教程(附图),适用于8.5及各种版本 .简单五步轻松搞定!

2012-04-20

abap tablecontrol 控件动态显示列

abap tablecontrol 控件动态显示列

2012-03-04

VBA代码荟萃

VBA代码荟萃,有很多实用的VBA代码,可以作为开发者的参考用书,相当不错,个人受益非浅

2011-12-04

ABAP 屏幕设计中添加文本编辑器

ABAP 屏幕设计中添加文本编辑器:实现附加文本信息

2011-10-30

ABAP ALV取消整数小数点后面的0

ABAP 编程: ABAP ALV取消整数小数点后面的0

2011-10-30

作vb 制作的透明控件

vb 实现控件透明'设置Text为透明 若想设置其它控件透明,可自选更改

2010-08-25

几种从数据库读取数据生成excel文件的比较

几种从数据库读取数据生成excel文件的比较

2010-08-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除