`
tianjun309
  • 浏览: 368037 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ABAP 笔记 01

    博客分类:
  • SAP
阅读更多

*&---------------------------------------------------------------------*
*& Report  Z10_P02
*& Author: TianJun GZ010
*& Date:2011/04/21
*& ABAP NOTE 1
*&---------------------------------------------------------------------*


*(1)在代码最开始的时候,需要制定一个REPORT
REPORT  z10_p02.

*(2)如果下面有用到t001,则需要用TABLES来声明,或者用INTO指定将数据存到另一个地方。
* 这里的t001要查资料,了解一下table work area,和ABAP/4 资料档(Dictionary Object)

TABLES t001.

SELECT * FROM t001.
*  WRITE: / t001-mandt.
ENDSELECT.

*(3)下面用到的begin of ... end of.然后用DATA声明后,可以直接使用,在ABAP里面存放方式是Structure,只是这样还不能将其
*     声明为一种type,然后复用。

DATA: BEGIN OF tianjuntest,
name(10) TYPE c,
address(20) TYPE c,
END OF tianjuntest.

tianjuntest-name = 'tianjun'.
tianjuntest-address = 'shenzhen city'.

*(4)下面先用TYPES将这个Strucutre定义为TYPE,后面就可以用DATA直接新建出此TYPE的实例,类似java里面的class与实例。

TYPES: BEGIN OF test2,
age TYPE i,
birthmonth TYPE d,
birthday TYPE d,
END OF test2.

DATA cooltest TYPE test2.
cooltest-age = 26.
cooltest-birthmonth = '10'.
cooltest-birthday = '03'.
WRITE: '你的年龄:', cooltest-age, / '你的出生月:',cooltest-birthmonth, / '你的出生日:',cooltest-birthday.

*(5)注意下面 LIKE 与 LIKE TABLE OF 的区别。
*     这个时候的LIKE,tabletest会成为一个Structure,flat structure; 注意:Structure里面只能放唯一一批数据,类似java中的class 属性。
*     而这个时候的LIKE TABLE OF,tabletest2会成为一个table,standard table; 注意:table在这里可以记录多条数据,就是一个table概念。
*     1.1 如果要添加进Standard table一条数据记录,可以使用配套字段的Structure,设置好数据,传输方法: APPEND XXX(Structure) TO XXX(Table)。
*     1.2 方法二是用 XXX LIKE LINE OF XXX(table name),方法见下面代码。并且这个table只能是internal table的时候,like line of 才可以使用,查资料看
*         这里说的internal table的具体含义(这里可以确定一点,只要是程序里面通过LIKE TABLE OF出来)
*     2. 注意只要APPEND TO一次数据,TABLE就会增加一条新记录。

DATA: tabletest LIKE cooltest.
DATA: tabletest2 LIKE TABLE OF cooltest.
tabletest-age = 22.
tabletest-birthday = '329'.
APPEND tabletest TO tabletest2.
tabletest-birthmonth = '32'.
APPEND tabletest TO tabletest2.
tabletest-birthmonth = '12'.

DATA: linetest LIKE LINE OF tabletest2.
linetest-age = 44.
linetest-birthday = '33'.
APPEND linetest TO tabletest2.
CLEAR linetest.
linetest-age = 26.
linetest-birthmonth = '11'.
APPEND linetest TO tabletest2.
CLEAR linetest.

*(6)通过SELECT语句可以遍历table内容,可以操作每条数据。
DATA: BEGIN OF test4,
char1 LIKE t001-mandt,
char2 LIKE t001-bukrs,
char3 LIKE t001-periv,
END OF test4.


SELECT mandt bukrs periv INTO test4 FROM t001.
*write: / test4-char3.
ENDSELECT.

*(7)将T001表导入internal table的方法。关注一下work area的含义。
*     如果不加select ... into table 中的table,会报错"You cannot use an internal table as a work area."

DATA: stable1 LIKE TABLE OF test4.
SELECT mandt bukrs periv INTO TABLE stable1 FROM t001.

*(8)可以将internal table 做排序,用Sort XXX(table name) by XXX(table 字段).
SORT stable1 BY char2.

*(9)可以通过LOOP AT XXX(internal table name) into XXX(line of table)来将表记录读出来做处理。
*     CASE的句型:
*     CASE XXXX.
*         WNEH 'test'.
*            to do...
*          WHEN OTHERS.
*            to do...
*      ENDCASE.

DATA: linetest2 LIKE LINE OF stable1.
LOOP AT stable1 INTO linetest2.
  CASE linetest2-char3.
    WHEN 'K4'.
*      WRITE: / 'this is K4'.
    WHEN OTHERS.
*      WRITE: / 'none'.
  ENDCASE.

*(10)IF的写法,备注:不等于的三种写法:<> , >< , NE; 等于2种写法: = , EQ.
  IF linetest2-char3 <> 'K4'.
    WRITE: / 'this is not k4'.
  ENDIF.
ENDLOOP.

 

*CONDENSE ls_range-low NO-GAPS.  去掉前后的空格,测试一下即可。

分享到:
评论

相关推荐

    ABAP 个人笔记-我的SAP学习

    ABAP 个人笔记-我的SAP学习 本资源是关于 ABAP 的一些小心得,涵盖了 ABAP 工作平台的中心入口 Object Navigator、常用 T-CODE、ABAP Editor 的使用、处理块类型、应用程序类型、语句链、数据内部定义、结构体赋值...

    1.SAP ABAP概览 L01

    sap ,abap 笔记

    ABAP学习笔记

    本文件概述了SAP-ABAP语言的基础知识,能够为您深入学习SAP编程提供坚实的基础

    ABAP-数据类型学习笔记

    ABAP-数据类型学习笔记

    ABAP 笔记,语法

    ABAP,全称为Advanced Business Application Programming,是一种在SAP系统中使用的高级业务应用程序编程语言。在深入探讨ABAP的基础语法之前,我们先了解下ABAP的一些基本程序类型: 1. **Report**: Report程序是...

    ABAP-学习笔记-通用

    ABAP-学习笔记-通用

    ABAP function使用笔记

    ### ABAP Function 使用笔记 #### 1. CONVERSION_EXIT_ALPHA_INPUT **功能描述:** 此函数模块用于将字母数字类型的输入转换为纯文本格式。它主要用于处理非数值型数据对象的转换。 **输入参数:** - `input`: ...

    ABAP开发笔记-用户出口

    在ABAP开发中,用户出口(User Exit)是一种允许开发者扩展标准SAP系统功能的关键机制。用户出口是在标准SAP程序中预定义的点,开发者可以通过编写自定义代码来干预这些点,以满足特定的业务需求。以下是关于用户...

    ABAP-透明表学习笔记.py

    ABAP-透明表学习笔记.py

    ABAP 笔记 02 关于时间和N(2)的测试。

    这篇笔记将探讨这两个主题,以及如何在实际编程中应用它们。首先,我们来看看ABAP中的时间处理。 在ABAP中,时间数据类型主要有`TIME`和`STRING`两种。`TIME`类型用于表示一天中的时间,如13:45:30,而`STRING`类型...

    abap基础培训笔记

    ABAP(Advanced Business Application Programming)是SAP公司的编程语言,主要用于开发SAP系统的企业应用程序。以下是一些关于ABAP的基础知识,主要从给定的文件内容中提炼出来: 1. **Dictionary**: SAP ...

    abap学习笔记

    ### ABAP 学习笔记知识点详解 #### 一、引用类型与数据对象声明 - **引用类型**: 在 ABAP 中,引用类型(如 `z_ref`)是一种特殊的数据类型,用于存储其他数据对象的地址。这类似于其他编程语言中的指针。 - **...

    ABAP数据类型笔记(详细).pdf

    ABAP是一种高级编程语言,主要用于SAP系统的开发。在学习ABAP时,了解其数据类型是基础中的基础。本文将详细解析ABAP的数据类型及其相关的语法特性。 首先,`DATA`语句是ABAP中定义变量的关键语句,允许我们声明...

    ABAP-子程序宏函数学习笔记.py

    ABAP-子程序宏函数学习笔记.py

    ABAP-语法学习笔记.py

    ABAP-语法学习笔记.py

    Floorplan Manager for Web Dynpro ABAP

    Unit 1: Introduction to Floorplan Manager (FPM) for Web Dynpro ABAP 1 Exercise 1: Create Components Containing the UIBBs for a Floorplan and Implement Interface IF_FPM_UI_BUILDING_BLOCK Unit 2: FPM...

    菜鸟的SAP自学学习笔记 - 正版全.pdf

    综上所述,这份SAP自学学习笔记覆盖了从系统环境配置、机构设置、业务蓝图,到财务模块(FI)、成本控制模块(CO)、资产和项目管理,再到交易处理和报告分析的全方位内容,为SAP初学者提供了一套系统的学习框架,使...

    手把手教你配置Eclipse开发SAP ABAP程序环境.docx

    从零开始,教授如何配置 Eclipse...2020 年最新版本操作笔记。对于初学者十分友好。 ABAP Development Tool的Java端实现就是Eclipse的一个扩展,使用JCO(Java Connector)连接ABAP后台的adt服务,实现对ABAP程序的操作。

Global site tag (gtag.js) - Google Analytics