SAP ABAP基础语法-内表篇(二)

十一、使用 SPLIT 直接拆分到内表:

   DATA: BEGIN OF auth_data OCCURS 0,text(1024),END OF auth_data.STR = 'SE39/SE39/SE01/SE10'.SPLIT STR AT '/' INTO TABLE auth_data.

二十、CONDENSE 的用法:

      把工作区的内的所有字段的值 赋给 字符串

DATA: BEGIN OF sentence,word1 TYPE c LENGTH 30 VALUE 'She',word2 TYPE c LENGTH 30 VALUE 'feeds',word3 TYPE c LENGTH 30 VALUE 'you',word4 TYPE c LENGTH 30 VALUE 'tea',word5 TYPE c LENGTH 30 VALUE 'and',word6 TYPE c LENGTH 30 VALUE 'oranges',END OF sentence,text TYPE string.text = sentence.
CONDENSE text.write text.运行结果:She feeds you tea and oranges

十三、给输出的内容加上底色。

      Format color 1 on .write: / sy_datum.Format color 1 off...color 的说明可以按F1去查询,1表示蓝色color只能从1到7.

 十四、Modify 修改内表总结

*&**修改内表第四条记录的FLAG字段。
itab-flag = 'F'.
modify itab INDEX 4 TRANSPORTING FLAG  .
*&**修改内表FLAG字段为空的记录-批量修改
itab-flag = 'X'.

十五、内表方法比较

*&**不推荐
loop at itab.read table ftab with KEY flag = itab-flag.
endloop.
*&**推荐
FIELD-SYMBOLS <FS> LIKE ITAB.
LOOP AT ITAB ASSIGNING <FS>.READ TABLE FTAB WITH KEY FLAG = <FS>-FLAG.
ENDLOOP.

十六、内存的存入(EXPORT)与读取(IMPORT)

   例一:REPORT yitab_to_excel.data: p1(5) VALUE 'text3',p2(5) VALUE 'text4'.data: text1(5) VALUE '11111',text2(5) VALUE '22222'.
*&**把P1的地址指向TEXT1的值,把P2的地址指向TEXT2的值。export: p1 from TEXT1 to MEMORY id 'id1',p2 = TEXT2 to MEMORY id 'id2'.     "两种写法是一样的,
*&***把P1指向的值给TEXT2,把P2指向的值给TEXT1.import: p1 = text2 FROM MEMORY id 'id1',p2 to text1 FROM MEMORY id 'id2'.write: TEXT1,TEXT2.例二:TYPES:BEGIN OF tab_type,para TYPE string,dobj TYPE string,END OF tab_type.DATA:id    TYPE c LENGTH 10 VALUE 'TEXTS',text1 TYPE string VALUE `IKE`,text2 TYPE string VALUE `TINA`,line  TYPE tab_type,itab  TYPE STANDARD TABLE OF tab_type.line-para = 'P1'.line-dobj = 'TEXT1'.APPEND line TO itab.line-para = 'P2'.line-dobj = 'TEXT2'.APPEND line TO itab.
*&****把内表的地址放入内存,这样内表的两个字段都是地址,这样P1就指向text1,且text1也是一个地址EXPORT (itab)     TO MEMORY ID id.
*&****P1指向text1,在把text1指向的值赋给text2;P2指向text2,在把text2指向的值给text1.IMPORT p1 = text2p2 = text1 FROM MEMORY ID id.write: text1,text2.

十七、权限对象返回码所代表的意思。

    ·         0: 用户权限检查通过.

    ·        4: 用户权限不足.

    ·        8: 参数的数量不正确.

    ·        12: 权限对象不存在.

十八、调用事务

ALINK_CALL_TRANSACTION

如果一个事务码没有权限的话,可以使用这个函数绕过权限查检,

运行这个函数,输入事务码.

十九、系统实例

在SE38环境下的程序名输入栏输入'DEMO*'后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,输入'BCALV*'后按F4,你可以查到很多ALV示例程序.

输入'SAPMTZ*'后按F4,你可以查到很多事务程序

例:BCALV_EDIT_01                  切换整个网格的准备输入状态BCALV_EDIT_02                  定义单元格级别的准备输入状BCALV_EDIT_03                  校验修改的单元格BCALV_EDIT_04                  删除和追加行BCALV_EDIT_05                  复选框BCALV_EDIT_06                  列级别的下拉列表框BCALV_EDIT_07                  单元级别的下拉列表框BCALV_EDIT_08                  集成不标准 F4 帮助

