赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

快捷登录

查看: 26108|回复: 167

[P2J1]ABAP程序的类型

  [复制链接]
发表于 2010-10-7 09:11:53 | 显示全部楼层 |阅读模式
为什么要先说一下ABAP程序的类型呢,因为我想在大家学习ABAP之前,先了解一下,ABAP可以做哪几种程序,我们学习完ABAP,将来参与SAP项目的时候就也是用ABAP开发这几种程序,让大家有个感性的认识,其实ABAP是相当简单的,项目里用他开发也就无非下在的几种

1,报表
报表是ERP软件的最终产品,任何上ERP软件的公司,到最后的目的是干嘛呢,不就是让老总看一下公司运营的报表吗?比如今年公司的销售费用是多少,利润是多少,仓库里的库存还有多少,通过报表公司老总可以了解公司的运营情况,以便作为正确的决策判断。屠夫说过一名经典的话是,如果一个上了SAP的企业报表不正确的话,你再怎么忽悠公司老总,他们也不会信你。所以可见报表之重要性。
1-1,报表的执行
报表的执行很简单,
第一步,输入参数,比如你想查看2010年的数据,那在年份里输入2010年。,
第二步,点击执行按钮。
第三步,系统自动输入结果。
如下图
FILE_009.bmp
1-2,报表的输入形式
报表的输入形式有好多种,最常用的有ALV格式和书写格式。
ALV:是SAP标准的输入格式,ABAP顾问只要按照他的固定格式把数据加到里面,系统就能自动让他输出来,ALV还定义各种各样的属性,比如,你若想出来的数据加色彩,加下划线,都是可以的,这种输出方式在现在项目中用的最多,上图就是ALV的出力格式。
手写格式:因为ALV是SAP标准的,也就决定了他只是大众化的,不能适应企业的个别特殊需求,所以这种情况下,ABAP顾问只能用WRITE语句进行手动输出,WRITE语句可以在输出界面的任何地方输入企业想要的数据。关于它的具体用法,在后面的教程我们会详细教导。下图是一个手写格式的例子,输出文字是日文。
FILE_017.png
1-3,报表的作成方法
报表的作成方法有好多,最常用的就是我们ABAP开发报表,除此以外,还有Query, Report writer, Report painter, Sapscripte, Smartform.后面几种不需要太多的程序知识也是可以做的。在后面的教程里,我们将一一的介绍。

2,Dynpro开发
什么是Dynpro呢,就是界面开发,比如说,SAP已经为我们开发了好多好多标准的画面,但是呢,有些企业对画面有特殊的要求,比如说在标准的画面上要增加一个字段,再如用户开发的报表,可以输入参数,但是输入参数的时候会在第一个界面输入完,跳到第二个界面继续输,这时我们也要开发界面。不要以为开发界面是多么难的事,其实很简单,就跟小孩画画一样,按照要求拖拖画画就可以了。这里先不讲如何画了,到后面我们会详细讲,下面的界面就是所谓的Dynpro
FILE_016.png

3,增强
增强是这样的,就是有些企业如果不想用SAP标准功能,或者说SAP标准功能达不到他们要求,他们想在原来的功能上增加其他的一些要求的话,就要用到增强了。SAP系统预留了好多接口函数,几乎是每个操作代码都有自己的接口函数,我们只要找到这个接口函数,然后把企业要实现的功能在里面实现一下就可以了。比如,我们在系统里创建供应商主数据时,而企业负责创建供应商的员工有好几个,现在有一个供应商叫上海娃娃公司,那么有可能几位员工都同时建了此供应商,最后的结果就是系统里邮现了多个上海娃娃公司,而SAP系统是不允许删除数据的,这样就会出现麻烦。这种情况我们可以在创建供应商的时候做个一检查,就是检查系统里有没有同名的供应商,如果有就不允许再建了。就可以解决此类问题了。系统是没有自动检查功能的,那么我们如果要实现此功能的话,就要利用用增强,找到创建供应商对应的增强函数,在函数添加检查就可以了。增强事务代码是CMOD和SMOD。增强又可以分为好几种,最常见的是EXITBADI,还有财务模块常用的替代和检查。相信上面的解释你应该有所理解了。

