初学abap 总结2

这篇博客主要介绍了在SAP编程中的一些基本操作,包括使用补0和去0函数、自定义字段的模糊查找、汇率转换、SELECT语句的多种用法以及在报表打印和BOM获取中的应用。通过参考不同的程序,如ZPROINFO02、ZFIXY001、ZMM0002等,详细展示了SAP ABAP的实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sap补0函数:

 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

        EXPORTING

              input  = qmtab1-zqmnum

        IMPORTING

              output = qmtab1-zqmnum.

去掉0函数:

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

              EXPORTING

                input  = qmtab1-zqmnum

              IMPORTING

                output = qmtab1-zqmnum.

 

 

自定义的字段实现模糊查找(参考程序ZPROINFO02):

DATA: itab LIKE zinfo01 OCCURS 0 WITH HEADER LINE.

 

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-b01..

PARAMETERS:  chengxu LIKE zinfo01-zprom .   "程序名称

PARAMETERS: bbname LIKE zinfo01-zrname .    "报表名称

*SELECT-OPTIONS:  bbname FOR zinfo01-zrname .    "报表名称

PARAMETERS:  syfw LIKE zinfo01-zfw .       "适用范围

PARAMETERS:  jysm LIKE zinfo01-zsm .      "简要说明

SELECTION-SCREEN END OF BLOCK b1.

 

CONCATENATE '%' chengxu '%' INTO chengxu.

CONCATENATE '%' bbname '%' INTO bbname.

CONCATENATE '%' syfw '%' INTO syfw.

CONCATENATE '%' jysm '%' INTO jysm.

SELECT * INTO CORRESPONDING FIELDS OF TABLE itab

      FROM zinfo01

      WHERE zprom LIKE  chengxu AND

            zrname LIKE  bbname AND

            zfw LIKE syfw AND

            zsm LIKE jysm.

 

汇率转换(参考程序ZFIXY001):

DATA: date LIKE sy-datum.          "获取汇率的时间,函数会取离指定时间前面最近维护的一个汇率

  DATA: rate LIKE vbrp-kursk.        "要输出的金额  最好参考一个有5位小数点的类型 不然精度会丢失

  DATA: curr_ex LIKE bapicurr-bapicurr .

  DATA: fa LIKE vbrp-kursk ,          "要转换的金额

        fc&

30天学会ABAP程序 学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手. 简单介绍下ABAP/4的一些特征: 1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定认为ABAP在报表开发上比Crystal report Tool要高效简单. 2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉. 解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快. ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP). 3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAPABAP开发环境层还提供了一套Open SQL访问底层数据库. 4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论). 5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象. 6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值