SAP abap 内表增加字段方法,结构复用
1、include
data: begin of gth_qamr.
include structure qamr.
data: kurztext like qamv-kurztext,
ztext like qamv-kurztext,
verwmerkm like qamv-verwmerkm,
steuerkz like qamv-steuerkz.
data: end of gth_qamr.
data: gtd_qamr like table of gth_qamr.
2、append
结构复用:引用自江正军老师-博客园 博客链接:www.cnblogs.com/jiangzhengjun
TYPES BEGIN OF struc_type.
TYPES comp ...
TYPES comp TYPE struc_type BOXED. "参照另一结构类型
INCLUDE { {TYPE struc_type} | {STRUCTURE struc} } "将另一结构包括进来
[AS name [RENAMING WITH SUFFIX suffix]].
TYPES END OF struc_type.
SAP交货单过账自动生成采购订单、采购订单自动收货入库(转)
原文地址:http://blog.sina.com.cn/s/blog_ad5dbd0201010qtt.html
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能
1、增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数据不一致,所以在过账成功后触发,效果更好。
2、BADI增强:DELIVERY_PUBLISH:数据库更新期间交货数据的公告,采用方法:PUBLISH_AFTER_SAVE
3、功能实现:由于该增强没有参数,所以问题的关键是业务数据的获取,采用以下方法获取,其他功能就大家自己具体去实现了,这里只是把关键的地方粘贴出来:
FIELD-SYMBOLS : <V_VBELN> TYPE LIKP-VBELN.
FIELD-SYMBOLS : <V_LFART> TYPE LIKP-LFART.
FIELD-SYMBOLS : <V_LFDAT> TYPE LIKP-LFDAT.
FIELD-SYMBOLS : <V_VKBUR> TYPE LIKP-VKBUR.
FIELD-SYMBOLS : <V_MBLNR> TYPE EMKPF-MBLNR.
DATA : V_VAL TYPE STRING VALUE '(SAPMV50A)LIKP-VBELN'.
DATA : V_VAL1 TYPE STRING VALUE '(SAPMV50A)LIKP-LFART'.
DATA : V_VAL2 TYPE STRING VALUE '(SAPMV50A)LIKP-WADAT_IST'.
DATA : V_VAL3 TYPE STRING VALUE '(SAPMV50A)emkpf-MBLNR'.
DATA : V_VAL4 TYPE STRING VALUE '(SAPMV50A)LIKP-VKBUR'.
CLEAR:C_VBELN,C_LFART,C_BUDAT,C_MBLNR,C_YEAR,C_JZRQ,
C_CPZH,C_WERKS,C_LGORT.
DATA:I_LOG TYPE TABLE OF ZMDLOG,
W_LOG TYPE ZMDLOG.
*********获取交货类型
ASSIGN (V_VAL1) TO <V_LFART>.
MOVE <V_LFART> TO C_LFART.
*********获取物料凭证
ASSIGN (V_VAL3) TO <V_MBLNR>.
MOVE <V_MBLNR> TO C_MBLNR.
*********获取交货单号
ASSIGN (V_VAL) TO <V_VBELN>.
MOVE <V_VBELN> TO C_VBELN.
*********销售办公室
ASSIGN (V_VAL4) TO <V_VKBUR>.
MOVE <V_VKBUR> TO C_VKBUR.
4、采购订单自动生产使用BAPI:BAPI_PO_CREATE1
5、采购收货使用BAPI:BAPI_GOODSMVT_CREATE
6、当需要交货单冲销时,增强点为交货过账冲销前,要先保证采购收货冲销成功并删除采购订单,才能执行过账冲销,这样才能保证数据的连续性,采购入库冲销的BAPI:BAPI_GOODSMVT_CANCEL
注意:当交货过账成功,采购订单没有生产时,我们要扑捉异常,同时冲销交货单这样才能保证数据的一致性。
SAP 查询分析器,查询报表自动生成,SQL查询测试实现说明(转)
在日常的SAP开发和应用中,经常需要通过查询SAP数据表来处理日常业务,比如:数据对账、报表SQL测试、SAP查询功能开发等。通过开发SAP查询分析器,SAP实施和开发人员,可以在较短的时间内查询到需要的数据以及关联的数据;也可以通过该功能,生成程序源代码,减少数据查询和报表开发的工作量,提高工作效率:具体功能如下:
1、日常数据查询、关联查询、数据对账;
2、报表及其它SAP功能开发的SQL语句测试;
3、查询报表源代码生成;
4、查询格式保存与重复利用。
1、功能设计:
(1) 类似于微软和ORACLE的数据库查询分析器,在SQL编辑器中输入SQL语句、可以是一条,也可以是多条。通过执行功能,则显示查询的数据清单;
(2)将设计好的查询语句,保存到数据库中,便于重复使用,提高查询设计的效率;
(3)将输入的SQL语句,通过格式化功能,让SQL语句便于阅读和修改;
(4)将SAP透明表加入查询分析器中,通过选择相应的字段,动态生成SQL语句。减少SQL语句的编辑工作;
(5)输入SQL,运行生成查询清单。将查询重新组织,生成ABAP源代码,通过粘贴复制功能,快速在SAP中生成用户需要的查询报表。
2、应用前景:
通过SAP查询分析器的应用,SAP实施和开发人员可以快速的查询到需要的数据,业务查询报表也可以快速的生成。过去需要查询关联的数据时,需要通过在SAP中编写程序、开发实现,报表开发完成后,需要反复的测试和调整,往往需要几天的时间来完成一个查询功能的开发。SAP查询分析器可以对SQL语句进行测试、报表源代码自动生成、日常数据查询、数据对账、指标查询等,不仅数据准确,而且只要业务逻辑清楚,几分钟就可以完成数据的查询和报表生成。大大提高的工作效率,也减少了系统维护成本,在信息化建设中应用广泛。
3、开发思路
(1)、使用类CL_GUI_TEXTEDIT,实现SQL编辑窗口;
(2)、使用类CL_GUI_ALV_GRID,显示查询清单;
(3)、使用类CL_GUI_ALV_TREE,显示与设置透明表查询字段;
(4)、使用类CL_GUI_EASY_SPLITTER_CONTAINER,设置布局;
(5)、使用ABAP动态编辑技术,实现动态清单显示;
4、效果
原文地址:http://blog.sina.com.cn/s/blog_ad5dbd0201010qt8.html
作者已经放弃更新了,源代码我也没有,特此说明!
SAP如何修改表的数据
ABAP 7.40, SP08 中的 Open SQL 新特性
1,使用 data_source~*指定列
在7.40, SP08中,可以在SELECT语句中使用data_source~*来指定选取不同的数据库表、视图的全部列来作为结果集。它也可以和单独指定的列col_spec结合(通过聚合表达式)。
当在结果集使用了data_source~*的时候,语法检查会以严格模式运行。
2,SELECT...INTO后的内联声明
根据SELECT语句的返回结果集,现在可以使用DATA(...)以及转义前缀@来内联声明数据对象、结构、内表。比如:
SELECT * FROM sflight INTO @DATA(ls_sflight) WHERE connid = 'AA'.