二十、WRITE ...TO 与 MOVE ...TO的区别


WRITE ... TO 把源的格式、值附到目标。MOVE ... TO 直接把源的值附到目标。例:
data: gv_char1( 20) typec,
gv_char2( 20) typec,
dec1( 10) type p decimals2value'22345.89'.start- of-selection.
* date *
write:/ 'date variable'.
write sy-datum to gv_char1.
write:/ 'write to', gv_char1.
move sy-datum to gv_char2.
write:/ 'move to', gv_char2.
gv_char2 = sy-datum.
write:/ 'gv_char2= ', gv_char2.
skip1.
* decimal *
write:/ 'decimal variable'.
write dec1 to gv_char1.
write:/ 'write to', gv_char1.
move dec1 to gv_char2.
write:/ 'move to', gv_char2.
gv_char2 = dec1.
write:/ 'gv_char2=', gv_char2.显示的结果是:
测试EXCEL模版导入date variable
write to 2008-09-30
move to 20080930
gv_char2= 20080930decimal variable
write to 22,345.89
move to 22345.89
gv_char2= 22345.89

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

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

相关文章

【论文阅读】自动驾驶安全的研究现状与挑战

文章目录 摘要1.引言1.1.自动驾驶安全1.2.攻击面1.3.内容和路线图 2.自动驾驶技术2.1.组成2.2.技术 3.传感器安全3.1.照相机3.2.GNSS&#xff08;全球导航系统&#xff09;/IMU&#xff08;惯性测量单元&#xff09;3.3.超声波传感器3.4.毫米波雷达3.5.激光雷达3.6.多传感器交叉…

typescript基础之satisfies 与 as const

satisfies 是 TypeScript 4.9 版本中引入的一个新的运算符&#xff0c;它可以让你检查一个给定的类型是否满足一个特定的接口或条件。换句话说&#xff0c;它可以确保一个类型具有一个特定接口所要求的所有属性和方法。它是一种保证一个变量符合一个类型定义的方式。 satisfie…

【校招VIP】前端基础之post和get

考点介绍&#xff1a; get和post 是网络基础&#xff0c;也是每个前端同学绕不过去的小问题&#xff0c;但是在校招面试中很多同学在基础回答中不到位&#xff0c;或者倒在引申问题里&#xff0c;就丢分了。 『前端基础之post和get』相关题目及解析内容可点击文章末尾链接查看…

Azure Bastion的简单使用

什么是Azure Bastion Azure Bastion 是一个提供安全远程连接到 Azure 虚拟机&#xff08;VM&#xff09;的服务。传统上&#xff0c;访问 VM 需要使用公共 IP 或者设立 VPN 连接&#xff0c;这可能存在一些安全风险。Azure Bastion 提供了一种更安全的方式&#xff0c;它是一个…

JZ36 二叉搜索树与双向链表

问题描述&#xff1a; 输入一棵二叉搜索树&#xff0c;将该二叉搜索树转换成一个排序的双向链表。 问题要求&#xff1a; 1.要求不能创建任何新的结点&#xff0c;只能调整树中结点指针的指向。当转化完成以后&#xff0c;树中节点的左指 针需要指向前驱&#xff0c;树中节点…

Ubuntu 22LTS 配置静态IP

可行方法&#xff0c;需界面配置 转载自&#xff1a;哔哩哔哩链接地址 命令行配置&#xff1a;待补充

数据库概述SQL基本语法

基本概念 数据库DB database简称DB: 存储数据的仓库&#xff0c;是以某种结构存储数据的文件。指长期保存在计算机的存储设备上&#xff0c;按照一定规则阻止起来&#xff0c;可以被用户或应用共享的数据集合。 数据库管理系统DBMS 用于创建&#xff0c;维护&#xff0c;使…

“深入剖析JVM内部机制:了解Java虚拟机的工作原理“

标题&#xff1a;深入剖析JVM内部机制&#xff1a;了解Java虚拟机的工作原理 摘要&#xff1a;本文将深入剖析JVM内部机制&#xff0c;详细介绍Java虚拟机的工作原理。我们将探讨JVM的组成部分、类加载过程、内存管理、垃圾回收以及即时编译等关键概念。此外&#xff0c;还将提…

