
ABAP
西柚e
脱离舒适圈
展开
-
自用笔记整理(一)
1、让用户获得文件地址PARAMETERS PC_FILE TYPE IBIPPARMS-PATH. “选择屏幕上定义AT SELECTION-SCREEN ON VALUE-REQUEST FOR PC_FILE. "从PC选择文件CALL FUNCTION ‘F4_FILENAME’EXPORTINGPROGRAM_NAME = SYST-CPROGDYNPRO_NUMBER =...原创 2019-08-30 16:15:58 · 942 阅读 · 0 评论 -
自用笔记整理(二)
1、锁程序CALLFUNCTION'ENQUEUE_ES_PROG'EXPORTINGMODE_TRDIR='X'”锁的方式NAME='ztest01'”锁的程序X_NAME=''_SCOPE='2'_WAIT...原创 2019-09-03 09:59:32 · 562 阅读 · 0 评论 -
BTE1650 FBL1N/FBL2N/FBL3N/FBL5N-增加客制化字段 客商及科目描述
BTE在清单中找到我们需要BTE事件,可以点击文件按钮查询事件的详细描述,点击模式函数模块找到具体的函数-SAMPLE_INTERFACE_00001650复制标准函数到自定义函数组实施BTEBF24 或FIBF->设置->产品BF34 或FIBF->设置->发布/订阅模块3 APP-ALV显示结构(RFPOS&RFPOSX)4、根据需求,对BTE事件对应的方法进行编码,填充对应的字段5、通过SE38......原创 2022-06-28 16:34:52 · 1199 阅读 · 0 评论 -
VK11\VK12\VK13 价格间隔拆分问题
BAPI_PRICES_CONDITIONS 修改价格存在BUG 不会自动拆分时间间隔,而是插入新的一条,导致有效期内存在多条记录,VK13debug,在这里插入图片描述网上查了一下资料,有说明要开发自动拆分间隔,感觉比较麻烦原文链接 [添加链接描述]实践发现,当存在价格记录时,前台TCODE:VK11 创建会自动根据已有时间间隔拆分多间隔.价格创建修改都可以通过录屏VK11实现,但要注意建议如果起止日期一致,前台会多出一个确认的屏幕,所有最好提前进行校验,一致不触发更改测试源码如下REPO原创 2022-03-02 13:28:14 · 1934 阅读 · 1 评论 -
后台job批量停用和开启
在SAP中如需要暂停后台工作时,用SE38或SA38执行程序BTCTRNS1,即可暂停后台工作任务要重新打开后台工作任务时,需要用SE38或SA38执行程序: BTCTRNS2原创 2021-09-28 09:52:00 · 2368 阅读 · 0 评论 -
SM37删除增强
SM37原创 2021-09-26 10:44:23 · 1102 阅读 · 0 评论 -
SOAMANAGER打不开问题
类 CL_GUI_HTML_VIEWER方法DETACH_URL_IN_BROWSER 26行中 return_value 值 ‘X’ 设为空原创 2021-07-28 17:20:18 · 589 阅读 · 0 评论 -
多层LOOP嵌套循环优化
TYPES:BEGIN OF TYP_DATA, MATNR TYPE MATNR, WERKS TYPE WERKS_D, LGORT TYPE LGORT_D, LABST TYPE LABST, END OF TYP_DATA.DATA: GT_DATA TYPE TABLE OF TYP_DATA, LW_DATA TYPE TYP_DATA.DATA:LV_TIME_BEG TYPE TIMESTAMP原创 2021-03-22 15:49:13 · 513 阅读 · 0 评论 -
SAP 附件清单管理
函数:GOS_ATTACHMENT_LIST_POPUPCALL FUNCTION 'GOS_ATTACHMENT_LIST_POPUP' EXPORTING is_object = is_object ip_check_arl = 'X' ip_check_bds = 'X' ip_notes = 'X' ip_attachments = 'X' ip_urls = 'X' ip_mode原创 2021-03-08 11:00:49 · 3469 阅读 · 0 评论 -
杂记
VALUE语法 工作区 wa_person = VALUE #( age = 12 name = 'TEST' ). 内表GROUP BY语法用于内表处理,相当于SQL语句的group byLOOP AT itab result [cond] GROUP BY group_key [ASCENDIN原创 2021-03-02 14:03:13 · 322 阅读 · 0 评论 -
宿主表达式、SQL表达式、路径表达式
原文链接:添加链接描述正文在经历了长时间的停滞之后,开放式SQL的开发从沉睡中醒来,并在ABAP7.40中采取了一些主要步骤,以便包含来自SQL92的尽可能多的特性,并提供与ABAPCD的DDL的SELECT语句大致相同的功能。为了做到这一点,通过在ABAP运行时环境中引入一个新的SQL解析器来建立一个开放SQL的新基础。这样做的一个结果是,opensql在ABAP中扮演的角色与以前不同。而在7.40之前,opensql更多地被认为是ABAP语言本身的一部分,与此同时,SQL特性变得越来越明显。其中一个翻译 2021-02-24 15:49:12 · 686 阅读 · 0 评论 -
FTP
FTP(File transfer protocol)是一种标准的网络协议,用于在互联网上传递文件。SAP标准函数组是SFTPSAP提供的FTP demo程序RSFTP001 SAPFTP 版本RSFTP002 执行 FTP 命令RSFTP003 FTP 放置/获取测试RSFTP004 FTP 复制RSFTP005原创 2021-02-05 14:09:06 · 412 阅读 · 0 评论 -
资产主数据-剩余使用年份、剩余使用月份取值
资产主数据的使用年份,月份/ 已使用年份,月份/ 剩余使用年份,月份。ANLB-NDJAR 计划年 ANLB-NDPER 计划月ABLC-NDABJ 已使用年份 ANLC-NDABP 已使用月份剩余使用年份和月份,貌似没有存表。通过资产浏览器AW01N跟踪发现,标准程序这个也是通过计算得出的这里可以看到一个note 1462043这里看到一个表 ANLBZA 实际查询发现该表数据为空,不清楚是不是因为HANA系统版本问题。总结:只能根据取到的资...原创 2021-01-20 16:48:34 · 3407 阅读 · 0 评论 -
进口商品物料主数据国际商品条码前导0省略问题
这个函数有针对条码的检查,类似唯一值检查等等,这里的传入参数P_EAN11 第一步改过例程之后是带0的 执行过这个函数之后输出的P_EAN11的前导0会被clear掉。这里我们需要在此函数的开始和截至位置增加隐式增强,判断前导0的条码传入之后,在执行完毕之后将传入前导0的条码再覆盖一次。零售进口商品条码是0开头的, 国际商品条码/商品通码通过BAPI写入或者MM41\MM42创建时发现,前台输入前导0的条码回车后前面的0会自动呗忽略掉,后台表修改也无法写入前导0。PS:前台创建修改和BAPI操作都会触发。原创 2021-01-14 14:57:24 · 1062 阅读 · 0 评论 -
Smartforms 统计打印次数
CALL FUNCTION 'SMARTFORMS_NAME' EXPORTING archive_parameters = archive_parameters control_parameters = control_parameters output_options = output_options user_settings = 'X'* im_head ...原创 2020-12-26 15:29:59 · 516 阅读 · 0 评论 -
BP运行报错 Screen does not exist/ Dynpro not found
调用事务BUSP并为应用程序对象BUPA,FICA和BUPR生成子屏幕容器。勾选“所有屏幕”选项。原创 2020-11-25 10:23:01 · 1366 阅读 · 2 评论 -
S4 HANA1809版本之后的固定资产问题
1809版本的固定资产除主数据外,购置,折旧计提,报废,转移等会在ACDOCA记账。如固定资产启用了多折旧范围,购置只会生成一张凭证,折旧会按照多折旧范围拆分生成多张凭证,除此之外的业务多折旧范围的明细账不会在总账中体现。FAAV_LINEITEMS这个CDS视图会记录多折旧范围的资产明细账变动。其余几个CDS视图也有各自的用途。参考过程=AMDP时把凭证状态U替换掉,这样就会更新进BSEG了。1809开始,U状态的凭证不显示在BSEG表内。相关NOTE:2856765。解决办法:财务替代OBBH。原创 2020-11-20 09:53:55 · 2316 阅读 · 0 评论 -
写入工单长文本问题
创建长文本:CREATE_TEXT查询长文本:READ_TEXT CALL FUNCTION 'CREATE_TEXT' EXPORTING fid = 'KOPF' "订单抬头文本ID flanguage = sy-langu “语言 fname = fname 客户端+前导零工单号 fobject = 'AUFK' "文本对象 save_direct = 'X'*原创 2020-11-05 16:23:40 · 662 阅读 · 0 评论 -
S4 预制凭证问题
预制凭证创建和BAPI和记账凭证的BAPI是同一个:BAPI_ACC_DOCUMENT_POSTdocumentheader-doc_status = ‘2’ 为预制凭证预制凭证创建成功之后:VBKPK 预制凭证抬头表VBSEC 凭证预制一次性数据凭证段VBSEGA 凭证预制的凭证段 - 资产数据库VBSEGD 客户凭证预制的凭证段VBSEGK原创 2020-11-02 17:12:49 · 852 阅读 · 0 评论 -
READ TABLE 关键字TRANSPORTING NO FIELDS
用于read table with key 一般用于等读取内表的时候,只判断该内表中是否有次数据 不需要读取到工作区中。使用SY-SUBRC变量判断原创 2020-10-15 09:37:31 · 1333 阅读 · 0 评论 -
调试实现条件断点的方式
当某个循环次数比较大,我们只需要调试中间某一条的时候,我们怎么实现呢。比如某个LOOP循环有上万条数据,我们只需要看其中的8000或者9000行时,我们肯定不可能手动F5去跑程序的,比较笨的方法是找到我们需要调试行的行号,删除循环内表这行之前的数据进行跟踪。更好的办法是利用我们的Debug工具;1调试器自带的条件断点功能比如这里,我想要实现的效果就是当内表循环到2000行,客户=2000的时候会触发断点。这种创建断点的方式也可跟踪ABAP命令,方法,功能模块,消息等。2、创建监控点这种监控方原创 2020-10-12 13:36:43 · 528 阅读 · 0 评论 -
财务凭证创建增强
GGB1 根据科目强控贸易伙伴是否带出,测试过程发现BSEG-VBUND贸易伙伴被成功消除,但是ACDOCA-RASSC贸易伙伴依然会根据科目和供应商带出对应的贸易伙伴,对应的总账行也会代出客户或供应商对应的贸易伙伴。解决方法:类:CL_FINS_ACDOC_POSTING_EVENTS方法:UPDATE_CLEARING_INFO -set clearing information within POST这个发现开始部分,加入隐式增强 循环Changing表CT_ACDOC_CL...原创 2020-09-26 11:05:52 · 929 阅读 · 2 评论 -
SAP中采购订单行的最新实际单价怎么获取?
表PRCD_ELEMENTS - Pricing Elements根据采购订单抬头的凭证条件号-KNUMV+采购订单明细行号获取PRCD_ELEMENTS-KBETR原创 2020-09-21 11:18:22 · 1354 阅读 · 3 评论 -
财务凭证创建增强,过账到指定平行账套
财务启用平行账套 主分类账0L 平行分类账ZL实现要求,凭证导入只在特定账套过账BAPI:BAPI_ACC_DOCUMENT_POST抬头增强字段:LDGRP 分类账组 IF rb_3 = 'X'. "ZL分类账套 CLEAR zsbapi_EXTENSION. MOVE: 'ZL' TO zsbapi_EXTENSION-ldgrp, 'ZSBAPI_EXTENSION' TO extension2-structure. cl_...原创 2020-09-11 17:28:52 · 630 阅读 · 0 评论 -
HANA CDS视图修改(eclipse-adt)
CDS eclipse。原创 2020-09-11 17:04:40 · 1406 阅读 · 1 评论 -
创建销售订单几个BAPI的区别
创建销售订单有三个BAPI:BAPI_SALESORDER_CREATEFROMDAT2BAPI_CUSTOMERRETURN_CREATESD_SALESDOCUMENT_CREATEBAPI_SALESORDER_CREATEFROMDAT2和BAPI_CUSTOMERRETURN_CREATE 都调用了SD_SALESDOCUMENT_CREATE这个FM,区别在于调用的时候业务类型是写死的,BAPI_SALESORDER_CREATEFROMDAT2限制了业务对象为BUS2032,不能用来原创 2020-07-14 14:40:44 · 1136 阅读 · 0 评论 -
采购订单审批人
CDHDR条件OBJECTCLAS = 'EINKBELEG'OBJECTID = 采购订单TCODE = ME28 OR ME29N取对象OBJECTCLAOBJECTIDCHANGENRUSERNAMETCODEUDATEUTIMEUDATE UTIME降序排列循环 CDHDR 内表然后去CDPOS 中找条件OBJECTCLAS = EINKBELEGOBJECTID = 采购订单TABNAME = 'EKKO'FNAME = 'FRGKE'VALUE_NE原创 2020-06-17 13:55:02 · 495 阅读 · 0 评论 -
重新生成替代程序和激活所有例程
重新生成替代程序的程序:RGUGBR00 通过SE38执行,可以动态重新生成替代/校验(OBBH/OB28)的程序。激活所有例程的程序:RV80HGEN 可以激活SD的定价例程(VOFM)。原创 2020-05-20 17:32:21 · 1271 阅读 · 0 评论 -
MB51 选择屏幕增加字段
MB51原创 2020-03-13 16:58:32 · 1163 阅读 · 0 评论 -
MB51物料凭证清单增强字段
MB51原创 2020-02-28 13:33:40 · 1115 阅读 · 1 评论 -
GUI_DOWNLOAD函数
GUI_DOWNLOAD原创 2020-02-24 13:45:08 · 6208 阅读 · 1 评论 -
ALV下拉框
ALV FM : REUSE_ALV_GRID_DISPLAY_LVC使用set_drop_down_table 方法ALV结构增加 要显示Listbox的字段 举例:Listboxfieldcat字段设置fieldcat-fieldname = ‘Listbox’fieldcat-edit = 'X'.fieldcat-drdn_field = 'DD_HANDLE'.fieldc...原创 2019-12-19 19:12:20 · 1400 阅读 · 0 评论 -
采购信息记录问题记录
条件信息记录 获取价格 价格单位,条件信息记录到工厂级别从A017表获取条件信息记录到物料级别从A018获取根据获取到的条件记录号关联KONP和KONH获取有效期内的价格*获取信息记录 价格 SELECT SINGLE knumh INTO @DATA(lv_knumh) FROM a017 WHERE kappl = 'M' ...原创 2019-12-17 10:59:22 · 800 阅读 · 0 评论 -
SD 交货单过账
DATA: lw_header TYPE bapiobdlvhdrcon,lw_header_control TYPE bapiobdlvhdrctrlcon,lw_delivery TYPE bapiobdlvhdrcon-deliv_numb,lw_header_deadlines TYPE bapidlvdeadln,lt_header_dea...原创 2019-10-16 17:57:30 · 350 阅读 · 0 评论 -
SD 创建交货单
"bapi参数DATA:lv_vbelnTYPEbapishpdelivnumb-deliv_numb,lv_ship_pointTYPEbapidlvcreateheader-ship_point,lt_dlv_itemsTYPETABLEOFbapidlvreftosto,lt_return...原创 2019-10-16 17:54:05 · 336 阅读 · 0 评论 -
SD 创建销售订单
创建销售订单*抬头信息lw_head-doc_type=p_auart."类型lw_head-sales_org= 1000."销售组织lw_head-distr_chan='00'."分销渠道lw_head-division='00'."产品组lw_head-date_type=sy-datum....原创 2019-10-16 17:51:39 · 554 阅读 · 0 评论 -
DEMO
OO ALV,一些标准的demo程序BCALV_EDIT_01 切换 显示<------------------->修改 模式BCALV_EDIT_02 修改单元格BCALV_EDIT_03 修改的单元格校验BCALV_EDIT_04 删除行,添加行,检查并保存BCALV_EDIT_05 可编辑复选框,双击复选框单元格,更改复选框编辑状态BCALV_EDI...原创 2019-12-04 11:50:11 · 215 阅读 · 0 评论 -
ALV 简单表头记录
ALV函数:REUSE_ALV_GRID_DISPLAY_LVCi_callback_top_of_page='FRM_TOP_OF_PAGE'FORMfrm_top_of_pageDATA:i_headerTYPEslis_t_listheader, wa_headerTYPEslis_listheader.CLEARi...原创 2019-12-02 09:44:55 · 404 阅读 · 0 评论 -
ABAP 学习记录
ABAP 学习记录1、AT CHANGE OFAT CHANGE OF 在循环当中使用,作用时,当AT CHANGE OF field字段值发生变化时,执行AT CHANGE OF … END AT. 中的命令。2、新语法定义DATA(l_number) = ‘00000001’.DATA(lt_data) = gt_data.LOOP AT ITAB INTO DATA(IS_DA...原创 2019-11-06 11:20:44 · 452 阅读 · 0 评论 -
BAPI 记录
采购订单BAPI_PO_CREATE1采购订单创建交货单BAPI_OUTB_DELIVERY_CREATE_STO根据凭证类型获取TVAK-VBTYP 判断要创建的SO类别 不同类别调用不同BAPI创建SOBAPI_SALESORDER_CREATEFROMDAT2创建SO退货BAPI_CUSTOMERRETURN_CREATE创建SO借贷项凭证SD_SALES...原创 2019-11-01 16:10:07 · 944 阅读 · 0 评论