SAP/ABAP(二)

这篇具有很好参考价值的文章主要介绍了SAP/ABAP(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、循环结构

*&---------------------------------------------------------------------*
*& Report ZDEMO_LIMING01
*&---------------------------------------------------------------------*
*&作者:黎明
*&---------------------------------------------------------------------*
REPORT zdemo_liming01.
*1while循环实现输出0-7
DATA lv_a TYPE i.
lv_a = 0.

WHILE lv_a < 8. "条件
  WRITE: / 'This is line:',lv_a. "执行的语句
  lv_a = lv_a + 1.
ENDWHILE.

*2do循环实现输出0-7
lv_a = 0.
DO 8 TIMES. "指定循环的次数
  WRITE: / 'Do this is line:',lv_a.
  lv_a = lv_a + 1.
ENDDO.

*3、嵌套循环
DATA: lv_a1 TYPE i VALUE 0,
      lv_a2 TYPE i VALUE 0.
DO 2 TIMES.
  lv_a1 = lv_a1 + 1.
  WRITE: / 'Outer',lv_a1.
  DO 5 TIMES.
    lv_a2 = lv_a2 + 1.
    WRITE: / 'Inner',lv_a2.
  ENDDO.
ENDDO.

*跳出循环三个条件
DO 15 TIMES.
  IF sy-index = 5.
    CONTINUE."终止当前循环,跳到下次循环
    EXIT."终止所有循环
  ENDIF.
  CHECK sy-index = 4."有条件的执行后面的语句
  WRITE: / 'Hello',sy-index.
ENDDO.

二、条件判断

*1、条件判断
DATA lv_title1 TYPE c LENGTH 20.
lv_title1 = 'abap'.
IF lv_title1 = 'abap'.
  WRITE: / 'true'.
ELSE.
  WRITE: / 'false'.
ENDIF.

*2、复杂的条件判断(方式一)
DATA: lv_c1 TYPE c LENGTH 20 VALUE '2023',
      lv_c2 TYPE c LENGTH 20 VALUE 'ABAP',
      lv_c3 TYPE c LENGTH 20 VALUE '35'.

IF lv_c1 = '2023'.
  IF lv_c2 = 'ABAP'.
    IF lv_c3 = '35'.
      WRITE: / '今天不上班'.
    ENDIF.
  ENDIF.
ENDIF.

*复杂的条件判断(方式二 and or)
IF lv_c1 = '2023' AND lv_c2 = 'ABAP' AND lv_c3 = '35'.
  WRITE: / '今天不上班'.
ENDIF.

*3if elseif else

*4case when
**如果b1 = 36 今天上班
**如果b1 = 35 今天不上班
**如果都不满足,今天肯定不上班
DATA lv_b1 TYPE i VALUE 36.

CASE lv_b1.
  WHEN 36.
    WRITE: / '今天上班'.
  WHEN 35.
    WRITE: / '今天不上班'.
  WHEN OTHERS.
    WRITE: / '今天肯定不上班'.
ENDCASE.

SAP/ABAP(二),ABAP,SAP文章来源地址https://www.toymoban.com/news/detail-580521.html

三、异常处理(cx-root)

*异常处理(cx-root)
DATA: lv_i1  TYPE i VALUE 2,
      lv_i2  TYPE i VALUE 0,
      lv_i3  TYPE i,
      lv_msg TYPE string.
TRY.
    lv_i3 = lv_i1 / lv_i2.
    WRITE: / lv_i3.
  CATCH cx_root INTO DATA(lo_exref).
    lv_msg = lo_exref->get_text( ).
    WRITE: / lv_msg.
ENDTRY.

四、结构体,工作区

*结构体,工作区
**方法一 定义一个变量
DATA:
  BEGIN OF ls_student1,
    name TYPE c LENGTH 10,
    age  TYPE i,
  END OF ls_student1.

DATA: ls_student2 LIKE ls_student1.
ls_student2-name = '学生1'.
ls_student2-age = 18.
WRITE: / ls_student2-name,ls_student2-age.

**方法二 定义一个类型
TYPES: BEGIN OF lty_student,
         name TYPE c LENGTH 10,
         age  TYPE i,
       END OF lty_student.

DATA: ls_stu1 TYPE lty_student.
ls_stu1-name = '学生2'.
ls_stu1-age = 19.
WRITE: / ls_stu1-name,ls_stu1-age.

*给结构体赋值三种方式
DATA: ls_stu2 TYPE lty_student,
      ls_stu3 TYPE lty_student,
      ls_stu4 TYPE lty_student.
**=赋值
ls_stu2 = ls_stu1.
**用move to
MOVE ls_stu1 TO ls_stu3.
**MOVE-CORRESPONDING...to(建议使用)
MOVE-CORRESPONDING ls_stu1 TO ls_stu4.


*结构体继承
TYPES: BEGIN OF lty_xxs,
         name TYPE c LENGTH 10,
         age  TYPE i,
       END OF lty_xxs.
DATA: ls_xxs TYPE lty_xxs.

ls_xxs-name = '学生1'.
ls_xxs-age = 6.
WRITE: / '小学生信息:', ls_xxs-name, ls_xxs-age.

TYPES: BEGIN OF lty_dxs,
         zy TYPE string.
    INCLUDE STRUCTURE ls_xxs.
TYPES: END OF lty_dxs.

DATA: ls_dxs TYPE lty_dxs.
ls_dxs-zy = 'ABAP'.
WRITE: / '大学生信息:', ls_dxs-name,ls_dxs-age,ls_dxs-zy.

五、内表

*内表
**结构-》一个学生的信息
**内表-》一群学生的信息

**1、内表的定义
TYPES: BEGIN OF lty_xxs,
         name TYPE c LENGTH 10,
         age  TYPE i,
       END OF lty_xxs.
DATA: ls_xxs TYPE lty_xxs,
      lt_xxs TYPE STANDARD TABLE OF lty_xxs.

ls_xxs-name = '学生1'.
ls_xxs-age = 6.
APPEND ls_xxs TO lt_xxs.

ls_xxs-name = '学生2'.
ls_xxs-age = 6.
APPEND ls_xxs TO lt_xxs.

ls_xxs-name = '学生3'.
ls_xxs-age = 6.
APPEND ls_xxs TO lt_xxs.

DO 3 TIMES.
  ls_xxs-name = '循环相互来的'.
  ls_xxs-age = sy-index.
  APPEND ls_xxs TO lt_xxs. "append:追加
ENDDO.

ls_xxs-name = '插班生'.
ls_xxs-age = 7.
INSERT ls_xxs INTO lt_xxs INDEX 3. "在内表中间插入一条数据,在3前面插入

cl_demo_output=>display( lt_xxs )."打印输出

*读取内表数据
**根据索引读取数据
READ TABLE lt_xxs INTO ls_xxs INDEX 1.
WRITE: / '根据索引读取index 1 的学生',ls_xxs-name,ls_xxs-age.

**根据一些关键字读取数据
READ TABLE lt_xxs INTO ls_xxs WITH KEY name = '插班生'.
WRITE: / '根据关键字读取学生信息',ls_xxs-name,ls_xxs-age.

**二分查找法
**排序
SORT lt_xxs BY name ASCENDING.
READ TABLE lt_xxs INTO ls_xxs WITH KEY name = '插班生' BINARY SEARCH.
WRITE: / '根据二分查找读取学生信息',ls_xxs-name,ls_xxs-age.

到了这里,关于SAP/ABAP(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SAP,ABAP:ALV变式复制

    应用场景:程序优化,需要新开一个程序优化,优化完成后原程序ALV变式无法带到新的程序, ALV变式是很好用的功能 REPORT zbsc. 事务代码:ZBSC-ALV变式复制 程序名称:ZBSC-ALV变式复制 程序目的: ZBSC-ALV变式复制 开发人员: *(修改日志)----------------------------------------------------

    2024年02月09日
    浏览(44)
  • SAP ABAP ChatGPT 初体验 我会失业吗?

    简介: ChatGPT 最近很火,听说我可能要失业!就在今天我历经千辛万苦,终于把 ChatGPT 注册好了。话不多说,我先问两个 ABAP 开发问题压压惊。 : SAP ABAP ChatGPT OpenAI 失业 下面是我在 ChatGPT 的聊天截图, 我对这个回答满意度 90% ,此时我内心还不慌,虽然内容很完整逻

    2023年04月15日
    浏览(43)
  • sap abap,forms,smartforms 导出pdf

    4种方法: 1.安装pdf程序,Foxit Reader,先敲回车 自动带出,如下图: 直接打印就会弹出保存pdf文档路径,点保存。这种方式是最简单的,可 forms 和 smartforms 。 2. forms 和 smartforms 打印到spool 中,首先要设置个人参数文件  输出设备 ,默认输出设备LP01    。 T-CODE: SP02 或如下图

    2024年02月12日
    浏览(86)
  • SAP ABAP调用Http/Https方式实例

    注意: 1.url必须带\\\"http://\\\"或者“https://”。 2. http_client-propertytype_redirect = http_client-co_disabled .这一行是设置是否允许重定向,是为“co_enabled”,否为“co_disabled”。 3. 可能出现的错误 404 Hostname Unknow,是因为服务器未配置该url的dns 4. 可能出现的错误 401 refused,可能是被防火墙

    2024年02月07日
    浏览(56)
  • SAP ABAP增强 BADI的增强全解析

            BADI的全称是Business Add-in,它的主要技术是基于ABAP的对象来实现增强。SAP中BADI的维护事务代码是SE18和SE19,SE18主要是创建及维护BADI对象,而SE19用于维护BADI的实例,即如何来实现BADI对象的功能。         SAP的BADI因系统版本的差别可能会有不同,R/3中的BADI被称为Cl

    2023年04月23日
    浏览(39)
  • 【SAP Abap】记录一次SAP长文本内容通过Web页面完整显示的应用

    业务在销售订单中,通过长文本描述,记录了一些生产备注信息,如生产标准、客户要求等等。要求开发一个报表,能够方便查看和导出长文本信息。 由于ALV列表长文本显示不友好,且长度有限制,仅能显示128位,故考虑双击展示长文本详细内容,最终实现效果如下: ALV列

    2024年02月15日
    浏览(53)
  • SAP ABAP中的数据类型 Data Types

    简单来说分两种: 数据字典里定义的 在ABAP程序里定义的 1.1 数字型的 用在数学计算里的,表达式里的,表序号里的。 Interger整数型 : INT1 : 1字节整数,0-255 (2的8次方-1) INT2 : 2字节整数,-32768-32767(2的15次方-1,有一位是符号位) INT4 : 4字节整数,-2147483648-2147483647(

    2024年02月03日
    浏览(44)
  • 「SAP ABAP」OPEN SQL(九)【SAT事务码】

    💂 作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较

    2023年04月13日
    浏览(49)
  • SAP_ABAP_OLE_EXCEL批导案例

    SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客 文章浏览阅读409次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提参考ALV/REPORT|SMARTFROM|SCREEN|OLE|BAPI|BDC|PI|IDOC|RFC|API|WEBSERVICE|Enhancement|UserExits|Badi|Debug https://blog.cs

    2024年02月10日
    浏览(32)
  • SAP ABAP基础通关百宝书【从入门到精通】目录

    本文章为《SAP ABAP基础通关百宝书》【从入门到精通】系列的目录以及关于该教程的后续写作计划表 💬【个人网站】:【芒果个人日志】​​​​​​ 💬【专栏地址】:  《SAP ABAP基础通关百宝书》【从入门到精通】 https://blog.csdn.net/weixin_59480481/category_12310781.html 💂作者简

    2023年04月27日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包