SAP ABAP 常用实用函数

news2024/11/18 12:41:00

文章目录

  • 前言
  • 一、日期 时间 相关
    •             `a.`两个日期之间相隔多少月
  • 二、数据 操作 转化 加密
    •             `a.`增加 去除 前导零
    •             `b.`将 数值类型 负号 提前
    •             `c.`数据加密 MD5 加密
  • 三、获取 属性 定义 读取 数据
    •             `a.`获取函数的 出参 入参 定义
  • 四、步骤四
    •             `a.`步骤四 a
  • 五、步骤五
    •             `a.`步骤五 a
  • NED、总结


前言

      这篇文章会持续更新,先 点赞 关注 收藏 制作不易 谢谢🤞
      这篇文章会持续更新,先 点赞 关注 收藏 制作不易 谢谢🤞
      这篇文章会持续更新,先 点赞 关注 收藏 制作不易 谢谢🤞

      这篇文章给大家介绍一下我们 >ABAP 在日常开发中最常用到的一些函数。在SAP中是有大量的标准函数的,涉及面很广很多。其实BAPI也是函数但是这篇文章不会记录介绍,只会持续更新记录我们在ABAP中常用的标准函数 例如对数据的操作转化、日期时间相关、数据属性定义获取 、上载下载、。。。。等等之类的标准函数。下面的提及记录的函数都会给出相应简单的小案例。我会对这些记录的函数 进行划分整理,大家有想查阅的直接查看目录定位到对应位置点击即可。


一、日期 时间 相关

          这个标题下面的之介绍日期时间相关操作的函数。

            a.两个日期之间相隔多少月

                      MONTHS_BETWEEN_TWO_DATES 可以计两个日期之间相隔了多少月
                       1.代码示例
                            我们下面的示例给了两个日期,2024060620230606 相差了12个月计算结果是没问题的。

  DATA lv_date1 TYPE DATS VALUE '20240606'.
  DATA lv_date2 TYPE DATS VALUE '20230606'.

  DATA lv_subdate TYPE string.

  CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES'
    EXPORTING
      i_datum_bis         = lv_date1
      i_datum_von         = lv_date2
*     i_kz_incl_bis       = 'X'
   IMPORTING
     E_MONATE            =  lv_subdate.
  
  WRITE lv_subdate.

在这里插入图片描述

                       2.注意事项
                            这个函数其实很简单传两个 YYYYMMDD 的日期就可以计算两个日期之间的月份数。但是还有一个参数 i_kz_incl_bis 需要我们注意一下。这个可以参数控制是否包括结束日期(即第二个日期)在内, 第二个日期必须满足一个月才会计算进去,下面我们有个日期是 20240630 这个 30 已经满足一个月了当我们 i_kz_incl_bis 参数设置为 X 的时候就会多计算一个月也就是 13 个月。当不传这个值的话计算结果依然是 12 个月。

  DATA lv_date1 TYPE DATS VALUE '20240630'.
  DATA lv_date2 TYPE DATS VALUE '20230606'.

  DATA lv_subdate TYPE string.

  CALL FUNCTION 'MONTHS_BETWEEN_TWO_DATES'
    EXPORTING
      i_datum_bis         = lv_date1
      i_datum_von         = lv_date2
      i_kz_incl_bis       = 'X'
   IMPORTING
     E_MONATE            =  lv_subdate.

  WRITE lv_subdate.

在这里插入图片描述

二、数据 操作 转化 加密

          步骤二介绍

            a.增加 去除 前导零

                       1.代码示例
                            这里不做演示了,笔者另外一篇文章有这个函数的介绍。链接在下方,具体位置在 操作 数据 >>> 增加 去除 前导零
                            SAP ABAP常用语法 关键字详解 (超级全面)

            b.将 数值类型 负号 提前

                       1.代码示例
                            CLOI_PUT_SIGN_IN_FRONT 可以将负号提前 但是被操作的数值得是字符类型。

  DATA lv_num1 TYPE I VALUE -2.

  DATA lv_res  TYPE string.

  lv_res = lv_num1."先把要符号提前的数值转为字符类型

  CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
    CHANGING
      value = lv_res. "调用函数转化

  "打印结果
  WRITE / lv_num1.
  WRITE / lv_res.

                       2.效果展示
                            负号提前也可以用ALV设置表头的 fieldcat 那个内表 可以格式化数值将负号提前再显示出来。
