当前位置: 首页 > news >正文

SAP ABAP基础语法-内表篇(二)

十一、使用 SPLIT 直接拆分到内表:

   DATA: BEGIN OF auth_data OCCURS 0,text(1024),END OF auth_data.STR = 'SE39/SE39/SE01/SE10'.SPLIT STR AT '/' INTO TABLE auth_data.

二十、CONDENSE 的用法:

      把工作区的内的所有字段的值 赋给 字符串

DATA: BEGIN OF sentence,word1 TYPE c LENGTH 30 VALUE 'She',word2 TYPE c LENGTH 30 VALUE 'feeds',word3 TYPE c LENGTH 30 VALUE 'you',word4 TYPE c LENGTH 30 VALUE 'tea',word5 TYPE c LENGTH 30 VALUE 'and',word6 TYPE c LENGTH 30 VALUE 'oranges',END OF sentence,text TYPE string.text = sentence.
CONDENSE text.write text.运行结果:She feeds you tea and oranges

十三、给输出的内容加上底色。

      Format color 1 on .write: / sy_datum.Format color 1 off...color 的说明可以按F1去查询,1表示蓝色color只能从1到7.

 十四、Modify 修改内表总结

*&**修改内表第四条记录的FLAG字段。
itab-flag = 'F'.
modify itab INDEX 4 TRANSPORTING FLAG  .
*&**修改内表FLAG字段为空的记录-批量修改
itab-flag = 'X'.

十五、内表方法比较

*&**不推荐
loop at itab.read table ftab with KEY flag = itab-flag.
endloop.
*&**推荐
FIELD-SYMBOLS <FS> LIKE ITAB.
LOOP AT ITAB ASSIGNING <FS>.READ TABLE FTAB WITH KEY FLAG = <FS>-FLAG.
ENDLOOP.

十六、内存的存入(EXPORT)与读取(IMPORT)

   例一:REPORT yitab_to_excel.data: p1(5) VALUE 'text3',p2(5) VALUE 'text4'.data: text1(5) VALUE '11111',text2(5) VALUE '22222'.
*&**把P1的地址指向TEXT1的值,把P2的地址指向TEXT2的值。export: p1 from TEXT1 to MEMORY id 'id1',p2 = TEXT2 to MEMORY id 'id2'.     "两种写法是一样的,
*&***把P1指向的值给TEXT2,把P2指向的值给TEXT1.import: p1 = text2 FROM MEMORY id 'id1',p2 to text1 FROM MEMORY id 'id2'.write: TEXT1,TEXT2.例二:TYPES:BEGIN OF tab_type,para TYPE string,dobj TYPE string,END OF tab_type.DATA:id    TYPE c LENGTH 10 VALUE 'TEXTS',text1 TYPE string VALUE `IKE`,text2 TYPE string VALUE `TINA`,line  TYPE tab_type,itab  TYPE STANDARD TABLE OF tab_type.line-para = 'P1'.line-dobj = 'TEXT1'.APPEND line TO itab.line-para = 'P2'.line-dobj = 'TEXT2'.APPEND line TO itab.
*&****把内表的地址放入内存,这样内表的两个字段都是地址,这样P1就指向text1,且text1也是一个地址EXPORT (itab)     TO MEMORY ID id.
*&****P1指向text1,在把text1指向的值赋给text2;P2指向text2,在把text2指向的值给text1.IMPORT p1 = text2p2 = text1 FROM MEMORY ID id.write: text1,text2.

十七、权限对象返回码所代表的意思。

    ·         0: 用户权限检查通过.

    ·        4: 用户权限不足.

    ·        8: 参数的数量不正确.

    ·        12: 权限对象不存在.

十八、调用事务

ALINK_CALL_TRANSACTION

如果一个事务码没有权限的话,可以使用这个函数绕过权限查检,

运行这个函数,输入事务码.

十九、系统实例

在SE38环境下的程序名输入栏输入'DEMO*'后按F4,你可以查到SAP所有的DEMO示例程序,会学到很多ABAP功能的实现方法,输入'BCALV*'后按F4,你可以查到很多ALV示例程序.

输入'SAPMTZ*'后按F4,你可以查到很多事务程序

例:BCALV_EDIT_01                  切换整个网格的准备输入状态BCALV_EDIT_02                  定义单元格级别的准备输入状BCALV_EDIT_03                  校验修改的单元格BCALV_EDIT_04                  删除和追加行BCALV_EDIT_05                  复选框BCALV_EDIT_06                  列级别的下拉列表框BCALV_EDIT_07                  单元级别的下拉列表框BCALV_EDIT_08                  集成不标准 F4 帮助

二十、WRITE ...TO 与 MOVE ...TO的区别


WRITE ... TO 把源的格式、值附到目标。MOVE ... TO 直接把源的值附到目标。例:
data: gv_char1( 20) typec,
gv_char2( 20) typec,
dec1( 10) type p decimals2value'22345.89'.start- of-selection.
* date *
write:/ 'date variable'.
write sy-datum to gv_char1.
write:/ 'write to', gv_char1.
move sy-datum to gv_char2.
write:/ 'move to', gv_char2.
gv_char2 = sy-datum.
write:/ 'gv_char2= ', gv_char2.
skip1.
* decimal *
write:/ 'decimal variable'.
write dec1 to gv_char1.
write:/ 'write to', gv_char1.
move dec1 to gv_char2.
write:/ 'move to', gv_char2.
gv_char2 = dec1.
write:/ 'gv_char2=', gv_char2.显示的结果是:
测试EXCEL模版导入date variable
write to 2008-09-30
move to 20080930
gv_char2= 20080930decimal variable
write to 22,345.89
move to 22345.89
gv_char2= 22345.89

http://www.lryc.cn/news/138292.html

相关文章:

  • 读SQL学习指南(第3版)笔记05_过滤
  • 防火墙组建双击热备后老是主备自动切换怎么处理?
  • SQL地址门牌排序,字典序转为数字序
  • DevExpress WinForms数据编辑器组件,提供丰富的数据输入样式!(二)
  • HTML番外篇(五)-移动端适配
  • 数字孪生:重塑制造、医疗和能源等领域的未来
  • 本地搭建CFimagehost私人图床【公网远程访问】
  • stm32之8.中断
  • 【面试题】:前端怎么实现组件的封装和上传
  • Oracle-day2:随机函数、innot in、大小写转换、范围查询、日期类型、空值与非空值、排序、条件判断
  • keepalived
  • react-native-gesture-handler 手势的使用
  • 【SA8295P 源码分析】系列文章链接汇总 - 持续更新中
  • springBoot防止重复提交
  • lvs-dr模式+keepalived
  • [C++]笔记-知识点总结
  • 1.RabbitMQ介绍
  • 软考高级系统架构设计师系列论文七十三:论中间件在SIM卡应用开发中的作用
  • 【Java架构-包管理工具】-Maven进阶(二)
  • 『C语言入门』分支和循环语句
  • 【给自己挖个坑】三维视频重建(NSR技术)-KIRI Engine
  • Chrome历史版本下载和Selenium驱动版本下载
  • 联合注入步骤
  • 后端项目开发:整合redis缓存
  • 美国访问学者签证好办吗?
  • Linux之基础IO文件系统讲解
  • Django主要特点
  • element-ui中的el-table合并单元格
  • 自组织地图 (SOM) — 介绍、解释和实现
  • Arduino程序设计(四)按键消抖+按键计数