BAPI_MATERIAL_STOCK_REQ_LIST
业务顾问需要掌握的BAPI的测试及注意事项

业务顾问需要掌握的BAPI的测试及注意事项SAP的BAPI全称为Business Application Programming Interface(业务应用程序编程接口),是SAP产品中业务对象模型的标准接口,BAPI是客户代码和第三方应用程序与SAP产品交互的主要方法。
在SAP/ERP项目实施中经常会要使用BAPI来实现一些业务需求,如果是第一次使用BAPI除了查看官方的相关说明外,更重要的还要进行测试来明确这个BAPI如何使用及能否实现相关的功能。
测试BAPI除了写一个ABAP程序测试外,还可以直接用SE37来进行测试,使用SE37测试操作简单,即使是完全不懂开发的业务顾问也可以进行,在实际项目实施中有些ABAP开发程序员并不熟悉业务,经常需要业务顾问帮忙测试下BAPI明确需要输入那些参数。
方式1:模拟测试,这种方式虽然执行了这个BAPI,但并没有更新数据库,所以只能显示测试结果,相关业务数据并没有更新。
备注:有些BAPI可能已经将提交更新数据库代码写在了BAPI函数模块里面,那么模拟测试和实际测试没有区别。
方式2:实际测试,这种方式不但执行了这个BAPI,同时也更新了数据库,所以不但会显示测试结果,相关业务数据也实际更新了。
下面通过一个例子来具体说明这2种方式测试的具体操作步骤方式1具体操作步骤:输入事务码SE37,回车进入如下界面输入需要测试的函数模块(BAPI),点击测试图标进入如下界面上面“导入参数”各代表什么值,可以通过如下步骤查询到对应的描述。
这个BAPI的输入参数比较简单,只需要输入2个参数即可,但如果复杂的BAPI,它需要录入参数非常多,如果不熟悉前台业务操作,很难输入完整的参数,导致测试失败,就是非常了解业务的业务顾问,一般都需要多次反复测试,才能明确要录入那些参数,所以在项目中ABAP开发程序员经常需要业务顾问帮忙测试,告诉他应该录入哪些参数。
输入参数后,点击执行,进入如下界面为E或A的信息,就表示这个BAPI执行成功了(如图1),如果RETURN返回值的内表不为空,并且有E类错误信息,表示这个BAPI执行失败(如图2),具体原因可以MESSAGE信息来判断。
bapi物料主数据完整[讲解]
![bapi物料主数据完整[讲解]](https://img.taocdn.com/s3/m/100c82fa4bfe04a1b0717fd5360cba1aa8118c06.png)
BAPI 物料主数据完整REPORT ZUMM0040 NO STANDARD PAGE HEADING LINE-SIZE 255LINE-COUNT 50(4) MESSAGE-ID zaccess.*********************************************************** ************** Program : ZUMM0040* Title : Extend Material Master from a source plant to* Target plants using BAPI*********************************************************** ************** Description : Extend Material Master from a source plant to all* Target plants specified for all the materials* specified on selection screen.* This program is specific to Access Technologies and* will have to be modified suitably for use in other* areas.* Information specific to the Access Plants is* maintained in a custom table and only those plants* maintained in this table can be specified as target* plants.* User can check for Super Bom & GC Part Materials* to extend from source plant to target plants and* separate rules are set up for plant 6140 and* Plants other than 6010 in MRP2, MRP3 & Costing 1* views.*********************************************************** ************** Input :* Select-options : 1. Material Number* 2. Target Plant** Parameters : 1. Source Plant* 2. Class II Parts* 3. Super Bom & GC Material* 4. Mode for call transaction** Others (Specify):* Output :* Report : Display Error records and Success records** Others (Specify): None.*----------------------------------------------------------------------** TYPES DECLARATION **----------------------------------------------------------------------*TYPES: BEGIN OF t_marc,werks TYPE werks_d, " Plantmatnr TYPE matnr, " Material Numberbeskz TYPE beskz, " Procurement Typesobsl TYPE sobsl, " Special procurement typefhori TYPE fhori, " Scheduling Margin Key for FloatsEND OF t_marc.TYPES: BEGIN OF t_target_plants,werks TYPE werks_d, " Plantpur_group TYPE ekgrp, " Purchasing Groupprod_time TYPE dzeit, " In-house production timedeliv_time TYPE plifz, " Planned delivery time indaysgr_proc_time TYPE webaz," Goods receipt processing time in dayssched_margin TYPE fhori, " Scheduling Margin Key forFloatsrepln_time TYPE wzeit, " Total replenishment leadtimeEND OF t_target_plants.TYPES: BEGIN OF t_result,material(18), " Material Numberplant(4), " Plantflag(7), " Success/Failure flag errormessage TYPE bapi_msg, " Message in bapireturn END OF t_result.TYPES: BEGIN OF t_mbew,matnr TYPE matnr, " Material Numberbwkey TYPE bwkey, " Valuation areabwtar TYPE bwtar_d, " Valuation TypeEND OF t_mbew.TYPES: BEGIN OF t_mlgn,matnr TYPE matnr, " Material Numberlgnum TYPE lgnum, " Warehouse Number / Warehouse ComplexEND OF t_mlgn.TYPES: BEGIN OF t_myms,mykey TYPE mykey, " LIFO valuation levelmatnr TYPE matnr, " Material NumberEND OF t_myms.TYPES: BEGIN OF t_mlgt,matnr TYPE matnr, " Material Numberlgnum TYPE lgnum, " Warehouse Number / WarehouseComplexlgtyp TYPE lgtyp, " Storage TypeEND OF t_mlgt.* To hold list of materials that need to be extended (Super Bom& GC)TYPES: BEGIN OF t_superbom,matnr TYPE matnr, " Material Numberkzkfg TYPE kzkfg, " ConfigurableEND OF t_superbom.*----------------------------------------------------------------------** INTERNAL TABLES DECLARATION **----------------------------------------------------------------------*DATA: g_it_marc TYPE TABLE OF t_marc,g_it_marc1 TYPE TABLE OF t_marc,g_it_source_mat TYPE TABLE OF t_marc,g_it_plants TYPE TABLE OF t_target_plants,g_it_target_plants TYPE TABLE OF t_target_plants,g_it_bapi_makt_ga TYPE TABLE OF bapi_makt_ga,g_it_bapi_marm_ga TYPE TABLE OF bapi_marm_ga, g_it_bapi_mean_ga TYPE TABLE OF bapi_mean_ga, g_it_bapi_mltx_ga TYPE TABLE OF bapi_mltx_ga, g_it_bapi_mlan_ga TYPE TABLE OF bapi_mlan_ga, g_it_bapireturn TYPE TABLE OF bapireturn, g_it_bapi_makt TYPE TABLE OF bapi_makt, g_it_bapi_marm TYPE TABLE OF bapi_marm, g_it_bapi_mean TYPE TABLE OF bapi_mean, g_it_bapi_mltx TYPE TABLE OF bapi_mltx, g_it_bapi_mlan TYPE TABLE OF bapi_mlan,g_it_return TYPE bapirettab,g_it_matextended TYPE TABLE OF t_result,g_it_matresult TYPE TABLE OF t_result,g_it_plantresult TYPE TABLE OF t_result,g_it_mbew TYPE TABLE OF t_mbew,g_it_mlgn TYPE TABLE OF t_mlgn,g_it_myms TYPE TABLE OF t_myms,g_it_mlgt TYPE TABLE OF t_mlgt,g_it_superbom TYPE TABLE OF t_superbom.*----------------------------------------------------------------------** WORK AREAS DECLARATION **----------------------------------------------------------------------*DATA: g_wa_marc TYPE t_marc,g_wa_marc1 TYPE t_marc,g_wa_source_mat TYPE t_marc,g_wa_plants TYPE t_target_plants,g_wa_comp_code TYPE t001k-bukrs,g_wa_salesorg TYPE t001w-vkorg,g_wa_distr_chan TYPE t001w-vtweg,g_wa_mbew TYPE t_mbew,g_wa_mlgn TYPE t_mlgn,g_wa_myms TYPE t_myms,g_wa_mlgt TYPE t_mlgt,g_wa_bapi_mara_ga TYPE bapi_mara_ga,g_wa_bapi_marc_ga TYPE bapi_marc_ga,g_wa_bapi_mpop_ga TYPE bapi_mpop_ga,g_wa_bapi_mpgd_ga TYPE bapi_mpgd_ga, g_wa_bapi_mbew_ga TYPE bapi_mbew_ga, g_wa_bapi_mlgn_ga TYPE bapi_mlgn_ga, g_wa_bapi_mvke_ga TYPE bapi_mvke_ga, g_wa_bapi_mlgt_ga TYPE bapi_mlgt_ga, g_wa_bapi_mfhm_ga TYPE bapi_mfhm_ga, g_wa_bapi_myms_ga TYPE bapi_myms_ga, g_wa_bapi_makt_ga TYPE bapi_makt_ga, g_wa_bapi_marm_ga TYPE bapi_marm_ga, g_wa_bapi_mean_ga TYPE bapi_mean_ga, g_wa_bapi_mltx_ga TYPE bapi_mltx_ga, g_wa_bapi_mlan_ga TYPE bapi_mlan_ga, g_wa_bapireturn TYPE bapireturn, g_wa_bapimathead TYPE bapimathead, g_wa_bapi_mara TYPE bapi_mara,g_wa_bapi_marc TYPE bapi_marc,g_wa_bapi_mpop TYPE bapi_mpop,g_wa_bapi_mpgd TYPE bapi_mpgd,g_wa_bapi_mbew TYPE bapi_mbew,g_wa_bapi_mlgn TYPE bapi_mlgn,g_wa_bapi_mvke TYPE bapi_mvke,g_wa_bapi_mlgt TYPE bapi_mlgt,g_wa_bapi_marax TYPE bapi_marax, g_wa_bapi_marcx TYPE bapi_marcx, g_wa_bapi_mpopx TYPE bapi_mpopx, g_wa_bapi_mpgdx TYPE bapi_mpgdx, g_wa_bapi_mbewx TYPE bapi_mbewx, g_wa_bapi_mlgnx TYPE bapi_mlgnx, g_wa_bapi_mvkex TYPE bapi_mvkex, g_wa_bapi_mlgtx TYPE bapi_mlgtx, g_wa_bapi_makt TYPE bapi_makt,g_wa_bapi_marm TYPE bapi_marm,g_wa_bapi_mean TYPE bapi_mean,g_wa_bapi_mltx TYPE bapi_mltx,g_wa_bapi_mlan TYPE bapi_mlan,g_wa_bapireturn1 TYPE bapiret2,g_wa_return TYPE bapiret2,g_wa_matextended TYPE t_result,g_wa_matresult TYPE t_result,g_wa_plantresult TYPE t_result,g_wa_superbom TYPE t_superbom.*----------------------------------------------------------------------** VARIABLES DECLARATION **----------------------------------------------------------------------*DATA: g_v_proc_type TYPE beskz, " Procurement Typeg_v_spl_proc_code TYPE sobsl, " Special ProcurementCodeg_v_prod_time(3) TYPE c, " In-house Prod Timeg_v_deliv_time(3) TYPE c, " Planned Delivery Timeg_v_repln_time(3) TYPE c, " Total replenishmentlead timeg_v_gr_proc_time(3) TYPE c. " GR Processing Time*----------------------------------------------------------------------** CONSTANTS **----------------------------------------------------------------------*CONSTANTS: c_x VALUE 'X',c_k VALUE 'K',c_v VALUE 'V',c_e VALUE 'E',c_d VALUE 'D',c_p VALUE 'P',c_a VALUE 'A',c_f VALUE 'F',c_l VALUE 'L',c_s VALUE 'S',c_q VALUE 'Q',c_b VALUE 'B',c_g VALUE 'G',c_gc(2) VALUE 'GC',c_roh(3) VALUE 'ROH',c_dien(4) VALUE 'DIEN',c_fert(4) VALUE 'FERT',c_halb(4) VALUE 'HALB',c_verp(4) VALUE 'VERP',c_nlag(4) VALUE 'NLAG',c_unbw(4) VALUE 'UNBW',c_6090(4) VALUE '6090',c_6140(4) VALUE '6140',c_6010(4) VALUE '6010',c_40(2) VALUE 40,c_50(2) VALUE 50,c_80(2) VALUE 80,c_25(2) VALUE 25,c_y5(2) VALUE 'Y5',c_fm(7) VALUE 'FAILURE'.*----------------------------------------------------------------------** SELECTION-SCREEN DEFINITION **----------------------------------------------------------------------*SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.* Range of materials to be extendedSELECT-OPTIONS: s_matnr FOR g_wa_marc-matnr OBLIGATORY,* Range of Target plants to which the material should beextended.s_target FOR g_wa_marc-werks OBLIGATORY.* Source plant form which material details are extracted PARAMETERS: p_source TYPE werks_d OBLIGATORY,* Check box to extend Class II materialsp_class2 AS CHECKBOX,* Check box to extend Super Bom and GC Partsp_super AS CHECKBOX.SELECTION-SCREEN END OF BLOCK b1.*----------------------------------------------------------------------** AT SELECTION-SCREEN **----------------------------------------------------------------------*AT SELECTION-SCREEN.* Validate the Target Plant Range entered.PERFORM validate_target_plants.* Validate the source plant and material range.PERFORM validate_material_range.*----------------------------------------------------------------------** START-OF-SELECTION **----------------------------------------------------------------------*START-OF-SELECTION.*Refresh corresponding variablesPERFORM refresh_data_variables.*Get final target plants.PERFORM get_final_target_plants.*Get materials and the corresponding plants to which it has to be*extendedPERFORM get_final_materials_plants.* Get all the data for the import parameters ofbapi_material_get_all.PERFORM get_data.IF NOT g_it_marc[] IS INITIAL.LOOP AT g_it_marc INTO g_wa_marc.* Get all the data for the materials given in the selection screen.PERFORM bapi_material_get_all.IF g_wa_matresult-flag = c_fm.CONTINUE.ELSE.* Extended the data to the plants given in the selection screen.PERFORM bapi_material_savedata.ENDIF.ENDLOOP.ELSE.MESSAGE e000 WITH 'MATERIALS ALREADY EXTENDED TO TARGETPLANT'.ENDIF.*----------------------------------------------------------------------** END-OF-SELECTION **----------------------------------------------------------------------*END-OF-SELECTION.* Display materials already extended.PERFORM disp_mat_already_extended.*Display materials for which the data could not be fetched.PERFORM disp_mat_not_fetched.*Display materials failed to extend to plant.PERFORM disp_mat_fail_ext_plant.*----------------------------------------------------------------------** TOP-OF-PAGE **----------------------------------------------------------------------*TOP-OF-PAGE.* To display page headerPERFORM page_header.*&---------------------------------------------------------------------**& Form VALIDATE_TARGET_PLANTS*&---------------------------------------------------------------------** Form to validate the target plants specified in the range on* the selection screen and get all the accessible plants.* If none of the plants specified is an Access plant, an error* message is displayed.*----------------------------------------------------------------------*FORM validate_target_plants .* Check if each of the plants is an Access plant.SELECT werkspur_groupprod_timedeliv_timegr_proc_timesched_marginrepln_timeFROM zmmdataINTO TABLE g_it_plantsWHERE werks IN s_targetOR werks EQ p_source.IF sy-subrc EQ 0.SORT g_it_plants BY werks.CLEAR g_wa_plants.READ TABLE g_it_plants INTO g_wa_plantsWITH KEY werks = p_source.IF sy-subrc = 0.DELETE g_it_plants INDEX sy-tabix.ELSE.MESSAGE e001.ENDIF.ELSE.MESSAGE e005.ENDIF.ENDFORM. " validate_target_plants*&---------------------------------------------------------------------**& Form VALIDATE_MATERIAL_RANGE*&---------------------------------------------------------------------** Form to validate source plant and the material rage given in the* selection screen and get all the materials of the source plant* and the target plants.* If there are no materials of the source plant to be extended an* error message is displayed.*----------------------------------------------------------------------*FORM validate_material_range .DATA: BEGIN OF l_r_plants OCCURS 0,sign(1),option(2),low TYPE werks_d,high TYPE werks_d,END OF l_r_plants.CLEAR: g_wa_plants.*Creating rage of plants to get the material validityLOOP AT g_it_plants INTO g_wa_plants.AT NEW werks.l_r_plants-sign = 'I'.l_r_plants-option = 'EQ'.l_r_plants-low = g_wa_plants-werks.APPEND l_r_plants.CLEAR l_r_plants.ENDAT.ENDLOOP.*Include source plant alsol_r_plants-sign = 'I'.l_r_plants-option = 'EQ'.l_r_plants-low = p_source.APPEND l_r_plants.SELECT werksmatnrbeskzsobslfhoriFROM marcINTO TABLE g_it_marc1WHERE matnr IN s_matnrAND werks IN l_r_plants.* If the output table is initial an error message is displayedIF sy-subrc NE 0.MESSAGE e002.ELSE.SORT g_it_marc1 BY werks matnr.CLEAR g_wa_marc1.READ TABLE g_it_marc1 INTO g_wa_marc1 WITH KEY werks = p_source.* If the output table doesn't contain materials of source plant an* error message is displayed.IF sy-subrc NE 0.MESSAGE e002.ENDIF.ENDIF.ENDFORM. " validate_material_range*&---------------------------------------------------------*& Form get_final_target_plants*&---------------------------------------------------------------------** To get final target plants*----------------------------------------------------------------------*FORM get_final_target_plants .DATA: l_wa_plants TYPE t_target_plants.LOOP AT g_it_plants INTO l_wa_plants.AT NEW werks.READ TABLE g_it_plants INTO g_wa_plantsWITH KEY werks =l_wa_plants-werks.APPEND g_wa_plants TO g_it_target_plants.CLEAR l_wa_plants.ENDAT.ENDLOOP.SORT g_it_target_plants BY werks.ENDFORM. " get_final_target_plants*&---------------------------------------------------------------------**& Form get_final_materials_plants*&---------------------------------------------------------* Form to get the materials and the corresponding plants to which* it has to be extended.*----------------------------------------------------------------------*FORM get_final_materials_plants.CLEAR: g_wa_marc1,g_wa_plants.*Validating plants against source plants*Loop at all the materials with source plant and append to*another tableLOOP AT g_it_marc1 INTO g_wa_marc1 WHERE werks = p_source.MOVE g_wa_marc1 TO g_wa_source_mat.APPEND g_wa_source_mat TO g_it_source_mat.CLEAR g_wa_source_mat.ENDLOOP.*Loop through all target plantsLOOP AT g_it_target_plants INTO g_wa_plants.*Loop at all the materials with source plantLOOP AT g_it_marc1 INTO g_wa_marc1 WHERE werks = p_source. *Check whether material exist for the target plant or notREAD TABLE g_it_marc1INTO g_wa_marc1WITH KEY matnr = g_wa_marc1-matnrwerks = g_wa_plants-werks.IF sy-subrc = 0.*If yes then move that material to another table.MOVE g_wa_marc1-matnr TOg_wa_matextended-material.MOVE g_wa_plants-werks TO g_wa_matextended-plant. MOVE c_fm TO g_wa_matextended-flag. MOVE 'MATERIALS ALREADY EXTENDED'(002) TOg_wa_matextended-errormessage.APPEND g_wa_matextended TO g_it_matextended.CLEAR g_wa_matextended.ELSE.*If no then append that material to extention listMOVE g_wa_marc1-matnr TO g_wa_marc-matnr.MOVE g_wa_plants-werks TO g_wa_marc-werks.MOVE g_wa_marc1-beskz TO g_wa_marc-beskz.MOVE g_wa_marc1-sobsl TO g_wa_marc-sobsl.APPEND g_wa_marc TO g_it_marc.CLEAR g_wa_marc.ENDIF.ENDLOOP.ENDLOOP.ENDFORM. " get_final_materials_plants*&---------------------------------------------------------------------**& Form get_data*&---------------------------------------------------------------------** Form to get the data for the import parameters of* bapi_material_get_all.*----------------------------------------------------------------------*FORM get_data .* Super bom is checkedIF p_super = 'X'.* To get Material data from Material master and check whether* Material is configurable.SELECT matnr "Materialkzkfg "ConfigurableFROM maraINTO TABLE g_it_superbomFOR ALL ENTRIES IN g_it_source_mat WHERE matnr = g_it_source_mat-matnr.IF sy-subrc = 0.SORT g_it_superbom.ENDIF.ENDIF.。
SAPBAPI的清单

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。
物料主数据批导bapi

物料主数据批导bapi 创建物料主数据,根据模板不同批导原材料,半成品,成品。
可根据实际需求对字段进⾏增删。
1 report zmmr_bapi_mm01 no standard page HEADING.2 type-POOLS:slis,truxs,icon.3 tables: sscrfields,lips,resb,marc,ckmlab02.4 data num type stprs_bapi.5 data flag type i. "标识符,如果不为1则不创建物料67 types:begin of ty_tab,8 head_material type matnr, "物料号9 head_ind_sector type mbrsh, "⾏业领域10 head_matl_type type mtart, "物料类型11 marc_plant type werks_d, "⼯⼚12 mvke_sales_org type vkorg, "销售组织13 mvke_distr_chan type vtweg, "分销渠道14 t_makt_matl_desc type maktx, "物料描述15 mara_base_uom type meins, "基本计量单位16 mara_matl_group type matkl, "物料组17 mara_extwg type extwg, "客户18 mara_item_cat type mtpos_mara, "普通项⽬组类别19 t_marm_unit_of_wt type gewei, "重量单位20 mara_wrkst type wrkst, "基本物料21 mara_ihivi type adge_ihivi, "是否客供22 mara_zeinr type dzeinr, "客户物料编码23 mvke_dwerk type maktx, "交货⼯⼚24 mvke_sktof type sktof, "现⾦折扣25 t_mlan_taxclass1 type taxkm, "税分类26 mvke_matl_stats type stgma, "物料统计组27 mvke_acct_assgt type ktgrm, "科⽬设置组28 mvke_item_cat type mtpos, "项⽬类别组29 marc_availcheck type mtvfp, "可⽤性检查30 mara_trans_grp type tragr, "运输组31 marc_loadinggrp type ladgr, "装载组32 marc_pur_group type ekgrp, "采购组33 marc_batch_mgmt type xchpf, "批次管理标⽰34 marc_auto_p_ord type kautb, "⾃动采购订单标识35 marc_webaz type webaz, "收货处理时间36 marc_insmk type insmk_mat, "过账到检验库存37 marc_mrp_group type disgr, "MRP组38 marc_maabc type maabc, "ABC标识39 marc_mrp_type type dismm, "MRP类型40 marc_mrp_ctrler type dispo, "MRP控制者41 marc_lotsizekey type disls, "批量42 marc_minlotsize type bstmi, "最⼩批量43 marc_round_val type bstrf, "舍⼊值44 marc_proc_type type beskz, "采购类型45 marc_lgpro type lgpro, "⽣产仓储地点46 marc_rgekz type rgekz, "反冲47 marc_lgfsb type lgfsb, "外部采购仓储地点48 marc_sm_key type fhori, "计划边际码49 marc_plnd_delry type plifz, "计划交货时间50 marc_sbdkz type sbdkz, "集中/独⽴51* mpop_prmod TYPE mpop-prmod, "预测模型52 mbew_val_class type bklas, "评估级别53 mbew_ml_settle type ck_ml_abst, "价格确定54 mbew_std_price type ck_pvprs_1, "标准价格55 mbew_moving_pr type ck_pvprs_1, "移动平均价56 mbew_price_ctrl type vprsv, "价格控制57 mbew_price_unit type peinh, "价格单位58 mbew_hrkft type hrkft, "原始组59 mbew_orig_mat type hkmat, "物料来源60 marc_losgr type ck_losgr, "成品核算批量61 end of ty_tab.6263 types:begin of ty_tab2,64 head_material type matnr, "物料号65 head_ind_sector type mbrsh, "⾏业领域66 head_matl_type type mtart, "物料类型67 marc_plant type werks_d, "⼯⼚68 mvke_sales_org type vkorg, "销售组织69 mvke_distr_chan type vtweg, "分销渠道70 t_makt_matl_desc type maktx, "物料描述71 mara_base_uom type meins, "基本计量单位72 mara_matl_group type matkl, "物料组73 mara_extwg type extwg, "客户74 mara_spart type spart, "产品组75 mara_item_cat type mtpos_mara, "普通项⽬组类别76 t_marm_unit_of_wt type gewei, "重量单位77 mara_formt type formt, "替代料标识78 mara_wrkst type wrkst, "基本物料79 mara_zeinr type dzeinr, "客户物料编码80 mvke_dwerk type maktx, "交货⼯⼚81 mvke_sktof type sktof, "现⾦折扣82 t_mlan_taxclass1 type taxkm, "税分类83 mvke_matl_stats type stgma, "物料统计组84 mvke_acct_assgt type ktgrm, "科⽬设置组85 mvke_item_cat type mtpos, "项⽬类别组86 marc_availcheck type mtvfp, "可⽤性检查87 mara_trans_grp type tragr, "运输组88 marc_loadinggrp type ladgr, "装载组89 marc_ekgrp type ekgrp, "采购组90 marc_kautb type kautb, "⾃动采购单91 marc_xchpf type xchpf, "批次管理92 marc_webaz type webaz, "收货处理时间93 marc_mrp_group type disgr, "MRP组94 marc_mrp_type type dismm, "MRP类型95 marc_mrp_ctrler type dispo, "MRP控制者96 marc_lotsizekey type disls, "批量⼤⼩97 marc_bstmi type bstmi, "最⼩批量⼤⼩98 marc_bstrf type bstrf, "舍⼊值99 marc_proc_type type beskz, "采购类型100 marc_sobsl type sobsl, "特殊采购类型101 marc_lgpro type lgpro, "⽣产仓储地点102 marc_lgfsb type lgfsb, "外部采购仓储地点103 marc_dzeit type dzeit, "⽣产时间104 marc_plifz type plifz, "计划交货时间105 marc_eisbe type eisbe, "安全库存106 marc_sm_key type fhori, "计划边际码107 marc_strgr type strgr, "策略组108 marc_vrmod type vrmod, "消耗模式109 marc_vint1 type vint1, "逆向消耗期间110 marc_vint2 type vint2, "向前消耗期间111 marc_altsl type altsl, "选择⽅法112 marc_sbdkz type sbdkz, "集中/独⽴113 mpop_prmod type mpop-prmod, "预测模型114 mbew_val_class type bklas, "评估级别115 mbew_ml_settle type ck_ml_abst, "价格确定116 mbew_std_price type ck_pvprs_1, "标准价格117 mbew_price_ctrl type vprsv, "价格控制118 mbew_orig_mat type hkmat, "物料来源119 marc_awsls type awsls, "差异码120 marc_losgr type ck_losgr, "成本核算批量121 end of ty_tab2.122123 data:it_tab type table of ty_tab , "原材料124 wa_tab type ty_tab.125 data:it_tab2 type table of ty_tab2, "成品126 wa_tab2 type ty_tab2.127128*输⼊参数129 data: headdata type bapimathead, "表头数据130 clientdata type bapi_mara, "基本数据131 clientdatax type bapi_marax,132 plantdata like bapi_marc, "⼯⼚数据133 plantdatax like bapi_marcx,134 forecastparameters type bapi_mpop, "预测135 forecastparametersx type bapi_mpopx,136 planningdata type bapi_mpgd, "计划137 planningdatax type bapi_mpgdx,138 valuationdata type bapi_mbew, "评估数据139 valuationdatax type bapi_mbewx,140 warehousenumberdata type bapi_mlgn, "仓库数据141 warehousenumberdatax type bapi_mlgnx,142 salesdata type bapi_mvke, "销售数据143 salesdatax type bapi_mvkex,144 storagetypedata type bapi_mlgt, "存储类型数据145 storagetypedatax type bapi_mlgtx.146147*表参数148 data: materialdescription type table of bapi_makt with header line, "描述 149 unitsofmeasure type table of bapi_marm with header line, "单位 150 unitsofmeasurex type table of bapi_marmx with header line,151 taxclassifications type table of bapi_mlan with header line, "税分类 152 return like table of bapiret2 with header line. "错误信息153154 data pr_unit type meins. "基本单位155 data pr_unit2 type meins. "重量单位156157 data: begin of gt_out occurs 0, "保存return信息158 text(255),159 end of gt_out.160161*TYPES:BEGIN OF ty_fieldnames ,162* name TYPE CHAR255,163*END OF ty_fieldnames.164*DATA it_fname TYPE TABLE OF ty_fieldnames WITH HEADER LINE.165 data:begin of it_fname occurs 0,166 name type char255,167 end of it_fname.168169170 SELECTION-screen begin of block blk_001 with frame title text-001 . "选择⽂件路径171 parameters:p_file like rlgrap-filename.172 SELECTION-screen end of block blk_001.173 SELECTION-screen: uline /1(82).174 SELECTION-screen: uline 83(83).175 SELECTION-screen begin of block blk_002 with frame title text-002. "确定创建物料类型176 parameters:radio_1 radiobutton group radi, "原材料177 radio_2 radiobutton group radi. "半成品/成品178 SELECTION-screen end of block blk_002.179180181 SELECTION-screen function key 1. "应⽤⼯具栏增加按钮182183 initialization.184 write icon_change_text as icon to sscrfields-functxt_01+0(4).185 sscrfields-functxt_01+4(*) = '下载模板'."分配字符位置186187 at SELECTION-screen.188 perform selection_screeen. "模板下载189190191 at SELECTION-screen on value-REQUEST for p_file .192 perform open.193194 START-of-SELECTION.195 if radio_1 = 'X'.196 perform upload_file. "上传数据197 perform mm01_1. "执⾏批导(原材料).198 else.199 perform upload_file2. "上传数据200 perform mm01_2. "执⾏批导(成品/半成品)201 endif.202203204 end-of-SELECTION.205 perform result_message. "显⽰执⾏结果206207*&---------------------------------------------------------------------*208*& Form MM01209*&---------------------------------------------------------------------*210* text211*----------------------------------------------------------------------*212* --> p1 text213* <-- p2 text214*----------------------------------------------------------------------*215 form mm01_1.216 loop at it_tab into wa_tab.217*前导0218 call function'CONVERSION_EXIT_ALPHA_INPUT'219 exporting220 input = wa_tab-head_material221 importing222 output = wa_tab-head_material.223224*判断物料是否以存在225 select single * from marc where matnr = wa_tab-head_material and werks = wa_tab-marc_plant. 226 if sy-subrc = 0.227 concatenate wa_tab-head_material '物料在' wa_tab-marc_plant '⼯⼚已存在!' into gt_out-text. 228 append gt_out.229 clear gt_out.230 continue.231 endif.232233 if wa_tab-mbew_moving_pr = ''.234 concatenate wa_tab-head_material '->原材料的移动平均价格为空' into gt_out-text.235 append gt_out.236 clear gt_out.237 continue.238 endif.239240 call function'CONVERSION_EXIT_ALPHA_INPUT'"科⽬设置组241 exporting242 input = wa_tab-mvke_acct_assgt243 importing244 output = wa_tab-mvke_acct_assgt.245 call function'CONVERSION_EXIT_ALPHA_INPUT'"可⽤性检查246 exporting247 input = wa_tab-marc_availcheck248 importing249 output = wa_tab-marc_availcheck.250 call function'CONVERSION_EXIT_ALPHA_INPUT'"运输组251 exporting252 input = wa_tab-mara_trans_grp253 importing254 output = wa_tab-mara_trans_grp.255 call function'CONVERSION_EXIT_ALPHA_INPUT'"装载组256 exporting257 input = wa_tab-marc_loadinggrp258 importing259 output = wa_tab-marc_loadinggrp.260 call function'CONVERSION_EXIT_ALPHA_INPUT'"MRP组261 exporting262 input = wa_tab-marc_mrp_group263 importing264 output = wa_tab-marc_mrp_group.265 call function'CONVERSION_EXIT_ALPHA_INPUT'"MRP控制者266 exporting267 input = wa_tab-marc_mrp_ctrler268 importing269 output = wa_tab-marc_mrp_ctrler.270 call function'CONVERSION_EXIT_ALPHA_INPUT'"计划边际值271 exporting272 input = wa_tab-marc_sm_key273 importing274 output = wa_tab-marc_sm_key.275276*判断是否客供,提⽰价格信息277 if wa_tab-mara_ihivi <> 'X'.278 clear num.279 num = wa_tab-mbew_std_price / wa_tab-mbew_price_unit.280 case wa_tab-marc_maabc. "ABC标识281 when 'A'.282 if num > 100.283 perform pop_confirm using wa_tab-marc_maabc wa_tab-head_material. 284 if flag = 1. "为否时执⾏下⼀物料285 clear flag.286 continue.287 endif.288 endif.289 when 'B'.290 if num > 5.291 perform pop_confirm using wa_tab-marc_maabc wa_tab-head_material. 292 if flag = 1.293 clear flag.294 continue.295 endif.296 endif.297 when others.298 perform pop_confirm using wa_tab-marc_maabc wa_tab-head_material. 299 if flag = 1.300 clear flag.301 continue.302 endif.303 endcase.304 endif.305306 clear headdata.307 headdata-material = wa_tab-head_material.308 headdata-matl_type = wa_tab-head_matl_type.309 headdata-ind_sector = wa_tab-head_ind_sector.310 headdata-basic_view = 'X'. "基本数据视图311 headdata-sales_view = 'X'. "销售视图312 headdata-purchase_view = 'X'. "采购视图313 headdata-mrp_view = 'X'. "物料需求计划(MRP)视图314* headdata-forecast_view = 'X'. "预测视图315 headdata-warehouse_view = 'X'. "⼯作计划视图316 headdata-account_view = 'X'. "会计视图317 headdata-cost_view = 'X'. "成本视图318319*基本数据320 clear pr_unit.321 perform frm_unit using wa_tab-mara_base_uom changing pr_unit."基本单位 322 clear: clientdata.323 clientdata-base_uom = pr_unit. "基本计量单位324 clientdata-matl_group = wa_tab-mara_matl_group. "物料组325 clientdata-item_cat = wa_tab-mara_item_cat. "普通项⽬类别组326 clientdata-trans_grp = wa_tab-mara_trans_grp. "运输组327 clientdata-extmatlgrp = wa_tab-mara_extwg. "客户328 clientdata-basic_matl = wa_tab-mara_wrkst. "基本物料329 clientdata-high_visc = wa_tab-mara_ihivi. "是否客供330 clientdata-document = wa_tab-mara_zeinr. "客户物料编码331 clear clientdatax.332 clientdatax-base_uom = 'X'. "基本计量单位333 clientdatax-matl_group = 'X'.334 clientdatax-item_cat = 'X'.335 clientdatax-net_weight = 'X'.336 clientdatax-trans_grp = 'X'.337 clientdatax-extmatlgrp = 'X'.338 clientdatax-basic_matl = 'X'.339 clientdatax-high_visc = 'X'.340 clientdatax-document = 'X'.341342*⼯⼚级别数据343 clear:plantdata.344 plantdata-plant = wa_tab-marc_plant. "⼯⼚345 plantdata-availcheck = wa_tab-marc_availcheck. "可⽤性检查346 plantdata-loadinggrp = wa_tab-marc_loadinggrp. "装载组347 plantdata-pur_group = wa_tab-marc_pur_group. "采购组348 plantdata-batch_mgmt = wa_tab-marc_batch_mgmt. "批次管理标⽰349 plantdata-auto_p_ord = wa_tab-marc_auto_p_ord. "⾃动采购订单标识350 plantdata-gr_pr_time = wa_tab-marc_webaz. "⾃动采购订单标识351 plantdata-ind_post_to_insp_stock = wa_tab-marc_insmk. "过账到检验库存 352 plantdata-mrp_group = wa_tab-marc_mrp_group. "MRP组353 plantdata-abc_id = wa_tab-marc_maabc. "ABC标识354 plantdata-mrp_type = wa_tab-marc_mrp_type. "MRP类型355 plantdata-mrp_ctrler = wa_tab-marc_mrp_ctrler. "MRP控制者356 plantdata-lotsizekey = wa_tab-marc_lotsizekey. "批量357 plantdata-minlotsize = wa_tab-marc_minlotsize. "最⼩批量358 plantdata-round_val = wa_tab-marc_round_val. "舍⼊值359 plantdata-proc_type = wa_tab-marc_proc_type. "采购类型360 plantdata-iss_st_loc = wa_tab-marc_lgpro. "⽣产仓储地点361 plantdata-backflush = wa_tab-marc_rgekz. "反冲362 plantdata-sloc_exprc = wa_tab-marc_lgfsb. "外部采购仓储地点363 plantdata-sm_key = wa_tab-marc_sm_key. "计划边际码364 plantdata-plnd_delry = wa_tab-marc_plnd_delry. "计划交货时间365 plantdata-dep_req_id = wa_tab-marc_sbdkz. "集中/独⽴366 plantdata-lot_size = wa_tab-marc_losgr. "批量产品核算367 clear plantdatax.368 plantdatax-plant = wa_tab-marc_plant.369 plantdatax-availcheck = 'X'.370 plantdatax-loadinggrp = 'X'.371 plantdatax-pur_group = 'X'.372 plantdatax-batch_mgmt = 'X'.373 plantdatax-auto_p_ord = 'X'.374 plantdatax-gr_pr_time = 'X'.375 plantdatax-ind_post_to_insp_stock = 'X'.376 plantdatax-mrp_group = 'X'.377 plantdatax-abc_id = 'X'.378 plantdatax-mrp_type = 'X'.379 plantdatax-mrp_ctrler = 'X'.380 plantdatax-lotsizekey = 'X'.381 plantdatax-minlotsize = 'X'.382 plantdatax-round_val = 'X'.383 plantdatax-proc_type = 'X'.384 plantdatax-iss_st_loc = 'X'.385 plantdatax-backflush = 'X'.386 plantdatax-sloc_exprc = 'X'.387 plantdatax-sm_key = 'X'.388 plantdatax-plnd_delry = 'X'.389 plantdatax-dep_req_id = 'X'.390 plantdatax-lot_size = 'X'.391392*销售数据393 clear salesdata.394 salesdata-sales_org = wa_tab-mvke_sales_org. "销售组织395 salesdata-distr_chan = wa_tab-mvke_distr_chan. "分销渠道396 salesdata-delyg_plnt = wa_tab-mvke_dwerk. "交货⼯⼚397 salesdata-cash_disc = wa_tab-mvke_sktof. "现⾦折扣标志398 salesdata-matl_stats = wa_tab-mvke_matl_stats. "物料统计组399 salesdata-acct_assgt = wa_tab-mvke_acct_assgt. "科⽬设置组400 salesdata-item_cat = wa_tab-mvke_item_cat. "项⽬类别组401 clear salesdatax.402 salesdatax-sales_org = wa_tab-mvke_sales_org.403 salesdatax-distr_chan = wa_tab-mvke_distr_chan.404 salesdatax-delyg_plnt = 'X'.405 salesdatax-cash_disc = 'X'.406 salesdatax-matl_stats = 'X'.407 salesdatax-acct_assgt = 'X'.408 salesdatax-item_cat = 'X'.409410**预测411* CLEAR:forecastparameters,forecastparametersx.412* forecastparameters-plant = wa_tab-marc_plant. "⼯⼚413* forecastparameters-fore_model = wa_tab-mpop_prmod. "预测模型414* forecastparametersx-plant = wa_tab-marc_plant.415* forecastparametersx-fore_model = 'X'.416417*会计、成本418 clear valuationdata.419 valuationdata-val_area = wa_tab-marc_plant.420 valuationdata-val_class = wa_tab-mbew_val_class. "评估级别421 valuationdata-ml_settle = wa_tab-mbew_ml_settle. "价格确定422 valuationdata-std_price = wa_tab-mbew_std_price. "标准价格423 valuationdata-moving_pr = wa_tab-mbew_moving_pr. "移动平均价424 valuationdata-price_unit = wa_tab-mbew_price_unit. "价格单位425 valuationdata-price_ctrl = wa_tab-mbew_price_ctrl. "价格控制426 valuationdata-orig_group = wa_tab-mbew_hrkft. "原始组427 valuationdata-orig_mat = wa_tab-mbew_orig_mat. "物料来源428 clear valuationdatax.429 valuationdatax-val_area = wa_tab-marc_plant.430 valuationdatax-val_class = 'X'.431 valuationdatax-ml_settle = 'X'.432 valuationdatax-price_ctrl = 'X'.433 valuationdatax-price_unit = 'X'.434 valuationdatax-moving_pr = 'X'.435 valuationdatax-std_price = 'X'.436 valuationdatax-orig_group = 'X'.437 valuationdatax-orig_mat = 'X'.438439*物料描述440 clear materialdescription[].441 materialdescription-langu_iso = 'ZH'.442 materialdescription-matl_desc = wa_tab-t_makt_matl_desc.443 append materialdescription.444445*单位446 clear unitsofmeasure[].447 unitsofmeasure-alt_unit = pr_unit.448 unitsofmeasure-unit_of_wt = wa_tab-t_marm_unit_of_wt.449 append unitsofmeasure.450 clear unitsofmeasurex[].451 unitsofmeasurex-alt_unit = pr_unit.452 unitsofmeasurex-unit_of_wt = 'X'.453 append unitsofmeasurex.454455*税分类456 clear taxclassifications[].457 taxclassifications-depcountry = 'CN'.458 taxclassifications-tax_type_1 = 'MWST'.459 taxclassifications-taxclass_1 = wa_tab-t_mlan_taxclass1. "税分类460 append taxclassifications.461462 call function'BAPI_MATERIAL_SAVEDATA'463 exporting464 headdata = headdata465 clientdata = clientdata466 clientdatax = clientdatax467 plantdata = plantdata468 plantdatax = plantdatax469 forecastparameters = forecastparameters470 forecastparametersx = forecastparametersx471 valuationdata = valuationdata472 valuationdatax = valuationdatax473 salesdata = salesdata474 salesdatax = salesdatax475 importing476 return = return477 tables478 materialdescription = materialdescription[]479 unitsofmeasure = unitsofmeasure[]480 unitsofmeasurex = unitsofmeasurex481 taxclassifications = taxclassifications[].482 if return-type = 'E'or return-type = 'A'.483 call function'BAPI_TRANSACTION_ROLLBACK'.484 concatenate wa_tab-head_material '原材料—>' return-message into gt_out-text. 485 append gt_out.486 clear gt_out.487 else.488 call function'BAPI_TRANSACTION_COMMIT'489 exporting490 wait = 'X'.491 concatenate wa_tab-head_material '物料创建成功。
BAPI 相关介绍资料

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。
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。
BAPI导入物料主数据
BAPI导入物料主数据REPORT ZMMMDE001 NO STANDARD PAGE HEADING LINE-SIZE 170 MESSAGE-ID MG.*----------------------------------------------------------------------* * Program : ZMMMDE001 * * Author : Patrick,Song * * Date : Sep 10, 2008 * * Code type : conversion * * Version : new creation * * (interface/conversion/on-line transaction/report) * * * *----------------------------------------------------------------------* * Error handling : * *----------------------------------------------------------------------* * 1. * * * *----------------------------------------------------------------------* * Change log : * *----------------------------------------------------------------------* * CR# : * * Corr. no. : * * Date : * * Author : * * Change : * * * *----------------------------------------------------------------------**----------------------------------------------------------------------* * include program & subrouting * *----------------------------------------------------------------------* INCLUDE : ZBCDWI000 .TYPE-POOLS: KCDE.TYPE-POOLS: SLIS.*----------------------------------------------------------------------* * tables declaration * *----------------------------------------------------------------------* TABLES: AUSP, " Characteristic Values MARC, " Plant Data for MaterialMARA, " General Material DataMVKE, " Sales Data for MaterialT001L, " Storage LocationsT006A, " Assign Internal to Language-Dependent UnitT134. " Material Types*----------------------------------------------------------------------** selection screen definition * *----------------------------------------------------------------------* * Input file information block B1 SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE TEXT-SC1 . PARAMETER: P_BASIC LIKE RLGRAP-FILENAME OBLIGATORY .PARAMETERS: P_FILE LIKE RLGRAP-FILENAME OBLIGATORY .SELECTION-SCREEN END OF BLOCK A1.PARAMETERS: P_MMAM AS CHECKBOX DEFAULT SPACE .PARAMETERS: P_MARC AS CHECKBOX DEFAULT SPACE .PARAMETERS: P_QMDATA AS CHECKBOX DEFAULT SPACE .*PARAMETERS: P_CLASS AS CHECKBOX .PARAMETERS: P_BKJOB AS CHECKBOX DEFAULT SPACE .*----------------------------------------------------------------------* * Internal tables and field strings * *----------------------------------------------------------------------* *-* to store uploaded data * define table to store tempoary data => Material Views Selection DATA INT_TAB TYPE KCDE_INTERN_STRUC OCCURS 0 WITH HEADER LINE.*----------------------------------------------------------------------* * Global program variables * *----------------------------------------------------------------------* * TO STORE MATERIAL MASTER DATA WHICH NEED TO BE UPLOADED*** Generated data section with specific formatting - DO NOT CHANGE *** DATA: BEGIN OF ITAB OCCURS 0.DATA: MATNR(018). "物料号 ****DATA: BISMT(018). "旧物料号****DATA: MAKTX(040). "物料描述****DATA: MBRSH(001). "行业领域****DATA: MTART(004). "物料类型****DATA: WERKS(004). "工厂 ****DATA: LGORT(004). "库存地点****DATA: VKORG(004). "销售组织****DATA: VTWEG(002). "分销渠道****DATA: MEINS(003). "基本计量单位****DATA: SPART(002). "产品组****DATA: MSTAE(002). "跨工厂物料状态DATA: MATKL(009). "物料组****DATA: GEWEI(003). "重量单位****DATA: BRGEW(017). "毛重***DATA: NTGEW(017). "净重***DATA: ZEINR(022). "产品图号***DATA: KLART(003). "类别种类**** DATA: CLASS_01(018). "类别**** DATA: MWERT_SCR(030). "安规标准**** DATA: MWERT_SER(030). "产品系列号**** DATA: MWERT_DESC1(090). "物料描述1**** DATA: MWERT_DESC11(030). "物料描述1**** DATA: MWERT_DESC12(030). "物料描述1**** DATA: MWERT_DESC2(090). "物料描述2**** DATA: MWERT_DESC21(030). "物料描述2**** DATA:MWERT_DESC22(030). "物料描述2**** DATA: EKGRP(003). "采购组 **** DATA: BSTME(003). "订单单位 **** DATA: UMREN(006). "转换比例中订单单位数量DATA: WEBAZ(003). "收货处理时间 **** DATA: KORDB(001). "货源清单**** DATA: USEQU(001). "配额安排 **** DATA: KZKRI(001). "是否合同管控***** DATA: DWERK(004). "交货工厂***** DATA: SPART_GRP(002). "产品组***** DATA: TAXKM(001). "税***** DATA: VERSG(001). "物料统计组***** DATA: KONDM(002). "物料定价组***** DATA: KTGRM(002). "科目设置组***** DATA: MTPOS(004). "项目类别组***** DATA: BOX01(006). "每箱对应的产品数量***** DATA: BOX02(006). "每栈板对应的产品数量*****DATA: TRAGR(004). "运输组 ***** DATA: LADGR(004). "装载组 ***** DATA: MTVFP(002). "可用性检查 ***** DATA: DISMM(002). "MRP 类型 **** DATA: DISGR(004). "MRP组 **** DATA: DISPO(003). "MRP 控制者 ******DATA: DISLS(002). "批量大小 **** DATA: BSTRF(017). "舍入值 **** DATA: BESKZ(001). "采购类型 * **** DATA: SOBSL(002). "特殊采购类 **** DATA: RGEKZ(001). "反冲 **** DATA: LGPRO(004). "生产仓储地点 ***** DATA: LGFSB(004). "外部采购仓储地点* DATA: DZEIT(003). "自制生产时间 **** DATA: WEBAZ_GR(003). "收货处理时间 **** DATA: PLIFZ(003). "计划交货时间 **** DATA: FHORI(003). "计划边际码 **** DATA: EISBE(017). "安全库存**** DATA: PERKZ(001). "期间标识 **** DATA: KAUSF(006). "部件废品(%)**** DATA: MTVFP1(002). "可用性检查 **** DATA: SBDKZ(001). "独立/集中**** DATA: XCHPF(001). "批次管理 **** DATA: LGPBE(010). "库存仓位 **** DATA: INSMK(001). "过帐到检验库存*** DATA: PRFRQ(006). "检查间隔天数**** DATA: QMPUR(001). "QM采购激活 **** DATA: SSQSS(008). "QM 控制码**** DATA: AKTIV_01(001). "激活检验类型01*** DATA: AKTIV_03(001). "激活检验类型03*** DATA: AKTIV_04(001). "激活检验类型04*** DATA:AKTIV_05(001). "激活检验类型05*** DATA: AKTIV_09(001). "激活检验类型09*** DATA: BKLAS(004). "评估类 **** DATA: VPRSV(001). "价格控制 **** DATA: PEINH(006). "价格单位 **** DATA: VERPR(015). "移动平均价 **** DATA: STPRS(015). "标准价格 **** DATA: EKALR(001). "物料根据数量结构进行成本核算*****DATA: HKMAT(001). "物料来源 **** DATA: HRKFT(004). "原始组 **** DATA: KOSGR(010). "间接费分组 **** DATA: AWSLS(006). "差异码 **** DATA:ZPLP1(014). "未来计划价格1**** DATA: ZPLD1(010). "未来计划价格1日期*****DATA: ZPLP2(014). "未来计划价格2**** DATA: ZPLD2(010). "未来计划价格2日期*****DATA: UMREZ(006). "转换比例fm DATA: END OF ITAB.* define internal table to store views selection for material type & plantDATA: BEGIN OF VWS_ITAB OCCURS 0 .DATA: MTART(004) TYPE C. " Material Type DATA: BASIC_VIEWS(001) TYPE C. " Flag for Basic View DATA: CLASS_VIEWS(001) TYPE C. " Flag for ClassificationDATA: WERKS(004) TYPE C. " Plant DataDATA: PROCUREMENT(001) TYPE C. " Flag for procurement TypeDATA: SALES_VIEWS(001) TYPE C. " Flag for Sales ViewsDATA: PURCH_VIEWS(001) TYPE C. " Flag for Purchasing ViewsDATA: MRP_VIEWS(001) TYPE C. " Flag for MRP ViewsDATA: WKSCH_VIEWS(001) TYPE C. " Flag for Work ScheduleDATA: FOREC_VIEWS(001) TYPE C. " Flag for ForecastingDATA: PRT_VIEWS(001) TYPE C. " Flag for PRT ToolsDATA: STORAGE_VIEW(001) TYPE C. " Flag for storage viewsDATA: WH_VIEWS(001) TYPE C. " Flag for Warehouse Management DATA: QA_VIEWS(001) TYPE C. " Flag for Quality Management DATA:ACCTS_VIEWS(001) TYPE C. " Flag for AccountingsDATA: COSTS_VIEWS(001) TYPE C. " Flag for CostingsDATA: BATCH_MANAGE(001) TYPE C. " Flag for Batch ManagementDATA: REMARKS(020) TYPE C. " RemarksDATA: END OF VWS_ITAB.CONSTANTS: XFLAG(001) TYPE C VALUE 'X'.DATA : L_CLASS(001) TYPE C .DATA: LINE_CNT TYPE I .**-* *-* *-* define internal table for BAPI function call *-* *-* *-* *-* *-* *-* Material DescriptionsDATA: MATERIALDESCRIPTION LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE . *-* Units of MeasureDATA: UNITSOFMEASURE LIKE BAPI_MARM OCCURS 0 WITH HEADER LINE . *-* Checkbox Structure for BAPI_MARMDATA: UNITSOFMEASUREX LIKE BAPI_MARMX OCCURS 0 WITH HEADER LINE . *-* International Article Numbers (EANs)DATA: INTERNATIONALARTNOS LIKE BAPI_MEAN OCCURS 0 WITH HEADER LINE . *-* Long TextsDATA: MATERIALLONGTEXT LIKE BAPI_MLTX OCCURS 0 WITH HEADER LINE . *-* Tax DataDATA: TAXCLASSIFICATIONS LIKE BAPI_MLAN OCCURS 0 WITH HEADER LINE .*-* Substitute Structure for Return Parameter BAPIRET2DATA: RETURNMESSAGES LIKE BAPI_MATRETURN2 OCCURS 0 WITH HEADER LINE . *-* Production Resource Tool (PRT) Fields in the Material Master DATA: PRTDATA LIKE BAPI_MFHM OCCURS 0 WITH HEADER LINE . *-* CheckboxStructure for BAPI_MFHMDATA: PRTDATAX LIKE BAPI_MFHMX OCCURS 0 WITH HEADER LINE . *-* Ref. structure for BAPI parameter ExtensionIn/ExtensionOut DATA: EXTENSIONIN LIKE BAPIPAREX OCCURS 0 WITH HEADER LINE . *-* Checkbox Structure for Extension In/Extension OutDATA: EXTENSIONINX LIKE BAPIPAREXX OCCURS 0 WITH HEADER LINE .*-* /NFM/: NF Charge Weights for Materials on Org. LevelDATA: NFMCHARGEWEIGHTS LIKE /NFM/BAPITVGW OCCURS 0 WITH HEADER LINE . *-* /NFM/: Update Information for /NFM/BAPDATA: NFMCHARGEWEIGHTSX LIKE /NFM/BAPITVGWX OCCURS 0 WITH HEADERLINE . *-* /NFM/: NF Structural WeightsDATA: NFMSTRUCTURALWEIGHTS LIKE /NFM/BAPITKGW OCCURS 0 WITH HEADER LINE . *-* /NFM/: Update Information for /NFM/BAPITKGWDATA: NFMSTRUCTURALWEIGHTSX LIKE /NFM/BAPITKGWX OCCURS 0 WITH HEADER LINE . *-* Returned ParametersDATA: RETURN LIKE BAPIRET2." OCCURS 0 WITH HEADER LINE .*DATA: INSPECTIONCTRL LIKE BAPI1001004_QMAT OCCURS 0 WITH HEADERLINE . *DATA: QM_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.* define structure data for BAPIs function of material mastercreation DATA: HEADDATA LIKE BAPIMATHEAD. "Header Segment with Control InformationDATA: CLIENTDATA LIKE BAPI_MARA. "Material Data at Client Level DATA: CLIENTDATAX LIKE BAPI_MARAX. "Checkbox Structure for BAPI_MARA DATA: PLANTDATA LIKE BAPI_MARC. "Material Data at Plant Level DATA: PLANTDATAX LIKE BAPI_MARCX. "Checkbox Structure for BAPI_MARC DATA: FORECASTPARAMETERS LIKE BAPI_MPOP. "Forecast Parameters DATA: FORECASTPARAMETERSX LIKE BAPI_MPOPX. "Checkbox Structure for BAPI_MPOP DATA: PLANNINGDATA LIKE BAPI_MPGD. "Change Document Structure for Material Master/Product GroupDATA: PLANNINGDATAX LIKE BAPI_MPGDX. "Checkbox Structure forBAPI_MPGDDATA: STORAGELOCATIONDATA LIKE BAPI_MARD. "Material Data at Storage Location LevelDATA: STORAGELOCATIONDATAX LIKE BAPI_MARDX. "Checkbox Structure for BAPI_MARDDATA: VALUATIONDATA LIKE BAPI_MBEW. "Valuation DataDATA: VALUATIONDATAX LIKE BAPI_MBEWX. "Checkbox Structure forBAPI_MBEWDATA: WAREHOUSENUMBERDATA LIKE BAPI_MLGN. "Warehouse Number Data DATA: WAREHOUSENUMBERDATAX LIKE BAPI_MLGNX. "Checkbox Structure for BAPI_MLGNDATA: SALESDATA LIKE BAPI_MVKE. "Sales DataDATA: SALESDATAX LIKE BAPI_MVKEX. "Checkbox Structure for BAPI_MVKEDATA: STORAGETYPEDATA LIKE BAPI_MLGT. "Storage Type Data DATA: STORAGETYPEDATAX LIKE BAPI_MLGTX. "Checkbox Structure for BAPI_MLG T*Batchinputdata of single transactionDATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE. *Messages of call transactionDATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE. * define internal table to store uploading result ... DATA: BEGIN OF I_RESULT OCCURS 0.DATA: MATNR LIKE ITAB-MATNR.DATA: WERKS LIKE ITAB-WERKS.DATA: MTART LIKE ITAB-MTART.DATA: MAKTX LIKE ITAB-MAKTX.DATA: MEINS LIKE ITAB-MEINS.INCLUDE STRUCTURE RETURNMESSAGES.DATA: QMVIEWS(001).DATA: MESSAGE01 LIKE RETURNMESSAGES-MESSAGE.DATA: MESSAGE02 LIKE RETURNMESSAGES-MESSAGE.DATA: SELK(001) TYPE C .DATA: END OF I_RESULT.DATA: BEGIN OF I_ERROR OCCURS 0.DATA: MATNR LIKE ITAB-MATNR.DATA: WERKS LIKE ITAB-WERKS.DATA: MTART LIKE ITAB-MTART.DATA: MEINS LIKE ITAB-MEINS.DATA: END OF I_ERROR.*-* define parameter to store line countDATA: LINE TYPE I.DATA: L_CNT TYPE I.DATA: INT_CNT TYPE I .DATA: GIT_BAPI1003 LIKE BAPI1003_ALLOC_VALUES_NUM OCCURS 0 WITH HEADER LINE,GIT_VALUES_CHAR LIKE BAPI1003_ALLOC_VALUES_CHAR OCCURS 0 WITH HEADER LINE,GIT_VALUES_CURR LIKE BAPI1003_ALLOC_VALUES_CURR OCCURS 0 WITH HEADER LINE,GIT_VALUES_LIST LIKE BAPI1003_ALLOC_LIST OCCURS 0 WITH HEADER LINE, GIT_BAPIRET2 LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE,LS_BAPIRET2 TYPE BAPIRET2.DATA: GS_BAPI1003 TYPE BAPI1003_ALLOC_VALUES_NUM,GS_VALUES_CHAR TYPE BAPI1003_ALLOC_VALUES_CHAR,GS_VALUES_CURR TYPE BAPI1003_ALLOC_VALUES_CURR,GC_FLAG_X(1) TYPE C VALUE 'X'.DATA: G_MATNR_CHK LIKE ITAB-MATNR .DATA: M_MATNR_CHK LIKE ITAB-MATNR .DATA: S_STATUS TYPE SLIS_FORMNAME VALUE 'STANDARD_ST01',S_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND-ALV'.*----------------------------------------------------------------------* * TOP-OF-PAGE.*----------------------------------------------------------------------* TOP-OF-PAGE.PERFORM COLUMN_HEADER.*----------------------------------------------------------------------* * initialization. * *----------------------------------------------------------------------* INITIALIZATION.REFRESH: ITAB, VWS_ITAB, BDCDATA, MESSTAB, I_RESULT, I_ERROR.CLEAR : ITAB, VWS_ITAB, BDCDATA, MESSTAB, I_RESULT, I_ERROR.IF SY-UNAME CA 'USER'.* set default value for data migration => Background JobP_BKJOB = 'X'.ENDIF .*----------------------------------------------------------------------* * At Selection-screen * *----------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.CALL FUNCTION 'WS_FILENAME_GET' "Get file nameEXPORTING* DEF_FILENAME = ' '* DEF_PATH = ' 'MASK = ',*.* ,*.*.'MODE = '0'TITLE = TEXT-H10IMPORTINGFILENAME = P_FILE* RC =EXCEPTIONSINV_WINSYS = 1NO_BATCH = 2SELECTION_CANCEL = 3SELECTION_ERROR = 4OTHERS = 5.IF SY-SUBRC <> 0.* MESSAGE E016 WITH P_PATH.ENDIF.*----------------------------------------------------------------------* * At Selection-screen * *----------------------------------------------------------------------* AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BASIC.CALL FUNCTION 'WS_FILENAME_GET' "Get file nameEXPORTING* DEF_FILENAME = ' '* DEF_PATH = ' 'MASK = ',*.* ,*.*.'MODE = '0'TITLE = TEXT-H10IMPORTINGFILENAME = P_BASIC* RC =EXCEPTIONSINV_WINSYS = 1NO_BATCH = 2SELECTION_CANCEL = 3SELECTION_ERROR = 4OTHERS = 5.IF SY-SUBRC <> 0.* MESSAGE E016 WITH P_PATH.ENDIF.*--------------------------------------------------------------------* * at selection-screen output*--------------------------------------------------------------------* AT SELECTION-SCREEN ON P_MMAM .IF NOT P_MMAM IS INITIAL .MOVE XFLAG TO P_MARC.MOVE XFLAG TO P_QMDATA.ENDIF.*--------------------------------------------------------------------* * at selection-screen output*--------------------------------------------------------------------* AT SELECTION-SCREEN OUTPUT .* PERFORM MODIFY_SCREEN .*----------------------------------------------------------------------* * Start-of-selection * *----------------------------------------------------------------------* START-OF-SELECTION.PERFORM DETERMINE_MATERIAL_VIEWS .PERFORM UPLOAD_DATA.SORT ITAB BY MATNR WERKS DESCENDING.CLEAR: LINE_CNT .DESCRIBE TABLE ITAB LINES LINE_CNT .LOOP AT ITAB .TRANSLATE ITAB-MATNR TO UPPER CASE .TRANSLATE ITAB-GEWEI TO UPPER CASE .ITAB-MWERT_DESC11 = ITAB-MWERT_DESC1+30(30).ITAB-MWERT_DESC12 = ITAB-MWERT_DESC1+60(30).ITAB-MWERT_DESC1 = ITAB-MWERT_DESC1+0(30).ITAB-MWERT_DESC21 = ITAB-MWERT_DESC2+30(30).ITAB-MWERT_DESC22 = ITAB-MWERT_DESC2+60(30).ITAB-MWERT_DESC2 = ITAB-MWERT_DESC2+0(30).IF NOT ITAB-MATNR IS INITIAL .PERFORM FORMAT_ALPHA_OUTPUT CHANGING ITAB-MATNR . WRITE:/ ITAB-MATNR UNDER TEXT-C01,ITAB-MAKTX UNDER TEXT-C06,ITAB-NTGEW UNDER TEXT-C08,ITAB-MTART UNDER TEXT-C03,ITAB-WERKS UNDER TEXT-C02,ITAB-VKORG UNDER TEXT-C09,ITAB-LGPRO UNDER TEXT-C10,ITAB-LGFSB UNDER TEXT-C11,ITAB-LGORT UNDER TEXT-C04,ITAB-BESKZ UNDER TEXT-C05,ITAB-SOBSL UNDER TEXT-C07.IF ITAB-WERKS = '1005' OR ITAB-WERKS = '1006'.MOVE 'F' TO ITAB-BESKZ.ENDIF .IF ITAB-BESKZ IS INITIAL AND ( ITAB-MTART EQ 'ROH' ORITAB-MTART EQ 'ROH1' ORITAB-MTART EQ 'ROH2' ORITAB-MTART EQ 'ROH3' ORITAB-MTART EQ 'UNBW' ORITAB-MTART EQ 'LEIH' ).MOVE 'F' TO ITAB-BESKZ.ENDIF .* Check if MRP Controller is fit for Plant and Material Type or notIF ITAB-WERKS = '2001' OR ITAB-WERKS = '2003' OR ITAB-WERKS = '2004'. IF ITAB-MTART EQ 'ROH'.IF ITAB-DISPO+0(1) NE 'M'.MOVE-CORRESPONDING ITAB TO I_ERROR.COLLECT: I_ERROR.CLEAR : I_ERROR.ENDIF.ENDIF.ENDIF .IF ITAB-WERKS = '2001' OR ITAB-WERKS = '2003' OR ITAB-WERKS = '2004'. IF ITAB-MTART EQ 'HALB'.IF ITAB-DISPO+0(1) EQ 'M'.MOVE-CORRESPONDING ITAB TO I_ERROR.COLLECT: I_ERROR.CLEAR : I_ERROR.ENDIF.ENDIF.ENDIF .IF ITAB-BRGEW = 'G' OR ITAB-BRGEW = 'g' .MOVE-CORRESPONDING ITAB TO I_ERROR.COLLECT: I_ERROR.CLEAR : I_ERROR.ENDIF .MODIFY ITAB .ELSE.DELETE ITAB .ENDIF .ENDLOOP .*----------------------------------------------------------------------* * End-of-selection * *----------------------------------------------------------------------* END-OF-SELECTION.IF I_ERROR[] IS INITIAL.SET PF-STATUS 'P1100'.ELSE.WRITE:/ '请检查以下物料各个字段值:'.ULINE .LOOP AT I_ERROR .WRITE: / I_ERROR-MATNR COLOR COL_NEGATIVE,I_ERROR-WERKS COLOR COL_NEGATIVE.ENDLOOP .ENDIF .WRITE:/ TEXT-T00, LINE_CNT COLOR COL_KEY.*----------------------------------------------------------------------* * at user-command * *----------------------------------------------------------------------* AT USER-COMMAND .CASE SY-UCOMM .WHEN 'MDRCRT' .REFRESH: I_RESULT .CLEAR : I_RESULT .PERFORM MATERIAL_MAINTAIN .PERFORM PREPARE_ALV_FIELDS.PERFORM DISPLAY_ALV_RESULT.ENDCASE .*----------------------------------------------------------------------* * Start new screen * *----------------------------------------------------------------------* FORM BDC_DYNPRO USING PROGRAM DYNPRO.CLEAR BDCDATA.BDCDATA-PROGRAM = PROGRAM.BDCDATA-DYNPRO = DYNPRO.BDCDATA-DYNBEGIN = 'X'.APPEND BDCDATA.ENDFORM. "BDC_DYNPRO*----------------------------------------------------------------------* * Insert field * *----------------------------------------------------------------------* FORM BDC_FIELD USING FNAM FVAL.CLEAR BDCDATA.BDCDATA-FNAM = FNAM.BDCDATA-FVAL = FVAL.APPEND BDCDATA.ENDFORM. "BDC_FIELD*&---------------------------------------------------------------------**& Form UPLOAD_DATA*&---------------------------------------------------------------------* * text*----------------------------------------------------------------------* * --> p1 text* <-- p2 text*----------------------------------------------------------------------* FORM UPLOAD_DATA .CALL FUNCTION 'UPLOAD'EXPORTINGFILENAME = P_FILEFILETYPE = 'DAT'TABLESDATA_TAB = ITABEXCEPTIONSCONVERSION_ERROR = 1INVALID_TABLE_WIDTH = 2INVALID_TYPE = 3NO_BATCH = 4UNKNOWN_ERROR = 5GUI_REFUSE_FILETRANSFER = 6OTHERS = 7.IF ITAB[] IS INITIAL.MESSAGE '导入数据为空,请确认后重新导入! ' TYPE 'I'.EXIT.ENDIF.ENDFORM. " UPLOAD_DATA*&---------------------------------------------------------------------* *& Form MATERIAL_MAINTAIN*&---------------------------------------------------------------------* * text*----------------------------------------------------------------------* * --> p1 text* <-- p2 text*----------------------------------------------------------------------* FORM MATERIAL_MAINTAIN .DATA: L_MARA TYPE I .DATA: L_QMATV LIKE MARC-QMATV .DATA: L_MARC(001).DATA: N_MATNR_CHK LIKE ITAB-MATNR .DATA: O_MATNR_CHK LIKE ITAB-MATNR .CLEAR: N_MATNR_CHK, O_MATNR_CHK.SORT VWS_ITAB BY MTART.IF NOT P_BKJOB IS INITIAL .PERFORM OPEN_GROUP .ENDIF .LOOP AT ITAB .CLEAR: L_CLASS, L_QMATV, L_MARC, L_MARA. * move-corresponding data to header data => HEADDATACLEAR: HEADDATA,CLIENTDATA, CLIENTDATA,PLANTDATA, PLANTDATAX,FORECASTPARAMETERS, FORECASTPARAMETERSX,PLANNINGDATA, PLANNINGDATAX,STORAGELOCATIONDATA, STORAGELOCATIONDATAX,VALUATIONDATA, VALUATIONDATAX,WAREHOUSENUMBERDATA, WAREHOUSENUMBERDATAX,SALESDATA, SALESDATAX,STORAGETYPEDATA, STORAGETYPEDATAX. * get customizing views which need to be selectedCLEAR: VWS_ITAB .READ TABLE VWS_ITAB WITH KEY MTART = ITAB-MTARTWERKS = ITAB-WERKSPROCUREMENT = ITAB-BESKZ . ***** Check Material Plant Data Maintain Or NotCLEAR: MARC .SELECT SINGLE * FROM MARC CLIENT SPECIFIEDWHERE MANDT EQ SY-MANDTAND MATNR EQ ITAB-MATNRAND WERKS EQ ITAB-WERKS .IF SY-SUBRC EQ 0 .IF ITAB-WERKS EQ '2001' ORITAB-WERKS EQ '2003' ORITAB-WERKS EQ '2004' .MOVE MARC-QMATV TO L_QMATV .ELSE .MOVE XFLAG TO L_QMATV.* CLEAR: L_QMATV.ENDIF .MOVE XFLAG TO L_MARC .ELSE.IF ITAB-WERKS EQ '1005' OR ITAB-WERKS EQ '1006'.MOVE XFLAG TO L_QMATV.ELSE.CLEAR: L_QMATV.ENDIF.CLEAR: L_MARC .ENDIF .*** Update QM Data or notIF NOT P_QMDATA IS INITIAL .IF ITAB-WERKS EQ '1005' OR ITAB-WERKS EQ '1006'. MOVE XFLAG TO L_QMATV.ELSE.CLEAR: L_QMATV.ENDIF.ENDIF .*** Update Plant Data or notIF NOT P_MARC IS INITIAL .CLEAR: L_MARC .ENDIF .IF L_MARC IS INITIAL.IF NOT P_MMAM IS INITIAL .CLEAR: MARA .SELECT SINGLE * FROM MARA CLIENT SPECIFIED WHERE MANDT EQ SY-MANDTAND MATNR EQ ITAB-MATNR .IF SY-SUBRC = 0.IF ITAB-MTART <> MARA-MTART .PERFORM MATERIAL_TYPE_CHANGE .ENDIF .ENDIF .ENDIF .* Conver value to uper caseTRANSLATE ITAB-MEINS TO UPPER CASE.IF ITAB-MEINS EQ 'G' OR ITAB-MEINS EQ 'g'.ITAB-MEINS = 'g'.ELSE.TRANSLATE ITAB-MEINS TO UPPER CASE.ENDIF .TRANSLATE ITAB-GEWEI TO UPPER CASE.PERFORM MAP_MATERIAL_DESCRIPTION .PERFORM MAP_MATERIAL_MASTER_DATA . * determine & select views for material maintainCASE VWS_ITAB-BASIC_VIEWS.WHEN 'X'.MOVE XFLAG TO HEADDATA-BASIC_VIEW. "Basic ViewsENDCASE.CASE VWS_ITAB-SALES_VIEWS.WHEN 'X'.IF ITAB-SOBSL NE '50'. " If phantom item, not required for Accts & Costs % QA Views** assign plant data & ** assign update informationIF NOT ITAB-VKORG IS INITIAL .MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .MOVE XFLAG TO HEADDATA-SALES_VIEW. "Sales Views PERFORM MAP_SALES_DATA .ENDIF .ENDIF.ENDCASE .CASE VWS_ITAB-PURCH_VIEWS.WHEN 'X'.** assign plant data & ** assign update information IF ITAB-SOBSL NE '50'.IF NOT ITAB-EKGRP IS INITIAL .MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .MOVE XFLAG TO HEADDATA-PURCHASE_VIEW."Purchasing View PERFORM MAP_PURCHASING_DATA .ENDIF .ENDIF .ENDCASE .************ MRP VIEWS ****************CASE VWS_ITAB-MRP_VIEWS.WHEN 'X'.** assign plant data & ** assign update information IF NOT ITAB-DISMM IS INITIAL .MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .MOVE XFLAG TO HEADDATA-MRP_VIEW. "MRP ViewsPERFORM MAP_MRP_DATA .ENDIF .ENDCASE .************ FORECASTING VIEWS ****************CASE VWS_ITAB-FOREC_VIEWS.WHEN 'X'.MOVE XFLAG TO HEADDATA-FORECAST_VIEW."Forecasting View ** assign plant data & ** assign update information MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .ENDCASE .************ WORK SCHEDULING VIEWS **************** CASE VWS_ITAB-WKSCH_VIEWS.WHEN 'X'.IF ITAB-SOBSL NE '50'.MOVE XFLAG TO HEADDATA-WORK_SCHED_VIEW."Work Scheduling ** assign plant data & ** assign update information MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .ENDIF .ENDCASE .************ PRT VIEWS ****************CASE VWS_ITAB-PRT_VIEWS.WHEN 'X'. MOVE XFLAG TO HEADDATA-PRT_VIEW. "PRT Views ENDCASE .************ STORAGE VIEWS ****************CASE VWS_ITAB-STORAGE_VIEW.WHEN 'X'.** assign plant data & ** assign update information IF ITAB-SOBSL NE '50'.MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .PERFORM MAP_STORAGE_DATA .ENDIF .WHEN SPACE.IF ITAB-MTART = 'ABF'.IF NOT ITAB-LGORT IS INITIAL ORNOT ITAB-LGPRO IS INITIAL ORNOT ITAB-LGFSB IS INITIAL.MOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .PERFORM MAP_STORAGE_DATA .ENDIF .ENDIF .ENDCASE .************ WAREHOUSE MANAGEMENT VIEWS ****************CASE VWS_ITAB-WH_VIEWS.WHEN 'X'.MOVE XFLAG TO HEADDATA-WAREHOUSE_VIEW. " ** assign plant data & ** assign update informationMOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .ENDCASE .************ QA VIEWS ****************CASE VWS_ITAB-QA_VIEWS.WHEN 'X'.IF ITAB-SOBSL NE '50'.** assign plant data & ** assign update informationMOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .PERFORM MAP_QA_DATA.ENDIF.ENDCASE .************ ACCOUNTING & COSTINGS VIEWS ****************CASE VWS_ITAB-ACCTS_VIEWS.WHEN 'X'.IF ITAB-SOBSL NE '50' AND ITAB-MTART NE 'ABF'.IF NOT ITAB-BKLAS IS INITIAL .MOVE XFLAG TO HEADDATA-ACCOUNT_VIEW. "Accounting DataMOVE XFLAG TO HEADDATA-COST_VIEW. "Costing DataPERFORM MAP_FICO_DATA .ENDIF .** assign plant data & ** assign update informationMOVE ITAB-WERKS TO PLANTDATA-PLANT .MOVE ITAB-WERKS TO PLANTDATAX-PLANT .ENDIF .ENDCASE .************ BATCH MANAGEMENT ****************CASE VWS_ITAB-BATCH_MANAGE.WHEN 'X'.MOVE ITAB-XCHPF TO CLIENTDATA-BATCH_MGMT . "Batch management requ irement indicatorMOVE XFLAG TO CLIENTDATAX-BATCH_MGMT . "Batch management requ irement indicatorENDCASE.CLEAR : RETURN.CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'EXPORTINGHEADDATA = HEADDATACLIENTDATA = CLIENTDATACLIENTDATAX = CLIENTDATAXPLANTDATA = PLANTDATAPLANTDATAX = PLANTDATAX FORECASTPARAMETERS = FORECASTPARAMETERS FORECASTPARAMETERSX = FORECASTPARAMETERSX PLANNINGDATA = PLANNINGDATA PLANNINGDATAX = PLANNINGDATAX STORAGELOCATIONDATA = STORAGELOCATIONDATA STORAGELOCATIONDATAX = STORAGELOCATIONDATAX VALUATIONDATA = VALUATIONDATA VALUATIONDATAX = VALUATIONDATAX WAREHOUSENUMBERDATA = WAREHOUSENUMBERDATA WAREHOUSENUMBERDATAX = WAREHOUSENUMBERDATAX SALESDATA = SALESDATASALESDATAX = SALESDATAX STORAGETYPEDATA = STORAGETYPEDATA STORAGETYPEDATAX = STORAGETYPEDATAXFLAG_ONLINE = SPACEFLAG_CAD_CALL = SPACENO_DEQUEUE = SPACENO_ROLLBACK_WORK = SPACEIMPORTINGRETURN = RETURNTABLESMATERIALDESCRIPTION = MATERIALDESCRIPTION UNITSOFMEASURE = UNITSOFMEASURE。
bapi_customerreturn_create return_text
bapi_customerreturn_create是一个SAP的BAPI(Business Application Programming Interface),用于创建客户退货。
在SAP的客户退货处理中,这通常涉及退回有缺陷或不需要的商品。
return_text参数用于提供有关退货原因的文本描述。
这可以是任何简短的描述或详细的原因,解释为什么客户要求退货。
这个文本描述可以帮助企业了解退货的原因,并可能用于后续的质量控制、审计或其他相关活动。
当你调用bapi_customerreturn_create BAPI 时,你通常会提供以下参数:
1.return_type: 退货类型(例如,损坏、不适用等)。
2.return_text: 退货原因的文本描述。
3.material: 要退回的物料(商品)编号。
4.return_locator: 仓库位置或容器,退货将被放置。
5.其他相关参数,如数量、日期等。
确保在调用此BAPI之前,你已经正确配置了退货的相关设置,并且你有适当的权限来执行退货操作。
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
订单BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单BAPISDORDER_GETDETAILEDLIST 销售订单明细BAPI_SALESORDER_GETLIST 销售订单列表BAPI_SALESORDER_CHANGE 修改销售订单交货单BAPI_OUTB_DELIVERY_READ_SLS 根据销售订单创建交货单,得到交货单创建初始页面所需的数据BAPI_OUTB_DELIVERY_GETDETAIL 根据交货单号读取单据的详细内容BAPI_OUTB_DELIVERY_CREATE_SLS 根据销售订单创建交货单BAPI_OUTB_DELIVERY_CHANGE 根据交货单号修改、删除单据的详细内容采购订单BAPI_PO_CREATEREF_PR 根据采购申请创建采购订单,得到采购订单创建初始页面所需的数据BAPI_READ_GOODS_RECEIPT 根据采购订单创建收货,得到货物接收初始页面所需的数据BAPI_PO_RELEASE 审批采购订单BAPI_PO_RESET_RELEASE 取消审批采购订单BAPI_PO_CHANGE 修改采购订单BAPI_PO_CREATE1 创建采购订单BAPI_PO_GETDETAIL1 采购订单明细BAPI_PO_GET_LIST 采购订单列表BAPI_PO_GETITEMS 采购订单明细列表报价单BAPI_QUOTATION_GETDETAILBOS 报价单明细BAPI_CUSTOMERQUOTATION_CHANGE 修改销售订单BAPI_QUOTATION_CREATEFROMDATA2 创建报价单功能描述事务码BAPI函数名称检验批修改建议批QA02 暂未找到查看检验批明细QA03 BAPI_INSPLOT_GETDETAIL检验结果记录检验点结果QE11 BAPI_INSPPOINT_CREATEFROMDATA修改检验点结果QE12 BAPI_INSPPOINT_CHANGE显示检验点结果明细QE13 BAPI_INSPPOINT_GETREQUIREMENTS缺陷检验记录缺陷QF01 QFFE_FAILURE_RECORDING修改缺陷QF02 暂未找到显示缺陷QF03 暂未找到使用决策记录使用决策QA11 BAPI_INSPLOT_SETUSAGEDECISION修改使用决策QA12 暂未找到显示使用决策QA13 暂未找到质量结果通知单创建质量通知单QM01 BAPI_QNOTIFICAT_CREATE修改质量通知单QM02 BAPI_QUALNOT_MODIFY_DATA显示质量通知单明细QM03 BAPI_QUALNOT_GETDETAIL检验批清单检验批清单列表QA32 BAPI_INSPLOT_GETLIST 选择检验批。