用户出口总结_第1页
用户出口总结_第2页
用户出口总结_第3页
用户出口总结_第4页
用户出口总结_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、7月27日屏幕增强用户出口-migo创建程序,及其屏幕。2.找到badi的PBO程序。MB_MIGO_BADI - PBO_DETAILE_CPROG = ZTESTZW03.E_DYNNR = 1020.E_HEADING = ztest01.则程ZTESTZW03屏幕1020则被引用到migo的屏幕上。用户出口的总结。一.用户出口的类型1、第一代sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都 需要修改sap的标准代码。示例:USEREXIT. in SAPMV45A2、第二代sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和

2、CMOD完成实现。3、第三代sap提供的第三代的用户出口就是BADI,他的调用方式是CALL METHOD (instance),(相关的TCODE 是SE18和SE19),你可以通过EXIT_HANDLER这个单词查找BADI。另外还有一种出口叫BTE相关 TCODE: FIBFBusiness Transaction Events (Open FI)二,用户出口比较。第一代用户出口是form出口 如FORM USEREXIT_FIELD_MODIFICATION.CASE SCREEN-GROUP3.WHEN 900.IF VBAK-VBTYP NE A.SCREEN-ACTIVE = 0

3、.ENDIF.ENDCASE.CASE SCREEN-NAME.WHEN VBAK-VBELN.SCREEN-ACTIVE = 0.ENDCASE.ENDFORM.找法省略。SD的用户出口和定价的用户出口等多采用这种方式。第二代用户出口多是call customer-function 001这种方式实现的。是通过smod和cmod来实现的,Here are a couple of hints:If you have a user exit function module: EXIT_SAPLEINM_014Fire up SE37 to get the development class ME

4、Fire up transaction CMOD and go to menu option Utilities - SAP EnhancementsEnter the development class ME and execute. This will list all the enhancements available in that development class. Double click at leisureFor those wanting a more scientific method:SE16 with table MODSAP - Enter the functio

5、n module in MEMBER and execute (e.g.EXIT_SAPLEINM_014)NAME is the EnhancementTo find the project that the enhancement is in:SE16 with table MODACT - Enter the enhancement in MEMBER and execute (e.g.MM06E001)NAME is the Project to use in CMOD参考其他资料。第三代用户出口 BADIbadi对象的信息存储在SXS_INTER, SXC_EXIT, SXC_CLA

6、SS和SXC_ATTR这四个表中(参见 SECE 包);sap程序都会调用cl_exithandler=get_instance来判断对象是否存在,并返回实例;其实 get_instance就是对上述几个表和他们的视图(V_EXT_IMP和V_EXT_ACT)进行查询和搜索。基于这个机理,我查用ST05来监控一个TCODE来跟踪,然后选择查找有关上述几个表和视图的操作, 就可获得相关BADI。se18查找接口,se19实现接口就可以实现用户增强。补充7.00版后badi的几个处理变化以前的 CL_EXITHANDLER=GET_PROG_AND_DYNP_FOR_SUBSCR 被 CL_ENH

7、_BADI_RUNTIME_FUNCTIONS = GET_PROG_AND_DYNP_FOR_SUBSCR 代替.以前的PUT_DATA_TO_SCREEN和GET_DATA_FROM_SCREEN不在需要。用户可以创建 自己的数据传输函数,通过CALL BADI来调用.用户也不需要调用 CL_EXITHANDLER=SET_INSTANCE_FOR_SUBSCREENS 和 CL_EXITHANDLER=GET_INSTANCE_FOR_SUBSCREENS 函数.sample : This isan example toshow - howto achieve post-processi

8、ng follow-on processing functionality using BADIs Business Add-inn or user-exits.Find the relevant BADI using transaction SE18. In this case BADI ME_PURCHDOC_POSTED is used.Further, implement the BADI using transaction SE19.In Attributes section of BADI, define a STATIC attribute as PO_NUMBER. Stati

9、c means the attribute will keep its value between the calls. This will be checked to ensure that same PO will not be processed twice. Also these kind of user-exits and BADIs might get called recursively and get caught into an infinite loop, if not coded properly. Rememeber that this BADI is at the t

