![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ABAP
文章平均质量分 61
小懒lan
这个作者很懒,什么都没留下…
展开
-
web service XML_HANDLING
sap调用web service接口时,如果字段值为空,发出的xml会默认隐藏这个字段,即xml中就没有这个字段标签了。如果要保持空值,需要设置EXTENDED_XML_HANDLING 为X,同时在controller表增加条件。之后,设置EXTENDED_XML_HANDLING。之后修改controller。原创 2024-02-05 00:00:00 · 382 阅读 · 2 评论 -
SAP QRFC
SE37 /SAPAPO/CIF_INBOUND_RESTART 处理waiting的队列。如果队列没有堵塞异常了,需处理的数据很多的话,可以改下参数重启服务器。/N/SAPAPO/cq 查看waiting的队列。smqs QRFC监控器(调度器)原创 2023-02-01 10:21:27 · 641 阅读 · 1 评论 -
不可实施note中的代码
在 Correction Instructions里,单击SAP_APPL即可跳转。在 SAPLSCW_NA_SCREEN ISCWBIMP03 679行。get_tree方法执行完的lt_item参数里,放一个断点。在SAP ONE Support Lanchpad里。导出excel复制出来,se38粘进去就可以了。在不可实施的Note中如果要copy代码。双击“源代码的更改”原创 2023-02-01 10:17:35 · 386 阅读 · 0 评论 -
SAP 翻译
如果se63翻完屏幕没变化,需要编辑屏幕,保存再激活。SLXT 按处理人,时间增量传输。dialog屏幕的label是可以翻译的。如果是变更的,直接输入请求翻译。原创 2023-01-31 11:16:17 · 214 阅读 · 0 评论 -
eclipse abap 快捷键和日常操作
在代码页是刷新断点,在断点页是跳过所有断点,跳过所有断点后再取消跳过需要新开窗口执行才生效,否则不会进断点。ctrl + shift + enter 前面插入一行(光标可以放在文字中间,不会断开文字)shift + enter 后面追加一行(光标可以放在文字中间,不会断开文字)ctrl + o 打开 outline 再按一次 打开主程序的。CTRL+SHIFT+L 打开现有的快捷键,再按一次打开配置。CTRL + SHIFT + A 打开任何对象。CTRL + SHIFT + G 所用处清单。原创 2023-01-31 11:14:38 · 742 阅读 · 0 评论 -
FM ALV
小数 IS_FIELDCAT-DATATYPE = 'DEC'. IS_FIELDCAT-DECIMALS_OUT = 'N'. (可以控制输出小数位)系统功能码 '&F02' '&F15' 'BACK'等自带功能码返回事件,'&DATA_SAVE'自带触发ENTER功能。LAYOUT-CTAB_FNAME = 'CELL_COLOR'. "单元格颜色,参考LVC_T_SCOL。BALV_POPUP_TO_SELECT DEMO程序BALV_POPUP_TO_SELECT。原创 2023-01-31 11:09:49 · 208 阅读 · 0 评论 -
SE03 对象类型
表和视图可以在E071K 用表去查(视图的请求也可以用表名在这里查到)ABAP 询问: 询问 R3TR AQQU ZPP01 ZPLAN。维护和传输对象的定义 R3TR TOBJ ZMM005M_CONS。表内容 R3TR TABU TVDIR (是否记录例程是这条)表内容 R3TR VDAT 如果维护的是定制视图是这个,如。ABAP 询问: 用户组 R3TR AQBG ZPP01。ABAP 询问: 功能区 R3TR AQSG ZPLAN。记录例程是空,不记录例程是X。NROB 编号范围对象。原创 2023-01-31 11:02:49 · 302 阅读 · 0 评论 -
abap OO代码
parameter iv_level | 0收集消息,1直接raise e消息。原创 2023-01-31 10:59:02 · 152 阅读 · 0 评论 -
SAP BAPI
bapi testrun也要rollback,否则连续调用可能存在缓存的问题。然后调用BAPI,就会自动生成测试数据,结束之后FBGENDAT删除条目。SE38 FBGENDAT,输入函数名,模式选B,激活。SU01用户维护一个参数FBGENDAT = X。部分BAPI开头有fbgenmac 如。表名可以开启函数测试日志。原创 2023-01-31 10:54:48 · 282 阅读 · 0 评论 -
常用tcode
ST03N 分析系统的工作负载,同时可以看到tcode和rfc的调用记录。能查到用户执行的TCODE,执行的程序,登录的终端,删除的数据条目。SM50 进程占用work process数量。用户活跃度计算方法,用操作步数计算。sm66 查看进程执行了多久。和服务器时区不一样就查不到。400/7*每个月的天数。TCODE 执行数据。原创 2023-01-31 10:48:51 · 150 阅读 · 0 评论 -
SAP BDC
OR ( GT_MESSTAB-MSGID = '00' AND ( GT_MESSTAB-MSGNR = '349' OR GT_MESSTAB-MSGNR = '347' OR GT_MESSTAB-MSGNR = '344') ). "找不到屏幕字段。当BDC最后一步没有关闭窗口时,可以用这个模式来显示最后一步的窗口。BDC和常规模式有点不一样,比如进入MIGO时,无论屏幕分辨率是多少,表控件都只显示三行而不是动态的,所以可以录屏。,此时表格的第二行就是表格的最后一行了;原创 2023-01-31 10:44:18 · 720 阅读 · 0 评论 -
SAP应用服务器
对话步骤(dialog step)分配过程:用户发送对话步骤的执行请求给应用服务器的分配器,分配器把请求推送给空闲的工作进程,工作进程定位共享内存中的程序对应的context,并执行对话步骤,执行完之后工作进程将恢复空闲状态。一个请求只能分配给一个工作进程执行,一个程序的多个对话步骤执行请求可以由多个工作进程执行(当然一个程序的多个连续请求会尽可能分配给一个工作进程,这样可以减少工作进程定位程序context的次数),一个工作进程可以处理不同用户的不同请求。(这是隐式提交的原理)。原创 2023-01-31 09:03:24 · 821 阅读 · 0 评论 -
SPAD 输出设备
SPAD一般用LP01,注意要大写,小写的 点显示会找不到选择设备类型和假脱机服务输入存取方法注:在目标系统特别要注意输出设备配置 的 设备类型是否正确,如果输出设备配置的设备类型和“smarforms中样式的页格式的格式类型分配的设备类型”不一致时,在打印预览时不会出错,但目标系统会使用默认的字体,导致两个系统的显示不一样,如果点了打印按钮就会报错了。配置PDF output deviceSPAD 创建output device, device ty原创 2022-05-12 15:08:06 · 839 阅读 · 0 评论 -
表条目写入请求
标准程序RSTABLESIZE代码实现form frm_data_transport.data: lv_order type e070-trkorr,lv_task type e070-trkorr,lt_ko200 type standard table of ko200,lt_e071k type standard table of e071k,lv_key type trobj_name,lv_objects_appendable type trpari-s_c原创 2022-03-22 08:10:40 · 282 阅读 · 0 评论 -
dataset 读excel
如果读不出来,可能excel的lo_parts不一样,按先读 WORKSHEETPART{O:41*\CLASS=CL_XLSX_WORKBOOKPART}CL_OPENXML_PARTCOLLECTION{O:53*\CLASS=CL_XLSX_WORKSHEETPART}取到parts即可再读 SHAREDSTRINGSPART一部分数据在share里,一部分在sheet里,两部分拼起来就是excel打开看到的数据...原创 2022-03-21 13:24:57 · 292 阅读 · 0 评论 -
上传EXCEL到内表
上传EXCEL到内表TEXT_CONVERT_XLS_TO_SAP 部分电脑有问题*上传文件地址对话框AT SELECTION-SCREEN ON VALUE-REQUEST FOR P1.CALL FUNCTION 'F4_FILENAME'IMPORTINGFILE_NAME = P1.START-OF-SELECTION. "前面用了AT-SELECTION-SCREEN,所以这句必须要*执行上传EXCEL到内表DATA IT_RAW TYPE TRUXS_T.原创 2021-06-16 16:01:41 · 713 阅读 · 0 评论 -
SAP替代
替代增强是是替代BSEG和BKPF字段值的技术。在创建修改凭证时触发,回车触发校验在替代之前触发可替代的字段在SM30:VWTYGB01维护,如果排除了,obbh配置就看不到,且增强里改了无效。放出来之后要用RGUGBR00激活一下替代bseg-paobjnr获利段如果不行,可以尝试在前续单据也清获利段,比如交货单增强步骤copy程序添加子程序(form的title输入了值之后替代里才能配进去) 使用tcode obbh,创建步骤 SM30 GB01 去掉字段排除的X才...原创 2021-03-04 09:33:49 · 5389 阅读 · 1 评论 -
增强技术
USER_EXIT 增强位置:在程序中以USER_EXIT打头的子例程SAPMV45A没有勾选固定点算术,所以直接在MV45AFZZ增强里写乘法会扩大1000倍。可以call一个fm,在fm里写。看是否进增强,直接在endform出打个断点就行了,不用去创建激活。获取增强中没有的参数FIELD-SYMBOLS<PLNUM>TYPEPLAF-PLNUM. DATA:L_FNAMETYPESTRINGVALUE'(SAPLCOKO...原创 2021-03-04 09:33:10 · 752 阅读 · 1 评论 -
740新语法
内表SQLselectsingle*from@lt_matnraslt_matnrwherematnrlike@lv_matnr_strinto@data(ls_matnr2).截取字段SELECT SINGLE char1 AS text1, char2 AS text2, CONCAT(char1,char2 ) AS...原创 2021-03-04 09:16:33 · 686 阅读 · 2 评论 -
root异常获取
root异常获取datalo_reftypereftocx_root."异常处理datalv_texttypestring.try.execsql.updateREPOLOADsetLDATA=:ls_REPOLOAD-ldataqdata=:ls_REPOLOAD-qdatawhereprogname=:lv_prognameendexec.catchcx_rootin...原创 2021-03-04 09:16:01 · 418 阅读 · 1 评论 -
屏幕、选择屏幕
返回到上一屏幕leavetoscreen0.报表事件块LOAD-OF-PROGRAM INITIALIZATION SELECTION-SCREEN OUTPUT (选择屏幕PBO) AT SELECTION SCREEN (ON XXX) (选择屏幕PAI) START-OF-SELECTION END-OF-SELECTION选择屏幕元素属性required:0可选,1必输且有错误检查,2必输但无检查 invisible = 1,变*号 activ...原创 2021-03-04 09:15:34 · 1585 阅读 · 2 评论 -
锁
update task锁、连续调用bapi的锁_SCOPE='2'= 1 时在事务结束会解锁。= 2时call function in update task(执行完)可以解锁(commit触发,非commit解锁)。= 2 call function in update task可以继承这个锁,所以call function in update task事务结束了会解锁bapi中加了 _SCOPE='2'的锁,...原创 2021-03-04 08:22:06 · 452 阅读 · 1 评论 -
SEARCH HELP 搜索帮助 F4
注:F4IF_INT_TABLE_VALUE_REQUEST 系统根据是否传输return_tab=lt_return.判断同步还是异步搜索帮助触发PBO,leave to screen xx选择屏幕字段单选搜索帮助formfrm_f4_auartchangingp_s_auart_low.performfrm_dynpfields_read.datalt_returntypetableofddshretvalwithhe...原创 2021-03-04 10:47:15 · 737 阅读 · 1 评论 -
激活标准CDS VIEW
程序 RUTDDLSACT,不要用SE11缺少的在ST04看原创 2021-03-03 16:39:05 · 496 阅读 · 1 评论 -
数据字典、透明表
SE16N缓存比如SE11改了字段长度,SE16N没有变化,需要清缓存/$SYNC查看表对应的文本表直接se16n输入表名,就能看到文本表了,比如ska1数据元素描述:在表dd04t中修改记录在数据元素勾更改文档,表修改记录就会存放在表CDHDR和CDPOS中,可以运行程序RSSCD100直接查询修改自定义表数据使用FMSE16N_INTERFACE,输入 I_TAB(表名),I_EDIT = 'X',I_SAPEDIT = '...原创 2021-03-03 16:08:56 · 1253 阅读 · 1 评论 -
UPDATE FM、CALL FUNCTION IN UPDATE TASK
update fmupdate fm需要在属性中勾选“更新模块”然后在程序中使用 call function in update task调用,此时不会立即执行函数,在执行到commit work时触发执行(注:debug隐式提交不会触发)。update task不在当前dialog work process中执行,会在update work process中异步执行。dialog work process把修改数据写入簇表VBLOG中,update work process从表VBL.原创 2021-03-03 16:00:39 · 4014 阅读 · 1 评论 -
解决多次调用函数缓存的问题
data:gv_task_end.callfunction'ZPP_ROUTING_FETCH'startingnewtask'ZPP_ROUTING_FETCH'performingfrm_task_endonendoftaskexportinguv_stlnr=lt_alv_c-stlnruv_stltyp=lt_alv_c-stlty...原创 2021-03-03 15:58:12 · 450 阅读 · 4 评论 -
异步调用RFC
打开新内部进程调用RFCCALL FUNCTION RemotefunctionSTARTING NEW TASK TasknamePERFORMING RETURN_FORM ON END OF TASK。 上面代码中可以使用EXPORTING传入参数,返回的参数在FORM中异步接收。例:FORM RETURN_FORM USING TASKNAME.RECEIVE RESULTS FROM FUNCTION RemotefunctionIMPORTINGF1 = a1...原创 2021-03-03 15:57:26 · 854 阅读 · 1 评论 -
字符操作
正则(仅包含英文数字)ifcl_abap_matcher=>matches(pattern='^[0-9A-Za-z]+$'text=ls_bank-swift)=abap_false.ev_code='E'.ev_msg=ev_msg&&'SWIFTCode'&&ls_ban...原创 2021-03-03 15:45:35 · 445 阅读 · 1 评论 -
提示信息 POPUP
提示文本信息POPUP_TO_DISPLAY_TEXT 两行POPUP_TO_INFORM 四行POPUP_WITH_TABLE_DISPLAY_ok 多行文本展示title text不管用,换成 WRF_POPUP_WITH_TABLE_DISPLAY print又不管用,且R3没有datalt_valuetabTYPESTANDARDTABLEOFSTRINGwithheaderline.call function 'POPUP_WITH_TABLE_...原创 2021-03-03 15:09:19 · 500 阅读 · 1 评论 -
SYSTEM_CALLSTACK 获取程序调用堆栈
data:lt_callstack type sys_callst,ls_callstack like line of lt_callstack,lv_fname type rs38l_fnam.call function 'SYSTEM_CALLSTACK'importinget_callstack = lt_callstack.loop at lt_callstack into ls_callstack.check ls_callstack-eventtype..原创 2021-03-03 15:08:21 · 636 阅读 · 1 评论 -
调用SM30
perform frm_sm30_call using 'ZTSD_SPART'.formfrm_sm30_callusinguv_tabname.datalt_vimsellistliketableofvimsellist.callfunction'VIEW_MAINTENANCE_CALL'exportingaction='S'view_name=uv_tabname...原创 2021-03-03 15:07:51 · 463 阅读 · 1 评论 -
SAP请求
传输 请求同时传输多个请求按住f9多选,传输修改已释放的请求se38执行RDDIT076,输入请求号,把状态从R修改为D传输错误传输错误 8,报错原始对象不能替代,原因是目标系统程序的源系统不对,可能手工在目标系统调整过程序,也可能复制系统导致的。解决:在STMS传输请求时勾选第三个TAB页的前四个选项,覆盖即可或者修改目标系统的程序源系统,参考Notehttps://launchpad.support.sap.com/#/notes/0001508558..原创 2021-03-03 14:55:22 · 1104 阅读 · 1 评论 -
SAP日期函数
检查日期合法性LOOPATGT_EXCELINTOGW_EXCEL.CALLFUNCTION'DATE_CHECK_PLAUSIBILITY'EXPORTINGDATE=GW_EXCEL-F03EXCEPTIONSPLAUSIBILITY_CHECK_FAILED=1OTHERS=2....原创 2021-03-02 14:26:02 · 578 阅读 · 0 评论 -
屏幕
读屏幕字段值formfrm_dynpfields_read.datalt_dynpfieldsliketableofdynpreadwithheaderline.lt_dynpfields-fieldname='P_WERKS'."填入需要读值的字段名appendlt_dynpfields.callfunction'DYNP_VALUES_READ'exportingdyname=...原创 2021-03-02 14:25:14 · 317 阅读 · 0 评论 -
转换例程。
FLOAT 转日期CTCV_CONVERT_FLOAT_TO_DATE日期转换为内部格式callfunction'CONVERT_DATE_TO_INTERNAL'exportingdate_external=ls_xlstemp-value*ACCEPT_INITIAL_DATE=importing...原创 2021-03-02 14:24:41 · 933 阅读 · 0 评论 -
功能、函数、表等
表DD02L TABCLASS = 'APPEND'可以查附加结构所用处清单RS_EU_CROSSREF 函数所用处清单取includeCALLFUNCTION'RS_GET_ALL_INCLUDES'EXPORTINGprogram=lv_programTABLESincludetab=lt_inc_tmpEXCEPTIONS...原创 2021-03-02 14:21:57 · 406 阅读 · 0 评论 -
内表 XML互转、JSON 内表互转
内表 XML互转*转进内表stranstry.call transformation idsource xml lv_text_out* options* clear = 'ALL' "4.7 没有这个options* value_handling = 'ACCEPT_DATA_LOSS' "这个参数也没有result data = p_gt_rep.catch cx_root into lo_ref.lv_text = lo_ref->get_text(原创 2021-03-02 14:20:49 · 653 阅读 · 0 评论 -
NATIVE SQL
oracle 日期处理execsql.opencforselectTO_CHAR(zxbrq,'YYYYMMDD:HH24:MI:SS')zxbrq,zxbbh,zxbmc,zydrs,zqqrs,zjb,ztb,zxzrs,zxzqq,zxzjb,zxztb,zxzhj,zxbgs,orgeh,orgtxfromEDH...原创 2021-03-02 14:01:15 · 639 阅读 · 0 评论 -
ABAP连接外部数据库+NATIVE SQL
DBACOCKPIT 建数据库连接注:测试连接如果出错,可以用ADBC_TEST_CONNECTION测试,ADBC_TEST_CONNECTION测试后有个图标可以点进trace文件,拉到最后,就是出错的具体信息。连接成功后可以用ADBC_QUERY查询表结构和数据如果报错少文件B B Loading DB library '/usr/sap/<SID>/D80/exe/dboraslib.so' ...M *** ERROR => DlLoadLib(...原创 2021-03-02 11:34:08 · 2427 阅读 · 0 评论