在这里插入图片描述

                       3.步骤二 a 3
                            pass

            c.数据加密 MD5 加密

          MD5加密 我下面介绍两个函数,分别为 MD5_CALCULATE_HASH_FOR_CHARCALCULATE_HASH_FOR_CHAR 。他俩的主要区别是前者仅支持 MD5 算法。后者有一个参数可以控制支持多种哈希算法,如 MD5, SHA1, SHA256 等。当你明确知道只需要 MD5 算法时,可以使用前者当你需要支持不同的哈希算法或可能在将来更改哈希算法时,使用这个通用的函数更为灵活。如果后者函数中的ALG 参数设置为 MD5 的话这两函数效果是一样的。
                       1.代码示例
                            我直接把两个函数写在一起了,让他们加密相同的值看结果就行了

  DATA lv_text      TYPE string.         "被加密的数据
  DATA lv_hashvalue TYPE hash160.        "第一个函数返回值
  DATA lv_md5hash   TYPE md5_fields-hash."第二个函数返回值

  lv_text = 'Hello World'."被加密的数据赋值

  CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
    EXPORTING
      alg  = 'MD5' " 可以更改为 'SHA1', 'SHA256' 等
      data = lv_text
    IMPORTING
      hash = lv_hashvalue.

  CALL FUNCTION 'MD5_CALCULATE_HASH_FOR_CHAR'
    EXPORTING
      data = lv_text
    IMPORTING
      hash = lv_md5hash.

  WRITE: / '第一个函数:', lv_hashvalue.
  WRITE: / '第二个函数:', lv_md5hash.

                       2.运行效果
                            运行效果两个函数加密同样的数值 结果是一样的因为使用了同样的加密算法。
在这里插入图片描述

                       3.注意事项
                            CALCULATE_HASH_FOR_CHAR 返回的加密结果是有多种的 根据需求取就行了一般就用的是第一个。
在这里插入图片描述

三、获取 属性 定义 读取 数据

          步骤二介绍

            a.获取函数的 出参 入参 定义

                      RFC_GET_FUNCTION_INTERFACE 可以获取函数的出参入参定义。
                       1.代码示例
                            xxx


                       2.注意事项
                            xxx


四、步骤四

          步骤二介绍

            a.步骤四 a

                       1.步骤二 a 1
                            pass

                       2.步骤二 a 2
                            pass

                       3.步骤二 a 3
                            pass

五、步骤五

          步骤二介绍

            a.步骤五 a

                       1.步骤二 a 1
                            pass

                       2.步骤二 a 2
                            pass

                       3.步骤二 a 3
                            pass

NED、总结

        以上就是今天要讲的内容,本文仅仅简单介绍了SAP 中一些常用的标准函数,感觉笔者讲的好对自己有帮助的还麻烦点个免费的赞赞制作不易谢谢谢谢!!!如果有说错或者不好的地方还望大家提出来见谅。感觉笔者写的好的别忘了关注点赞加评论哦,也欢迎大家一起来讨论。谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882499.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux|如何查找和删除重复文件

引言 整理您的个人文件夹甚至整个操作系统可能会相当棘手,特别是当您习惯于使用下载管理器从网上下载各种资料时。 在很多情况下,您可能会发现自己不小心下载了重复的mp3、pdf和epub文件(以及其他类型的文件),并将它们…

HTML5+CSS3+JS小实例:图片九宫格

实例:图片九宫格 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1…

智慧城市新利器:免费可视化工具助力高效管理

在智慧城市的建设中&#xff0c;实现高效的统筹管理是至关重要的。通过免费可视化工具“山海鲸可视化”&#xff0c;这一目标可以轻松达成。山海鲸可视化是一款免费可视化工具&#xff0c;具备二三维融合、易用性、安全性以及高质量画面渲染等特色&#xff0c;是制作智慧城市可…

通义听悟--一个懂你的AI助理

通义听悟--一个懂你的AI助理 通义听悟音频转文字本地音视频转文字云盘音视频转文字 实时记录通义听悟进阶体验感受功能建议产品联动 通义听悟 在体验通义听悟之前&#xff0c;我们首先得知道什么是通义听悟&#xff1f;有什么应用场景&#xff1f; 通义听悟简单来说就是你的工…

Java短剧系统

探索影视新体验 &#x1f4f1;一、引言&#xff1a;短剧时代的来临 在数字化的今天&#xff0c;我们见证了许多内容消费模式的转变。从长篇大论的电视剧到短小精悍的短视频&#xff0c;再到如今备受瞩目的短剧&#xff0c;观众对于影视内容的需求越来越多元化。而短剧系统微信…

Es结合springboot(笔记回忆)

导包 <!--导入es--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency> <dependency><groupId>org.springframework.boot<…

前端vue项目升级nodejs后无法运行了

问题描述&#xff1a; 运行、打包都正常的vue项目&#xff0c;在将nodejs升级到v20.14.0后&#xff0c;均报错了&#xff1a; Error: error:0308010C:digital envelope routines::unsupported opensslErrorStack: [ error:03000086:digital envelope routines::initializ…

Centos下rpm和yum执行卡住问题(已解决)

问题描述 执行rpm和yum卡住&#xff0c; 没有任何报错信息&#xff0c;且无法 ctrl c 终止&#xff0c;只能通过后台 kill -9 杀死。 问题排查&#xff1a; 查看yum日志&#xff1a;yum -vv 软件包 会发现卡在 loading keyring from rpmdb&#xff0c;即load DB存在问题。 …