10、ime of PO save and then you are again trying to change & save the Purchase Order from within the BADI.BAPI to change Purchase Order BAPI_PO_CHANGE will be called IN BACKGROUND TASK to ensure that it will be called when COMMIT WORK is encountered.Dont forget to activate the BADI implementation in SE1

11、9.也可以再后台配置的地方找用户出口。如spro物料管理-采购-采购业务附加等。BTEIMG Menu Path: Financial Accounting Financial Accounting Global Settings Use Business Transaction Events Environment Infosystem (Processes).Find the correct Business Event. You are updating a field, so you select the Processes Info System instead of the Pub

12、lish and Subscribe Info System.Execute the search with the defaults.Find the correct interface for updating a document: Post Document: SAP - Internal Field SubstitutionPut your cursor on the event and click on the Sample Function Module button.You are now in transaction SE37 - Function Builder. This

13、 is the function module (sample_process_00001130) you will need to copy into a Z name function module for your codingClick on the Copy button.Enter the Z function module name in the To Function Module fieldEnter a Function Group. If you need to create a Z function group, go to transaction code SE37

14、and follow menu path: Go to Function Groups Create Group. A function group is logical grouping of function modules, and the ABAP code is generated for functiogiroups. You will be prompted for a development class and transport when creating the function group.In Function Builder (transaction SE37), e

15、nter the new Z function module. Click on the Change button.The system will default into the source code screenwhere you may enter your ABAP code.Notice the tables available for the code. Additional tables may be declared if necessary.Enter the following source codetables: lfa1.data: z_groupkey like

16、lfa1-konzs.z_groupkey =.loop at t_bseg.check for vendor lines. If one is found, read the vendor master andretrieve the group key field.if t_bseg-koart eq K.select single konzs from lfa1 into z_groupkey where lifnr = t_bseg-lifnr.endif.Move the group key field into all line items allocation field. lo

17、op at t_bsegsub.t_bsegsub-zuonr = z_groupkey.modify t_bsegsub index sy-tabix.endloop. t_bsegsubendloop. t_bsegSave the function module.Back out to the main Function Builder screen by clicking on the green arrow button.Activate the function module by clicking on the Activate buttonAssign the function

18、 module to the event in the IMG: Financial Accounting Financial Accounting Global Settings Business Transaction Events Settings Process Function Modules of an SAP Appl.Hit enter past the warning messages that this is SAP data.Click on the New Entries button.Enter the process for your interface. In y

19、our example it is 00001130.Enter the country the interface is valid for. If it is valid for all countries, leave this field blank.Enter the application the interface should be called for. If it should be called for all applications, leave this field blank. Please note that not all integrated transac

20、tions are programmed to go through these interfaces! You will need to test to find out!Enter the new Z function moduleSave the settings. At this point you will be prompted for a CTS number for the configuration change.The Business Transaction Event is complete! You are ready for testingsample :What

21、is a BTEBTE are comparabl to the old enhancements .BTEs are used mostly within FI .BTEs can be used both by SAP, third part vensdors and customers. Each use their own function modules where the logic is placed, so they dont interfere with each other .There are 2 types of BTE:Publish & Subscribe inte

22、rfaces. Can not update data. Posiible to have multiple implementations .Process interfaces. Can update date. Only one active implementation .How does it workThe BTE is a functionmodule (Implemented by the customer) that has a standard interface defined by SAP. The BTE is called by the SAP standard p

23、rogram by a call to function OPEN_FI_PERFORM_ or OUTBOUND_CALL_. This function chekcs if there are any active BTEs according to customizing.How to find a BTESearch the socurce code for for OPEN_FI_PERFORM og OUTBOUND_CALL_Use transaction FIBF menu Environment-Info System (P/S ). Use the Documenttion

24、 button to see the documentation for the BTEImplementing a BTEGoto transction FIBF menu Environment-Info System (P/S )Select the BTE you want to implement.Press button Sample function moduleThis brings you to SE37 - Copy the sample function module to a Z-function module (First create a new function

25、group for the function module) . Note: The name of the Z-functionmodule is not importantEdit the code in the new function moduleGo back to transaction FIBF - Menu Settings-Products - Of a customernd create a new product whicj identifies the new product . Remember to mark the Active field.Go back to FIBF menu Settings-P/S function modules-of a customer - Create an entry that links the BTE and Product with the new fu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论