阅读文章

What are ABAP Objects?

[日期:2006-10-18] 来源:sap-img  作者:sapsky [字体: ]

 

What are ABAP Objects?

ABAP Objects is a new concept in R/3 Release 4.0. The term has two meanings. On the one hand, it stands for the entire ABAP runtime environment. On the other hand, it represents the object-oriented extension of the ABAP language.

The following is a simple example shows the object-oriented aspect of function groups in the simple case of a counter.

Suppose we have a function group called COUNTER:

Create an abap program with this code :-

FUNCTION-POOL COUNTER.

DATA COUNT TYPE I.

FUNCTION SET_COUNTER.
* Local Interface IMPORTING VALUE(SET_VALUE)
  COUNT = SET_VALUE.
ENDFUNCTION.

FUNCTION INCREMENT_COUNTER.
  ADD 1 TO COUNT.
ENDFUNCTION.

FUNCTION GET_COUNTER.
* Local Interface: EXPORTING VALUE(GET_VALUE)
  GET_VALUE = COUNT.
ENDFUNCTION.

* End of program code

The function group has a global integer field COUNT, and three function modules, 
- SET_COUNTER, 
- INCREMENT_COUNTER, and 
- GET_COUNTER, that work with the field. 

Two of the function modules have input and output parameters. These form the data interface of the function group.

Any ABAP program can then work with this function group. For example:

REPORT ZABAPOO.

DATA NUMBER TYPE I VALUE 5.

CALL FUNCTION 'SET_COUNTER' EXPORTING SET_VALUE = NUMBER.

DO 3 TIMES.
  CALL FUNCTION 'INCREMENT_COUNTER'.
ENDDO.

CALL FUNCTION 'GET_COUNTER' IMPORTING GET_VALUE = NUMBER.

WRITE: / 'After processing NUMBER is :- ', NUMBER.

* End of program code

After this section of the program has been processed, the program variable NUMBER will have the value 8.

The program itself cannot access the COUNT field in the function group. Operations on this field are fully encapsulated in the function module. The program can only communicate with the function group by calling its function modules.
 



阅读:
录入:sapsky

评论 】 【 推荐 】 【 打印
上一篇:
下一篇:ABAP Object Oriented SpreadSheet with "Unlimited" Power
相关文章      
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款