SAP常用BAPI函数
BAPI_ALE_MODEL_GETBAPI_BARCODE_SENDLISTBAPI_ANSWER_READMULTIPLEBAPI_APPCOMP_READMULTIPLEBAPI_PROCDIA_READMULTIPLEBAPI_PROCDIA_WRITEMULTIPLEBAPI_DIAVAR_READMULTIPLEBAPI_DIAVAR_WRITEMULTIPLEBAPI_PROCEVENT_READMULTIPLEBAPI_PROCEVENT_WRITEMULTIPLEBAPI_HIERFILT_READMULTIPLEBAPI_HIERFILT_WRITEMULTIPLEBAPI_PROCFUNCT_READMULTIPLEBAPI_PROCFUNCT_WRITEMULTIPLEBAPI_PROCGROUP_READMULTIPLEBAPI_PROCGROUP_WRITEMULTIPLEBAPI_PROCCOMP_READMULTIPLEBAPI_PROCVAR_READMULTIPLEBAPI_CUSPRO_WRITESCOPEBAPI_QUESTION_READMUL
SAP ABAP小结
1 使用binary search之前,需要sort,并且sort by ascending(系统默认的顺序也是ascending)。而且read table with key的顺序同sort的顺序相同,否则出错,常会找不到纪录。Delete adjacent duplicates之前一定要sort。2 关于内部表示和外部表示:调用BAPI和Update DB的时候,一定要使用内部形式(物料号有前导零的时候被认为是内部形式;单位一般也有内部形式外部形式之分)。在se11浏览数据的时候,显示数据的画面是使用内部形式,当detail overview的时候,则是外部形式。3 使用at new, at first, at last, at end of的时候要注意:lo
SAP的用户出口(User Exits)
用户出口就是SAP中的Customer Exits或者User Exits 什么叫用户出口呢?打个比方说吧,SAP软件就象一根晾衣服的绳子,上面有数不清的衣架,多数衣架上已经挂上了衣服,就些衣服就SAP的标准程序,还有些衣架是空着的,这些就是“用户出口”,你可以把自己做的衣服(比如程序代码)挂到这些衣架上去--如果你觉得SAP给你准备的衣服不够穿或者不合身的话。使用用户出口可以:-不影响标准SAP源代码-不影响软件升级 SAP有四种基本用户出口的类型:1.菜单出口-Menu Exits定义自己的菜单2.屏幕出口-Screen Exits定义自己的屏幕3.功能模块出口-Functio
what's the SAP RFC?
RFCRFC是远程过程调用(Remote Function Call,也叫远程函数调用,请求注解,Request For Comments)的缩写形式。SAP系统RFC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印 [@more@]
sap 函数
函数名 描述 SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=“*”重新组织VIEW_MAINTENANCE_CALL 维护表视图 函数名 描述 DY_GET_FOCUS 获得屏幕焦点 DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值 函数名 描述 F4IF_INT_TABLE_VALUE_REQUEST 显示检索help READ_TEXT 读取长文本CONVERSION_EXIT_CUNIT_OUTPUT 单位转换SJIS_DBC_TO_SBC 全角转半角SJIS_SBC_TO_DBC 半角转换为全角CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位POSTAL_CODE_CHECK 检查邮政编码 [@
ABAP/4编程中用到的系统函数
sy-index:做无条件循环是的次数值. sy-subrc:系统执行后的返回值,如果为0就表示成功,否则为失败。 sy-fdpos:子字符串在源串中的位置。 sy-uzeit:获取系统时间。 sy-datum:获取系统日期。 shift string:左移字符串。长度减1。 concatenate:连接字符串。 split:拆分字符串。 search:查询字符串。 replace:替换字符串。 condense:删除多余的空格。 translate:转换字符格式,如将'ABC'转换为'abc' convert text:创建一个可排序的字符串。 overlay:用一个字符串覆盖另一个字符串。 strlen:字符串长度。 abs:取绝对值。 cos、
什么是ABAP ?
了解一下ABAP的发展历史是必要的,ABAP产生的最初的目的是用以生成简单打印报表程序,我们知道SAP最初是为解决财务实时数据处理问题的,ABAP(Advanced Business Application Programming->高级业务应用编程语言)现在用于编写SAP AG的几乎全部产品源代码. 严格地讲,ABAP/4不仅仅是一个开发工具,而且是一套完整的client/server开发环境,这很好理解,微软的Visiual Studio是一开发环境,VB,VC++等是开发工具.ABAP开发环境包含支持程序开发的一些函数和包等. [@more@]
BAPI BASICA CONCEPT
1, BAPIs Must not contain call transaction or submit report.2, BAPI structure must not use includes or append.3, BAPIs should not use dialogs.4, Asynchronous BAPIs use the ALE interface in this way:.Creates an IDOC from the BAPI data.Sends the IDOC to the target system.Receives the IDOC in the target system, create the BAPIs data from the IDOC and the BAPI..An ALE interface for a BAPIs is created in transaction BDBG.5, Programming a BAPI consists of follow major tasks:.Defining BAPI data structr
内表行数统计方法
以下是统计内表行数常用的三种方法,如下:1.LOOP AT it_itab.g_lines2 = g_lines2 + 1.ENDLOOP.该方法是通过循环内部表自己累加行数。2.DESCRIBE TABLE it_itab LINES g_lines1 . 该语句通过获得内部表的属性,将内部表行数赋值给 g_lines1 , g_lines1 为I型变量。3. g_lines3 = lines( it_itab ). 使用函数来计算内部表行数。以上三种方法中,第一种方法不推荐使用,推荐使用后两种方法。相关代码如下:[@more@]REPORT zmauricetest.TABLES vbak.DATA: g_lines1 TYPE i,g_lines2 TYPE i VALUE 0,g_lines3 TYPE i,g_date TYPE d VALU
在SAP中用CALL METHOD求本地IP的方法
DATA g_local_ip(20) TYPE c. CALL METHOD cl_gui_frontend_services=>get_ip_address RECEIVING ip_address = g_local_ip. WRITE g_local_ip.g_local_ip就是你本机的IP地址.[@more@]
ABAP General knowledge
1. What is the typical structure of an ABAP program? 2. What are field symbols and field groups.? Have you used "component idx of structure" clause with field groups? 3. What should be the approach for writing a BDC program? 4. What is a batch input session? 5. What is the alternative to batch input session? 6. A situation: An ABAP program creates a batch input session. We need to submit the program and the batch session in background. How to do it? 7. What is the difference between a
一些常用ABAP program 的例子
1. 接口的实现REPORT z_interface_demo.interface status.methods write.endinterface. "statusclass counter definition.public section.interfaces status.methods increment.private section.data count type i.endclass. "counter definitionclass counter implementation.method status~write.write: / 'count in counter is', count.endmethod. "status~writemethod increment.add 1 to count.endmethod. "incrementendclass. "counter implementationclass bicycle definition.public section.interfaces
ALV分类汇总
REPORT ztest1.TABLES:mara,mbew.TYPE-POOLS:slis.TYPES:BEGIN OF t_itab, matnr LIKE mara-matnr, ersda LIKE mara-ersda, matkl LIKE mara-matkl, lbkum LIKE mbew-lbkum, salk3 LIKE mbew-salk3, END OF t_itab.DATA:itab TYPE TABLE OF t_itab WITH HEADER LINE.SELECTION-SCREEN BEGIN OF BLOCK blok WITH FRAME TITLE txt1.SELECT-OPTIONS:matnr FOR mara-matnr.SELECTION-SCREEN END OF BLOCK blok.INITIALIZATION. txt1 = '请输入选择条件'.START-OF-SELECTION.END-OF-SELECTION. PERFORM getdat
求相同物料描述不同料号的源代码
一个比较精典的程序,可以求出一个产品(同一描述)编了多个料号的情况。REPORT ZJZTEST02.DATA: BEGIN OF WA_MARA, MAKTX TYPE MAKT-MAKTX, MATNR TYPE MARA-MATNR, END OF WA_MARA.DATA: G_TABIX LIKE SY-TABIX, G_LINES TYPE I.DATA IT_MARA LIKE TABLE OF WA_MARA WITH HEADER LINE.DATA IT_RESULT LIKE TABLE OF WA_MARA WITH HEADER LINE.SELECT MAKT~MAKTX MARA~MATNR FROM MARA INNER JOIN MAKT ON MARA~MATNR = MAKT~MATNR AND MAKT~SPRAS = SY-LANGU INTO CORRESPONDING FIELDS OF TABLE IT_MARA.S
关于在SAP中SQL语句的性能
DATA: BEGIN OF it_mara OCCURS 0,matnr LIKE mara-matnr,maktx LIKE makt-maktx,END OF it_mara.第一种写法:Select matnrINTO it_maraFROM mara.APPEND it_mara.ENDSelect. 第二种写法(high performace):Select matnrINTO TABLE it_maraFROM mara.==========================================DATA: BEGIN OF it_mara OCCURS 0,matnr LIKE mara-matnr,maktx LIKE makt-maktx,END OF it_mara.DATA: BEGIN OF it_makt OCCURS 0,matnr LIKE mara-matnr,maktx LIKE makt-maktx,END OF it_makt.第一种写法:LOOP AT it_mara.Select SINGLE maktx
ABAP中对内表进行clear操作时的注意点
当对内表进行clear操作的时候,必须区分两种情况:1.)如果该内表含有header line,那么clear操作仅仅是清空了header line,记录行保留2.)如果该内表没有header line,那么clear操作相当于refresh操作,也就是清空该内表的记录行。而refresh操作仅仅会清空内表的记录行,对header line并无影响!而老师在培训时仅仅讲到了内表含有header line时的情况,在我测试的时候发生了不必要的麻烦,特此补充![@more@]