PP 常用bapi
- 格式:docx
- 大小:16.75 KB
- 文档页数:3
SAPBAPI的清单BAPI的功能模块名称短文本功能模块BAPIs楼人权法案的OBJ。
BUS4003(AddrContPart)BAPI_CHARACT_GETLIST为特征的BAPI - 查找名称0002公司代码业务对象BAPI_CCODE_GET_FIRSTDAY_PERIOD公司代码为:第一期天BAPI_CCODE_GET_LASTDAY_FYEAR为公司代码:财政年度的最后一天BAPI_COMPANYCODE_EXISTENCECHK检查是否存在公司代码BAPI_COMPANYCODE_GETDETAIL公司代码详情BAPI_COMPANYCODE_GETLIST的公司代码BAPI_COMPANYCODE_GET_PERIOD为公司代码:发布日期- “时期,财政年度 0003业务领域业务对象BAPI_BUSINESSAREA_EXISTENCECHK检查是否存在业务领域BAPI_BUSINESSAREA_GETDETAIL商业领域的细节BAPI_BUSINESSAREA_GETLIST业务领域0004业务对象控制区BAPI_CONTROLLINGAREA_GETDETAIL详细信息的控制区0004CORE业务对象:控制区(核心)BAPI_COAREA_GETPERIODLIMITS控制围:一是与一期的最后一天BAPI_COAREA_GET_RELATED_CCODES确定公司代码分配给一个控制区BAPI_CONTROLLINGAREA_FIND派生控制区号由公司BAPI_CONTROLLINGAREA_GETLIST控制区的输出列表BAPI_CONTROLLINGAREA_GETPERIOD防治区:发布日期- “时期,财政年度0006销售组织BAPI_SALESGROUP_GET_DETAIL销售组:显示名称BAPI_SALESOFFICE_GET_DETAIL销售部:显示名称BAPI_SALESOFFICE_GRP_EXIST销售办事处/销售组:存在检查BAPI_SALESORG_EXIST销售组织:存在检查BAPI_SALESORG_GET_DETAIL销售组织:显示数据BAPI_SALESORG_OFFICE_EXIST销售组织/销售办事处:存在检查0012业务对象BUS0012(成本中心)BAPI_COSTCENTER_CREATEMULTIPLE创建一个或多个成本中心BAPI_COSTCENTER_GETDETAIL的详细信息成本中心对于关键日期BAPI_COSTCENTER_GETDETAIL1详细信息的关键日期(1中心成本)BAPI_COSTCENTER_GETLIST成本中心使用的选择标准成本中心BAPI_COSTCENTER_GETLIST1挑选标准(1)BAPI_CTR_GETACTALLOCATIONTYPES检查哪些时间- ILV类型有可能根据活动类型Categ。
sap 工艺路线bapi函数SAP工艺路线BAPI函数是用于自动化和简化SAP系统中的生产流程和制造流程的API。
这些函数由SAP官方提供,并且具有广泛的应用和广泛的支持。
在本文中,我们将介绍有关SAP工艺路线BAPI函数的详细信息,并提供一些实际应用示例。
一、SAP工艺路线BAPI函数简介SAP工艺路线是一个产品生产计划中的基本元素。
它定义了一个给定产品的制造过程以及必要的工具、材料和人力资源。
在SAP系统中,使用工艺路线可以有效地管理和衡量生产流程。
SAP工艺路线BAPI函数就是用于通过SAP系统自动化和简化SAP工艺路线的应用程序接口。
SAP工艺路线BAPI函数由一组预定义功能组成,这些功能可以在SAP系统中创建、修改和删除工艺路线。
这些函数可以使用不同的SAP编程语言,如ABAP、Java和.NET。
通过BAPI函数,可以实现以下工艺路线操作:1. 创建工艺路线使用BAPI函数可以创建新的工艺路线,这包括定义新产品的所有必要信息。
BAPI函数可以自动将产品的物料清单、工作中心和其他关键制造过程组合起来,以创建一个完整的工艺路线。
BAPI函数可以使用现有的工艺路线作为基础来修改产品的制造过程。
这些修改可以包括添加或删除工作中心、更改材料清单或改变制造过程的顺序。
1. 生产计划自动化使用BAPI函数,可以将生产计划的制造过程自动化。
这样,企业就可以更有效地管理制造过程,减少错误和减少人工干预的风险。
例如,对于大批量订单,生产计划可以自动调整不同的生产工艺路线以最大化生产效率。
2. 系统集成BAPI函数可以使用不同的SAP编程语言,可以方便地与其他企业系统集成。
例如,如果公司使用另一个ERP系统管理供应链,那么可以使用BAPI函数将生产计划集成到该系统中。
3. 多语言支持BAPI函数支持多种语言,这使得企业能够在全球范围内使用相同的工艺路线。
例如,企业可以使用BAPI函数在中文和英文系统中创建和修改工艺路线,以确保生产过程符合标准和要求。
BAPI Step by Step ExampleAbout the exampleThis BAPI reads system status for a production order from table JEST and system status text from table TJ02TSTEP 1 - Define a structures for the BAPIIn this step a structures for the parameters and tables of the function module used for the BAPI are defined.Use Data type -> StructureDefine the following structures:ZBAPI_ORDER_STATUS_IMPORT which contains the following fields:∙ORDERID Order number (Keyfield)∙SPRAS Language∙ExcludeInactive - Checkbox - Exclude inactive statusZBAPISTAT:OBJNR like JEST-OBJNR∙STAT like JEST-STAT∙INACT like JEST-INACT∙TXT04 like TJ02T-TXT04∙TXT30 likeTJ02T-TXT30Important note:You will have to define a structure for every parameter in the BAPI. You cannot use the same structures used in existing applications because BAPI structures are frozen when BAPIs are released and then there are restrictions on changing them.ZBAPI_ORDER_STATUS_IMPORTZBAPISTATSTEP 2 - Write Function Module Important notes:∙Each BAPI must have its own function group.∙Under the attributes tab remember to select Processing Type Remote Enabled module, otherwise the function module cannot be invoked via RFC and used as a BAPI∙Import/Export parameters can only be BY VALUE for an RFC enabled function module∙We are only creating one BAPI in this example, but you can create related BAPIs in the same function pool, so they will be able to share global data.AttributesImport ParametersExport ParametersTablesCodeNotes:∙The subroutine SET_RETURN_MESSAGE is a standard routine used for BAPIs that use the BAPIRETURN structure∙In form Z_BAPI_GET_ORDER_SYSTEM_STATUS there is a test IF 1 = 2. If the test is true a message is displayed. The condition will obviously never be true, and we will never want to display a message in a BAPI. The reason why it is includedis, that it create a reference for the message, so that the WHERE USEDfunctionality can be used for the message. This is the SAP standard way to handleit, copied from the Company Code GetList BAPI.INCLUDE LZBAPISTATUSUXX****************************************************************** THIS FILE IS GENERATED BY THE FUNCTION LIBRARY. ** NEVER CHANGE IT MANUALLY, PLEASE!******************************************************************INCLUDE LZBAPISTATUSU02."Z_BAPI_GET_ORDER_SYSTEM_STATUSINCLUDE LZBAPISTATUSTOP - Global dataFUNCTION-POOL ZBAPISTATUS. "MESSAGE-ID Z3Types:begin of Type_tj02t,istat like tj02t-istat,txt04 like tj02t-txt04,txt30 like tj02t-txt30,end of type_tj02t.DATA:* Declarations for TABLE parameterT_BAPISTAT like ZBAPISTAT occurs 0,G_BAPISTAT like ZBAPISTAT,* Table for object textst_tj02t type type_tj02t occurs 0,g_tj02t type type_tj02t.* Structure for return messagesDATA:BEGIN OF MESSAGE,MSGTY LIKE SY-MSGTY,MSGID LIKE SY-MSGID,MSGNO LIKE SY-MSGNO,MSGV1 LIKE SY-MSGV1,MSGV2 LIKE SY-MSGV2,MSGV3 LIKE SY-MSGV3,MSGV4 LIKE SY-MSGV4,END OF MESSAGE.INCLUDE LZBAPISTATUSF01 - Subroutines***INCLUDE LZBAPISTATUSF01 .*----------------------------------------------------------------------**&---------------------------------------------------------------------**& Form SET_RETURN_MESSAGE*&---------------------------------------------------------------------** This routine is used for setting the BAPI return message. * The routine is a standard routine for BAPIs that handles the message* structure for the BAPIRETURN structure. It has been copied from the* BAPI Company Code Getlist*----------------------------------------------------------------------** -->P_MESSAGE text* <--P_RETURN text*----------------------------------------------------------------------*form SET_RETURN_MESSAGE USING VALUE(P_MESSAGE) LIKE MESSAGECHANGING P_RETURN LIKE BAPIRETURN.CHECK NOT MESSAGE IS INITIAL.CALL FUNCTION 'BALW_BAPIRETURN_GET'EXPORTINGTYPE = P_MESSAGE-MSGTYCL = P_MESSAGE-MSGIDNUMBER = P_MESSAGE-MSGNOPAR1 = P_MESSAGE-MSGV1PAR2 = P_MESSAGE-MSGV2PAR3 = P_MESSAGE-MSGV3PAR4 = P_MESSAGE-MSGV4* LOG_NO = ' '* LOG_MSG_NO = ' 'IMPORTINGBAPIRETURN = P_RETURNEXCEPTIONSOTHERS = 1.endform. " SET_RETURN_MESSAGEFUNCTION Z_BAPI_GET_ORDER_STATUSFUNCTION z_bapi_get_order_system_status.*"----------------------------------------------------------------------*"*"Local interface:*" IMPORTING*" VALUE(I_AUFNR) TYPE AUFNR*" VALUE(I_SPRAS) TYPE SPRAS DEFAULT SY-LANGU*" VALUE(I_EXCLUDEINACTIVE) TYPE CHAR1 OPTIONAL *" EXPORTING*" VALUE(RETURN) TYPE BAPIRETURN*" TABLES*" T_BAPISTAT STRUCTURE ZBAPISTAT*"----------------------------------------------------------------------***"Local interface:*" IMPORTING*" VALUE(I_AUFNR) TYPE AUFNR*" VALUE(I_SPRAS) TYPE SPRAS DEFAULT SY-LANGU*" VALUE(I_EXCLUDEINACTIVE) TYPE CHAR1 OPTIONAL *" EXPORTING*" VALUE(RETURN) TYPE BAPIRET2*" TABLES*" T_BAPISTAT STRUCTURE ZBAPISTAT*"----------------------------------------------------------------------DATA:l_aufnr LIKE afko-aufnr,l_objnr LIKE jest-objnr.********************************************* Check if order exists********************************************SELECT SINGLE aufnrFROM afkoINTO l_aufnrWHERE aufnr = BAPI_ORDER_STATUS_IMPORT-orderid.IF sy-subrc NE 0.CLEAR message.message-msgty = 'E'.message-msgid = 'Z3'.message-msgno = '000'.message-msgv1 = BAPI_ORDER_STATUS_IMPORT-orderid.PERFORM set_return_message USING messageCHANGING return.IF 1 = 2.* The only reason to include this statement, that will obviously* never execute, is that it will create a referecence so that you* can find out where a particular message is being used. This* functionality is used by the BAPIs programmed by SAP MESSAGE e000(z3).ENDIF.ENDIF.CHECK return IS INITIAL.********************************************* Read order status********************************************CONCATENATE 'OR' BAPI_ORDER_STATUS_IMPORT-orderid INTO l_objnr.IF BAPI_ORDER_STATUS_IMPORT-i_excludeinactive = 'X'.SELECT objnr stat inactFROM jestINTO TABLE t_bapistatWHERE objnr = l_objnr ANDinact <> 'X'.ELSE.SELECT objnr stat inactFROM jestINTO TABLE t_bapistatWHERE objnr = l_objnr.ENDIF.IF sy-subrc <> 0.* No object status foundCLEAR message.message-msgty = 'E'.message-msgid = 'Z3'.message-msgno = '001'.message-msgv1 = BAPI_ORDER_STATUS_IMPORT-orderid. PERFORM set_return_message USING messageCHANGING return.IF 1 = 2.MESSAGE e001(z3).ENDIF.ENDIF.CHECK return IS INITIAL.******************************************** * Read order status texts******************************************** SELECT istat txt04 txt30FROM tj02tINTO TABLE t_tj02tFOR ALL ENTRIES IN t_bapistatWHERE istat = t_bapistat-stat ANDspras = BAPI_ORDER_STATUS_IMPORT-i_spras.SORT t_tj02t BY istat.LOOP AT t_bapistat INTO g_bapistat.READ TABLE t_tj02tWITH KEY istat = g_bapistat-stat BINARY SEARCHINTO g_tj02t.IF sy-subrc = 0.MOVE:g_tj02t-txt04 TO g_bapistat-txt04,g_tj02t-txt30 TO g_bapistat-txt30.MODIFY t_bapistat FROM g_bapistat TRANSPORTING txt04 txt30. ENDIF.ENDLOOP.ENDFUNCTION.STEP 3 - Create the API Method Using the BAPI WIZARDThe BAPI wizard is used toTo expose the remote function module as a BAPI. The wizard will generate some additional code, so the function module is a valid method of the BOR. This allows the BAPi to be called as a workflow method in addition to be called by an outside program.Note: Each functionmodule corresponds to a method in the BORGo to the Busines Object Builder SWO1.You can either create the new Object type as a subtype of an existing business object or create a new business object from scratch. In this example it wouldbe obvious to create the Object type as a subtype of BUS2005 Production order. However, to illustrate how to create a new Object type from scratch, we will do this.In the Object/Interface type field write the name of the new Business Object: ZORDERSTAT. Press enter and fill in the additional fields necessary to create the object type.Supertype: Not relevant because we are creating our object from scratch Program. This is the name of the program where the wizard generates code for the Object type, NOT the function module we craeted earlier. The program name must not be the name of an existinbg program.Press enter and create the new business object. Note that when you create the business object a standard interface, an attribute ObjectType and the methods ExistenceCheck and Display are automatically generated. These cannot be changed !The next step is to add the Z_BAPI_GET_ORDER_STATUS method to the business object. Select Utillities -> API methods -> Add method and write the name of the functionmodule in the dialogbox. Next the dialogbox show below will be shown. This is the start screen of the BAPI wizard. Proceed with wizardby pressing the button.After you have finished the wizard, tyou will notice that the ZGetOrderStatus has been added to the business object:You can doubleclick on the method to see its properties. To use the businessobject you must change the Object type status to Implemented. Use menuEdit->Change releases status->Object type->To implemented. No you can testthge object (Press F8).Note that the BAPI wizard has added a wrapper class for the function moduleso it can be sued as method in the business object. Choose menuGoto->Program to display the program:***** Implementation of object type ZORDERSTAT *****INCLUDE <OBJECT>.BEGIN_DATA OBJECT. " Do not change.. DATA is generated* only private members may be inserted into structure private DATA:" begin of private," to declare private attributes remove comments and" insert private attributes here ..." end of private,KEY LIKE SWOTOBJID-OBJKEY.END_DATA OBJECT. " Do not change.. DATA is generatedBEGIN_METHOD ZGETORDERSTATUS CHANGING CONTAINER.DATA:BAPIORDERSTATUSIMPORT LIKE ZBAPI_ORDER_STATUS_IMPORT, RETURN LIKE BAPIRETURN,TBAPISTAT LIKE ZBAPISTAT OCCURS 0.SWC_GET_ELEMENT CONTAINER 'BapiOrderStatusImport'BAPIORDERSTATUSIMPORT.SWC_GET_TABLE CONTAINER 'TBapistat' TBAPISTAT.CALL FUNCTION 'Z_BAPI_GET_ORDER_STATUS'EXPORTINGBAPI_ORDER_STATUS_IMPORT = BAPIORDERSTATUSIMPORTIMPORTINGRETURN = RETURNTABLEST_BAPISTAT = TBAPISTATEXCEPTIONSOTHERS = 01.CASE SY-SUBRC.WHEN 0. " OKWHEN OTHERS. " to be implementedENDCASE.SWC_SET_ELEMENT CONTAINER 'Return' RETURN.SWC_SET_TABLE CONTAINER 'TBapistat' TBAPISTAT.END_METHOD.STEP 4 - Final stepsWhen the Business object has been checked and the documentation created, the following steps must be carried out:∙Release the BAPI function module (in the Function Builder).∙Release the business object type (in the BOR ObjectType -> Change release status to -> Implemented ).∙Release the BAPI as a method in the BOR (Release the methods you has created - Set the cursor on the method thenEdit -> Change release status -> Object type component -> To released )∙For potential write BAPIs: Release the IDoc and its segmentsYou can now display the BAPI in the BAPI Explorer:。
BAPI 相关介绍资料bapi相关介绍资料bapi―百度百科bapi(businessapplicationprogramminginterface)就是面向对象程序设计方法中的一组程序接口。
它容许程序员通过sap将第三方软件资源整合成r/3专有产品。
为了顺利完成一些特定的商业任务,例如上载交易数据等,r/3系统中内置了bapi。
abap中有关bapi的了解1.bapicbusinessapplicationprogramminginterface2.它实际上是一种特殊的remotefunctionmodules(rfc)是为了提供使用外部程序来进行交易活动3.它提供更多的基于企业目标(businessobject)技术的USB应用领域界面4.sap使用了object-oriented技术,逻辑定义了sapr/3系统的所有功能目标,并且将所有的目标(objects)和bapis存储于企业对象库(businessobjectsrepository).5.sapr/3企业目标的目标类型(objecttype)相当于目标设计语言中类(class)的概念,其定义结构由以下几部分组成:基本数据,接口界面,键(keyfields),方法(methods),特征(attributes),事件(events)--如何创建bapi程序1.定义bapistructure(structure无法在bapi中重复使用,因为一旦bapi被释放出来,其structure被查封)2.建立functionmodule每个bapi必须有自己的functiongroup,functiongroup属性必须为rfc3.建立businessobject4.使用bapiwizard创建apimethod这样bapi可以被外部程序调用5.functionmodule 符合bormethod4.释放bapifunctionmodule,释放businessobjecttype,释放bapi作为bor的一种methodsapbapibapi是businessapplicationprogramminginterface的缩写.bapi是sap以外程序访问sap内部数据和程序的标准方式?bapi在sap系统内部以functionmodulede的方式同时实现.所有的bapifunction都-支持remotefunctioncall(rfc)-处理过程中不激活对话窗口?bapi就是被定义为businessobjectrepository(bor)中的sapbusinessobject类型或sapinterface类型的方法,并且以functionmodule方式同时实现的.这种定义和同时实现拆分的方式就是我们可以通过2中方式出访bapi.-通过面向对象的方法调用bor中的bapi-通过rfc轻易调用functionmodulefi/bapi常用收藏――阿土的sap专栏总帐会计:(比较简单全部测试通过,关帐时使用)lineitemofdocumentforledgerwithsummarytableglf:bapi_glx_getdocitemsclosingbalanceofg/laccountforchosenyearf:bapi_gl_getglaccbalanceclosingbalanceofg/laccountforcurrentyearf:bapi_gl_getglacccurrentbalancepostingperiodbalancesforeachg/laccountf:bapi_gl_getglaccperiodbalances应付帐款:(比较简单全部测试通过,按照公司代码,供应商代码和至时间去查阅)读取已清算科目行项目f:bapi_ap_acc_getbalanceditems读取当前余额f:bapi_ap_acc_getcurrentbalance读取关键日期余额f:bapi_ap_acc_getkeydatebalance读取未清科目项f:bapi_ap_acc_getopenitems读取科目余额f:bapi_ap_acc_getperiodbalances读取科目过帐f:bapi_ap_acc_getstatement应收款:(比较简单,传入值,没有要求输入内表类型的;;按照公司代码,供应商代码和起至时间来查询)确认主数据f:bapi_cr_acc_getdetail确认最低催款级别f:bapi_cr_acc_gethighestdunningl 确认最旧的未清项目f:bapi_cr_acc_getoldestopenitem 确认oi结构f:bapi_cr_acc_getopenitemsstruct 确认贷方帐户的信用状态f:bapi_credit_account_get_status bapi:挑余额项目:客户f:bapi_ar_acc_getbalanceditems bapi:挑实际余额:客户f:bapi_ar_acc_getcurrentbalance bapi:挑关键日期余额:客户f:bapi_ar_acc_getkeydatebalance bapi:挑未清项:客户f:bapi_ar_acc_getopenitemsbapi:挑余额:客户f:bapi_ar_acc_getperiodbalances bapi:挑科目报表:客户f:bapi_ar_acc_getstatement加载客户销售范围f:bapi_customer_getsalesareas 银行财务会计:取消支付请求f:bapi_paymentrequest_cancel支付请求的创建f:bapi_paymentrequest_create列出支付请求f:bapi_paymentrequest_getlist支付请求状态的确定f:bapi_paymentrequest_getstatus过帐预制凭证请求f:bapi_paymentrequest_post批准支付的支付请求f:bapi_paymentrequest_release开始支付的支付请求f:bapi_paymentreq_startpayment资产全计核算修改资产f:bapi_fixedasset_change建立资产f:bapi_fixedasset_create采用值建立资产(起始历史遗留数据传输)f:bapi_fixedasset_ovrtake_create 资产的明细信息f:bapi_fixedasset_getdetail选定资产的信息f:bapi_fixedasset_getlist检查资本记帐f:bapi_asset_postcap_check记帐资本总额f:bapi_asset_postcap_post检查资产报废f:bapi_asset_retirement_check记帐资产报废f:bapi_asset_retirement_post检查资产购置f:bapi_asset_acquisition_check记帐资产购置f:bapi_asset_acquisition_post特殊用途分类帐:特定目的分类帐:挑选科目的总计记录f:bapi_sl_gettotalrecords 总帐科目检查总帐科目与否存有f:bapi_gl_acc_existencecheck总帐科目明细表f:bapi_gl_acc_getdetail每个公司代码总帐科目的目录f:bapi_gl_acc_getlist。
ABAP_RFC_BAPI详解ABAP_RFC_BAPI培训教程SAP R/3的接口方式主要有RFC、IDOC、BAPI三种。
RFC分二种:1 正常的本地RFC。
2 远程RFC(外部系统调用)。
BAPI(SAP自带业务函数--封装好函数)。
RFC,BAPI 都可以理解成一个函数。
它有输入、输出,改变,排除参数,表(既可以输入也输出)。
1.1 RFC 参数介绍1.2 创建一个SAP本地RFC。
1.3 创建一个远程RFC。
2 查找BAPI3 调用RFC,BAPI1.1 RFC 参数介绍SE37Attributes(属性), Import(输入参数),Export(输出参数),Changing(更改参数),Tables(输入,输出内表),Exceptions(排除参数),Source code(编写代码)。
Attributes(属性):Normal Function Module :在SAP内部调用RFCRemote-Enabled Module:远程函数调用,即使用外部系统(.NET,VB,JAVA....)调用SAP RFC。
Update Module:一般使用 Start immed(立刻执行).Import(输入参数):就是要传入来的条件参数,不能为内表。
最常用。
Export(输出参数):就是返回值,也不能为内表。
最常用。
Changing(更改参数):返回值,与export差不多,这个很少用。
Tables(输入,输出内表):可以把多个内表的值传进来,同时也可以把多个内表返回。
Exceptions(排除参数。
):不常用。
Source code(编写代码):就是编写代码了,如果不写代码,那这个RFC就没有用处了。
輸入參數,輸出參數,表可以不全部使用.1.2 创建一个SAP本地RFC。
运行SE37 TCODE.填写一个RFC函数名,名字必须是以“Z”或“Y”开头,建议使用“Z"开头.然后点击Create按钮。
1) PROCESSBEFORQUTPUT简称PBO :进行屏幕初始化工作,如数据库选择,屏幕元素属性动态设定等,如根据用户权限和继电定值申请单的状态确定哪些屏幕字段是输入状态,哪些字段是显示状态;PBO1块结束后,系统显示当前用户屏幕。
2) PROCESS AFTER INPUT(简称PAI):当用户在屏幕上执行某些功能后被触发,PAI结束后,屏幕可能进入后续或返回上一个屏幕序列;3)PROCESSONHELP-REQUEST(简称POH :当用户按下F1键要求查看帮助信息时触发;4) PROCESSONVALUE-REQUE州称POV:当用户按下F4键要求查看搜索帮助时触发。
5)如何实现f4帮助方法一:a. .事务码SE11打开数据字典,选中搜索帮助,填写名称,点击创建.(前提先把表格和数据元素以及域都建好了)2. 填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.3. 填写搜索帮助参数,字段名称,输入输出属性,显示位置次序,数据元素.4. 保存,激活.5. 打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击SRCH HELP填入你建立好的搜索帮助的名称.6. 保存,激活表.7. 重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了Ps:在建立屏幕程序的时候要填上屏幕中你所填变量的f4的名字Dictionary: Display Search Help日u妙乳歪端!耳珍ag OHaementsrysrtfi ZVlfB.HLP Acti/eShort descrptbn 由邓S SE^kCH H E ZFAitribjtes %f「rixn注:此方法比较直观,但是有相关的前提:要添加搜索帮助的表中的字段,必须要有参照的数据元素.没有数据元素无法建立搜索帮助.所以前提就是我们要事先维护好数据元素^方法二:在ABAP^序中直接写相关代码来实现.具体步骤:1. 添加VALUE-REQUES事件.示例代码:AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.PERFORM FRM_XILEI_SELECT.2. 在子程序中实现搜索帮助功能.示例代码:FORM FRM_XILEI_SELECT .*细类的搜索帮助DATA: RT_TAB LIKE DDSHRETVAL 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_REQUEST'EXPORTINGRETFIELD = 'XILEI'DYNPPROG = SY-REPIDDYNPNR = SY-DYNNRDYNPROFIELD = 'S_XILEI-LOWVALUE_ORG = 'S'CALLBACK_PROGRAM = SY-REPIDTABLESVALUE_TAB = IT_XILEIRETURN_TAB = RT_TABEXCEPTIONSPARAMETER_ERROR = 1NO_VALUES_FOUND = 2OTHERS = 3.IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.ENDIF.ENDFORM. " FRM_XILEI_SELECT3. 保存,激活程序后,即可在屏幕上使用搜帮助了.注:此方法不是太直观,但是不用在数据字典中建立相关的数据,只需在程序中动态提取显示.方法三:固定值。
1 bapi概述(1) bapis是"business application programming interfaces"的简写,中文翻译为"业务应用编程接口"。
不同的系统或模块进行通讯时,就需要用到编程接口。
(2) bapi时外部应用程序访问sap业务对象的方法。
在面向对象编程方面,业务对象(business object)和bapi是sap的两个很重要的内容,业务对象就是类,bapi就是业务对象的方法。
他们的关系描述如下:kernel --> intergrity --> interface -->access:kernel为内核,对数据库直接进行操作intergrity为业务对象,将实际业务定义成一个类interface为应用编程接口,通过该接口,对业务对象进行操作access为访问方式,直接面向对象编程或远程函数调用(3) 每一个bapi都有与之对应的以”bapi_“开头的函数。
例如:业务对象”user“表示”系统用户“,它有bapi(方法)“lock”和“unlock”,它们用来锁定系统用户和对系统用户解锁。
这两个方法对应的函数为“bapi_user_lock”和“bapi_user_unlock”。
2 查看bapi(1) 运行bapi,进入sap bapi浏览器,在这里,我们能够通过业务层次迅速找到需要的业务对象和方法。
如:业务对象 --> bussines object关键字段 --> short descriptionbapi --> method与bapi对应的函数 --> function module3 bapi编程-- abap中访问bapi由于ABAP不是面向对象的语言,所以在abap程序中使用bapi实际上是调用bapi函数。
把皮的函数名称,可以在bapi exploer中的“function module”见到。
BAPI:
在SAP中可以允许使用BAPI访问标准功能,这些接口可以由外部应用程序开发的客户和配套软件的合作伙伴以及其他SAP应用程序使用。
定义SAP业务对象类型的API方法,这些对象类型范围内的业务框架,用于基于对象的组件之间的通信。
业务对象和他们的BAPI使面向对象是公司在中央信息处理。
例如,现有的功能和数据可重复使用,无故障的技术可以实现的互操作性和非SAP组件可以实现。
应用程序可以使用BAPI的直接访问的R/3系统的应用层;应用程序可以使用的R/3系统的业务逻辑。
BAPI 的为客户提供一个面向对象的应用程序的视图对象而不需要了解实现细节。
BAPI是定义实现全系统的业务发展过程。
生产计划的BAPI列表::
Routing(工艺路线)
BAPI_ROUTING_CREATE 创建工艺路线BAPI - ca03
BAPI_ROUTING_EXISTENCE_CHECK 检查工艺路线是否存在Reference operation set:(参考操作集)
BAPI_REFSETOFOPERATIONS_CREATE 创建参考参考工序集
BAPI_REFSETOFOPR_EXISTENCE_CHK 检查参考参考工序集
Planned order:(计划订单)
BAPI_PLANNEDORDER_CHANGE 更改计划订单-md04
BAPI_PLANNEDORDER_CREATE 创建计划订单
BAPI_PLANNEDORDER_DELETE 删除计划订单
BAPI_PLANNEDORDER_EXIST_CHECK 检查计划订单是否存在
BAPI_PLANNEDORDER_GET_DETAIL 获取计划订单详细信息(计划订单)BAPI_PLANNEDORDER_GET_DET_LIST 获得计划订单信息
Planned Independent Requirement:(计划独立需求)
BAPI_REQUIREMENTS_CHANGE 更改计划独立需求-md61
BAPI_REQUIREMENTS_CREATE 创建计划独立需求
BAPI_REQUIREMENTS_GETDETAIL 显示计划独立需求
Production order:(生产订单)
BAPI_PRODORD_WM_MAT_STAGING WM材料分期
BAPI_PRODORD_SETUSERSTATUS 设置用户状态
BAPI_PRODORD_SET_DEL_INDICATOR 设置删除标识
BAPI_PRODORD_SET_DELETION_FLAG 设置删除标识
BAPI_PRODORD_SCHEDULE 进行调整
BAPI_PRODORD_REVOKEUSERSTATUS 取消用户状态
BAPI_PRODORD_RELEASE 发布
BAPI_PRODORD_GET_LIST 列表抬头订单
BAPI_PRODORD_GET_DETAIL 抬头订单明细
BAPI_PRODORD_EXIST_CHECK 确认检查性
BAPI_PRODORD_CREATE_FROM_REF 创建模板
BAPI_PRODORD_CREATE_FROM_PLORD 创建带有计划订单
BAPI_PRODORD_CREATE_CAP_REQ 产生能力需求
BAPI_PRODORD_CREATE 创建生产订单
BAPI_PRODORD_COSTING 创建成本估计
BAPI_PRODORD_COMPLETE_TECH 完整的技术
BAPI_PRODORD_CLOSE 关闭订单
BAPI_PRODORD_CHECK_MAT_AVAIL 检查物料可用性
BAPI_PRODORD_CHANGE 更改生产订单
Production order confirmation:(生产订单确认)
BAPI_PRODORDCONF_GET_TT_PROP 确认计工单
BAPI_PRODORDCONF_GET_TE_PROP 确认计工单
BAPI_PRODORDCONF_GETLIST 生产订单确认
BAPI_PRODORDCONF_GETDETAIL 生产订单确认详细信息
BAPI_PRODORDCONF_GET_HDR_PROP 确认计划订单
BAPI_PRODORDCONF_EXIST_CHK 检查工单是否存在
BAPI_PRODORDCONF_CREATE_TT 确认计划工单
BAPI_PRODORDCONF_CREATE_TE 确认计划工单
BAPI_PRODORDCONF_PDC_UPLOAD_TT PP 确认计工单
BAPI_PRODORDCONF_PDC_UPLOAD_TE PP 确认计工单
BAPI_PRODORDCONF_CREATE_HDR 输入订单确认
BAPI_PRODORDCONF_CREATE_ACT 输入订单激活确认
BAPI_PRODORDCONF_CANCEL 取消生产订单
BDC Download & Upload for production order: (下载和上传的BDC的生产订单)
BAPI_RCVPRORDCF_RECEIVEPRODORD PP-PDC: 下载生产订单
BAPI_RCVPRORDCF_RECEIVEWORKC PP-PDC: 下载工作中心
BAPI_RCVPRODCF_REQUEST_CONF PP-PDC: 上传请求
KANBAN: (看板)
BAPI_KANBAN_CHANGE 更改kanban数据
BAPI_KANBAN_CHANGESTATUS 更改kanban状态
BAPI_KANBAN_CHANGESTATUS1 更改kanban状态1
BAPI_KANBAN_GETLIST 匹配选择标准KANBAN的测定BAPI_KANBAN_GETLIST_ALL 匹配选择标准KANBAN的测定BAPI_KANBAN_GETLISTFORSUPPLIE1 匹配选择标准KANBAN的测定BAPI_KANBAN_GETLISTFORSUPPLIER 为供应商提供kanban数据
BAPI_KANBAN_SETINPROCESS 为供应商提供kanban数据KANBAN CONTROL CYCLE: (看板)
BAPI_KANBANCC_ADDEVENTDRKANBAN Create Event-Driven KANBAN for Control Cycle
BAPI_KANBANCC_CHANGE Change Control Cycle
BAPI_KANBANCC_CREATE Create Control Cycle
BAPI_KANBANCC_DELETE Delete Control Cycles
BAPI_KANBANCC_EXISTCHECK Check Existence of Control Cycle BAPI_KANBANCC_GETLIST Determine Kanban Control Cycles with Selection Criteria
BAPI_KANBANCC_GETLIST_ALL Determine Kanban Control Cycles with Selection Criteria
BAPI_KANBANCC_WITHDRAWQUANTITY Quantity Signal for Kanban Control Cycle
REM Confirmation: ( REM确认)
BAPI_REPMANCONF_CANCEL 处理的重复制造取消
BAPI_REPMANCONF_CREATE_MTO 销售订单执行重复制造情况
BAPI_REPMANCONF_CREATE_PLOT 执行生产成本
BAPI_REPMANCONF_CREATE_MTS 在很多情况下,执行生产成本
BAPI_REPMANCONF_EXIST_CHK 检查对象存在
REM Confirmation1:
BAPI_REPMANCONF1_CANCEL 处理的重复制造取消
BAPI_REPMANCONF1_CREATE_MTO 销售订单执行重复制造情况
BAPI_REPMANCONF1_CREATE_MTP 在很多情况下,执行生产成本
BAPI_REPMANCONF1_CREATE_MTS 在很多情况下,执行生产成本
BAPI_REPMANCONF1_EXIST_CHK 检查对象存在。