4,函数
什么是函数呢,函数就是系统把一些常用的功能或代码写成一个共用的东西,放在系统里,以后只要你想用了,就可以拿来用,不需要再单独去开发了。打个比方,老大和老二家住在一起,老大住东房,老二房西房,中间房共用。老大买了电视机,那么老大把它放在中间房里,这样老二也就可看了,不要再买了。把代码做函数主要就是这个功能。这样做的好处一是代码的可重用性,二是将来维护方便。函数一般会定义入口的出口,传值进去,经过处理后,把结果传出来。函数的事务代码是SE37.下图是函数画面。
FILE_019.png

5,IDOC
IDOC是RFC的一种,主要是用来SAP系统中通讯的,等以后我们学习了SAP就会知道,在一个服务器上是可以分多个集团的,也就是CLIENT号,我们登陆系统时必须要先选择CLIENT号,比如你选了100,那么你接下来的操作就是在100下面,不可能对200下的数据进行操作,如果要操作的话,必须退出系统,重新登陆进去。有些跨国公司会有这样的业务,比如说他有A和B两个子公司,美国的A在100下,中国的B在200下,如果他们有这样的需求,就是在A建立供应商的时候同时也要在B建一个相同的供应商,两个公司是独立的,所以要想同时创建,那么沟通和协调上就是一个很大的问题。这个时候就可以利用IDOC来实现,实现远程通信和控制,使两个公司实现同步。具体的操作我们在后面再详细的细述。

6,批处理
批处理是相对于单个处理来说的,我们正常操作画面都是一个一个的操作,比如说创建客户,我们一般是一个一个的手动创建,建好第一个,建第二个。但是如果A企业有二千个客户,如果我们一个一个的创建的话,估计创建的人会受不了,而且长时间操作,正确性也难保证。这个时候我们一般就会采取批处理,一般的批处理有下面几种方法
1,BDC:主要是录制画面操作,模仿前台人为操作,让机器来自动操作。有错误的话,一般会停止后续运行。
2,BAPI:BAPI其实就是我们前面所说的函数,是系统对常要进行批处理的对象写好的函数,我们只要把数据按照它的要求整理好,作为入口参数传给函数就好。
3,LSMW:这个有点不好记,其实很好记,他就是“老师摸我”嘛。这个主要是通过画面对应的数据库字段,把数据上传后直接入数据库字段,从而实行批处理
4,CATT:CATT其实是最好用的,它是通过录制画面,然后下载输入的参数,在本地按照下载下来的数据参数格式,把要批处的数据编辑好,然后上传到CATT里,运行就可以了。
以上各个方法有各自的优缺点,等我们讲到的时候,再详细的细述,这里大家先了解一下就可以了。



最近访客

  • tbb1177
    2023-11-29
  • wx_49655
    2023-11-03
  • wx_65155
    2023-03-15
  • CY8122
    2023-02-28
  • yuanzhil
    2022-11-09
  • liuxc
    2022-06-16
  • uno
    2022-04-25
  • lulu0824
    2021-08-11
  • 青青子衿
    2021-03-25
  • 老罗
    2021-03-03
  • 枸杞泡可
    2021-01-08
  • 阿莹
    2021-01-08
  • admin
    2020-11-20
  • PCY
    2020-07-20




下一篇:[P2J9]ABAP变量
本楼点评(0) 收起
发表于 2010-12-11 01:00:27 | 显示全部楼层
太感谢了,以前看abap的资料没有admin写的这么好
本楼点评(0) 收起
发表于 2010-12-15 16:02:50 | 显示全部楼层
学习了,呵呵
本楼点评(0) 收起
发表于 2010-12-29 20:32:39 | 显示全部楼层
谢谢,学习,学习
本楼点评(0) 收起
发表于 2011-3-6 13:33:06 | 显示全部楼层
写的 错啊学习了
本楼点评(0) 收起
发表于 2011-3-24 12:46:28 | 显示全部楼层
学习中   写的挺通俗的
本楼点评(0) 收起
发表于 2011-4-3 17:36:44 | 显示全部楼层
学习了
本楼点评(0) 收起
发表于 2011-4-25 09:28:58 | 显示全部楼层
回复 1# admin


    呵呵
本楼点评(0) 收起
发表于 2011-4-26 16:44:57 | 显示全部楼层
谢谢 老师辛苦了
本楼点评(0) 收起
发表于 2011-4-28 16:52:56 | 显示全部楼层
學習中。。。
本楼点评(0) 收起
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-4-27 11:05 , Processed in 1.965727 second(s), 76 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表