1、1) PROCESS BEFORE OUTPUT(简称 PBO):进行屏幕初始化工作,如数据库选择,屏幕元素属性动态设定等,如根据用户权限和继电定值申请单的状态确定哪些屏幕字段是输入状态,哪些字段是显示状态;PBO 模块结束后,系统显示当前用户屏幕。2) PROCESS AFTER INPUT(简称 PAI):当用户在屏幕上执行某些功能后被触发,PAI 结束后,屏幕可能进入后续或返回上一个屏幕序列;3) PROCESS ON HELP-REQUEST (简称 POH):当用户按下 F1 键要求查看帮助信息时触发;4) PROCESS ON VALUE-REQUEST(简称 POV):当用户按下
2、 F4 键要求查看搜索帮助时触发。5) 如何实现 f4 帮助方法一:a. .事务码 SE11 打开数据字典,选中搜索帮助,填写名称,点击创建. (前提先把表格和数据元素以及域都建好了)2.填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.3.填写搜索帮助参数,字段名称,输入输出属性,显示位置次序, 数据元素.4.保存,激活.5.打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击 SRCH HELP,填入你建立好的搜索帮助的名称.6.保存,激活表.7.重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了 .Ps:在建立屏幕程序的时候要填上屏幕中你所填变量的 f4 的
3、名字注:此方法比较直观,但是有相关的前提:要添加搜索帮助的表中的字段 ,必须要有参照的数据元素. 没有数据元素无法建立搜索帮助.所以前提就是我们要事先维护好数据元素.方法二:在 ABAP 程序中直接写相关代码来实现.具体步骤:1.添加 VALUE-REQUEST 事件 .示例代码:AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.PERFORM FRM_XILEI_SELECT.2.在子程序中实现搜索帮助功能.示例代码: FORM FRM_XILEI_SELECT .*细类的搜索帮助DATA: RT_TAB LIKE DDSHRETVAL
4、 OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF IT_XILEI OCCURS 0,XILEI LIKE ZSFQ10-XILEI,END OF IT_XILEI.SELECT XILEI INTO CORRESPONDING FIELDS OF TABLE IT_XILEI FROM ZSFQ10.CALL FUNCTION F4IF_INT_TABLE_VALUE_REQUESTEXPORTING RETFIELD = XILEIDYNPPROG = SY-REPIDDYNPNR = SY-DYNNRDYNPROFIELD = S_XILEI-LOWVA
5、LUE_ORG = SCALLBACK_PROGRAM = SY-REPIDTABLESVALUE_TAB = IT_XILEIRETURN_TAB = RT_TABEXCEPTIONSPARAMETER_ERROR = 1NO_VALUES_FOUND = 2OTHERS = 3.IF SY-SUBRC ”或“=”运算符访问类对象或组件,可以通过变量对方法名进行指定,实现动态调用。Class definitionPublic section.Protexted section.Private section.Method . Endmethod.Endclass.当所声明的类中包含方法时,需
6、要通过下列代码对方法的实现行为进行定义Class implementationMethod endmethod.Endclass.9) sap 实现增强的几种方式:方式有:表增强、屏幕变式和事务变式、程序增强(用户出口和客户定制出口、业务增强 badi、业务事件 bte、增强点、 img 后台配置) 、菜单增强。10) sap query创建步骤:1、 创建用户组 user group(SQ03)2、 创建 infoset,即设定列表关联的数据表及字段( SQ02)3、 Basic list 的创建Sq01 是创建 query 的事务码11) Alv 通过标准函数调用,它通过程序传递数据内表的
7、方式来显示数据。Alv 输出的方式有两种 grid 和 list。Alv 中的 layout 主要用于设定 alv 的输出格式,而 fieldcat 主要用于 alv 结构定义,包括具体的字段名称、类型、格式等属性。Layout 和 fieldcat 同属于类型池 slis。 Alv 调用主要是通过以下几个函数实现:REUSE_ALV_FIELDCATALOG_MERGE(根据内表结构返回 fieldcat 字段结构信息)、REUSE_ALV_GRID_DISPLAY/REUSE_ALV_LIST_DISPLAY:输出 alv 报表、12) 数据分析方法:(找表的 18 种方法)-包括 F1
8、字段分析方法、 ST05 数据追踪方法、where-used list 方法、数据词典分析方法、调试分析方法、文本方法等。13) 。Sap 工作流构建步骤:查找、创建触发事件;构建业务对象;构建程序/屏幕;构建工作流引擎;构建规则;测试创建任务(事务码 pftc) 、业务工作台(事务码 SW11)工作流系统的配置-事务码 SWU3工作流设计器-事务码 swdd14) smartform其工具主要分为三大部分,分别用于创建 form(板式) 、 style(样式) 、text module(文本模块) .如果想要实现系统可以直接打印出来自己配置的 smartform,需要通过 nace(事务码)
9、进行后台配置。Scriptform: 格式绘制器 -se71;标准文本-SO10 ; style 体例设计-se72Sap script 与 abap 连接通过三个 function 实现:OPEN_FORM; WRITE_FORM; CLOSE_FORM事务码 se78 是对 sap 系统上传图片和文本的事务码。Scriptform 无法直接复制,需要先使用工具将相关 scriptform 导出为本地文件,在开启的需求系统中将文件导入,由此实现 scriptform 的复制。 (通过 se38,输入程序名RSTXSCRP,)步骤复杂,见书15) 屏幕程序开发精通 Dialog 屏幕标准元素实
10、现的界面,主要包括:TABLE CTROL, TAB STRIP, Dropdown List, F1 功能、F4 功能等。精通 CLASS 方式实现复杂的界面,包括:Container 控件(Custom Container、Splitter Container、 Docking Container 等;ALV Tree 控件;ALV GRID 控件(该控件可以通过调用 ALV Class 中的方法和属性实现对ALV 的复杂控制(如增加用户按钮,双击事件,对话框显示详细等);以及 Picture 控件,TEXT EDIT 控件等的实现;熟练掌握 Collapsible Area 技术实现界面
11、可折叠的复杂屏幕设计。16) 接口开发:RFC关于ABAP利用OLE连接外部数据库的范例 参见程序 ZPRG_CONNET_SQL_BY_OLE_ADO17) 业务总结SD 常用命令集合客户主数据XD01-创建XD02-修改XD03-显示销售订单VA01-创建VA02-修改VA03-显示对销售订单交货VL01N-创建VL02N-修改VL03N-显示VL09 取消发货MBST(取消凭证 )对销售订单开票一种参照销售订单开票参照交货单开票VF01-开票VF02-修改Vf03-显示VF11 冲销发票表:交货LIKPLIPO销售订单:VBAKVBAP发票MKPFMSEG客户余额FD10N销售定价过程(
12、客户信息记录)VK31-创建VK32-修改VK33-显示财务简介做凭证F-02凭证类型RV-销售发票凭证DZ-收款凭证PP 模块常用命令集合BOM:CS01-创建CS02-修改CS03-查看BOM 展开CS12-BOM 展开CS13-展开汇总CS14-BOM 比较CSMB-按树状展开CS15-BOM 反查工作中心CR01-创建工作中心CR02-修改CR03-查看工艺路线CA01-创建CA02-修改CA03-查看手工创建生产订单CO01-创建CO02-修改CO03-查看对生产订单发货MIGOMB26MB1AMMSC-扩充库位对生产订单报工CO11CO11NCO13-冲销报工CO14-查询报工对生
13、产订单收货MIGOMB31对生产订单关闭CO02-技术实现 TECO订单状态 :REL-下达CNF-PCNFDLV-PDLVTECO-技术实现CLSD-关闭预留表-RESB通过生产订单号查询到预留单号,再查找物料在制品-针对自制件不在 DLV在途-采购件-(未清采购订单 )查询作业类型价格KP26作业类型KL01-创建KL02-维护KL03-显示MRP 运算代码M61-创建物料主计划MD01-运行 MRP18) 屏幕元素Parameters 的用法.as checkbox:创建 checkbox 对象.obligatry:限制该 select-options 为必输项,执行中系统会提示radi
14、obutton group radi:建立分组单选框visible length vlen:定义显示长度as listbox visible length vlen :创建一个下拉列表,并指定输出长度Selection-screen 对象:Select-screen 语句用于创建屏幕的框架结构,主要包括屏幕元素的创建、子屏幕的创建等。子屏幕主要分两种,一种为 include screen,可以通过 report 端程序直接调用;另一种为subscreen,需要通过 screen painter 所创建的屏幕引用。具体语法如下:1) selection-screen begin of scree
15、n scr.Selection-screen end of screen scr.该语法用于定义一个 include screen,可以通过 call 方法在 report 程序中引用,call屏幕窗体时加入 staring at ending at参数可以将所定义屏幕窗体作为一个新的对话框窗体来引用,并指定其创建的具体大小及位置。当从一个主屏幕中来调用其程序中的另一窗体时,必须使用 call selection-screen 的方法。2) selection-screen begin of screen scr as subscreen。该语法用于定义一个 subscreen。3) sele
16、ction-screen begin of block block。Selection-screen end of block.该语法在屏幕中定义一个 block,其扩展语法如下:with frame:创建一个框架Title title:创建一个带标题的框架.NO INTERVALS: 所创建的框架中限制 select 只有一个输入项。4) selection-screen include参照某一个已经定义的屏幕元素来创建。屏幕事件的中止:1) exit :中止某一事件模块,但不影响其他事件的执行。2) reject:功能与 exit 基本一致。3) stop:强制中止所有事件。内表的清空:C
17、lear:仅清空 header line,对内表数据存储空间不影响。Refresh:清空内表数据存储空间,对 header line 不影响Refresh from table :清空内表存储空间,填空从数据库表所获数据。FREE :清空内表数据存储空间,对 header line 不影响MessageMessage w000(mid).-语法,mid 为类名Pbo 用于控制屏幕输出前的事件,如数据初始化、赋值等。PAI 用于控制屏幕输出后的事件。包括相关控件操作以及数据处理等。下拉列表框:步骤1) 在屏幕新增一文本控件,设置其属性 dropdown 为 listbox2) 在 flow lo
18、gic PAI 中增加下列代码PRO AFTER INPUT.PROCESS ON VALUE-REQUEST. “定义调用 F4 帮助或单击该栏位时触发事件FIELD LANG MODULE SET_VALUE.3) 定义 set_value 模块,编辑 abap 代码。下拉列表的原理是先将列表中需要的数据保存在内表,再将内表的值传递给屏幕中的文本字段。对列表赋值需要调用功能函数 F4IF_INT_TABLE_VALUE_REQUEST屏幕工具条和菜单栏的设计可以通过事务码 se41 实现Picture control 的构造思想 :上传图片的事务码是 smw0,CALL FUNCTION DP_PUBLISH_WWW_URL “长传图片的位置函数EXPORTINGOBJID = ZTEXT1 “这个是你上传图片的名字LIFETIME = cndp_lifetime_transactionIMPORTINGURL = urlEXCEPTIONSOTHERS = 1. 详见自己的程序ZWSCR_PIC