[SAP]ABAP动态生成经典应用之Dynamic SQL Excute 程序

ABAP动态生成经典应用Dynamic SQL Excute 程序 开发说明:在SAP的系统维护过程中,有时我们需要修改一些Table中的数据,可是很多Table又不能直接在Tcode:SE16中修改,使用的SAP ID又没有调试数据修改权限,这时我们应该怎么样修改数据呢?思路--> ABAP程序中的SQL 更新语句谁都有权限执行,只要我们能动态生成修改该Table字段的ABAP CODE动态执行即可! 开发技术:1.SQL代码编写技术1.动态程序 阅读详情
开发说明:在SAP的系统维护过程中,有时我们需要修改一些Table中的数据,可是很多Table又不能直接在Tcode:SE16中修改,使用的SAP ID又没有调试数据修改权限,这时我们应该怎么样修改数据呢?思路--> ABAP程序中的SQL 更新语句谁都有权限执行,只要我们能动态生成修改该Table字段的ABAP CODE动态执行即可!
 
开发技术:
1.SQL代码编写技术
1.动态程序代码生成技术
2.ABAP动态程序执行技术
 
注意事项:
SQL语法一定要准确,修改条件准确,修改数据后不违法数据唯一性原则
 
程序代码:如下
*******************************************************************
* (Copyright @2006 Mysingle Digital System Co.Ltd.
* All Rights Reserved|Confidential)
* System Module   :  ABAP CBO
* Program Description  :  Dynamic SQL Excute
* Developer         :  ZOU XIN
* Develop Date   :  2006.03.01
* Use Status   :  Release 1.0
*******************************************************************
REPORT z_cbo_abap_02 MESSAGE-ID zp NO STANDARD PAGE HEADING.
 
DATA : fcode LIKE sy-ucomm,
       changed LIKE s38e-buf_varied,
       save_tabix  LIKE sy-tabix,
       tabix_count TYPE i,
       select_key(10) TYPE c,
       etc(80)  TYPE c,
       update_flag  TYPE c,
       line_cnt     TYPE i,
       prog(8)      TYPE c,
       msg(120)     TYPE c,
       msg_text(72) TYPE c,
       confirm_flag TYPE c.
DATA: itab_sql LIKE abapsource OCCURS 0 WITH HEADER LINE,
      itab_prog LIKE abapsource OCCURS 0 WITH HEADER LINE.
 
START-OF-SELECTION.
*程序执行直接进入ABAP代码编辑器
  SET PF-STATUS 'PFSTA00'.
  WRITE: /1 'Edit Your SQL ................' COLOR 2.
 
AT USER-COMMAND.
*动态生成程序修改确认
  IF sy-ucomm = 'EDIT'.
    PERFORM editor_sql.
*动态生成程序执行
  ELSEIF sy-ucomm = 'EXEC' OR sy-ucomm = 'EDEX'.
    REFRESH itab_prog.
    CLEAR itab_prog.
 
ABAP】OPEN SQL(六)「DELETE语句 | MODIFY语句」 各位小伙伴们大家好呀!今天继续SAP ABAP系列文章的讲解,本节继续讲解OPEN SQL中的DML语句,本节内容涉及到DELETE语句和MODIFY语句,希望大家喜欢! 阅读详情

相关推荐

The ABAP SQL Trace (ST05)

非常不错的查表查字段文档,有了它,你就可以轻松找到sap程序所用到的字典表

abap动态sql

abap是支持动态sql的 执行opensql查询的时候,只需要在关键字后加上括号,括号内放入一段字符串即可 格式: SELECT (column_syntax) FROM (dbtab_syntax) 其中: column_syntax可以是字符串,也可以一个字符类型栏位的内表 dbtab_syntax可以是字符串,也可以一个字符类型栏位的内表 例子: lv_select = 'makt~matnr,makt~maktx' lv_table = 'makt' lv_where = 'makt~ma

谁的博客来着? 4819

ABAP SQL 语句 动态 操作

