![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SAP ABAP
逍遥游abc
这个作者很懒,什么都没留下…
展开
-
BAPI_ACC_DOCUMENT_POST 简单理解过账BAPI使用,创建会计凭证
业务场景甲方是一家从事房屋租赁的公司,它的主营业务就是从各大租户手里收租子。月底了,小明发了工资美滋滋,钱到手没多久房东就催租子了,房租每月100,水电100, 税费22,合计222.小明如约在手机APP上向房东支付了当月的房租,这边钱到账后,甲方会计收到银行的转账通知,这个时候需要录入一笔凭证。借:其他应收款-公司往来款100元水电其他应收款-公司往来款100元房租其他应收款-公司往来款22元应缴税费贷:主营业务收...转载 2021-04-23 14:56:40 · 990 阅读 · 0 评论 -
ABAP 根据表名创建动态内表并更新
查询界面1.SE11 通过数据浏览器,右键将数据导出成 EXCLE 文件主程序*&---------------------------------------------------------------------**& Report ZIT0003*&---------------------------------------------------------------------**&*&-----------------转载 2021-04-23 08:40:24 · 1457 阅读 · 2 评论 -
SAP Smartforms 货币和数量字段设置参考及格式
在开发SAP Smartforms 时,会遇到 设置打印的货币字段或数量字段在打印预览时无法显示报错,及数量字段在打印预览时偏下方显示的格式问题,下面将给大家带来解决方法。1.在打印程序外创建含有行项目QUAN 数量字段的结构2.选择 '全局定义' --> 新建全局定义的 变量 'WA_ITEM' ,储存行项目结构中的字段3.选择 '全局定义' --> '货币/数量字段' ,将需要申明的数量字段参考自己本身,数量选择数据类型 'QUAN' 货币选择数据类型 'CURR...原创 2021-04-22 08:47:45 · 3567 阅读 · 1 评论 -
SAP增强实施步骤--二代增强
如果不懂ABAP的业务顾问,在用户提出增强需求时,经常不能马上给出答复能否实现,需要回去问相关的ABAP顾问,写相关增强开发说明,自己也不能确定需要用到哪些出口和具体增强点位,需要ABAP顾问自己去找,如果遇到初级ABAP顾问经常会引起抱怨。某个事物代码是否存在增强出口,存在哪些用户增强出口 ,其实不一定要非常熟悉ABAP,业务顾问可以按如下步骤进行查找确定(如下方法限查询二代出口,三代四代增强查找实施步骤另外篇幅介绍)二代增强实施步骤1.找到增强用户出口打完断点退出后,输入需要查找增强用户转载 2021-04-22 08:33:11 · 920 阅读 · 0 评论 -
MBST 冲销物料凭证 BAPI_GOODSMVT_CANCEL
DEMO1:REPORTzdemo_mbst.PARAMETERSp_mblnrTYPEbapi2017_gm_head_02-mat_doc.PARAMETERSp_ebelnTYPEebeln.DATA:lt_ekbeTYPETABLEOFekbe.DATA:ls_ekbeTYPEekbe.DATA:lv_mblnrLIKEmseg-mblnr..DATA:ls_goodsmvt_headretLIKEbapi2017_gm...转载 2021-04-21 16:33:11 · 677 阅读 · 0 评论 -
SAP如何修改表的数据
方法一:SE16N 进调试模式修改表: 事务代码:se16n 输入表名字 输入/h进入维护模式 修改GD-EDIT 和 GD-SAPEDIT内容为大写X。 se16nsapedit='X' EDIT='X' 然后按F8运行,输入条件继续运行,就可以看到表是可以修改的看到第一行已经可以修改方法二:SE16N 接口函数暴力修改SAP 表记录,修改表数据的方法,如下:SE3...原创 2021-04-21 15:13:11 · 3766 阅读 · 0 评论 -
如何创建,转换UUID[CL_SYSTEM_UUID]
UUID含义是通用唯一识别码 (Universally Unique Identifier),通俗一点就是一个不重复的字符串,有时会把UUID作为数据库的一个主键,这样就不用担心主键重复的问题。SAP中有个专门生成CL_SYSTEM_UUID,提供了4个静态方法创建生成不同类型的UUID:2进制,16进制,64位以及32位uuid。也可以进行不同类型UUID之间的相互转换。代码:REPORT ztest_uuid.DATA:l_uuid22 TYPE sysuuid_c22,.转载 2021-04-16 09:40:25 · 854 阅读 · 0 评论 -
SAP 选择屏幕下拉框实现
选择屏幕:DATA:vid TYPE vrm_id , "屏幕字段(可以是单个的I/O空间或者是Table Control中的一个单元格) list TYPE vrm_values, value LIKE LINE OF list.PARAMETERS S_LSBOX TYPE c AS LISTBOX VISIBLE LENGTH 20 DEFAULT '2'. “选择条件字段*初始化时下拉框赋值INITIALIZATION.AT SELECTION-SC原创 2021-04-15 11:17:25 · 1752 阅读 · 0 评论 -
SAP ABAP判断日期是否合法
优选:DATA:lv_date TYPE sy-datum.lv_date = '2020-10-'.CALL METHOD cl_isu_date_check=>date_check_plausibility EXPORTING x_date = lv_date EXCEPTIONS plausibility_check_failed = 1 OTHERS = 2.IF sy-su原创 2021-04-15 09:47:57 · 1661 阅读 · 0 评论 -
BAPI_GOODSMVT_CREATE物料凭证创建…
'BAPI_GOODSMVT_CREATE可以实现物料凭证创建和部分冲销全部冲销可以使用BAPI_GOODSMVT_CANCELCALLFUNCTION'BAPI_GOODSMVT_CREATE'EXPORTINGGOODSMVT_HEADER=GOODSMVT_HEADERGOODSMVT_CODE=GOODSMVT_CODEIMPORTINGMATERIALDOCUMENT...转载 2021-04-10 08:02:58 · 771 阅读 · 0 评论 -
ABAP HR 开发报表使用的逻辑数据库,选择屏幕是如何生成
SE36,选择“选择”,点击“显示”进去,就可以看到代码了。想PNP的程序就是DBPNPSEL。原创 2021-04-02 11:47:22 · 1238 阅读 · 0 评论 -
SAP 工作台请求和定制请求的区别
SAP BASIS 工作台请求和定制请求的区别工作台: workbench相关的对象更改,比如新建一个ABAP程序,一般是跨 client的修改;工作台请求可以理解成ABAP开发相关的,比如定价例程、替代、COPA这些修改跨client表的请求.定制:就是对配置的修改,比如 修改公司代码,一般是client相关的修改.工作台和定制这两种传输类型,必须按照系统事先定义的传输路径进行传输,开发系统 产生的工作台或定制的传输请求的目标系统,只能是生产系统;副本传输:此类传输请求的目标系统可以是整个传原创 2021-03-20 15:26:02 · 2354 阅读 · 0 评论 -
ABAP语言中如何定义嵌套内表(nested internal table)
需求描述:和某兄弟部门合作,需要调他们的webservice,他给我的报文测试例子[{"wageNo": "2020120401","wageDay": "2020-12-03","corpCode": "1000","bifCode": "9004","payerAccNo": "123456789","payerBankName": "中国工商银行股份有限公司北京高速公路指挥中心支行","payerAccName": "浦发123456","payerProv": "北京","原创 2021-03-08 16:49:27 · 1610 阅读 · 1 评论 -
ABAP中SPLIT关键字 当分隔符位于字符串首尾时
使用SPLIT关键字将一个字符串按某个分隔符拆分,如果分隔符穿插在字符串中间(即首尾字符均不是分隔符的情况),我们很容易知道拆分后的结果,但如果分隔符恰好位于字符串首或者末尾呢? 如下面的代码所示,在调试窗口中可以看到执行完第6行代码之后内表 lt_split_table 中所有的行项目。DATA: lv_str TYPE string, lt_split_table TYPE TABLE OF string.lv_str = '/This/is/a/test./原创 2021-02-26 08:38:11 · 4908 阅读 · 0 评论 -
abap 动态指针理解加深ASSIGN COMPONENT
"ASSIGN COMPONENT 运用REPORT AA.TABLES:ZTFI029.TYPES:BEGIN OF ZTFI029, MANDT TYPE STRING, KUNRG TYPE STRING, MATNR TYPE STRING, CHARG TYPE STRING, Z_CPMC TYPE STRING, Z_GGXH TYPE STRING, .转载 2021-01-27 15:31:43 · 2002 阅读 · 0 评论 -
SAP migo增强
1、我在网上查到migo增强的资料badi有MB_MIGO_BADIMB_DOCUMENT_BADIMB_CHECK_LINE_BADI2、我的需求是在移库时检查批次是否相同,3、我使用的是MB_MIGO_BADI中的POST_DOCUMENT,具体操作如下:I、se19中创建badi增强点II、编辑实施III、在接口POST_DOCUMENT中实现代码IV、如果移动类型为311、Z07和309 ,检查输入的批次是否相同,不同的话终止程序,报错:移库前后批次必转载 2021-01-22 15:34:22 · 949 阅读 · 0 评论 -
SAP与 WebService接口的配置与调用
SAP 能通过设置WebService与外部的webservice服务连接;1、进入事务:SE80,选择 Package ,指定保存的开发包,按图1操作,创建一个Enterprise Service原创 2021-01-20 11:53:48 · 8987 阅读 · 1 评论 -
SAP SE09传输请求Q&A
请求中包含锁定对象,且包含的内容过多需要删除时?T-CODE:SE03原创 2021-01-15 18:41:01 · 907 阅读 · 0 评论 -
SAP如何删除或更改已经释放的传输请求
下面介绍一个方法删除或修改在SAP系统内已经释放的传输请求TR。修改TR状态SE38运行 RDDIT076 程序,将TR的状态由已释放R修改为可修改的D状态。双击请求号修改后退出程序就行了。...原创 2021-01-14 18:31:08 · 3307 阅读 · 0 评论 -
BDC模式与OKCODE、 CALL TRANSACTION用法
BDC(Batch Data Conversion):在SAP系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的,典型的情形就是切换系统的时候,旧系统的数据需要导入SAP),大致过程不外乎是这样: 输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。CALL TRANSACTION 'tcode' USI.原创 2021-01-08 09:24:07 · 1842 阅读 · 0 评论 -
SAP ABAP代码下载 备份
ABAP SAP自定义程序导出PS:此博客没有源码,只解释资源的作用,资源出处代码资源另外附上其他大佬代码资源,个人强烈推荐---->ABAP代码下载 备份1. 需求:希望可以导出在SAP系统中的自定义程序,要求导出的自定义程序中含有的自定义函数,自定义结构表格都连带导出。结果:程序版本从Mass Download 1.5.5到Mass Download 1.5.5.4_zh 个人修改版.txt (20180427)修改汇总:*&---"author: lij.转载 2020-12-22 11:04:29 · 3564 阅读 · 1 评论 -
SAP开发 结构复用(Include)
TYPES BEGIN OF struc_type. TYPES comp ... TYPES comp TYPE struc_type BOXED. "参照另一结构类型 INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } "将另一结构包括进来 [AS name [RENAMING WITH SUFFIX suffix]]. TYPES END OF struc_type. INCLUDE { {TYPE st.转载 2020-12-18 13:36:45 · 1152 阅读 · 0 评论 -
SAP用户状态、系统状态、订单状态 详解
SAP存放业务对象的表在sap中,包括订单、项目(项目立项、开工申请)、两票等,存在审批流程的业务单据,这些业务对象都会有状态的属性,用来控制和约束该业务当前的操作。【系统状态】以I开头,主数据表是TJ02,描述表TJ02T表TJ04可以据业务对象号(如WBS是PRN),可以查出所有相关的状态这个在SAP和点检集成时取通知单的系统状态传值时用到了。【用户状态】以E开头,每个用户状态都关联一个用户参数文件,相同的状态编码在不用的参数文件下意义不用,主数据表为TJ30, ...原创 2020-12-16 11:36:36 · 12130 阅读 · 1 评论 -
SAP应用界面开发:SELECT-OPTIONS对象、PARAMETERS 对象
1.SELECT-OPTIONS基本语法及定义 SELECT-OPTIONS通常用于参照一数据库字段来建立数据输入域,其定义对象命名长度不能超过8位,其产生的屏幕对象最大输入长度为18位,语法如下:SELECT-OPTIONS <sel> FOR <f>.[For Example] SELECT-OPTIONS:DATAFORSY-DATUM. *运行界面如下:SELECT-OPTIONS内表结构:名称 ...原创 2020-12-16 10:51:49 · 2093 阅读 · 2 评论 -
SAP GUI 快捷方式登陆 密码可编辑模式
GUI740下: 打开注册表:Win+Rregedit.exe 路径:HKEY_CURRENT_USER\Software\SAP\SAPShortcut\Security 名称:EnablePassword = 1 创建快捷方式GUI750下: 打开注册表:Win+Rregedit.exe 路径:HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432NODE/SAP/SAPLOGON...原创 2020-12-10 08:54:47 · 1122 阅读 · 0 评论 -
SAP中界面化操作数据库表的数据
方法一:SE16N 进调试模式修改表:事务代码:se16n 输入表名字 输入/h进入维护模式然后继续运行,就可以进行编辑了.方法二:SE16N 接口函数暴力修改SAP 表记录,修改表数据的方法,如下:SE37,function : SE16N_INTERFACE ,输入需要修改的表名,设置EDIT,SAPEDIT参数为‘X',...原创 2020-12-01 11:37:29 · 242 阅读 · 0 评论 -
ABAP 获取状态的两个函数 STATUS_TEXT_EDIT 和 STATUS_READ 的简单介绍
在SAP中对于如何获取订单的状态,提供了至少两个函数,分别是 STATUS_READ 和 STATUS_TEXT_EDIT。下面简单介绍这两个函数 SELECT dwerk "工厂 dauat "订单类型 dauty "订单类别 projn "wbs afpo~aufnr posnr aufk~objnr INTO CORRESPONDING FIELDS OF TABLE gt_afpo F.原创 2020-12-01 10:06:21 · 2150 阅读 · 0 评论 -
SAP 跳转到指定事务代码界面 的实现方法
做过的一个 ALV 报表,双击 采购申请字段 调转至 ME53N ,双击 采购订单字段 跳转至 ME23N这个默认值的赋值可以通过set parameter ID来实现,语法如下: case ucomm. when '&IC1'. "双击 read table gt_out assigning <fs_out> index rs_selfield-tabindex. if sy-subrc = 0. case rs_sel..原创 2020-11-20 15:44:05 · 2154 阅读 · 0 评论 -
ALV字段目录lvc_s_fcat
控制ALV界面的主要是字段目录,对应的结构是LVC_S_FCAT/LVC_T_FCAT,如果是调用不带LVC后缀的函数,则对应的是SLIS_FIELDCAT_ALV/SLIS_T_FIELDCAT_ALV两套参数可以通过函数相互转换,如果需要的话,可以调用如下两个函数LVC_TRANSFER_TO_SLISLVC_TRANSFER_FROM_SLIS相关的函数在函数组SLVC中,有兴趣的可以进去看看字段名 字段描述 功能 备注 COL_POS ALV 控制.原创 2020-10-15 16:54:17 · 2428 阅读 · 0 评论 -
SAP表维护生成器, ABAP表维护生成器
创建好之后 SM30 输入表名查看该维护器,或者SE54给表维护器创建TCODE:SE93.打开code维护器3.对表维护器修改,SE80,进入函数组,找到该表维护器的屏幕,对于布局,以及逻辑流都可以实现修改。但是,如果我们重新生成该表维护器视图,会将这些修改项全部删除,所以重新生成前,最好确认清楚...原创 2020-10-12 14:29:20 · 1283 阅读 · 0 评论 -
ABAP 如何查看代码不同版本的代码修改
实用程序-----版本--------版本管理勾选你要比较的两个版本显示结果原创 2020-10-06 11:20:05 · 1220 阅读 · 0 评论 -
SAP常用系统字段含义
SAP常用系统字段含义全部的在SYAT表里,有兴趣的可以查看,以下是常见的系统字段SY-ABCDE 常量A-Z字母表SY-DATUM 服务器日期SY-UZEIT 服务器时间SY-LANGU 当前登陆语言SY-SUBRC 执行状态SY-UNAME 用户名SY-TCODE 当前执行程序的...原创 2020-10-05 10:19:22 · 2109 阅读 · 0 评论 -
JAVA 调用SAP端接口
一、sapjoc3.jar获取由于sap官网提供的链接需要合作公司提供账号密码,如果商用请索要正确的用户名密码下载直接把 sapjco3.jar sapjco3.dll sapjco3.pdb拷贝至lib下,然后add library把他们都添加进去二、源码编写package com.authine.cloudpivot.web.api.controller.runtime;import com.authine.cloudpivot.web.api.handler.Customized.原创 2020-09-29 15:32:26 · 2101 阅读 · 0 评论 -
SAP如何删除数据表中的数据
方法一通过DELETE FROM语句删除。"DELETE FROM [表名]",删除表中的全部数据。DELETE FROM ZMATNR_HISTORY.方法二通过SE14删除全部数据。方法三se16进入,运行,选中要删除的数据,双击选中的第一条数据,在menu中输入‘/h’,回车,显示‘调试被激活’。再回车,进入调试环境,双击code,将‘SHOW’改为‘DELE’,按F8,屏幕中出现,点击删除条目,显示‘数据库记录已删除’。此时仅删除当前数据,继续点击‘删除条目’,即可将下面的数据删除转载 2020-09-28 10:49:45 · 4543 阅读 · 0 评论 -
关于数据库或者任何语言代码中 LT,LE,EQ,NE,GE,GT 的含义
LT,LE,EQ,NE,GE,GT分别表示什么经常有人混淆,现如下解释: lt:less than 小于 le:less than or equal to 小于等于 eq:equal to 等于 ne:not equal to 不等于 ge:greater than or equal to 大于等于 gt:greater than 大于 ...原创 2020-09-18 14:43:36 · 10481 阅读 · 0 评论 -
ABAP ALV可编辑状态下 输入金额/数量字段 小数位数提前(数量错误)的问题
1, 问题描述ALV单元格在可输入状态下,金额和数量类型的字段小数点的位置会发生错误,数量是quan类型,金额是curr类型.2, 问题解决方法如下:1、对于货币字段,catalog中再添加一个“指定数据类型”的属性datatype,如下:wa_fieldcat-datatype = 'CURR' . " 指定数据类型这样在修改数据并保存时,才能将数据保持原样,否则输入的数据会自动将小数点提前2位;2、对于数量字段,也要添加一个“指定数据类型”的属性,才能保持数据的...原创 2020-09-15 17:41:26 · 1194 阅读 · 0 评论 -
ABAP 跳转到浏览器,打开界面
方法一:DATA:g_weburlTYPEstring.g_weburl='http://www.baidu.com'.CALLMETHODcl_gui_frontend_services=>executeEXPORTINGdocument=g_weburlEXCEPTIONSOTHERS=1.方法二:CALLMETHODcl_gui_frontend_services=>execute...原创 2020-09-14 14:18:01 · 1813 阅读 · 1 评论 -
ABAP 条件断点
条件断点首先这个表有700多行双击 CTRL + F 我要的数据在686行难道要按 600多下?然后F8 开始运行已经运行到我们需要的数据之处了,开始我们下面的分析原创 2020-09-12 10:31:39 · 114 阅读 · 0 评论 -
ABAP 屏幕的一点小技巧
每个操作界面必定对应着一个屏幕,一个GUI状态。这个界面是最常见的一个界面,系统------状态 就可以找到这个界面上面明确的标注了该界面所用到的屏幕和GUI状态。可以通过双击进去查看,但是当我们需要进行屏幕的二次开发的时候不够直观,不够直接。我们可以通过SE41SE51...原创 2020-09-11 17:50:47 · 379 阅读 · 0 评论 -
ABAP 自定义屏幕开发实现屏幕跳转
屏幕跳转遇到的问题描述:在ABAP中的SCREEN的开发中,如果通过call screen 1000 starting at 11 12 ending at 23 22实现弹出小窗口的时候,右上角的关闭按钮是无法达到关闭窗口的效果的,我们都知道如果通过call screen 1000调用屏幕的时候,关闭按钮是可以关闭窗口的,小窗口的关闭要通过CODING来实现1)如果没有给这个屏幕设置GUI状态,那么请创建一个GUI状态,然后给这个屏幕,通过set pf-status来实现。2)有了GUI状态后,原创 2020-09-11 09:06:42 · 2323 阅读 · 0 评论