ABAP 通过LDB_PROCESS函数使用逻辑数据库
更多内容关注公众号:SAP Technical
各位可以关注我的公众号:SAP Technical
样例代码及说明
TABLES SPFLI.
SELECT-OPTIONS S_CARR FOR SPFLI-CARRID.
TYPE-POOLS: RSDS, RSFS.
DATA: CALLBACK TYPE TABLE OF LDBCB,
CALLBACK_WA LIKE LINE OF CALLBACK.
DATA: SELTAB TYPE TABLE OF RSPARAMS,
SELTAB_WA LIKE LINE OF SELTAB.
DATA: TEXPR TYPE RSDS_TEXPR,
FSEL TYPE RSFS_FIELDS.
*设置需要回调的数据节点和回调对应的子程序
CALLBACK_WA-LDBNODE = 'SPFLI'.
CALLBACK_WA-GET = 'X'.
CALLBACK_WA-GET_LATE = 'X'.
CALLBACK_WA-CB_PROG = SY-REPID.
CALLBACK_WA-CB_FORM = 'CALLBACK_SPFLI'.
APPEND CALLBACK_WA TO CALLBACK.
CLEAR CALLBACK_WA.
CALLBACK_WA-LDBNODE = 'SFLIGHT'.
CALLBACK_WA-GET = 'X'.
CALLBACK_WA-CB_PROG = SY-REPID.
CALLBACK_WA-CB_FORM = 'CALLBACK_SFLIGHT'.
APPEND CALLBACK_WA TO CALLBACK.
*设置对应的选择屏幕的参数的传入值
SELTAB_WA-KIND = 'S'.
SELTAB_WA-SELNAME = 'CARRID'.
LOOP AT S_CARR.
MOVE-CORRESPONDING S_CARR TO SELTAB_WA.
APPEND SELTAB_WA TO SELTAB.
ENDLOOP.
*调用函数
CALL FUNCTION 'LDB_PROCESS'
EXPORTING
LDBNAME = 'F1S'
VARIANT = ' '
EXPRESSIONS = TEXPR
FIELD_SELECTION = FSEL
TABLES
CALLBACK = CALLBACK
SELECTIONS = SELTAB
EXCEPTIONS
LDB_NOT_REENTRANT = 1
LDB_INCORRECT = 2
LDB_ALREADY_RUNNING = 3
LDB_ERROR = 4
LDB_SELECTIONS_ERROR = 5
LDB_SELECTIONS_NOT_ACCEPTED = 6
VARIANT_NOT_EXISTENT = 7
VARIANT_OBSOLETE = 8
VARIANT_ERROR = 9
FREE_SELECTIONS_ERROR = 10
CALLBACK_NO_EVENT = 11
CALLBACK_NODE_DUPLICATE = 12
OTHERS = 13.
IF SY-SUBRC <> 0.
WRITE: 'Exception with SY-SUBRC', SY-SUBRC.
ENDIF.
*SPFLI节点对应的回调处理函数
FORM CALLBACK_SPFLI USING NAME TYPE LDBN-LDBNODE
WA TYPE SPFLI
EVT TYPE C
CHECK TYPE C.
CASE EVT.
WHEN 'G'.
WRITE: / WA-CARRID, WA-CONNID, WA-CITYFROM, WA-CITYTO.
ULINE.
WHEN 'L'.
ULINE.
ENDCASE.
ENDFORM.
*SFIGHT节点对应的回调处理函数
FORM CALLBACK_SFLIGHT USING NAME TYPE LDBN-LDBNODE
WA TYPE SFLIGHT
EVT TYPE C
CHECK TYPE C.
WRITE: / WA-FLDATE, WA-SEATSOCC, WA-SEATSMAX.
ENDFORM.
注意:通过'LDB_PROCESS'函数访问逻辑数据库时,请不要在程序属性里绑定逻辑数据库,否则会出LDB_ALREADY_RUNNING错误。
ABAP 通过LDB_PROCESS函数使用逻辑数据库相关推荐
- ABAP--通过LDB_PROCESS函数使用逻辑数据库
1.概览 通过LDB_PROCESS函数可以允许任何程序访问逻辑数据库,允许一个程序访问多个逻辑数据库,当然也允许多次连续访问访问同个逻辑数据库.当使用LDB_PROCESS函数来访问逻辑数据库时,选 ...
- 通过LDB_PROCESS函数使用逻辑数据库
样例代码及说明 TABLES SPFLI. SELECT-OPTIONS S_CARR FOR SPFLI-CARRID. TYPE-POOLS: RSDS, RSFS. DATA: CALLBACK ...
- 重新学习一下ABAP里面的逻辑数据库
之前以为逻辑数据库就仅仅是个选择界面那么简单,其实不是的,逻辑数据库还有很多名堂的. 逻辑数据常常要与 "START-OF-SELECTION"连合着一起使用. NODES: sp ...
- Logical Databases逻辑数据库
主要组成部分 结构(Structure) 选择(Selections) 数据库程序(Database program) LDB程序结构 FORM PUT_XXX性能问题 GET_EVENT内表 报表程 ...
- 逻辑数据库读取bseg
相关t-code sldb 一定要清空 :转到-〉属性-〉逻辑数据库设定 *&--------------------------------------------------------- ...
- 以下哪个函数不能选择mysql数据库_PHP使用以下哪个函数连接MySQL数据库服务器...
PHP使用以下哪个函数连接MySQL数据库服务器 更多相关问题 (6分)化合物A分子式为C6H120,能与苯肼作用,但不发生银镜反应.A经催化氢化得化合物B(C6H140).B(6分)化合物A分子式为 ...
- Query 操作手册 (新增逻辑数据库)
基本概念 QUERY是SAP的一项简单报表工具,它可为没有编程基础的用户用来生成简单的报表.它有图形化的界面,你可在上面托托拽拽,然后就可以见到你要的报表,可是这只是简单的应用,其实每个工具功能都是比 ...
- R语言广义线性模型函数GLM、广义线性模型(Generalized linear models)、GLM函数的语法形式、glm模型常用函数、常用连接函数、逻辑回归、泊松回归、系数解读、过散度分析
R语言广义线性模型函数GLM.广义线性模型(Generalized linear models).GLM函数的语法形式.glm模型常用函数.常用连接函数.逻辑回归.泊松回归.系数解读.过散度分析 目录
- R语言dplyr包filter函数通过逻辑条件过滤数据实战
R语言dplyr包filter函数通过逻辑条件过滤数据实战 目录 R语言dplyr包filter函数通过逻辑条件过滤数据实战 #导入dplyr包 #仿真数据
最新文章
- 你和PPT高手之间,就只差一个iSlide
- 国产深度学习框架迎来高光时刻,继清华 Jittor开源后,旷视「天元」纷纷重磅开源!...
- Ogre 学习笔记 (二) 环境:阴影 、雾效、灯光
- win10安装kafka
- JAVA的JDK环境变量的配置JAVA_HOME;PATH;CLASSHOME
- java中从str1中删除所有str2_Java中str1.equals(str2)和str1==str2的区别
- 生活杂谈:从Z149到Z78随笔
- 一个基于POP3协议进行邮箱账号验证的类
- super在java怎么用_super怎么调用啊。。
- postgresql-定时备份,压缩备份
- 概率论:假设检验、极大似然估计、无偏估计
- c++几个类互相包含
- CUDA编程之矩阵乘法
- 河南计算机职称不考了,河南省评定中级工程师职称是否还要求计算机应用能..._职称英语考试_帮考网...
- 树的遍历 ALDS1_7_C:Tree Walk
- video 标签 autoplay 实现自动播放
- 地图API公交线路查询
- 2022出海非洲:南非电商市场现状及发展前景
- 2022.8.29-9.4 AI行业周刊(第113期):世界人工智能大会
- 用批处理删除N天前或指定日期时间(前后)创建(或修改)的文件