程序自主开发,包括SELECT,UPDATE,DELETE,INSERT操作,SELECT 语句可以根据自定义的内表动态的输出ALV 列表,UPDATE DELETE INSERT 语句可以对数据库表进行操作. 切忌谨慎应用程序对数据库的操作,以免造成数据的丢失.此程序仅共学习

ABAP动态编程-动态调用子例程&方法及动态SQL

本文主要讲述ABAP语言中FORM子例程动态调用,ABAP方法的动态调用。 以及SQL的动态使用,动态SQL包括动态OPEN SQL 和 ADBC SQL执行

xiefireworks的博客 4358

[SAP]ABAP动态生成经典应用Dynamic SQL Excute 程序(转)

开发说明:在SAP的系统维护过程中,有时我们需要修改一些Table中的数据,可是很多Table又不能直接在Tcode:SE16中修改,使用的SAP ID又没有调试数据修改权限,这时我们应该怎么样修改数据呢?思路--> ABAP程序中的SQL 更新语句谁都有权限执行,只要我们能动态生成修改该Table字段的ABAP CODE动态执行即可! 开发技术: 1.SQL代...

dayishi2939的博客 142

ABAP开发:动态Open SQL编程案例介绍

动态Open SQL是Open SQL的扩展。它不是要求整个SQL语句都是动态指定的。通过熟悉的静态ABAP编码表达静态已知的部分,动态元素的部分通过动态标记指定。动态片段不明确包含在ABAP源代码中,而是源代码包含一个ABAP变量,用括号括起来作为占位符。程序必须包含创建动态片段的ABAP源代码的编码,并将其存储在该变量中。在运行时,动态片段的ABAP源代码被解析并混合到语句的静态部分中。动态和静态部分对数据库来说看起来像一个单一的语句。这个过程对数据库是完全透明的。

SAP ABAP开发技能记录分享 1440

ABAP-- 动态 SQL 类 CL_SQL_STATEMENT ,cl_demo_output

ABAP-- 动态 SQL 类 CL_SQL_STATEMENT

weixin_45879627的博客 1515

ABAP 三种操作数据库的方法 OPEN SQL, EXEC SQL, ADBC

OPEN SQL这里就不多说了,可以执行大部分DML语句,但是却不支持DDL,DCL,UNIT,也没办法执行数据内嵌的函数。 EXEC SQL 和 ADBC 是所谓的Native SQL,这种方式直接进入指定数据库,不涉及到DBI,这样就没有table buffer。 相对EXEC SQL来说,更推荐ADBC的方式执行native sql,这种方式的好处是更加容易追踪错误。 以下是实例,

liangziyisheng的专栏 1万+

ABAP开发技术分享——动态 SQL 中的 USING 子句

ABAP 开发里,SQL 语句通常可以分为静态 SQL 和动态 SQL。静态 SQL 是指在编译时就已经确定好的 SQL 语句,而动态 SQL 则是在程序运行时才构建的 SQL 语句。动态 SQL 提供了更大的灵活性,允许根据不同的条件和用户输入来生成不同的 SQL 查询

m0_64077397的博客 665

ABAP:NATIVE SQL-EXEC

ABAP:NATIVE SQL-EXEC EXECSQL. “连接数据库,此名称在ST04-数据库连接中可看connectto‘READ‘ ENDEXEC.EXECSQL. “设置连接setconnection’READ’ENDEXEC....

weixin_30872867的博客 1474

ABAP 动态 SQL

ABAPsql语句是可以动态生成的,这个特性可以带给我们很多的便利。 比如SAP对费用的存储结构可能会采用 将会计月作为栏位的情况,及 period001,period002。。。等这样方式来存储值。 通常取这样的值都是采用 Case when的方式或 If--else 等语句选择不同的执行语句获取不同列的值。 这样的处理方式无形中增加了代码的行数,而实际上除了数值列不一样之外,其他列都是一...

web开发 905
上一篇: [SAP]ABAP动态生成经典应用之Table数据Upload 程序
下一篇: [SAP]Debug法修改Table数据
mysingle
博客等级 码龄21年 41粉丝 26原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值