selenium +Jmeter 的性能测试

通过Jmeter快速将已有的Selenium 代码以性能测试的方式组织起来&#xff0c;并使用JMeter 丰富的报表展示测试结果 from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By driver …

08.利用Redis实现签到功能

学习目标&#xff1a; 来源&#xff1a;黑马教程 使用Redis中BitMap数据结构使用签到功能和连续签到功能 学习产出&#xff1a; 解决方案&#xff1a; 1. 准备pom环境 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b…

push github

一、生成密钥 打开git bash执行下面指令&#xff0c;Enter下一步Enter下一步..生成ssh key 密钥&#xff1b; ssh-keygen -t rsa 二、 复制公共密钥到git hub 登录github&#xff0c;在选项setting >> SSH and GPG key >> add new ssh添加刚才的公钥地址即可 验证…

Hadoop入门机安装hadoop

0目录 1.Hadoop入门 2.linux安装hadoop 1.Hadoop入门 定义 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群的威力进行高速运算和存储。 优势 高可靠性&#xff1a;Hadoop底层维护多…

机器学习中XGBoost算法调参技巧

本文将详细解释XGBoost中十个最常用超参数的介绍&#xff0c;功能和值范围&#xff0c;及如何使用Optuna进行超参数调优。 对于XGBoost来说&#xff0c;默认的超参数是可以正常运行的&#xff0c;但是如果你想获得最佳的效果&#xff0c;那么就需要自行调整一些超参数来匹配你…

docker实践作业

1.安装docker服务&#xff0c;配置镜像加速器 2.下载系统镜像&#xff08;Ubuntu、 centos&#xff09; 3.基于下载的镜像创建两个容器 &#xff08;容器名一个为自己名字全拼&#xff0c;一个为首名字字母&#xff09; 4.容器的启动、 停止及重启操作 5.怎么查看正在运行的容器…

c++都补了c语言哪些坑?

目录 1.命名空间 1.1 定义 1.2 使用 2.缺省参数 2.1 概念 2.2 分类 3.函数重载 4.引用 4.1 概念 4.2 特性 4.3 常引用 4.4 引用和指针的区别 5.内联函数 1.命名空间 在 C/C 中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将…

AR地图微信小程序:数字化时代下地图应用的新突破

随着数字化时代的到来&#xff0c;地图应用成为人们日常生活中不可或缺的工具。而随着增强现实&#xff08;AR&#xff09;技术的快速发展&#xff0c;AR地图微信小程序应运而生&#xff0c;为用户提供了一种全新的地图导航体验。本文将深入探讨AR地图微信小程序的专业性和思考…

Node.js 安装和配置(完整详细版)

在Windows上安装和配置Node.js&#xff1a; 下载Node.js安装程序&#xff1a; 前往Node.js官方网站&#xff08;https://nodejs.org/&#xff09;&#xff0c;在主页上找到"Downloads"&#xff08;下载&#xff09;选项。然后选择适用于Windows的"Windows Insta…

libdrm全解析十 —— 源码全解析(7)

接前一篇文章&#xff1a;libdrm全解析九 —— 源码全解析&#xff08;6&#xff09; 本文参考以下博文&#xff1a; DRM 驱动程序开发&#xff08;VKMS&#xff09; 特此致谢&#xff01; 本文继续对include/drm/drm.h中实际功能宏定义进行讲解。 11. DRM_IOCTL_GEM_FLINK …

kotlin 比较 let apply

let 和 apply 是 Kotlin 标准库中的两个非常有用的函数&#xff0c;它们用于在代码中实现更简洁和可读的操作。它们通常在函数式编程和链式调用中使用&#xff0c;以简化代码并提高可维护性。下面是关于这两个函数的详细解释&#xff1a; let let 函数是一个作用域函数&#…

安卓系列机型-禁止卸载某个APP 防止误卸载软件 无需root权限

安卓系列机型-禁止安装某软件 防止“沉迷游戏的小孩”操作解析_安卓机器的博客-CSDN博客 上一期讲了如何禁止安装某个app。今天讲下如何禁止卸载某app。正好相反的操作。任何操作有利有弊。主要看使用者如何对待使用。 &#x1f494;&#x1f494;&#x1f494;以腾讯的一款游…