![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SAP
文章平均质量分 66
闫艺宸
笑傲人生
展开
-
资产跨公司代码转移批量过账
资产跨公司代码转移批量过账调用BDC无法检查,而且BDC无法返回生成的凭证编号,所以调用bapiDATA:ls_GENERALPOSTINGDATATYPEBAPIFAPO_GEN_INFO,ls_TRANSFERTODATATYPEBAPIFAPO_TRANSFER_TO,ls_TRANSFERPOSTINGDATATYPEBAPIFAPO_TRANSFER_REV_DISTR,ls_FURTHERPOSTINGDAT...原创 2022-03-16 16:43:41 · 1323 阅读 · 0 评论 -
sap信贷管理的操作流程
为了降低企业在实际业务中的信贷风险,SAP系统提供了一个复杂的信贷管理解决方案,当客户超过它的信贷许可范围时,系统能够做出迅速而有效的反应。如下图所示显示了SAP系统中一个客户的信贷管理信息。 同一个企业所有客户的信贷管理信息是以信用主数据的方式维护到系统中的,完全实现了客户信贷管理信息的共享。而且每一个客户的信贷管理信息随着对其销售业务的开展,系统能够实现及时动态更新。SAP系统对客户信贷管理信息的及时动态更新,以及信贷控制策略的实现是通过SAP系统的后台配置完成的。在这里针对不同信贷控制范围、不同.原创 2021-12-31 13:48:02 · 1683 阅读 · 0 评论 -
实战SAP:【总结】文本编辑器
DATA : ok_code TYPE sy-ucomm,save_ok TYPE sy-ucomm.DATA : init.DATA : container TYPE REF TO cl_gui_custom_container.DATA : editor TYPE REF TO cl_gui_textedit.DATA : m1(256) TYPE c OCCURS 0,line(256) TYPE c.line = 'Please Input :'.append LIN原创 2021-12-13 16:04:46 · 756 阅读 · 0 评论 -
ABAP:SD信贷查询 CREDIT_EXPOSURE
DATA:lv_kkber TYPE t014-kkber, "销售组织lv_kunnr TYPE knkk-kunnr, "客户lv_creditlimit TYPE knkk-klimk, "信贷限额lv_sum_opens TYPE rf02l-oblig, "使用信贷限额lv_sum TYPE rf02l-oblig. "信贷限额 - 使用信贷限额"获取信贷CALL FUNCTION ‘CREDIT_EXPOSURE’EXPORTINGkkber = lv_kkberkunnr原创 2021-12-02 14:43:17 · 626 阅读 · 0 评论 -
获取BWquery数据
FUNCTIONZTAX_RFC_FKZB_QUERY_GET.*"----------------------------------------------------------------------*"*"本地接口:*"IMPORTING*"VALUE(I_RSINFOPROV)TYPERSINFOPROVOPTIONAL*"VALUE(I_RSZCOMPID)TYPERSZCOMPIDOPTIONAL*"VALUE(I_NSDW)...原创 2021-09-26 14:31:48 · 750 阅读 · 0 评论 -
SAP选择屏幕
注意:PBO->PAI->PBOPBO对控件进行设置,PAI对数据进行校验FUNC CODE会触发PAI 就不需要在屏幕上回车触发了1.单选PARAMETERS P_ZCODE TYPE ZWXSTUDENT_01-ZCODE.2.复选SELECT-OPTIONS S_SEX FOR GS_STUDENT-SEX NO INTERVALS NO-EXTENSION.SELECT-OPTIONS S_ZNAME FOR GS_STUDENT-ZNAME.3.常用语法 ...原创 2021-09-25 16:00:25 · 988 阅读 · 0 评论 -
SAP无输入历史记录(已在本地数据开启历史记录)解决方法
需要从其它电脑拷贝的文件,三个文件同时拷贝到即可:SAP客户端已开启本地数据的历史记录,但是仍然没有录入记录,重装SAP无法解决问题,没有最近输入记录操作极为不方便,经研究表现出的问题特征如下:1、同一用户在另一台电脑使用SAP就有历史记录,到了本电脑就没有,所以初步排除不是用户权限配置问题。2、通过查看历史记录数据库文件夹,发现文件夹为空,就是说SAPGui没有成功创建历史记录数据库文件,经过重装SAP也无法解决。再一次对用户权限检查,发现用户是有权限对历史记录数据库文件下的文件进行读写删除等操作的。原创 2021-09-17 15:03:48 · 4332 阅读 · 0 评论 -
SAP的webservice 服务处理错误
外部系统调用 SAP webservice 的时候,有时候会报错。这个报错不是在RFC中发生的,所以有时候无法查找原因。但是会反馈一个 消息类似于:Web服务处理错误;提供者端Web服务错误日志中的更多详细信息(世界协调时间时戳20160420124852;事务标识56BE7493CE26322AE1000000AC100091)SAP中可查找webservice 相关表:"Webservice日志查询报表,集成Soamanager、SRT_LOG和SRTLOG_E2E的功能,双...原创 2021-09-07 09:18:25 · 2478 阅读 · 0 评论 -
ABAP RANGE 及 SELECTION-OPTION 功能
SAP 中SELECTION-OPTION 是个很强大的功能,在程序中也经常需要类似SELECTION-OPTION的功能,如果不画屏幕的话,SAP提供了RANGE来实现该功能,下面是一段简单例子代码。RANGES:s_belnr FOR bseg-belnr.DATA: lw LIKE LINE OF s_belnr."单值CLEAR lw.lw-sign = 'I'.lw-option = 'EQ'.lw-low = 'BB'.APPEND lw TO s_belnr."区...原创 2021-09-02 15:22:35 · 2836 阅读 · 0 评论 -
使用SAT进行程序优化
1, 创建SAT变式参考标准的默认SAT变式,创建一个自己的SAT_001,扩大一下保存跟踪结果文件的大小以及延长SAT的跟踪时间,防止SAT不能完整记录程序的运行过程数据。2, 运行SAT跟踪程序选择步骤1创建的变式,在In dialog中输入被跟踪程序的Tcode,勾上Eval. Immediately,然后点击execute按钮。进入到程序YMOE_MATAVB的选择画面,输入条件,点击运行,程序运行结束后。点击back按钮,返回到SAT界面,直接进入到SAT的原创 2021-08-31 16:43:20 · 348 阅读 · 0 评论 -
如何在ABAP程序中debug宏代码
正常情况下ABAP是不能debug调试宏的,可但是有个变通的方法能让你初略的一步一步执行宏内的代码。写了一段简单的abap代码,里面包括一个宏,用来取EKPO表内数据,然后sort一下。REPORT ztest_debug_macro.DATA:lt_ekpo TYPE STANDARD TABLE OF ekpo WITH HEADER LINE."<span class="L0S31">宏定义</span>DEFINE macro_sql.SELECT..原创 2021-08-24 09:29:04 · 633 阅读 · 0 评论 -
WEB service 客户端创建
SE80进入工作台,选择开发包,在包名上右键,创建代理对象选择 Proxy Object选择Service Consumer如果WEB SERVICE服务方提供的是WSDL文件,则选择 Local File如果提供的是HTTP地址,则选择URL/HTTP Destination选择WSDL文件路径填写开发包,前缀名,传输请求号完成保存并激活系统自动生成类和方法二、LPCONFIG创建逻辑端口(逻辑端口为定制配置,不跨CLI...原创 2021-08-23 14:03:28 · 388 阅读 · 1 评论 -
创建WEB SERVICE服务
一、SE80进入工作台,选择开发包,在包名上右键,创建代理对象选择 Proxy Object选择Service Provider选择Existing ABAP Objects输入WEB SERVICE的服务名以及描述。并选择END-POINT类型。在本示例里选择FUNC,即根据FUNCTION MODULE进行创建。输入需要发布的FM名称(Z_WS_SERVER)。Name Mapping默认勾选。选择授权方式Profile为PRF_DT_IF_SEC_NO。并勾选Dep原创 2021-08-20 10:24:21 · 593 阅读 · 0 评论 -
smartforms
Smart Forms. 1 文本模块... 2 节点元素... 3 Page节点... 3 窗口元素... 4 文本节点... 4 图形节点SE78. 5 模板节点... 6 地址节点... 7 样式... 7 小技巧:查看Form生成的函数... 9 SmartForm强制分页(抬头、项目表都显示)... 9 打印参数控制... 14 一次性输出多张报表... 15 SmartForm转PDF乱码问题... 15原创 2021-08-12 10:13:26 · 2744 阅读 · 1 评论 -
条件 CHAIN 语句
要在条件 CHAIN 中调用模块 ,有两个选 项: ON CHAIN-INPUT类似于 ON INPUT。 如果链中的 任一字段包 含初始值( 空值或零) 以外的值, 则调用 ABAP/4 模块。 ON CHAIN-REQUEST该条件功能 类似于 ON REQUEST, 但是如果链 中的任一字 段的值发生 更改,则调 用 ABAP/4模 块。例如: CHAIN. FIELD: A, B, C. FIELD: D, E, F. MOD...原创 2021-08-12 10:01:03 · 156 阅读 · 0 评论 -
SAP BAPI 函数总结
• CONVERSION_EXIT_ALPHA_INPUT 数字串前补0• CONVERSION_EXIT_ALPHA_OUTPUT 消除数字串前的0• TERMINAL_ID_GET 获得端末id• TH_USER_INFO 获得当前用户的信息 (会话,登陆的工作台等)• BKK_GET_MONTH_LASTDAY 根据日期获取当前月的最后一天 • CONVERSION_EXIT_CUNIT_OUTPUT 单位转换.原创 2021-08-11 15:38:27 · 1009 阅读 · 0 评论 -
数据迁移下载包数据
*======================================================================**InitialideaandfirstreleasebyIgorYaskevitch(IBS),2003**EnhancementsbySergeyKorolev,2005(AddedF4value**requests,authoritychecks,TMSfun...原创 2021-08-11 14:41:38 · 139 阅读 · 0 评论 -
ABAP 程序优化
1.最主要的是尽量减少I/O操作,然后是内存占用,再就是CPU的负载。CPU的负载可以通过优化程序来改善,在程序中尽量使用诸如SUM(SQL语句)或者COLLECT(ABAP语句)。2.尽可能多地使用表的索引作为Where分句的条件选项,尽可能让程序只读取一定范围内的记录(比如说,你只准备操作一个月之内的业务数据,那么对于这一个月的业务就应该有一定的范围取值,如1000~2000)。3.尽量使用Select A B C INTO TABLE ITAB这样的语句。这个操作会将所有符合条件的数据一次性地原创 2021-08-11 10:05:39 · 523 阅读 · 0 评论 -
ALV常用参数的详细描述
ALV显示: CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_interface_check = '' 接口一致性检查 i_callback_program = sy-repid 当前程序名 is_layout = layout 输出样...原创 2021-07-26 14:12:43 · 959 阅读 · 0 评论 -
ALV编辑数据更新内表
在调用 ‘I_CALLBACK_USER_COMMAND’的时候定义DATA: GR_ALV TYPE REF TO CL_GUI_ALV_GRID."alv数据更改后更新到内表CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGE_GRID = GR_ALV.CALL METHOD GR_ALV->CHECK_CHANGED_DATA.CALL METHOD GR_ALV->REFRESH_TABLE_DISPLAY.原创 2021-07-23 16:24:06 · 410 阅读 · 0 评论 -
SUBMIT、CALL TRANSACTION、LEAVE TO TRANSACTION
Calling Programs下面ABAP语句允许你调用一个可执行程序或者事务码,调用后你可以直接退出主调程序,或者返回到调用被调程序的地方继续后继代码的执行:可执行Program TransactionCall (without returning)SUBMIT LEAVE TO TRANSACTIONCall and returnSUBMIT AND RETU...原创 2021-07-20 11:15:01 · 668 阅读 · 0 评论 -
ABAP程序互调用:SUBMIT、CALL TRANSACTION、LEAVE TO TRANSACTION
Calling Executable Programs(SUBMIT)设置选择屏幕参数值(SUBMIT...WITH)实例一:参数传递实例二:参数传递及返回值接收控制Called Programs中LISTS输出修改输出LISTS行列数将被调程序的输出列表打印到spool system将输出列表保存到ABAP memory使用LEAVE语句退出被调程序CALL TRANSACTION、LEAVE TO TRANSACTION退出程序Leave ProgramP..原创 2021-07-19 17:40:55 · 3639 阅读 · 0 评论 -
CURR类似带符号
在screen painter中将input的属性做两个设置: 输入框最后一位手动写字母v;格式设置成dec;代记号字段打上勾;这样设置以后效果如下:原创 2021-07-19 17:16:32 · 173 阅读 · 0 评论 -
ALV 布局
ALV布局格式设置I_SAVE.1:I_SAVE = SPACE 布局不能被保存2:I_SAVE= 'U' 仅自定义的布局以被保存3:I_SAVE= 'X' 仅全局布局可以被保存4:I_SAVE = 'A' 自定义的布局和全局的布局都可以被保存获取当前布局REUSE_ALV_VARIANT_DEFAULT_GET读取默认的布局REUSE_ALV_VARIANT_EXISTE...原创 2021-07-19 11:24:16 · 539 阅读 · 0 评论 -
SAP LUW 和 DB LUW
一、DB LUWDB LUW是确保数据库一致性的机制,是数据库级别的,和底层DBMS有关,和SAP系统无关。如下图,从一致性状态A到B,中间有一系列的数据库操作,一个BD luw以数据库提交commit结束,这些操作要么全都执行,要么全都不执行。当全部执行成功,则数据库进入一致性状态B,如果在此DB luw中发生错误,则将从DB luw开始的所有操作进行回滚,数据库还是在A状态。这是在数据库级别实现的,和SAP系统无关。在SAP系统中,DB luw commit and rollback 可原创 2021-07-16 16:39:46 · 580 阅读 · 0 评论 -
SAP LUW与数据库 LUW及函数更新模式
目录1 LUW(逻辑工作单元概念)2 数据库LUW3 SAP LUW3.1 CALL FUNCTION ... IN UPDATE TASK3.2 PERFORM ... ON COMMIT [ LEVEL n ]3.3 ROLLBACK WORK3.4 绑定方式的执行顺序1 LUW(逻辑工作单元概念) 在SAP系统中,两个数据一致状态中的时间间隔为LUW(Logical Unit of Work),每一个LUW都需要以一个提交(COMMIT)或者返回(ROLLBACK)作为结...原创 2021-07-16 16:19:00 · 883 阅读 · 0 评论 -
ALV 过滤器
DATA: gt_filt TYPE lvc_t_filt, gs_filt TYPE lvc_s_filt. gs_filt-fieldname = 'MBLNR'. gs_filt-low = '4900000000'. gs_filt-high = '5000000000'. gs_filt-sign = 'I'. gs_filt-option = 'BT'. APPEND gs_filt TO gt_filt ...原创 2021-07-14 11:24:54 · 550 阅读 · 0 评论 -
2021-07-09
1. ABAP Memory用户登陆后,最多一个系统可以开6个窗口,这在SAP中称为External Mode。而同一个窗口中,运行某程序后,可以通过CALL TRANSACTION/SUBMIT或其他代码跳转到其他程序,这个称为Internal Mode。Internal Mode的调用栈最多为9层。那么ABAP Memory,它是属于Internal Mode间可以共享的数据,而External Mode间无法共享。例子. 创建程序A,输入:DATA matnr TYPE ma原创 2021-07-09 16:20:20 · 166 阅读 · 0 评论 -
SAP 函数调用
20.1.Function调用20.1.1.更新FM:LUW20.1.2.RFC函数:远程调用20.1.2.1.同步20.1.2.2.异步20.1.2.2.1.事务性RFC调用20.1.2.3.DESTINATION取值20.1.Function调用20.1.1.更新FM:LUWCALLFUNCTIONup...原创 2021-07-09 15:57:50 · 2581 阅读 · 0 评论 -
权限检查authority-check
在报表开发过程中,如果是几家公司代码使用同一个报表的时候一般都要做权限的检查了,这样可以防止没有其它公司代码的权限不能访问到相关的信息。authority-check介绍在abap中,我们经常会使用到authority-check,其中想必遇到最多的就是activity的authority check,如01代表create、02代表change、03代表display。authority-check object auth_obj [for user user ]id id1 {field原创 2021-07-09 14:05:19 · 2504 阅读 · 0 评论 -
SAP显示处理进度
DATA: ll_lines(10),"行数 ll_tabix(10),"循环标号 ll_pecnt TYPE p LENGTH 6 DECIMALS 2,"百分比 ll_pecet(6),"百分数 ll_text(40)."消息 CLEAR: ll_lines,ll_tabix,ll_pecnt,ll_pecet,ll_text. DESCRIBE TABLE it_vbrk LINES ll_lines."获取内表行数...原创 2021-07-09 10:44:11 · 210 阅读 · 0 评论 -
SAP-ABAP程序发送邮件
1. 变量定义:类:CL_BCS– Business Communication Service, 发送邮件主要用到的功能类, 包括创建发送请求, 添加发送内容,添加发送地址, 到最终的发送指令发出.send_request type ref to cl_bcs.类:CL_DOCUMENT_BCS,用来放置发送的内容.document type ref to cl_document_bcs.类:CX_BCS,不用多说,这是个异常类, 用于捕捉发送邮件过程中出现的异常.fa...原创 2021-07-07 09:57:19 · 1137 阅读 · 0 评论 -
ME21N ME22N 删除组件增强点
隐式增强 INCLUDE LM61ZF15原创 2021-07-07 09:31:22 · 431 阅读 · 0 评论 -
Debug技巧汇总
作为一个ABAPer一定要掌握两个技能一个是baidu google的技能,另外一个就是debug的技能,下面就总结一下debug的方法和小技巧。1, SE38中设置断点程序运行前可以在ABAP编辑器中设置断点,如下:会话断点-在同一登录会话不同窗口都有效,用户注销后消失外部断点-用户注销后再登录还是有效,但只针对同一用户有效程序运行中也可以设置断点:此断点又叫调试断点,仅在本次运行时有效,但是点击保存按钮后断点变成会话断点,本次会话的所有窗口都有效,只有在退出登录后消失原创 2021-07-05 16:27:41 · 675 阅读 · 0 评论 -
如何debug后台Job程序(JDBG)
当后台job已经运行完,但是很不幸,发生错误了,这时我们也可以通过SM37进行Debug,步骤如下,1, SM37 显示后台JOB点击Step按钮,进入下一屏幕,2, 设置断点在Step list界面中,点击goto-->program进入abap 编辑器,设置断点,3, 命令栏输入JDBG返回到后台job的overview界面,然后在命令栏输入JDBG并回车,启动后台job debug,进入debug模式F8运行程序,程序会在刚才设置的断点处停下,原创 2021-07-05 16:20:12 · 252 阅读 · 0 评论 -
watchpoint断点
1, 场景说明VA01创建销售订单时,发现发运工厂shipping plant不是预期的,应该是有增强修改了此字段的值。下面详细介绍一下如何通过设定观察点-watch point找到具体的增强点。2, Debug过程2.1 F1查找到屏幕字段名称光标放置在shipping plant字段处,按F1找到shipping plant对应的屏幕字段是VBAP-WERKS,2.2 /h进入Debug模式/h 回车2.3 设置watch point点击Watchpoint按原创 2021-07-05 16:03:26 · 889 阅读 · 0 评论 -
OO ALV-单击事件,双击事件,添加自定义按钮事件(EVENT)实例
OO ALV中经常会用的行单击,行双击,application tool bar上添加按钮以及按钮的相应事件,如下:1,单击:handle_hotspot_click 事件2,双击:handle_double_click3,工具栏上添加自定按钮:handle_toolbar,其中,butn_type=3.是分隔符详细参照下面代码4, 自定义按钮相应事件:handle_command这些事件需要用SET HANDLER先注册,然后再在类中实现,添加自己的逻辑。下面是个完整代码以...原创 2021-07-05 15:04:20 · 933 阅读 · 0 评论 -
创建list ALV tree[RS_TREE_LIST_DISPLAY]
ABAP程序中的ALV显示是很常用的一种数据展示手段,除了常规的alv,有时也会用到ALV tree这种有层次结构的展示方式更好的展现数据,下面介绍一个创建list alv tree的方法:1)用函数RS_TREE_CONSTRUCT构造alv 树的层次结构,alv tree的节点类型(node type)分两种:T和P,区别如下:区别就是个文件夹的图标。2)调用函数RS_TREE_LIST_DISPLAY显示alv tree完整代码:用list alv tree来显示采购订单和采购原创 2021-07-05 14:55:18 · 188 阅读 · 0 评论 -
REUSE_ALV_GRID_DISPLAY_LVC-可编辑单元格
1, 列可编辑只要将catalog中的字段edit设置成‘X',整列就变成能输入的了,LVC_S_FCAT-EDIT代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2原创 2021-07-05 14:51:06 · 979 阅读 · 0 评论 -
如何动态改变ALV状态栏(Status)中的按钮文本和图标(Icon)
经常会在ALV的状态栏上加入自定义的按钮(button),有时还需要动态更改自定义按钮上的文本和图标,如下:开始是修改按钮,点击后变成显示按钮,按钮上的显示的内容可以自动切换。下面介绍具体实现方法:1,现在程序中定义一个全局变量,类型是smp_dyntxt 1 DATA:g_text TYPE smp_dyntxt. 2,在创建状态(status)中的按钮时选择Dynamic Text选项然后选择1中定义的全局变量创建完如下:.原创 2021-07-05 14:10:23 · 937 阅读 · 0 评论