苹果网页视频下载上海百度推广优化
接到一个需求,是要弄一个批量创建BOM的接口,当然我不会写,是由之前自开发的程序改的。
关键函数:
CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN'
具体用法是这样的:
然后我是创建了两个结构,因为程序是通过excel还有屏幕导入数据,所以我把这两个地方的变量放一起创建了个结构,另一个结构则是和程序一样存放最后显示的数据
其他的代码就是照着程序copy了,我也不懂hh
然后遇到了这么个错误
说是格式对不上
进去查看函数的参数发现Materal的参数类型是这个
然后我的lv_matnr定义的类型是这个
把他修改一下就好了
代码:
INCLUDE zpub_alv_func.
INCLUDE <icon>.
FUNCTION ZRFC_PP_015.
*"----------------------------------------------------------------------
*"*"Local interface:
*" TABLES
*" IT_EXCEL STRUCTURE ZST_BOM
*" ITAB STRUCTURE ZPPT001
*"----------------------------------------------------------------------TABLES: sscrfields,rlgrap .
DATA: functxt TYPE smp_dyntxt.TABLES : mara,marc,mast,stko,stpo.DATA: wa_itab LIKE itab.
DATA: itab_err LIKE itab OCCURS 0 WITH HEADER LINE.
DATA: itab_up LIKE itab OCCURS 0 WITH HEADER LINE.
DATA: itab1 LIKE itab OCCURS 0 WITH HEADER LINE.
DATA: itab_temp LIKE itab OCCURS 0 WITH HEADER LINE.DATA: i_stko LIKE stko_api01 .
"DATA: i_stko LIKE stko_api01 OCCURS 0 WITH HEADER LINE.
DATA: t_stpo LIKE stpo_api03 OCCURS 0 WITH HEADER LINE .
DATA: it_stpo LIKE stpo_api02 OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF it_longtext OCCURS 0,matnr TYPE mast-matnr, "物料号werks TYPE mast-werks, "工厂stlan TYPE mast-stlan, "BOM 用途stlnr TYPE mast-stlnr, "物料单stlal TYPE mast-stlal, "可选的 BOMposnr TYPE num4,"BOM itemidnrk TYPE stpox-idnrk,"BOM 组件 物料item_text1 LIKE stpo_api03-item_text1, "item_text2 LIKE stpo_api03-item_text2, "item_longtext1(1000) TYPE c, "行1长文本END OF it_longtext.DATA: it_longtext1 LIKE it_longtext OCCURS 0 WITH HEADER LINE.DATA: exceltab LIKE zalsmex_tabline OCCURS 0 WITH HEADER LINE.DATA: lv_i TYPE i.*&---------------------------------------------------------------------*
*& Form fill_check
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*DATA: lv_fldname(40) TYPE c.DATA: lv_len TYPE i. "物料描述长度DATA: lv_matnr LIKE csap_mbom-matnr."父物料号DATA: lv_compmatnr LIKE mara-matnr."父物料号DATA: lv_meins LIKE mara-meins .DATA: lv_alpgr LIKE stpo-alpgr. "替代组号DATA: lv_posnr TYPE i.CLEAR: lv_fldname,lv_matnr,lv_compmatnr,lv_meins,lv_alpgr.lv_len = 0.lv_i = 0.lv_posnr = 0. "计算组件项目号之用LOOP AT it_excel.lv_i = lv_i + 1.***** 上传的数量带逗号, 处理CLEAR: lv_fldname.lv_fldname = it_excel-bmeng.REPLACE ',' WITH ' ' INTO lv_fldname.REPLACE ',' WITH ' ' INTO lv_fldname.CONDENSE lv_fldname NO-GAPS.it_excel-bmeng = lv_fldname.CLEAR: lv_fldname.lv_fldname = it_excel-menge.REPLACE ',' WITH ' ' INTO lv_fldname.REPLACE ',' WITH ' ' INTO lv_fldname.CONDENSE lv_fldname NO-GAPS.it_excel-menge = lv_fldname.itab_up-zitem = lv_i.
* itab_up-datfr = p_datfr. "BOM有效起始日期 20160101.itab_up-datfr = it_excel-datfr. "BOM有效起始日期itab_up-matnr = it_excel-matnr. "父项物料号itab_up-werks = it_excel-werks. "工厂itab_up-base_quan = it_excel-bmeng. "基本数量itab_up-component = it_excel-idnrk. "子项组件物料号itab_up-comp_qty = it_excel-menge. "组件数量itab_up-comp_unit = it_excel-meins. "组件物料单位itab_up-comp_scrap = it_excel-ausch. "报废率%itab_up-spproctype = it_excel-itsob. "特殊采购类itab_up-item_no = it_excel-posnr. "组件项目号itab_up-ai_group = it_excel-alpgr. "替代组itab_up-ai_prio = it_excel-alprf. "替代优先级itab_up-ai_strateg = it_excel-alpst. "替代策略itab_up-usage_prob = it_excel-ewahr. "替代使用百分比%itab_up-item_text1 = it_excel-potx1. "1长文本(位置)itab_up-item_text2 = it_excel-potx2. "1长文本(位置)itab_up-item_longtext1 = it_excel-potx1. "行1长文本itab_up-item_longtext2 = it_excel-potx2. "行2长文本"itab_up-REL_COST = 'X'. "成本核算标识IF itab_up-base_quan EQ space OR itab_up-base_quan = 0. "抬头基本数量itab_up-base_quan = '1000'.ENDIF.*****自动给组件项目号赋值IF lv_matnr = itab_up-matnr.IF ( lv_alpgr = itab_up-ai_group AND lv_alpgr EQ space ) "替代组号OR ( lv_alpgr NE itab_up-ai_group ).lv_posnr = lv_posnr + 10.ENDIF.itab_up-item_no = lv_posnr.lv_alpgr = itab_up-ai_group. "替代组号ELSE.lv_posnr = 10.lv_matnr = itab_up-matnr. "组件物料号lv_alpgr = itab_up-ai_group. "替代组号itab_up-item_no = lv_posnr.ENDIF.***** 组件项目号前补0.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = itab_up-item_noIMPORTINGoutput = itab_up-item_no.******* 替代组号前补0.
** CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
** EXPORTING
** input = itab_up-ai_group
** IMPORTING
** output = itab_up-ai_group.***** check dataSELECT SINGLE matnr INTO lv_matnrFROM mastWHERE matnr = itab_up-matnrAND werks = itab_up-werksAND stlan = IT_EXCEL-stlan "BOM用途AND stlal = IT_EXCEL-stlal. "可选BOM.IF sy-subrc = 0 .itab_up-mesid = 'E' ."itab_up-msg_err = '此父料BOM已存在!' .itab_up-zmk_exist = 'X'. "代表 '此父料BOM已存在!' . V1.1.itab_up-icon = icon_red_light.APPEND itab_up.CLEAR: itab_up.CONTINUE.ELSE.DATA: zstlan LIKE mast-stlan,zstlal LIKE mast-stlal.CLEAR: zstlan, zstlal.SELECT SINGLE matnr stlan stlal INTO (lv_matnr, zstlan, zstlal)FROM mastWHERE matnr = itab_up-matnrAND werks = itab_up-werks.IF sy-subrc = 0.CONCATENATE zstlan '/' zstlal INTO itab_up-zmk_eoth. "存在其他可选BOM。itab_up-icon = icon_yellow_light.itab_up-zmk_exist = 'X'. "代表 '此父料BOM已存在!' ,因为BAPI锁定不能上传多个可选BOM的。ENDIF.ENDIF .SELECT SINGLE mara~matnr INTO lv_fldnameFROM mara JOIN marc ON marc~matnr = mara~matnrWHERE mara~matnr = itab_up-matnrAND marc~werks = itab_up-werks.IF sy-subrc NE 0 .itab_up-mesid = 'E' .itab_up-msg_err = '父物料号不存在!' .itab_up-icon = icon_red_light.ENDIF .*********** SELECT MARA .
**** 组件物料 和单位CLEAR: mara .CLEAR: lv_meins .SELECT SINGLE mara~matnr INTO lv_fldname FROM mara JOIN marc ON marc~matnr = mara~matnrWHERE mara~matnr = itab_up-componentAND marc~werks = itab_up-werks..IF sy-subrc NE 0 .itab_up-mesid = 'E' .CONCATENATE itab_up-msg_err '/子项组件物料号不存在!' INTO itab_up-msg_err.""itab_up-msg_err = '子料不存在!' .itab_up-icon = icon_red_light.ELSE.ENDIF.********* 特殊采购类SELECT SINGLE sobsl INTO itab_up-spproctypeFROM marcWHERE matnr = itab_up-componentAND werks = itab_up-werks.***** '组件数量不能为空'IF itab_up-comp_qty EQ space." OR itab_up-comp_qty = 0.itab_up-mesid = 'E' .CONCATENATE itab_up-msg_err '组件数量不能为空' INTO itab_up-msg_err.itab_up-icon = icon_red_light.ENDIF.*begin by ZengTao 2008-08-30 判断组件用量comp_qty的小数位数最大不超过3位小数DATA: lv_xs TYPE p DECIMALS 10.lv_xs = FRAC( itab_up-comp_qty * 1000 ).IF lv_xs <> 0.itab_up-mesid = 'E' .CONCATENATE itab_up-msg_err '组件用量的小数位数超过3位小数!' INTO itab_up-msg_err.itab_up-icon = icon_red_light.ENDIF.********** "--->加入判断成本标志 ***********************CLEAR:lv_fldname.SELECT SINGLE ncost INTO lv_fldnameFROM marcWHERE matnr = itab_up-componentAND werks = itab_up-werks.IF sy-subrc = 0. "取物料主数据中无成本核算 值是否为空。IF lv_fldname EQ space.itab_up-rel_cost = 'X' .ELSE.itab_up-rel_cost = ''.ENDIF.ELSE.itab_up-rel_cost = 'X' .ENDIF.APPEND itab_up.CLEAR: itab_up.ENDLOOP.***********************REFRESH: itab_err.CLEAR: itab_err.itab_err[] = itab_up[].DELETE itab_err WHERE msg_err EQ space.******* BEGIN IF有错误信息时IF itab_err[] IS NOT INITIAL.itab[] = itab_up[].DELETE itab WHERE matnr EQ space.MESSAGE '上传文件有误,可查看显示列表中的<错误信息>一列' TYPE 'I'.ELSE. "数据LOOP AT itab_up.MOVE-CORRESPONDING itab_up TO itab.APPEND itab.CLEAR: itab.ENDLOOP.ENDIF.DATA: lv_mat_i TYPE i,lv_mat_itxt(10) TYPE c.REFRESH: itab_temp.CLEAR: itab_temp.itab_temp[] = itab_up[].lv_mat_i = 0.LOOP AT itab_up INTO wa_itab.lv_mat_i = 0.CLEAR: lv_mat_itxt.LOOP AT itab_temp WHERE matnr = wa_itab-matnr AND component = wa_itab-component.lv_mat_i = lv_mat_i + 1.ENDLOOP.IF lv_mat_i > 1.lv_mat_itxt = lv_mat_i.CONDENSE lv_mat_itxt NO-GAPS.wa_itab-mesid = 'I' .CONCATENATE wa_itab-zmsg_same '同一父料的组件料号存在相同个数为:' lv_mat_itxt INTO wa_itab-zmsg_same.IF wa_itab-icon NE icon_red_light.wa_itab-icon = icon_yellow_light.ENDIF.MODIFY itab_up FROM wa_itab.ENDIF.ENDLOOP.DATA:lv_werks LIKE csap_mbom-werks,"PLANTlv_base_quan(17) TYPE c, "base_quanlv_date LIKE csap_mbom-datuv ,"matnr_QUANlv_bom_usage LIKE csap_mbom-stlan," VALUE '1'."BOM_USAGElv_alternative LIKE csap_mbom-stlal. "可选BOMDATA: lv_fl_warning LIKE capiflag-flwarning .DATA: o_stko LIKE stko_api02 .DATA: lv_datfm LIKE usr01-datfm .REFRESH: itab_err.CLEAR: itab_err.REFRESH: it_longtext.CLEAR: it_longtext.CLEAR: lv_date .CLEAR: lv_datfm .""lv_date = p_datfr. "BOM有效起始日期 '20160101' .WRITE IT_EXCEL-datfr TO lv_date.DELETE: itab WHERE matnr = space .LOOP AT itab INTO wa_itab WHERE zmk_exist EQ space AND msg_err EQ space. "V1.1. WHERE zmk_exist EQ space
***---> headerlv_matnr = wa_itab-matnr .**** lv_werks = wa_itab-werks .lv_werks = IT_EXCEL-werks. "BOM工厂默认值为选择屏幕上的工厂lv_base_quan = wa_itab-base_quan."i_stko-bom_status = p_stlal. "'01'.i_stko-base_quan = wa_itab-base_quan .PERFORM tra_unit USING 'T006A' CHANGING lv_meins itab-comp_unit."wa_itab-comp_unit = 'K'.
***---> itemt_stpo-item_categ = 'L' .t_stpo-component = wa_itab-component .t_stpo-comp_qty = wa_itab-comp_qty .t_stpo-comp_unit = wa_itab-comp_unit .t_stpo-comp_scrap = wa_itab-comp_scrap ."""t_stpo-spproctype = wa_itab-spproctype . "特殊采购类 "DELETE 因为有时以下CALL FUNCTION 会不成功,去掉后就成功了t_stpo-item_no = wa_itab-item_no .t_stpo-ai_group = wa_itab-ai_group .t_stpo-ai_prio = wa_itab-ai_prio .t_stpo-ai_strateg = wa_itab-ai_strateg .t_stpo-usage_prob = wa_itab-usage_prob .**** "t_stpo-item_text1 = wa_itab-item_text1 . "长文本1t_stpo-item_text2 = wa_itab-item_text2 . "文本2t_stpo-rel_cost = wa_itab-rel_cost . "成本核算标识******************* BOM 长文本维护lv_len = 0.lv_len = STRLEN( wa_itab-item_longtext1 ).IF lv_len > 40.it_longtext-matnr = wa_itab-matnr.it_longtext-werks = wa_itab-werks.it_longtext-stlan = IT_EXCEL-stlan. "'1'. "BOM用途it_longtext-posnr = wa_itab-item_no. "行项目号it_longtext-idnrk = wa_itab-component.it_longtext-item_text1 = wa_itab-item_text1 .it_longtext-item_longtext1 = wa_itab-item_longtext1.******* DELETE 长文本前40位显示在行1,其他显示在第三行开始的长文本中
** " t_stpo-item_text1 = wa_itab-item_longtext1(40). "前40位
** "lv_len = lv_len - 40.
** "it_longtext-item_longtext1 = wa_itab-item_longtext1+40(lv_len). "长文本APPEND it_longtext.CLEAR: it_longtext.ELSE.t_stpo-item_text1 = wa_itab-item_text1 . "长文本1ENDIF.***** "----增加前导0CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = t_stpo-item_noIMPORTINGoutput = t_stpo-item_no.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = t_stpo-ai_groupIMPORTINGoutput = t_stpo-ai_group. "替代组CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTINGinput = t_stpo-ai_prioIMPORTINGoutput = t_stpo-ai_prio. "替组优先级APPEND t_stpo.CLEAR: t_stpo .*************************************************AT END OF matnr .IF lv_base_quan EQ space.lv_base_quan = '1000'.ENDIF.** "i_stko-bom_status = p_stlal. "'01'. "可选BOM.
** i_stko-base_quan = lv_base_quan .
** "APPEND i_stko.**** append i_stko . clear i_stko .lv_bom_usage = IT_EXCEL-stlan. "'1'. "BOM用途lv_alternative = IT_EXCEL-stlal. "'01'. "可选BOM.CALL FUNCTION 'CSAP_MAT_BOM_MAINTAIN'EXPORTINGmaterial = lv_matnrplant = lv_werksbom_usage = lv_bom_usage "= 1 "BOM用途alternative = lv_alternative "'01'. "可选BOMvalid_from = lv_datei_stko = i_stkofl_bom_create = 'X' "会提示组件物料不存在的错误信息了
*** alternative = ' '
* FL_NEW_ITEM = 'X'IMPORTINGfl_warning = lv_fl_warningo_stko = o_stkoTABLESt_stpo = t_stpoEXCEPTIONSerror = 1OTHERS = 2.IF sy-subrc <> 0." AND sy-msgty NE 'W'. "AND sy-msgty ne 'W and sy-msgid = 29 and sy-msgno = 486.itab_err-mesid = 'E' .itab_err-matnr = lv_matnr .itab_err-werks = lv_werks .itab_err-icon = icon_red_light.CONCATENATE 'BOM 创建失败!' sy-msgid sy-msgno sy-msgv1 sy-msgv2 INTO itab_err-msg_err.APPEND itab_err .CLEAR: itab_err .MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgnoWITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.ELSE.""lv_fl_warning = 'X'.***** "----修改BOM项目中的[成本核算标志]"PERFORM bom_edit USING lv_matnr lv_werks lv_date lv_bom_usage CHANGING lv_fl_warning.
* PERFORM clear_table .ENDIF.IF lv_fl_warning = 'X' .itab_err-mesid = 'S' .itab_err-matnr = lv_matnr .itab_err-werks = lv_werks .itab_err-icon = icon_green_light.itab_err-msg_err = 'BOM创建成功!' .APPEND itab_err .CLEAR: itab_err .ENDIF .ENDAT.ENDLOOP.********************************************** PERFORM import_long_text. "维护超过40 字符的文本,维护为长之本LOOP AT itab INTO wa_itab WHERE zmk_exist EQ space. "V1.1. WHERE zmk_exist EQ space.CLEAR: itab_err.READ TABLE itab_err WITH KEY matnr = wa_itab-matnrwerks = wa_itab-werksmesid = 'S' .IF sy-subrc = 0.wa_itab-icon = icon_green_light. "绿灯-保存成功wa_itab-msg_err = 'BOM创建成功!'.ELSE.wa_itab-icon = icon_red_light. "红灯-保存失败wa_itab-msg_err = 'BOM创建失败!'.ENDIF.****** 长文本维护错误信息LOOP AT itab_err WHERE matnr = wa_itab-matnr AND werks = wa_itab-werks AND item_no = wa_itab-item_no AND component = wa_itab-component AND msg_err_text NE space.wa_itab-msg_err_text = itab_err-msg_err_text.wa_itab-icon = icon_red_light. "红灯-长文本保存失败ENDLOOP.MODIFY itab FROM wa_itab.CLEAR: wa_itab.ENDLOOP.REFRESH: t_stpo .CLEAR: t_stpo .CLEAR: i_stko .*&---------------------------------------------------------------------*
*& Form import_long_text
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*DATA: txt_key TYPE thead-tdname,tdline(1000) TYPE c,zlang TYPE sy-langu,valid_from LIKE csap_mbom-datuv.DATA: wa_stpo TYPE stpo." DATA:lt_stpo2 TYPE ty_tab_stpo2 WITH HEADER LINE.CHECK it_longtext[] IS NOT INITIAL.REFRESH: it_longtext1.CLEAR: it_longtext1.it_longtext1[] = it_longtext[].SORT it_longtext1 BY matnr werks.DELETE ADJACENT DUPLICATES FROM it_longtext1 COMPARING matnr werks. "删除重复数据***********************************************LOOP AT it_longtext1.CLEAR: mast.SELECT SINGLE * FROM mastWHERE matnr = it_longtext1-matnrAND werks = it_longtext1-werksAND stlan = it_longtext1-stlan. "BOM用途IF sy-subrc = 0. "if select mastLOOP AT it_longtext WHERE matnr = it_longtext1-matnr AND werks = it_longtext1-werks AND stlan = it_longtext1-stlan.SELECT SINGLE * FROM stpo WHERE stlnr = mast-stlnrAND idnrk = it_longtext-idnrkAND posnr = it_longtext-posnr."and guidx = gt_bm01-item_guid.IF sy-subrc = 0. "if selete stpo.CLEAR: tdline.CONCATENATE sy-mandt stpo-stlty stpo-stlnr stpo-stlkn stpo-stpoz INTO txt_key.lv_len = STRLEN( it_longtext-item_longtext1 ).tdline = it_longtext-item_longtext1. "长文本lv_len = STRLEN( tdline ).
* PERFORM set_text USING txt_key tdline.IF sy-subrc EQ 0.IF STRLEN( it_longtext-item_longtext1 ) > 0.zlang = sy-langu.ELSE.zlang = ''.ENDIF.UPDATE stpo SET ltxsp = zlang WHERE stlty = stpo-stlty ANDstlnr = stpo-stlnr ANDstlkn = stpo-stlkn ANDstpoz = stpo-stpoz.ELSE.itab_err-mesid = 'E' .itab_err-matnr = it_longtext-matnr .itab_err-werks = it_longtext-werks .itab_err-item_no = it_longtext-posnr.itab_err-component = it_longtext-idnrk.itab_err-icon = icon_red_light.itab_err-msg_err_text = '长文本维护不成功'.APPEND itab_err .CLEAR: itab_err .ENDIF.ENDIF."endif selete stpo.ENDLOOP.ELSE. "esleif select mast.LOOP AT it_longtext WHERE matnr = it_longtext1-matnr AND werks = it_longtext1-werks AND stlan = it_longtext1-stlan.itab_err-mesid = 'E' .itab_err-matnr = it_longtext-matnr .itab_err-werks = it_longtext-werks .itab_err-item_no = it_longtext-posnr.itab_err-component = it_longtext-idnrk.itab_err-icon = icon_red_light.itab_err-msg_err_text = '长文本维护不成功'.APPEND itab_err .CLEAR: itab_err .ENDLOOP.ENDIF. "endif select mastENDLOOP.ENDFUNCTION.FORM tra_unit USING pname CHANGING p_meins pmeins .SELECT SINGLE mseh3 INTO p_meins FROM (pname)WHERE spras = sy-languAND mseh3 = pmeins.IF sy-subrc NE 0.SELECT SINGLE mseh3 INTO p_meins FROM (pname)WHERE spras = sy-languAND msehi = pmeins.ENDIF.CHECK sy-subrc = 0.pmeins = p_meins.ENDFORM. "tra_unitFORM tra_unit_2 USING pname CHANGING p_meins pmeins .SELECT SINGLE mseh3 INTO p_meins FROM (pname)WHERE spras = sy-languAND mseh3 = pmeins.IF sy-subrc NE 0.SELECT SINGLE mseh3 INTO p_meins FROM (pname)WHERE spras = sy-languAND msehi = pmeins.ENDIF.CHECK sy-subrc = 0.pmeins = p_meins.ENDFORM. "tra_unit_2FORM set_text USING tdname TYPE thead-tdname tdline. "维护超过40 字符的文本,维护为长之本DATA: gs_header TYPE thead .DATA: lw_ltxt TYPE tline .DATA:l_mess TYPE string,l_len TYPE i,l_str TYPE char40.DATA: BEGIN OF gt_ltxts OCCURS 10. "Zeilen LangtextINCLUDE STRUCTURE tline.DATA: END OF gt_ltxts.CLEAR gt_ltxts[].CLEAR lw_ltxt.l_len = STRLEN( tdline ).IF STRLEN( tdline ) > 40. "长文本全部数据,全部维护在长文本中,并且由第三行开始维护。gt_ltxts-tdformat = '*' .APPEND gt_ltxts.APPEND gt_ltxts.ENDIF."l_len = STRLEN( tdline ) / 40.DO.lw_ltxt-tdformat = '*' .l_str = tdline.lw_ltxt-tdline = l_str.IF lw_ltxt-tdline = ''.EXIT.ELSE.APPEND lw_ltxt TO gt_ltxts .ENDIF.SHIFT tdline BY 40 PLACES.ENDDO.
* lw_ltxt-tdformat = '*' .
* APPEND lw_ltxt TO gt_ltxts .CLEAR gs_header .gs_header-tdobject = 'BOM' .gs_header-tdid = 'MPO'.gs_header-tdspras = sy-langu.gs_header-tdname = tdname.CONDENSE gs_header-tdname.gs_header-tdform = 'SYSTEM'.gs_header-mandt = sy-mandt.gs_header-tdlinesize = 45.gs_header-tdtxtlines = 12.CALL FUNCTION 'SAVE_TEXT'EXPORTINGclient = sy-mandtheader = gs_header
* IMPORTING
* newheader = gs_header
* insert = 'U'savemode_direct = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =TABLESlines = gt_ltxtsEXCEPTIONSid = 1language = 2name = 3object = 4OTHERS = 5.ENDFORM. "set_text
测试的话我是cs02删掉了一个BOM再创建来测试的
然后运行接口后,BOM就这么水灵灵地创建了