ABAP
文章平均质量分 54
easyjosn
这个作者很懒,什么都没留下…
展开
-
BDC详解
典型BDC操作过程: 输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。 SAP通过一个特殊的程序(T-code:SH原创 2009-09-03 11:09:00 · 2750 阅读 · 0 评论 -
关于屏幕编程
ABAP中开发的程序分2种。REPORT和DIALOG.在REPORT编程中, SAP系统中已经安排了事件流执行顺序。我们只要在相应的事件块块中敲上代码,程序会按照事件块的先后顺序执行的。REPORT事件流大概如下:INITIALIZATION——》AT-SELECTION——》AT-SELECTION-OUTPUT ——》START-OF-SELECTION——》AT U原创 2009-11-29 15:22:00 · 651 阅读 · 0 评论 -
两个箱子里东西若完全一样则合并,否则分开的一个算法
DATA : BEGIN OF CMP_ITEM OCCURS 0, exidv LIKE vbplk-exidv, " 包材编号 sumvemng TYPE STRING, " 数量字符串 sumvgpos type i, "原创 2009-12-03 17:31:00 · 635 阅读 · 0 评论 -
抓取数据的比较优化的方法v
ABAP Performance Examples 收藏本文章的内容根据SAP系统所带的教程整理而来 一、 SQL Interface1. Select ... Where vs. Select + Check用Select … Where语句效率比Select + Check语句要高,例如:SELECT * FROM SBOOK IN转载 2009-12-06 16:18:00 · 647 阅读 · 0 评论 -
VBAP表
VBAP表通常用法是VBELN、POSNR对应销售凭证和项目号!神奇的是,这个VBELN也可以对应交货单的DN,比如抓DN的客户地址时,就是从VBAP中通过DN=VBELN获得ADRNR!而销单获得的ADRNR会对应在销单(VA02)中维护的客户地址!也就是说这两个地址是不同的,照理说一个销单对应交货单中都是抬头部分,一样的才合理哦!DN抓出来的如上图 SO抓出来的如上图,比较原创 2009-12-08 12:32:00 · 1880 阅读 · 0 评论 -
几种下拉框的实现方式
ABAP中实现LISTBOX的几种方法 xiaogangh 2005/09/07 1. 在选择屏幕输出时调用FUNCTION MODULE ‘VRM_SET_VALUES’。这种方法的好处就是,可以在程序中自定义LISTBOX中的内容原创 2009-12-27 21:19:00 · 1390 阅读 · 0 评论 -
循环屏幕
在DIALOG中循环屏幕可以分两种。若不是表控制类型的,就和常规的循环屏幕是一样的。LOOP SCREEN ....MODIFY SCREEN ENDLOOP.若是表控制类型的,又可以再分两种来做。若是对表中某一列实现相同的控制,可以用到类似代码: LOOP AT CONTROL200-COLS INTO SCREENCOL. SCREENCOL-SCREEN-I原创 2009-12-27 21:28:00 · 820 阅读 · 0 评论 -
屏幕编程中几点注意
在一个屏幕中,若它的下一个屏幕是它本身,通常的状态是PBO--->屏幕----->PAI----->PBO,也就说一直在对当前屏幕的循环。1.要非常小心对一些内表的清空,不要把上一次获取的变量留到下一次中,这样就重复了,就不是想要的结果了,除非你是故意要这么做的。通常在USERCOMMAND MODULE 中会有一系列对内表的操作,在此之前,可以定义一个MODULE,用以清空要清空的变量或内表原创 2009-12-27 21:42:00 · 439 阅读 · 0 评论 -
展开BOM函数
CALL FUNCTION CS_BOM_EXPL_MAT_V2 EXPORTING* FTREL = * ALEKZ = * ALTVO = * AUFSW原创 2009-12-30 12:31:00 · 814 阅读 · 0 评论 -
从内表字段名称获取此字段在内表第几列
REPORT ZEASYGETFIELDS.types: begin of typ_itab, a type c, b type c, c type c, end of typ_itab.data i_itab type table of typ_itab .DATA: l_tabledescr_ref TYPE REF TO cl_abap_tabledescr,转载 2010-03-15 14:15:00 · 856 阅读 · 0 评论 -
REPORT传值到SMARTFORMS的三种方式
1.最通常的用法是通过SE11中建立STRUCTURE,在REPORT中申明此结构的数据类型,在SMARTFORMS中的FORM接口申明同样的结构后就可以传值了2.第二种是不用建立STRUCTURE,省了一个建表的麻烦,不过还是挺麻烦的!1).程序中申明一个TYPE2).SMARTFORMS中在全局定义中要在三处地方进行相应的操作 ***全局定义的类型中进行和REPORT中相同原创 2010-01-10 21:38:00 · 2001 阅读 · 0 评论 -
关于BAPI
CALL FUNCTION BAPI_SALESORDER_CHANGE EXPORTING salesdocument = lv_salesdocument order_header_inx = lv_order_header_inx TABLES return = lt_return原创 2010-01-10 21:21:00 · 668 阅读 · 0 评论 -
FORM 参数传递
参加 BC APBAP PROGRAMMING 4161、参数引用传递(Parameters Passed by Reference)使用USING或CHANGING不带value关键字来声明参数引用传递。代码样例:FORM subr USING p1 [{TYPE type}|{LIKE field}] p2 [{TYPE type}|{LIKE原创 2010-04-14 15:41:00 · 2704 阅读 · 0 评论 -
创建发票同时发送SMARTFORMS格式的E-mail给用户
这部分逻辑在SMARTFORMS入口函数中来做,而这部分属于UPDATE TASK。所以能在这部分代码中添加会触发COMMIT WORK动作的代码。 所以分成这以下几个步骤来做: 1.SMARTFORMS 产生的OTF DATA 数据转为PDF 内表数据 CALL FUNCTION CONVERT_OTF 2.PDF 内表数据转为M原创 2010-04-28 16:50:00 · 3014 阅读 · 0 评论 -
分隔文件名和路径FUNCTION
CALL FUNCTION DSVAS_DOC_FILENAME_SPLIT EXPORTING pf_docid = name1 IMPORTING pf_directory = directory pf_filename = filename pf_extension = extension.原创 2010-05-10 11:15:00 · 703 阅读 · 0 评论 -
ABAP常用函数集锦 转
ABAP常用函数集锦 函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息 EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织 VIEW_MAINTENANCE_CALL 维护表视图 函数名 描述 DY_GET_FOCUS 获得屏幕焦点 DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的原创 2010-01-27 11:30:00 · 936 阅读 · 0 评论 -
如何限制SELECT-OPTIONS的选择屏幕的OPTION
REPORT Z_CONECT_A.* Include type pool SSCRI&g8~`9p;f0TYPE-POOLS sscr.TABLES : marc.*定义选择屏幕select-options :ITPUB个人空间!kYz"oJa3YE s_matnr for marc-matnr,q FN~ Mm0 s_werks for marc-w转载 2009-11-20 10:11:00 · 512 阅读 · 0 评论 -
ALV学习笔记1
接触ABAP也有一个多月了!来记点东西!困惑几天的问题今天有了眉目了。学习了ALV的面向对象编。在对内表过滤表筛选后,内表其实还是没有改变的,而显示在屏幕上的东西是筛选过后的。所以对有用到索引(INDEX) 就不是想要的结果。也就是说,这时候是不可以用INDEX这个语法的。原创 2009-09-01 21:33:00 · 453 阅读 · 0 评论 -
SET EXTENDED CHECK OFF.
1.SET EXTENDED CHECK OFF. EffectYou use these statements tot switch the extended syntax check off or on. If the extended syntax check (Transaction SLIN ) reports errors which you do not consider t原创 2009-09-07 15:35:00 · 1721 阅读 · 0 评论 -
上载EXCEL文件到SAP系统内表FUNCTION
思路:在选择屏幕中点开选择电脑中需要上传的EXCEL文件( PERFORM FILESYSTEM_SHOW CHANGING G_SUBRC P_FILE.),文件上传后用相应FUNCTIONG传到内表中。(ZHRIT101) FORM filesystem_show CHANGING pl_subrc TYPE i原创 2009-09-08 10:32:00 · 1390 阅读 · 0 评论 -
SAP系统通过FTP上载*.txt文档到服务器
整体思路是从SAP系统内表抓取数据(PERFORM GET_DATA)进行整理之后(PERFORM DEAL_DATA)再进行转化为FTP上载用的格式(PERFORM GET_OUT.)也就是对数据的初始化,这里用到了CL_ABAP_CONV_OUT_CE这个类。接下来就是设置FTP了,分为有密码和没有密码的。代码如下: START-OF-SELECTION.*-- crea原创 2009-09-08 10:12:00 · 2727 阅读 · 1 评论 -
性能改善
* LOOP AT IT_STLNR.* LOOP AT IT_SKDRULE* WHERE WERKS = IT_STLNR-WERKS AND* MTART = IT_STLNR-MTART.* IF IT_STLNR-MATNR CP IT_SKDRULE-MATNR.** DELETE IT_STLNR.*原创 2009-09-09 15:05:00 · 446 阅读 · 0 评论 -
SAP QUERY
这两天被QUERY这个低级产物搞死了!两周的纠结之后,算是搞定这个东西了!几点教训,来这边记记!1.信息集在激活后是不能删除里面的表了2.连表的关键在搞清楚这些表之间的关系? 可以通过SE11来查看这些表的数据,观察比较然后再抽象提取出这些表有关联的一些条件.先形象再抽象嘛,嘿嘿!听过一段时间的接触后,应该要记住一些常用表比较关键的字段。对于表之间的连接,在ABAP里面分内原创 2009-09-15 16:12:00 · 1178 阅读 · 0 评论 -
获取用户属性
比如我们在批倒一个文件的时候,很多分公司都在用这支程序。然很多公司的文件格式不同,可以通过登陆的账号去判断是哪个公司。这就用用到了判断用户的属性。是一个非常有用的功能。 CALL FUNCTION ZGETUSERGINFO IMPORTING usergruop = zuserg msgtype = msgtype msginfo原创 2009-09-30 21:16:00 · 585 阅读 · 0 评论 -
SAP函数大全
********SAP中常用函数函数名 描述SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VIEW_MAINTENANCE_CALL 维护表视图函数名 描述DY_GET_FOCUS 获得屏幕焦点DY_GET_SET_FIELD_VALUE 获得或者设置屏幕原创 2009-09-30 22:14:00 · 994 阅读 · 0 评论 -
动态数据对象
一.字段符号:1.声明字段符号 FIELD-SYMBOLS [TYPE type|LINK dobj].的定义类型为D。2.分配数据对象声明后可以进行字段分配(有静态和动态之分)静态:程序运行前要确定分配给字段符号的数据对象名称。ASSIGN f TO .指定要分配数据对象的偏移量和长度:ASSIGN f TO .3.强制类型转换可将任何数据对象分配给,并将继承转载 2009-10-20 14:35:00 · 534 阅读 · 0 评论 -
SmartForms打印预览字符重叠原因之一
SymptomYou display an Asian Smart Form in a Unicode system. In this case, one table line contains enough space for you to display the contents. However, the system compresses text that is longer tha转载 2009-10-21 20:47:00 · 2294 阅读 · 0 评论 -
关于sy-binpt和sy-batch
批到数据时一般用到两种方法,调用BAPI或用BDC。在激活BAPI或用BDC中会激活用户出口的检查。调用BDC毫无疑问,无论是其中用到了CALL TRANSACTION会把SY-BINPT置为‘X’。而激活BAPI中,现在有个疑问,其在前台运行(g_mode=0)和后台运行(g_mode=2),sy-binpt值是否是不一样的呢?而BAPI这边的前后台运行和程序的前后台作业又是两个完全不同的概原创 2009-10-24 15:46:00 · 4855 阅读 · 0 评论 -
关于P类型
两个P类型的数据相减,若结果为0的话。若存放这个相减数据的变量为N的话,它会显示是0,而会带出后面的小数位。如 DATA: A TYPE P DECEMALS 5, B TYPE P DECEMALS 5, C(17) TYPE C. A = 5.00000.原创 2009-11-06 22:01:00 · 667 阅读 · 0 评论 -
LOOP AT SCREEN
SELECTION-SCREEN BEGIN OF BLOCK bloc1 WITH FRAME TITLE text-001.SELECT-OPTIONS: P_DATE FOR EKBE-BUDAT OBLIGATORY, P_WERKS FOR MARC-WERKS OBLIGATORY, P_INPO FOR EKBE-EBELN MODIF ID S原创 2009-11-18 18:28:00 · 5569 阅读 · 0 评论 -
关于视图
今天对一个视图的select失败,以至于要SELECT其对应的表 TCURR这个关于汇率的表,其有效从日期很特别。转换成正常显示日期。 translate using 091827364563728190". 不知道把正常日期转为有效从日期要用到什么呢?原创 2009-11-18 18:36:00 · 458 阅读 · 0 评论 -
ABAP数学函数
ABAP中有一些函数,提供各种数学运算功能,其输入参数可以是任意可转换为数值类型的数据。语法如下:[COMPUTE] n = func( m ). 这些数学函数分为2类,1类函数的参数类型是任意的,运算期间类型取决于参数类型;另1类函数的值总为浮点类型,运行时所有其他类型数据被系统预先转化为浮点类型数据。 下表列出任意类型参数的函数列表: Fun转载 2010-01-14 19:38:00 · 1006 阅读 · 0 评论 -
Creating and changing a production order from ABAP FUNCTION 'CLOI_CHANGES_UPL_31'
正好遇到这个问题,在网上搜到的,不过看到红色字体那还是有点失望吧。 http://abaplog.wordpress.com/2007/05/19/creating-and-changing-a-production-order-from-abap/Creating production orders is one of common tasks when you have some转载 2010-05-17 17:37:00 · 1759 阅读 · 0 评论