网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月11日
漏签
0
天
sap吧
关注:
16,915
贴子:
52,399
看贴
图片
吧主推荐
游戏
首页
上一页
1
2
3
4
5
6
下一页
尾页
113
回复贴,共
6
页
,跳到
页
确定
<<返回sap吧
>0< 加载中...
回复:ABAP开发基础及应用
只看楼主
收藏
回复
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1.4、编写代码
返回到ABAP编辑器,根据需求完成代码编写。此程序的需求,其实并不复杂,实现的代码也可以很简单很灵活,而为了考虑程序的可读性、可维护性、可更改性,简单来说是为了让代码看起来更加舒服更容易理解、以后出现变更时能更加简单等,在编写代码时会考虑其结构、注释等,而且SAP的这个ABAP开发工作台功能也非常强大,在代码编辑上也能实现高亮显示、自动缩行、大小写设置等。如下将实现好的代码进行说明:
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
1)程序说明部分
在程序的最开始,以注释的方式(行的首字母为*),对程序的用途、对应的项目、开发人员、开发日期、程序的变更情况、程序中使用的标题、文本、变量进行说明,以更好的理解程序。
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
*&---------------------------------------------------------------------*
*& Program Name <程序名称> :ZU0101_HELLO_WORLD
*& Purpose <程序用途> :
*& Project Name <项目名称> :
*& Created By <代码编写人> :
*& Create On <创建日期> :
*& Functional Consultant <顾问> :
*& Description <功能描述> :
*----------------------------------------------------------------------*
* Modification Log <程序修改日志>
*Date Programmer Corr. # Description
*
*----------------------------------------------------------------------*
* Program Summary <程序总结>
*& Hello World ! - 第一个ABAP程序 &*
*
*列表标题:
* 我的第一个ABAP程序
*选择文本:
* MYNAME——我的姓名:
* MYBIRTH——我的出生日期:
*程序文本:
* 001——您好,世界!
*使用的系统变量:
* SY-ULINE——横线
* SY-VLINE——竖线
* SY-DATUM——当前日期
*----------------------------------------------------------------------*
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2)对象定义
对程序中要使用的对象进行定义,如初始界面中要输入的姓名、出生日期,在程序处理过程中要使用的当前日期、6月后的日期、计算出的年龄,进行定义;同时在写代码时为提高可读性,会通过英文单引号“"”进行注释说明,并还注意代码中的其它各种符号,如“(”“:”“,”“.”,其都是英文字符且在代码中各有含义:
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
REPORT zu0101_hello_world.
*****对象定义
PARAMETERS: myname(10) TYPE c OBLIGATORY, "定义输入变量存储输入的值
mybirth TYPE d DEFAULT '19900101' OBLIGATORY.
DATA: myage TYPE i, "定义变量存储我的年龄
now TYPE d, "定义变量存储当前日期
date6ms TYPE d. "定义变量存储半年后的日期
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
3)变量赋值
通过获得系统变量、字符处理、计算、调用函数等,得到各变量的值以进行下一步的程序处理:
*----------------------------------------------------------------------*
*****变量赋值
now = sy-datum. "将当前日期赋值给NOW
myage = now+0(4) - mybirth+0(4). "日期变量+0(2),取得日期中的年份
"并通过年份相减计算年龄并赋值给MYAGE
CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' "通过函数计算6个月后的日期
EXPORTING
date = now
days = 0
months = 6
signum = '+'
years = 0
IMPORTING
calc_date = date6ms.
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
4)数据输出
根据要求,通过Write进行输出,同时在有颜色要求的地方,通过format进行颜色设置。
*****数据输出
WRITE: /5 'Hello World', "WRITE输出数据,/5 换行从第5位开始输出,
"":"将WRITE语句连接至各","号分隔的各语句直到"."结束。
/5 TEXT-001, "根据程序文本输出:你好,世界!
/5(60) sy-uline, "输出长度为60的下划线
/5 '我叫',myname, ',今年', (2) myage, '岁,',
/5 '今天是', now, '!',
/5 '这是我的第一个ABAP程序!'.
FORMAT INVERSE ON COLOR COL_NEGATIVE. "设置输出颜色为红色
WRITE: /5(61) sy-uline,
/5 sy-vline, '今天的努力,必将换来明天的回报!', "输出: | 竖线~文本~竖线 |,
65 sy-vline, "没有用"/"会同一行输出
/5 sy-vline,'我相信:',
65 sy-vline,
/5 sy-vline, '半年后,也就是', date6ms, '后,',
65 sy-vline,
/5 sy-vline, '我将能成为一个合格的ABAPer!',
65 sy-vline,
/5(61) sy-uline.
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如上4部分代码按顺序组合在一起,则是此开发实践的完整实现代码,输入后可通过程序美化器自动编排;最后参考1.3步骤的设置程序文本标题,设置输入时的选择文本,如图1-16,由此完成程序的开发:
图1-16 程序的选择文本
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2、程序检查激活与调试
代码编辑完成后,可通过SAP的检查、测试、调试工具等对程序进行排查,以尽可能在程序交付前找出问题。
检查 激活 运行
断点设置
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2.1、程序检查
能找出变量定义、语法等的错误,如在代码中,变量date6ms,在定义时输入为data6m(图1-17中37行),使用时却还是date6ms(52行和70行),点击检查后,将在界面上显示检查的结果窗口,告知问题及可能的解决办法;如果检查没问题,则会在状态栏显示“XXXX未发现错误”的提示。
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2.2、程序激活
如果程序检查没问题,可以点击激活,以表示此程序可用,可以执行,其状态也将变成“活动的”。
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2.3、程序调试1)设置会话断点
如想了解各变量包括当前日期、年龄、6月份后的日期,在赋值前后的值的变化情况,则可以在程序中添加断点,如图1-18所示:
图1-18 断点设置
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
2)运行程序
执行后,将弹出初始界面如图1-19,输入姓名出生日期后执行:
图1-19 程序运行初始界面
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
运行到断点后,将打开ABAP调试器,如图1-20,在此可以查看变量情况(双击变量,将添加到变量窗口并显示其值),可通过对程序的继续执行,查看其变化情况。
图1-20 运行到断点
sap老干部
吧主
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
3、发布程序
程序开发完成后,可通过ABAP工作台或编辑器运行程序(如前所述调试程序操作),另外还可以通过创建事务代码,以方便快捷调用和执行程序。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示