ABAP开发回顾总结
生活要时刻面带微笑
Gong JX
SAP野生顾问
展开
-
ABAP BAPI:BAPI_PR_CHANGE批量修改采购申请审批状态等
批量修改采购申请,包括采购申请审批状态,结算 删除等原创 2023-03-20 16:18:50 · 1195 阅读 · 0 评论 -
参考PR创建PO净价被信息记录覆盖问题
们在创建参考PR创建PO的时候,净价明明赋值了,在创建PO时净价强制被信息记录修改。是因为这里是有优先级的,如果有信息记录,优先参考信息记录。原创 2023-03-20 16:19:12 · 342 阅读 · 1 评论 -
结合实例快速理解SAP中SAP/DB LUW 机制
首先LUW(Logic Unit of Work)是什么意思,从字面意思理解逻辑单元,可以把一些列的数据库操作(即多个 DB LUW)放入一个"集合",统一提交和回滚,从而来保证数据库更新的一致性。在SAP中,由于业务处理复杂,涉及到的DB也很多,业务是分好几步去完成的,所以需要和数据库多次交互来更新数据,但是每次DB LUW并不受我们控制,和数据库的交互都会更新数据进去,业务最后一步出错,那么这个业务不算是完整的,需要把之前存进数据库的业务数据全部回滚,所以带来了很多的不便。所以SAP引入了SAP LUW原创 2022-12-08 14:36:47 · 2147 阅读 · 0 评论 -
ABAP BASE64/STRING/XSTRING/BINARY 等之间的转换以及科学计数法转换总结
ABAP BASE64/STRING/XSTRING/BINARY 等之间的转换总结原创 2022-11-10 16:48:14 · 1651 阅读 · 0 评论 -
SAP ABAP 发送http 请求实例参考(http post request)
本文展示的实例是通过http请求向指定API发送业务数据原创 2022-11-04 10:50:54 · 846 阅读 · 0 评论 -
如何创建Enhancement Spot and implement customized BADI
使用场景:一般用在搭框架,同一套框架,不同的case要做不同的实现,需要在客制化的地方插入自定义的BADI,后续实施这个BADI的时候,程序就会跑到实施的class。原创 2022-10-23 09:00:00 · 158 阅读 · 0 评论 -
The User-exit when Log in to SAP
User-exit when Log in to SAP原创 2022-09-23 10:31:13 · 118 阅读 · 0 评论 -
SAP-Where-used List not working in Cloud System
The where-used functionality for Sap objects in customer cloud systems is generally not sopported.Therefore the where-used is generally probably not supported in that system .原创 2022-08-25 15:11:33 · 214 阅读 · 0 评论 -
SAP-ABAP 内表数据转换为十六进制字符串并利用服务器转储
函数:SOTR_SERV_TABLE_TO_STRING ,SCMS_STRING_TO_XSTRING 类 IF_HTTP_RESPONSE内表数据转换为16进制存储需要先把表体内容转换成一定的格式,再通过字符串去转换 拼接表头数据和标题数据原创 2022-06-28 16:38:55 · 2057 阅读 · 0 评论 -
FIORI-ODATA,动态生成entity并创建association
ODATA动态生成entity一般是entity过多或者entity的字段名不确定,会随着业务情况的不通而发生变化,这时候会选择动态生成原创 2022-06-14 16:16:57 · 413 阅读 · 1 评论 -
FIORI-ODATA后台下载Excel,前后台代码示例
通常来说SAP S/4HANA 和 Fiori 应用程序,Fiori前端可以支持一般的下载,但是数据量过大的时候,UI加载时间过长,对程序性能有较大的影响。一般来说几千几万条数据如果直接从UI下载的话会花费半个多小时,甚至更多的事件,如果通过后台以XTRING的形式回传给前端的话只需要1-2秒就可以完成,大大提升了程序效率,这要通过get_stream来完成,不在本博客中介绍,后续将会补充。此外还可以把数据的xstring形式压缩存到服务器上,前端直接调服务器的地址下载,接下来将接收此方法......原创 2022-06-14 15:31:59 · 433 阅读 · 2 评论 -
SAP-WEB-GUI无法上传excel问题
使用GUI端上载函数,S/4正常上传可以获取数据,但是在WEBGUI上无法正常获取数据,改成用字节流上传即可避免这个问题原创 2022-05-14 13:37:55 · 1342 阅读 · 4 评论 -
Fiori-Odata 实体集扩展应用实例介绍
实体集扩展多用于抬头和行项目整合方法:/IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_EXPANDED_ENTITYSET DATA:lt_filters TYPE /iwbep/t_mgw_select_option. DATA: ls_case LIKE LINE OF et_expanded_tech_clauses. FIELD-SYMBOLS: <fs_filters> TYPE /iwbep/s_mgw_s原创 2022-05-07 17:36:43 · 582 阅读 · 0 评论 -
SAP-有关如何启用WebGUI,以及webgui-tcode输入设置打开
sap的webgui其实也是一种ITS,以网页的形式把SAP-GUI展现出来,可以让客户以网页的形式去访问webgui的打开地址(t-code:sicf):sap/bc/gui/sap/its/webgui这种没有输入打开t-code的地方,需要另外设置一下 (更多->GUI操作和设置->设置)以上,直接web进入是需要登录验证的,如果在sicf里面配置了账号密码是不需要登录的,一般不这么用。...原创 2022-05-07 14:21:14 · 2753 阅读 · 0 评论 -
ABAP-SD BAPI产生交货单条件类型ZP01两条,增强控制
系统自动产生一个ZP01的条件类型,条件计数器为001,写入的是002隐式增强位置:MV45AFZZ出口:userexit_save_document_prepare*FORMUSEREXIT_SAVE_DOCUMENT_PREPARE **---------------------------------------------------------------------**Thisuserexitcanbeusedfor...原创 2022-04-18 11:07:38 · 469 阅读 · 0 评论 -
自定义函数计算日期差,维度到秒
FUNCTION ZSNSSF_CALCULATE_DATA.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORTING*" REFERENCE(IV_DATEF) TYPE DATUM*" REFERENCE(IV_TIMEF) TYPE UZEIT*" REFERENCE(IV_DATET) TYPE DATUM*" ...原创 2022-04-11 10:06:08 · 326 阅读 · 0 评论 -
SAP-ALV IDA 以ALV形式输出CDS视图
类:cl_salv_gui_table_ida一句话以ALV形式输出CDS视图REPORT ZTEST_CDS_SHOW.cl_salv_gui_table_ida=>create_for_cds_view( iv_cds_view_name = 'ZZ_C_FLY' )->fullscreen( )->display( ).这种调用方式不采用ABAP OPEN SQL,而用CL_SQL_STATEMENT,CL_SQL_CONNECTION等系列工具类的数原创 2022-04-08 16:45:01 · 1331 阅读 · 0 评论 -
SAP-CDS+Odata+BOPF 创建与使用介绍,fiori一体化测试
目录一、创建CDS+BOPF暴露给Fiori1.1创建CDS VIEW抽取层VIEW1.2 创建CDS 转换层VIEW( transfer)1.3创建CDS 输出层 VIEW(Consumption)二、BOPF相关开发测试2.1 BOPF里面ACTION的实现2.2 BOPF里面Validations的实现三、Fiori测试BOPF是业务对象处理框架(Business Object Processing Framework,以下简称BOPF),SAP有...原创 2022-04-01 10:25:14 · 4603 阅读 · 2 评论 -
ABAP 交货单抬头文本读取
DATA: lt_tdline LIKE TABLE OF tline, ls_tdline TYPE tline, lv_tdname TYPE thead-tdname. lv_tdname = LS_LIKP-ZDELIVERY-VBELN && ''. CALL FUNCTION 'READ_TEXT' EXPORTING CLIENT = SY-MAND...原创 2022-03-10 10:27:49 · 729 阅读 · 1 评论 -
SAP BW-Function Module 数据源ABAP开发
SE37创建函数,BW做Function Module数据源时需要ABAP开发函数,这个函数BW给了一个固定的传参格式,相当于BW数据源对ABAP的开放的一个接口可以复制标准函数: RSAX_BIW_GET_DATA_SIMPLE参数说明:传入参数:I_REQUNR: 请求次数 I_DSOURCE: 数据源名称 I_MAXSIZE :数据包大小I_INITFLAG:是否是初始化 I_READ_ONLY: 只读标识I_REMOTE_CALL:远程调用...原创 2022-03-07 19:06:11 · 1495 阅读 · 0 评论 -
SAP-ABAP-AMDP 中的日期函数,关于日期的计算
目录AMDP中的日期函数CURRENT_DATE 当前系统日期CURRENT_TIME 当前系统时间HOUR()取小时MINUTE()取分钟SECOND ()取秒DAYS_BETWEEN()两个日期的间隔天数ADD_DAYS (, ) 当前日期加减天数DAYNAME ()在CDS视图中,AMDP这种写法,如果要使用SAP的系统变量,不像ABAP那样SY-[],AMDP 中有特定的写法AMDP中的日期函数CURRENT_DATE 当前系统日期获取系...原创 2022-03-03 19:46:35 · 1416 阅读 · 0 评论 -
SAP ABAP 中 function-alv的刷新方式,GET_GLOBALS_FROM_SLVC_FULLSCR
CLASS:CL_GUI_ALV_GRIDFUNCTION:GET_GLOBALS_FROM_SLVC_FULLSCRfunction-alv 刷新,使用OO 的刷新方式,先使用GET_GLOBALS_FROM_SLVC_FULLSCR接收屏幕ALV,放置容器,再调用刷新方法 DATA LS_STBL TYPE LVC_S_STBL. DATA: LO_GRID TYPE REF TO CL_GUI_ALV_GRID. CALL FUNCTION 'GET_GLOBALS.原创 2022-03-03 18:57:34 · 3200 阅读 · 0 评论 -
ABAP 获取domain的值
函数:DD_DOMA_GET DATA: it_taba TYPE STANDARD TABLE OF dd07v . CALL FUNCTION 'DD_DOMA_GET' EXPORTING domain_name = 'ZYKD_JSFS' langu = sy-langu withtext = 'X' TABLES dd07v_tab_a = it_t原创 2022-02-24 15:41:42 · 467 阅读 · 0 评论 -
SAP ABAP强制触发PAI事件执行一次PBO
类: CL_GUI_CFW指定一个OK_CODE,该方法调用后,会去执行PAI事件,这样就会再刷一次屏幕CALLMETHODCL_GUI_CFW=>SET_NEW_OK_CODEEXPORTINGNEW_CODE='PAI'.原创 2022-01-07 11:12:54 · 2324 阅读 · 0 评论 -
SAP 将事务代码封装为Internet服务,可供第三方系统通过URL打开SAP
目录具体可分以下几步去完成一、创建Internet服务二 、创建程序,分配事务代码三、SICF创建虚拟服务四、URL传参,调整html具体可分以下几步去完成一、创建Internet服务SE80,创建Internet服务,设置传参(~TRANSACTION:值为TCODE<ZGSTEXT>)二 、创建程序,分配事务代码SE38创建程序(ZGXTEST_ITS),创建100屏幕REPORT zgxtest_its.DATA ...原创 2022-01-01 08:44:59 · 1009 阅读 · 0 评论 -
SAP ABAP BAPI参照销售订单创建交货单,拣配,过账(BAPI_OUTB_DELIVERY_CREATE_SLS)
参照销售订单创建交货单BAPI:BAPI_OUTB_DELIVERY_CREATE_SLS拣配:WS_DELIVERY_UPDATE过账:BAPI_OUTB_DELIVERY_CONFIRM_DEC交货单: VL01N,VL02N.VL03NFUNCTION ZSNSDFM_SH_004.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORTING*" .原创 2021-11-19 15:00:10 · 3810 阅读 · 0 评论 -
SAP ABAP 如何在程序中调用类的私有方法(CL_GUI_ALV_GRID)
Please be aware that accessing private or protected data may have unpredictible consequences! Use it at your own risk.不介意使用,会发生不可预见的错误,需自行判断。类的private and protected方法只能在类内部使用,继承父类或者是在外部调用都是不可以的。但是有些情况要用到私有方法。CL_GUI_ALV_GRID可以通过接口IF_ALV_RM_GRID_FRI...原创 2021-11-19 14:54:56 · 2600 阅读 · 0 评论 -
ABAP BAPI创建销售订单 SD_SALESDOCUMENT_CREATE,实例
ABAP BAPI创建销售订单 SD_SALESDOCUMENT_CREATE原创 2021-11-18 10:52:24 · 2436 阅读 · 0 评论 -
SAP ABAP 使用BAPI对交货单拣配,发货过账WS_DELIVERY_UPDATE,BAPI_OUTB_DELIVERY_CONFIRM_DEC
拣配 :WS_DELIVERY_UPDATE发货过账:BAPI_OUTB_DELIVERY_CONFIRM_DEC,过账后无法使用VL09冲销,冲销时报错,分散系统无法冲销。解决方法是BAPI过账后,清空LIKP-VLSTK 。发货过账VL02N,冲销:VL09FUNCTION ZSNSDFM_WMS001.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORT原创 2021-11-15 15:28:46 · 4043 阅读 · 0 评论 -
BAPI - BAPI_ACC_DOCUMENT_POST 创建会计凭证,表增强 扩展字段
使用BAPI创建会计凭证需要注意的一点是,行项目最多不能超过1000行FUNCTION zyktrfm_acc_document_post.*"----------------------------------------------------------------------*"*"本地接口:*" IMPORTING*" REFERENCE(IS_HEADER) TYPE ZYKSTR0013*" REFERENCE(IV_COMMIT) TYPE C DEF.原创 2021-11-08 15:36:47 · 937 阅读 · 0 评论 -
SAP GUI750 双击创建子例程没反应,补丁下载(网盘永久)
GUI750在双击创建子例程的时候系统卡死,每次都强制退出,在包含文件手动写子例程,很麻烦,原因是安装750的时候,丢掉一些东西,需要打补丁下载补丁:链接:https://pan.baidu.com/s/1-vFJMJC2DrQeTgyzQJ-FwA提取码:vjv2安装完需要重启...原创 2021-10-19 16:15:54 · 1067 阅读 · 3 评论 -
SAP GUI750安装后Smartforms报错 CSapEditorCtrl::GetObject:Object does not exist解决办法
安装SAP GUI750后,打开Smartforms后报错弹出CSapEditorCtrl::GetObject:Object XXX does not exist,原因是在安装GUI750的时候安装包默认不包含SAPscript Legacy Text Editor组件了,下载一个补丁(SAPscript Legacy Text Editor)安装一下就好了。下载路径:...原创 2021-10-11 09:28:37 · 1656 阅读 · 0 评论 -
基于Python驱动的SAP流程自动化(三)-把Py文件打包成安装包,制作SAP游戏APP
项目开发好之后,为了方便使用,可以把它打包成一个安装包,这样就可以作为一个App供别人安装使用,在Windows环境下,可以使用Python自带的Pyinstaller库,这个第三方模块可以快速将Python程序打包为EXE格式后缀的可执行程序,然后再使用NSIS文件夹压缩器,NSIS VNISEdit编译器将其打包。一、使用Pyinstaller打包Py文件如果没有PyInstaller,可以使用pip去安装,操作方法是打开cmd(在这之前需要先把匹配的环境变量配好,配到Scripts文件即可原创 2021-09-09 19:06:25 · 780 阅读 · 0 评论 -
Python-SAP流程自动化,从录制SAP脚本到打包生成本地安装包(游戏制作)
目录Python-SAP流程自动化,从录制SAP脚本到打包生成本地安装包基于Python驱动的SAP流程自动化(一)搭建Python开发环境基于Python驱动的SAP流程自动化(二)下载安装Scripting Tracker脚本录制工具基于Python驱动的SAP流程自动化(三)录制SAP脚本,生成脚本代码,使用Python连接SAP基于Python驱动的SAP流程自动化(四)PIP安装PyInstaller,安装打包软件NSIS VNISEdit将写好的项目打包P原创 2021-09-03 10:16:42 · 2171 阅读 · 0 评论 -
使用OLE 上传Excel,import clipboard
目录functionZYKPPFM_XLS_TO_TAB剪切板转进内表f_separated_to_intern_convert.f_line_to_cell_separatf_line_to_cell_esc_sep数据转成内表format_dateformat_timeformat_numberformat_money类:cl_abap_structdescr,cl_gui_frontend_servicesFIELD-SYMBOLS: <...原创 2021-08-25 09:38:05 · 348 阅读 · 0 评论 -
数据量大,分批量下载,ZCL_EXCEL下载
FORM EXPORT_RYDD USING PT_MAIN TYPE TT_MAIN . DATA:LT_QUERY_STRING TYPE TABLE OF W3QUERY, LT_HTML TYPE TABLE OF W3HTML, LT_MIME TYPE TABLE OF W3MIME. DATA:LV_LEN TYPE W3PARAM-CONT_LEN, LV_RTN .原创 2021-08-19 17:00:33 · 544 阅读 · 0 评论 -
ODATA 后台报错,添加message
声明,数据定义 DATA: io_message_container TYPE REF TO /iwbep/if_message_container. DATA: ls_return TYPE bapiret2.添加message lv_target = ls_return-message_v4. CALL METHOD me->/iwbep/if_mgw_conv_srv_runtime~get_message_container原创 2021-07-31 14:01:43 · 431 阅读 · 0 评论 -
CDS TABLE FUNCTOIN传参,指定客户端
CDS 如果不去指定客户端,从后台取数的话会出现跨客户端取数的情况,传参数@EndUserText.label: 'test label'@ClientDependent: [email protected]: #NOT_REQUIREDdefine table function ZTASKPOOLSCFwith parameters @Environment.systemField: #CLIENT iv_mandt : abap.clnt原创 2021-07-27 17:28:10 · 354 阅读 · 0 评论 -
屏幕 POV事件,制作树形结构搜索帮助
在这种自己绘制的dialog屏幕中加搜索帮助,如果是要使用一些已有的搜索帮助,可以在屏幕属性中设置,参考字段等等,但是对于那些系统里没有的字段,需要自己去写搜索帮助,这种情况下需要在POV事件中去写(PROCESSONVALUE-REQUEST)。对于一般的搜索帮助写完call F4的函数就可以,但是对于树形结构的搜索帮助来说就有些复杂了。首先设置搜索帮助,指定MODULEPROCESS ON VALUE-REQUEST . FIELD GT_TAB_ITEMS-ZZCSD2 MODUL...原创 2021-07-13 09:03:56 · 311 阅读 · 0 评论 -
HR hrp9505创建更新部门信息RH_PNNNN_MAINTAIN,PPOME查看部门信息时可看到对勾
HRP9505是组织机构的部门信息表,结构类型P9505,使用函数RH_PNNNN_MAINTAIN创建更新某个组织机构的部门信息,但是用函数直接创建的机构编码在PPOME查看时,部门位置并没有勾选,这个勾选的数据是来自信息类型P1003的,所以在创建部门的同时,需要往信息类型1003中插入一条数据(在插入时确保该机构编码已存在且为活动类型) DATA:LS_RETURN TYPE HRRHAD_MSG, LT_HRTNNNN TYPE TABLE OF HRTDBTAB,原创 2021-07-07 15:10:29 · 554 阅读 · 0 评论