Java - 程序员面试笔记记录 实现 - Part2

2.1 输入输出流 流可以被看作一组有序的字节集合&#xff0c;即数据在两个设备间的传输。 字节流&#xff1a;以字节作为单位&#xff0c;读到一个字节就返回一个字节&#xff1b;InputStream & OutputStream。 字符流&#xff1a;使用字节流读到一个到多个字节先查询码…

【技巧】ArcGIS Pro设置自动保存数据编辑内容

一、工程文件自动保存 ArcGIS Pro软件的工程也可以自动保存备份。默认备份时间是5分钟&#xff0c;您可以在【工程】→【选项】→【常规】→【工程恢复】中调整自动备份时间。 二、数据编辑自动保存 操作方法&#xff1a;【工程】→【选项】→【编辑】→【会话】&#xff0c;勾…

安卓app开发-基础-本地环境安装android studio且配置参数

安卓app开发-基础-本地环境安装android studio且配置参数&#xff01;今天为大家介绍一下&#xff0c;如何在自己本地电脑安装android ,studio和启动一个简单的java版本的项目。 第一步&#xff0c;去下面的地址&#xff0c;下载一个安装文件。 地址&#xff1a;AndroidDevToo…

Stable Diffusion 商业变现与绘画大模型多场景实战

前言 ai绘画软件Stable Diffusion是一种通过模拟扩散过程&#xff0c;将噪声图像转化为目标图像的文生图模型&#xff0c;具有较强的稳定性和可控性&#xff0c;可以将文本信息自动转换成高质量、高分辨率且视觉效果良好、多样化的图像。在日常工作中&#xff0c;ai绘画软件St…

(3)Java 8 实战第二版——使用流和Lambda进行高效编程

集合工厂 List<String> friends Arrays.asList("Raphael", "Olivia"); friends.set(0, "Richard"); friends.add("Thibaut"); ←---- 抛出一个UnsupportedModificationException异常通过工厂方法创建的Collection的底层…

加载数据到mysql并解决原始数据乱码问题

查看linux上数据&#xff1a; 使用命令转换编码&#xff1a; iconv -f GBK -t UTF-8 toutiao.csv -o toutiao2.csv加载数据到mysql: load data local infile /root/toutiao2.csv INTO TABLE pdz FIELDS TERMINATED BY , LINES TERMINATED BY \r\n;

中霖教育怎么样?税务师通过率高吗?

中霖教育怎么样?税务师通过率高吗? 我们在税务师考试培训方面有着不错的成绩&#xff0c;这都是老师与学员共同努力的结果。 采用小班教学模式&#xff0c;确保每位学员都能得到足够的关注和指导&#xff0c;在学习过程中针对学员的薄弱环节进行专项突破。 因为大部分学员…

《昇思25天学习打卡营第4天|数据集 Dataset》

文章目录 前言&#xff1a;今日所学&#xff1a;1. 数据集加载2. 数据集迭代3. 数据集常用操作与自定义数据集 前言&#xff1a; 今天学习的是数据集的内容。首先&#xff0c;数据是深度学习的基石&#xff0c;高质量的数据输入能够在整个深度神经网络中发挥积极作用。MindSpo…

ATA-7015铁电仪高压放大器的作用是什么

铁电仪高压放大器是科学实验和工业应用中的一种重要设备&#xff0c;主要用于放大铁电仪测量中产生的微弱信号。铁电仪是一种用于测量材料电介质中铁电性质的仪器&#xff0c;其工作原理基于材料在电场中表现出的电极化现象。高压放大器在铁电仪中的作用是将由被测材料产生的微…

Golang-slice理解

slice golang-slice语雀笔记整理 slicego为何设计slice&#xff1f;引用传递实现扩容机制 go为何设计slice&#xff1f; 切片对标其他语言的动态数组&#xff0c;底层通过数组实现&#xff0c;可以说是对数组的抽象&#xff0c;底层的内存是连续分配的所以效率高&#xff0c;可…

qt结合vs2022安装

进入清华大学开源软件&#xff1a; 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载完成后&#xff0c;双击进行安装&#xff1a; 进入邮箱进行验证&#xff1a; 可能是因为网络问题&#xff0c;无法安装。 重新安装5.12.12版本。 安装后启动失败&#xff0c;重新…

tauri使用github action实现跨平台编译并解决编译错误,mac已损坏,无法打开,你应该将它移到废纸篓解决办法

正常编译为跨平台结果就像上面的&#xff0c;有mac/windows/linux的安装程序&#xff0c;直接下载就可以安装使用&#xff0c;我的这个livebox桌面端仓库地址&#xff1a;GitHub - Sjj1024/LiveBox: livebox&#xff0c;里面有编译文件可以参考。今天主要讲一下遇到的问题。 官…