精华内容
下载资源
问答
  • abap

    2011-10-06 21:20:53
    参考附件,ABAP
    参考附件,ABAP
    展开全文
  • ABAP

    千次阅读 2008-03-03 12:18:00
    ABAP (高级商务应用编程)是一种高级编程语言,由德国软件公司SAP开发。目前,和最近引入的Java一起,ABAP主要用作SAP的web应用服务器编程。这个服务器软件是SAP NetWeaver平台的一部分,这个平台主要用来开发商务...

    ABAP (高级商务应用编程)是一种高级编程语言,由德国软件公司SAP开发。目前,和最近引入的Java一起,ABAP主要用作SAP的web应用服务器编程。这个服务器软件是SAP NetWeaver平台的一部分,这个平台主要用来开发商务应用。ABAP的语法和COBOL有些像。

    目录

    [隐藏]
    <script type="text/javascript"> // if (window.showTocToggle) { var tocShowText = "显示"; var tocHideText = "隐藏"; showTocToggle(); } // </script>

    [编辑] 历史

    ABAP作为一种面向特定应用的第四代编程语言最早在20世纪80年代开发。它原本是作为一种报表语言应用在SAP R/2上,这是一个帮助大型公司在大型机上建立原材料管理和财务会计管理商务应用的平台。ABAP本来也是德语Allgemeiner Berichtsaufbereitungsprozessor的缩写,意思是“通用报表预处理器”。ABAP第一次引入了“逻辑数据库”的概念,它在基本的数据库层提供了更高级的抽象。

    ABAP编程语言最初被SAP的开发者用于开发SAP R/3平 台。但它也被设计让SAP的客户用于增强SAP的软件应用&ndash;客户可以用ABAP编程开发自定义的报表和界面。这个编程语言对于程序员 来说很容易学习但并不是一个非程序设计人员可以直接使用的工具。编写ABAP程序需要良好的编程技巧和关系数据库方面的知识,如果知道面向对象设计的概念 更好。

    虽然SAP最早于1992年就发布了R/3,但ABAP现在仍可以用于为R/3系 统编写程序。在20世纪90年代,随着计算机硬件的发展,越来越多的SAP的应用软件和系统都用ABAP来实现。一直到2001年,几乎所有的基本功能都 是由ABAP编程实现的。在1999年,SAP在发布R/3 4.6版的同时也发布了一个对ABAP的面向对象扩展,叫做ABAP Objects。

    SAP最新的开发平台NetWeaver同时支持ABAP和Java

    [编辑] 实现

    [编辑] ABAP程序运行在哪里?

    所有的ABAP程序都驻留在SAP数据库里。他们不像Java或者C++程序那样存储在一个单独的外部文件里,在数据库里所有的ABAP代码都以两 种形式存在:可以用ABAP workbench查看和编辑的源代码和由ABAP运行环境载入和解释的“编译”代码(技术上更精确的说是“产生”代码)。当一段ABAP源代码第一次被 调用时会隐含的进行代码产生。如果稍后源代码改变了或者程序访问的对象改变了(比如数据库的表添加了新的字段),产生代码就会自动重新产生。

    ABAP程序在运行时系统(SAP核心的一部分)的控制下运行在SAP应用服务器里.运行时系统负责处理ABAP语句,控制显示的逻辑序列和响应事 件(比如,用户按一下屏幕上的一个按钮)。ABAP运行时系统的一个关键组件是数据库接口,它把ABAP的数据库无关语句(“开放SQL”)变成底层数据 库管理系统可以理解的语句(“本地SQL”)。数据库接口处理ABAP程序和关系数据库之间所有的通信;它也有一些其他的作用,比如把经常访问的数据缓存 到应用服务器本地的存储器里。

    [编辑] SAP 系统和风景带

    所有的SAP数据和软件都存在/运行于SAP系统的环境中。这个系统包括一个中心关系数据库和一个或多个访问该数据库里的数据和程序的应用服务器(“实例”)。一个SAP系统至少包括一个实例,但可以更多,主要看大小和性能上的需求。在一个多实例系统中,负载平衡机制来保证负载比较平均的分摊到各个可用的应用服务器上。
    典型安装的Web应用服务器 (风景带) 包括三个系统:一个用于开发,一个用于测试和质量保证,一个用于生产。这个风景带可以包含更多的系统,比如一个单独用于单元测试和产前测试的系统,或者也 可以不完全包含这三个系统,比如只有开发和生产,没有单独的质量保证系统; 但三个是最常见的。 ABAP程序的创建和首次运行都在开发系统里。然后被分发到风景带的其他系统里。这些都是在变化和传输系统(CTS)的控制下进行的。CTS是一个负责并 发控制(比如防止两个开发人员同时修改同一段代码),版本管理和在质量保证和产品系统上部署程序的系统。

    Web应用服务器有 三层组成:数据库层,应用层和表现层。这些层可以在同一台或不同的物理机器上运行。数据库层包括关系数据库及相关软件。应用层包括系统的实例。所有应用相 关的过程,包括业务事务和ABAP开发,都运行在应用层。表现层处理和系统的用户之间的交互。对ABAP应用服务器的在线访问可以通过专用图形接口 SAPGUI或者浏览器进行。

    [编辑] ABAP程序的类型

    ABAP有两种不同类型的程序:

    [编辑] 报表程序

    报表程序遵循一个相对简单的编程模型,用户可选的输入一系列参数(比如,在一个数据子集上的选择),然后程序根据输入的参数以一个交 互式列表的形式产生一张报表。报表程序的输出之所以是交互式的是因为它不是一个被动的显示;它允许用户使用ABAP语言通过深入挖掘功能以获得某个数据更 细节的视图,或者通过菜单命令触发更深入的处理,比如按不同的方式排序数据或者按某种选择条件过滤数据。这种表现报表的方法有很大的优势,特别是对于那些 需要处理大量信息但又要以很灵活的方式来检查这些信息的用户,这样他们就不会再被限制到一种固定的显示形式或者大小上无法管理的列表形式的报表中了。这种 方便的开发交互式报表的方式是ABAP语言的一大重要闪光点。
    “报表”这个词有时会给人一种误解,其实创建数据可以在底层数据库修改而不仅仅是只读的报表程序是完全可以的。

    [编辑] 在线程序

    在线程序 (也叫模块池)不产生列表。这些程序使用一系列的屏幕来定义更复杂的用户交互模式。术语“屏幕”是指用户看到的实际的物理图像。每个屏幕还有一个“流逻 辑”;这是指由屏幕触发的ABAP代码,比如初始化屏幕,响应用户请求的应答和控制模块池的屏幕之间的序列的逻辑。每个屏幕都有自己的流逻辑,每个流逻辑 都分为“PBO” (输出前处理)和“PAI” (输入后处理)部分。在SAP的文档中,术语“dynpro” (动态程序)用来表示这种屏幕和流逻辑的结合。
    在线程序并不是通过名字调用的,而是和一段事务代码联系在一起。用户可以通过自定义,角色依赖,事务菜单来触发它们。

    除了报表和在线程序外,以类库,功能库和子程序池的形式开发共享代码段也是可以的。

    [编辑] ABAP Workbench

    ABAP Workbench有几个不同的工具用于编辑容器对象。这些工具可以为你提供涵盖整个软件开发周期各阶段的辅助。 创建和编辑容器对象的最重要的工具有:
    ABAP Editer:编写程序代码
    ABAP Dictionary:处理数据库表定义,检索全局类型
    Menu Painter:设计用户界面(包括菜单栏,标准工具栏,应用栏,配置功能键)
    Screen Painter:为用户对话框设计屏幕(动态程序)
    Function Builder:显示和处理功能模块
    Class Builder:显示和处理ABAP对象类

    [编辑] The ABAP Dictionary

    • Enforces data integrity
    • Manages data definitions without redundancy
    • Is tightly integrated with the rest of the ABAP/4 Development Workbench.

    Enforcing data integrity is the process of ensuring that data entered into the system is logical, complete, and consistent. When data integrity rules are defined in the ABAP/4 Dictionary, the system automatically prevents the entry of invalid data. Defining the data integrity rules at the dictionary level means they only have to be defined once, rather than in each program that accesses that data.
    The following are examples of data lacking integrity:
    A date field with a month value of 13
    An order assigned to a customer number that doesn’t exist
    An order not assigned to a customer
    Managing data definitions without redundancy is the process of linking similar information to the same data definition. For example, a customer database is likely to contain a customer’s ID number in several places. The ABAP Dictionary provides the capability of defining the characteristics of a customer ID number in only one place. That central definition then can be used for each instance of a customer ID number.
    The ABAP Dictionary’s integration with the rest of the development environment enables ABAP programs to automatically recognize the names and characteristics of dictionary objects.
    Additionally, the system provides easy navigation between development objects and dictionary definitions. For example, as a programmer, you can double-click on the name of a dictionary object in your program code, and the system will take you directly to the definition of that object in the ABAP/4 Dictionary.
    When a dictionary object is changed, a program that references the changed object will automatically reference the new version the next time the program runs. Because ABAP is interpreted, it is not necessary to recompile programs that reference changed dictionary objects.

    [编辑] Defining data objects

    There are various statements that you can use to define data objects.

    The TABLES statement always refers to the global type of a flat structure that is defined in the ABAP Dictionary. The structure type for the data object in the program is taken from the Dictionary. The data object name is identical to the name of the structure type. They are normally used as an interface to the screen.
    The DATA statement is usually used to define local data objects. The data object type is specified using the TYPE addition.
    The PARAMETERS statement defines not only an elementary data object, but also an input field on the standard selection screen that is processed at the start of the program. When you activate a program, an internal load version is generated. A selection screen is generated from the PARAMETERS statement. When the program starts, memory areas are made available for the data objects. You can find further information on data objects in the unit entitled ABAP Statements and Data Declarations, or in the keyword documentation.
    The SELECT statement ensures that data is read from the database. In order to read a record from a database table, the following information must be passed to the database: From which database table is the data read? (FROM clause) How many lines are read? The SINGLE addition shows that only one line is read. Which line is read? The WHERE clause shows which columns of the database table have which values.
    For a SELECT SINGLE, the condition must be formulated so that one line is specified unambiguously.
    Dialog programs are used for both reading from and writing to the database.

    [编辑] Example(ABAP report)

    REPORT  Zexmaple_report.
    tables :vbrk,vbrp,kna1.
    TYPE-POOLS : slis.
    data:begin of itab_final occurs 0,
    VKBUR like vbrp-VKBUR,
    vbeln like vbrk-vbeln,
    kunag like vbrk-kunag,
    fkdat like vbrk-fkdat,
    netwr like vbrk-netwr,
    mwsbk like vbrk-mwsbk,
    fkimg like vbrp-fkimg,
    total like vbrk-netwr,
    name1 like kna1-name1,
    end of itab_final.


    data:begin of itab occurs 0,
    VKBUR like vbrp-VKBUR,
    vbeln like vbrk-vbeln,
    kunag like vbrk-kunag,
    fkdat like vbrk-fkdat,
    netwr like vbrk-netwr,
    mwsbk like vbrk-mwsbk,
    fkimg like vbrp-fkimg,
    end of itab.

    data: begin of itab_name occurs 0,
    name1 like kna1-name1,
    erdat like kna1-erdat,
    end of itab_name.
    DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
    GD_LAYOUT TYPE SLIS_LAYOUT_ALV,
    GD_REPID LIKE SY-REPID.

    DATA : W_BUDAT LIKE EKBE-BUDAT.

    datA:T TYPE T.
    select-options: vbeln for vbrk-vbeln.
    select-options: fkdat for vbrk-fkdat.
    select-options: kunag for vbrk-kunag.

    select
    vbrk~vbeln
    vbrk~fkdat
    vbrk~netwr
    vbrk~mwsbk
    vbrk~kunag
    vbrp~fkimg
    vbrp~vkbur

    INTO CORRESPONDING FIELDS OF TABLE itab

    FROM VBRK INNER JOIN VBRP ON VBRK~VBELN = VBRP~VBELN

    WHERE VBRK~FKDAT IN FKDAT AND VBRK~KUNAG IN KUNAG AND VBRK~VBELN IN VBELN.


    select name1
    erdat
    from kna1 into table itab_name
    for all entries in itab
    where erdat = itab-fkdat.

    *---------------------------------------------------------------------------------------------------------*
    loop at itab.
    itab_final = itab.


    read table itab_name with key erdat = itab-fkdat.
    itab_final-name1 = itab_name-name1.
    itab_final-total = itab-netwr + itab-mwsbk.


    append itab_final.
    clear itab_final.

    [编辑] Example

    From SAP NetWeaver:

    *-----------------------------------------------------------------------
    * set an exclusive lock at level object-type & object-id
    *-----------------------------------------------------------------------
    IF NOT lf_bapi_error = true.
    IF ( NOT istourhd-doc_type IS INITIAL ) AND
    ( NOT istourhd-doc_id IS INITIAL )

    CALL FUNCTION 'ENQUEUE_/DSD/E_HH_RAREF'
    EXPORTING
    obj_typ = istourhd-doc_type
    obj_id = istourhd-doc_id
    EXCEPTIONS
    foreign_lock = 1
    system_failure = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    * terminate processing...
    lf_bapi_error = true.—
    * ...and add message to return table
    PERFORM set_msg_to_bapiret2
    USING sy-msgid gc_abort sy-msgno
    sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    gc_istourhd gc_enqueue_refdoc space
    CHANGING lt_return.
    ENDIF.
    ENDIF.
    ENDIF. " bapi error

    [编辑] 参看

    [编辑] 外部链接


     
    展开全文
  • ABAP资料ABAP资料ABAP资料ABAP资料ABAP资料
  • ABAP杂项ABAP杂项ABAP杂项ABAP杂项ABAP杂项
  • ABAP简报ABAP简报ABAP简报ABAP简报
  • ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
  • ABAP 调用ABAP PROXY

    2012-04-24 11:48:00
    ABAP 调用ABAP PROXY
  • abap7.4 新特性

    2016-05-18 09:48:38
    ABAP
  • abap截图abap截图

    2009-12-23 14:44:28
    abap截图abap截图abap截图abap截图
  • abap tips abap tips

    2009-02-12 10:00:21
    abap tips abap tips abap tips abap tips abap tips
  • ABAP技术总结

    2018-03-29 19:43:22
    ABAP技术总结,ABAP技术总结ABAP技术总结ABAP技术总结
  • SAP ABAP 开发入门

    千人学习 2019-12-15 12:12:10
    从零开始学习 SAP 二次开发语言ABAP,通过课程的学习,初学者能够掌握SAP ABAP基本开发技巧,主要涵盖如下内容、ABAP基础知识、ALV报表开发、自定义屏幕开发、打印开发;通过学习学习者能够加入项目开始进行基础...
  • abap学习资料abap

    2009-04-09 16:46:11
    abap学习资料 3月通学习资料abap学习资料 3月通学习资料
  • abap 函数大全 abap function abap function
  • ABAP_SOURCE ABAP源代码备份
  • 00 ABAP开发顾问必备:SAP ABAP开发技术总结 1.1.[SAP ABAP开发技术总结]预定义(内置)数据类型 1.4.[SAP ABAP开发技术总结]字符串表达式String Expressions 1.7.[SAP ABAP开发技术总结]字符串处理函数、正则...
  • ABAP帮助文档ABAP帮助文档ABAP帮助文档ABAP帮助文档ABAP帮助文档ABAP帮助文档ABAP帮助文档ABAP帮助文档
  • abap逻辑数据库ABAP数据库操作,abap过程中的小积累。用处多多哦
  • ABAP url下载文件

    2021-01-20 16:58:51
    ABAP url下载文件
  • Codemirror-abap CodeMirror编辑器的ABAP模式 描述 将ABAP语法高亮显示添加到编辑器中。 安装 npm install --save codemirror-abap 用法 构建工具 在您的项目中导入codemirror-abap 。 import CodeMirror from '...
  • ABAP基础讲解ABAP基础讲解ABAP基础讲解
  • ABAP培训资料ABAP培训资料ABAP培训资料ABAP培训资料ABAP培训资料
  • ABAP考试试题

    2017-09-27 19:55:14
    本试题包括理论和上机实践两部分,既可以考察参考人员对ABAP开发语言基本知识、语法等掌握情况,也能对ABAP开发能力做验证。可以作为ABAP开发人员选拔、能力验证的选择。
  • ABAP开发.rar

    2019-12-14 09:11:47
    从零开始学习 SAP ABAP 开发,通过课程的学习,初学者能够达到初中级 ABAP 开发水平,能够加入项目开始进行实战。课程大部分使用 ABAP on Eclipse 进行演示,让传统的已经有 ABAP 开发经验的人也能从课程中受益。...
  • abap开发学习视频

    2020-11-04 11:00:19
    两套完整的abap开发教程,从入门到精通,适合学习abap开发的所有人员 百度云链接永久有效.
  • ABAP面试题目ABAP面试题目ABAP面试题目ABAP面试题目
  • abap英文教程abap英文教程abap英文教程
  • ABAP 视图

    千次阅读 2019-05-29 17:54:28
    ABAP数据字典中激活视图会在数据库中生产次视图,访问此数据库视图需要用数据库接口进行访问。只是查询必要的表和字段不需要查询没必要的字段,因此可以最小化接口。视图和表一样,可以在ABAP程序的SELECT语句中...

    视图:视图支持几核查询一个或多个表里存在的数据的功能。在ABAP数据字典中激活视图会在数据库中生产次视图,访问此数据库视图需要用数据库接口进行访问。只是查询必要的表和字段不需要查询没必要的字段,因此可以最小化接口。视图和表一样,可以在ABAP程序的SELECT语句中使用。数据库视图在ABAP数据字典中定义后激活,则会自动在数据库中生成。但在ABAP数据字典中变更数据库视图,则这些变更事项不会直接影响数据库中的视图,视图不是拥有数据的对象,因此要删除之前的视图后重新生成ABAP数据字典中定义的新视图。利用视图访问数据库表资料时可以使用OPEN SQL或者NATIVE SQL两种方法。OPEN SQL通过数据库接口被译成数据库依存的NATIVE SQL。

    Maintenance status是定义视图只读属性或者读/写属性的功能。若数据库视图由两个以上的表构成,则此时他只能实现读取功能。

    1.SAP的视图的类型

    SAP的视图的类型有五种:(SE11 create views

    Database views 数据库视图:和数据库的视图形同,连接条件是必须自定义.

    Projection views:保护视图(就是图上的投影视图):用于屏蔽一些字段(一般用于保护数据时使用).

    Help views帮助视图:该类视图可以用搜索帮助的"selection method"中使用,参与连接表必须存在外键.

    Maintenance views维护视图:允许你进行对几个表的数据进行修改,参与连接表必须存在外键,他们的连接条件是不能自定义的;

    Append Views附加视图:这种视图主要用于增强。

    在四种类型视图只有Database views是通过inner join来建立,其他类型的视图使用的outer join 语句建立的。

     

    2、对于Help视图和Maintenance视图的一些限制

    对于用于定义Help视图和Maintenance视图的第二层表必须和主表有N:1的关系,其他加入的第三层表又的和第二层表有N:1的关系。

     

    3、各种视图允许的操作

    如果database视图和Protection视图能进行select操作,其他视图不能进行查询;

    对于多表连接的database视图,只能进行读操作;

    如果database视图是单个表,则可以插入纪录;

    如果database视图含有表的所有关键字,则可以修改;

    对其他三种视图都可以进行插入和修改操作,具体参见maintance status的设置。

     

    4、相关TCODE

    SE11

    PS:我们在创建sapVIEW时必须把mandt加入View Field,否则会把所有client中的数据都读取出来

    SAP的视图有4种,数据库视图、维护视图、投影视图和帮助视图。

    数据库视图通过inner join的方式把若干个数据库表连接起来,可以类似的作为一个数据库表在ABAP里使用。

    维护视图是通过outer join的方式把数据表连接起来,可以作为维护表格内容的一种方式,很多配置都是通过维护视图实现的;

    投影视图有点类型数据库视图,但是是通过outer join的方式,可以隐藏一些字段内容。

    帮助视图用于创建ABAP的搜索帮助。

     

    展开全文
  • ABAP术语-ABAP Editor

    2018-05-30 10:45:00
    ABAP Editor 原文链接:http://www.cnblogs.com/qiangsheng/archive/2007/12/08/987498.html Program editor in the ABAP Workbench. You use the ABAP Editor to create and modify ABAP programs, function ...
    原文链接:http://www.cnblogs.com/qiangsheng/archive/2007/12/08/987498.html

    Program editor in the ABAP Workbench. You use the ABAP Editor to create and modify ABAP programs, function modules, screen flow logic and logical databases. You can enter program source code and perform syntax checks. The ABAP Editor offers several functions to support program development as well as normal text operations such as insert, find, and replace. You can use the ABAP Editor in four different modes: Editor control mode, PC mode with line numbering, PC mode without line numbering, and Command mode. You can navigate from the ABAP Editor to other ABAP Workbench development tools.

    ----------------------
    分隔线上面是 SAP 标准文档中提供的说明
    分隔线下面是我的翻译
    ----------------------
    在 ABAP 工作台中的程序编辑器。使用 ABAP 编辑器来创建和修改 ABAP 程序、函数模块、屏幕逻辑流和逻辑数据库。可以输入程序源代码和执行语法检查。ABAP 编辑器提供了几个功能来支持程序开发和一般的文本操作,例如插入、查找和替换。可以用四种不同的模式来使用 ABAP 编辑器:编辑器控制模式、带行号的 PC 模式、无行号的 PC 模式、命令模式。可以从 ABAP 编辑器导航到其他 ABAP 工作台开发工具。

    转载于:https://www.cnblogs.com/rena/p/9109628.html

    展开全文
  • 本文介绍在ABAP XSLT中调用ABAP类的方法。 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,482
精华内容 16,192
关键字:

ABAP