当前位置: 首页 > news >正文

SAP(第3周)

se38

输入程序名(新创建程序):【Z_姓名首拼_日期】-点击【创建】

输入标题:【汉字姓名_日期】

选择类型:【可执行程序】-点击【保存】

点击

输入自己创建的包名,点击【对号】

点击【本地对象】

程序创建成功


任务一:ABAP的基本数据类型有哪些,含义是什么?

任务二:在 ABAP 程序中,根据以下要求定义变量:

  1. 定义一个整数类型的变量 lv_number,用于存储一个 4 字节整数。

  2. 定义一个字符串类型的变量 lv_string,用于存储可变长度的文本。

  3. 定义一个日期类型的变量 lv_date,用于存储日期。

定义了三个变量用于存储姓名、年龄和出生日期,并将结果打印出来

REPORT Z_XM_0306.



DATA: lv_name    TYPE string,  " 姓名  // 或者 DATA: lv_name    TYPE c LENGTH 20,  " 姓名
      lv_age     TYPE i,        " 年龄
      lv_birthdate TYPE date.    " 出生日期


  " 给变量赋值
  lv_name = '张三'.
  lv_age = 30.
  lv_birthdate = '19900515'.  " 格式为 YYYYMMDD

  " 打印结果
  WRITE: / '姓名:', lv_name.
  WRITE: / '年龄:', lv_age.
  WRITE: / '出生日期:', lv_birthdate.

输出样例:

任务三:ABAP String类型和C类型的作用和区别?

string定义时不需要指定长度,c定义时需要指定长度,否则无法正常输出

在 ABAP 中,`STRING` 类型和 `C` 类型都是用于存储字符串数据的,但它们在作用和使用场景上有一些区别:

STRING类型

定义 :`STRING` 是可变长度的字符串类型,它可以存储任意长度的文本数据,最大长度受系统限制。
特点:
    长度可变:可以根据实际存储的字符串长度动态调整,不需要预先定义固定长度。
    存储效率:对于长度不确定或可能变化的字符串,`STRING` 类型可以更高效地存储和处理,因为它不需要像定长字符串那样预留固定的空间。
    操作灵活:提供了丰富的字符串操作函数,如字符串拼接、截取、查找等。

适用场景:
    存储长度不确定的文本数据,如地址、描述、备注等。
    需要频繁进行字符串操作的场景,如文本处理、文件读写等。

C类型

定义:`C` 是定长字符串类型,长度在定义时确定,如果存储的字符串长度小于定义长度,则用空格填充。
特点:
    长度固定:在定义时必须指定长度,如 `C(10)` 表示长度为 10 个字符。
    存储固定:无论实际存储的字符串长度如何,都会占用定义的固定长度空间。
    格式严格:由于长度固定,适用于需要严格格式控制的场景。

适用场景:
    存储长度固定的字符串数据,如代码、编号、状态等。
    需要与数据库表字段、结构字段等保持数据类型一致的场景,特别是在数据传输和存储时。

区别总结

  长度特性:`STRING` 类型长度可变,`C` 类型长度固定。
  存储效率:`STRING` 类型在存储长度不确定或可能变化的字符串时更高效,`C` 类型在存储长度固定的字符串时更严格和规范。
  操作灵活性:`STRING` 类型提供了更丰富的字符串操作函数,适用于复杂的文本处理场景;`C` 类型适用于需要严格格式控制的场景。

//  以下是一个示例程序,展示了 `STRING` 类型和 `C` 类型的使用:


REPORT zstring_vs_c.

DATA: lv_string TYPE STRING,
      lv_c      TYPE C LENGTH 10.

START-OF-SELECTION.
  " 给变量赋值
  lv_string = 'ABAP Programming'.
  lv_c = 'STATUS'.

  " 打印结果
  WRITE: / 'STRING 类型:', lv_string.
  WRITE: / 'C 类型:', lv_c.

输出结果

程序运行后,输出结果如下:
STRING 类型: ABAP Programming
C 类型: STATUS

在这个示例中,`lv_string` 是一个可变长度的字符串,存储了 'ABAP Programming';而 `lv_c` 是一个定长为 10 个字符的字符串,存储了 'STATUS',如果存储的字符串长度小于 10 个字符,则会用空格填充到 10 个字符。

相关文章:

  • 【C++教程】ASCII码的基本概念
  • Linux--基本指令4(完结)和权限
  • 里氏替换原则(LSP)理解
  • 996引擎-M2设置笔记
  • 一键生成PPT,AI让工作变得轻松高效
  • Mysql存储引擎
  • DeepSeek写弹球打砖块手机小游戏
  • MySQL 存储引擎详解:InnoDB、MyISAM 与 Memory 对比
  • MySQL零基础教程16—表连接进阶
  • 遗传算法基础讲解
  • 软件测试基础:功能测试知识总结
  • 【消息队列】数据库的数据管理
  • 鸿蒙开发 - 键盘避让
  • HRNet的pt模型转rknn并实现前向推理
  • Javase学习复习D11[接口,多态]
  • 基于流量域的数据全链路治理方案:从原理到实践
  • c++面试常考问题之引用与指针的关系,ADD如何用宏写
  • 内核编程八:基于printk宏的pr_* 宏
  • 网络安全中蓝牙攻击有哪些?
  • EasyDSS视频推拉流系统:清理缓存文件时如何确保缓存读写不受影响?
  • 河南郑州今日头条新闻/seo监控系统
  • 口碑好网站建设费用/搭建网站平台
  • windows10网站建设/谷歌搜索引擎优化seo
  • 商用图片做公司网站可以吗/广告投放这个工作难不难做
  • 专做机酒的网站/新浪微舆情大数据平台
  • 网站用图片做背景/教育机构排名