ABAP函数
慢慢更新吧~~~~
具体的参数,需要自己SE37查看
SD
修改销售订单
1 2 3 4 5 6 7 8
| CALL FUNCTION 'BAPI_SALESORDER_CHANGE' EXPORTING salesdocument = pv_vbeln order_header_inx = ls_order_header_in TABLES return = lt_return order_item_in = lt_order_item_in order_item_inx = lt_order_item_inx.
|
PP
获取生产订单详细
1 2 3 4 5 6 7 8
| CALL FUNCTION 'BAPI_PRODORD_GET_DETAIL' EXPORTING number = ls_mes_prodord_head-aufnr order_objects = ls_order_objects IMPORTING return = ls_return TABLES operation = lt_operation
|
生产订单打上删除标识
1 2 3 4
| CALL FUNCTION 'BAPI_PRODORD_SET_DELETION_FLAG' TABLES orders = lt_orders detail_return = lt_detail_return.
|
生产订单报工取消
1 2 3 4 5 6
| CALL FUNCTION 'BAPI_PRODORDCONF_CANCEL' EXPORTING confirmation = wa_rueck-rueck confirmationcounter = wa_rueck-rmzhl IMPORTING return = ls_return.
|
创建计划订单
1 2 3 4 5 6
| CALL FUNCTION 'BAPI_PLANNEDORDER_CREATE' EXPORTING headerdata = ps_headerdata IMPORTING return = ls_return plannedorder = pv_plannedorder.
|
修改计划订单
1 2 3 4 5 6 7
| CALL FUNCTION 'BAPI_PLANNEDORDER_CHANGE' EXPORTING plannedorder = pv_plannedorder headerdata = ps_headerdata headerdatax = ps_headerdatax IMPORTING return = ls_return.
|
删除计划订单
1 2 3 4 5
| CALL FUNCTION 'BAPI_PLANNEDORDER_DELETE' EXPORTING plannedorder = pv_plannedorder IMPORTING return = ls_return.
|
创建生产订单
1 2 3 4 5 6
| CALL FUNCTION 'BAPI_PRODORD_CREATE' EXPORTING orderdata = ls_orderdata IMPORTING return = ls_return order_number = lv_order_number.
|
读取生产订单抬头文本
1 2 3 4 5 6 7
| CALL FUNCTION 'CO_DB_HEADER_READ' EXPORTING aufnr = lv_aufnr3 IMPORTING caufvwa = ls_caufv EXCEPTIONS not_found = 1.
|
修改预留
1 2 3 4 5 6 7 8
| CALL FUNCTION 'MB_CHANGE_RESERVATION' EXPORTING change_resb = 'X' change_rkpf = '' new_resb = 'X' TABLES xresb = lt_xresb xresbn = lt_xresbn.
|
获取生产订单状态
读取生产订单状态文本
反查BOM数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| CALL FUNCTION 'CS_WHERE_USED_MAT' EXPORTING datub = sy-datum datuv = sy-datum matnr = pv_matnr * POSTP = ' ' * RETCODE_ONLY = ' ' * STLAN = ' ' werks = pv_werks * MCLMT = ' ' * MNSTL = ' ' * MXSTL = ' ' * STLTP = ' ' * NEWSI = ' ' * IMPORTING * TOPMAT = TABLES wultb = pt_wultb * equicat = lt_equicat * kndcat = lt_kndcat * matcat = lt_matcat * stdcat = lt_stdcat * tplcat = lt_tplcat * prjcat = lt_prjcat EXCEPTIONS call_invalid = 1 material_not_found = 2 no_where_used_rec_found = 3 no_where_used_rec_selected = 4 no_where_used_rec_valid = 5 OTHERS = 6. IF sy-subrc <> 0. ENDIF.
|
读取BOM - 单级
读取BOM - 多级
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| CALL FUNCTION 'CS_BOM_EXPL_MAT_V2' EXPORTING capid = 'PP01' datuv = sy-datum mehrs = '' mtnrv = ps_dmes_mast-matnr stlal = '01' stlan = '1' werks = ps_dmes_mast-werks TABLES stb = lt_stb EXCEPTIONS alt_not_found = 1 call_invalid = 2 material_not_found = 3 missing_authorization = 4 no_bom_found = 5 no_plant_data = 6 no_suitable_bom_found = 7 conversion_error = 8 OTHERS = 9. IF sy-subrc <> 0. pv_msg = 'BOM展开失败'. EXIT. ENDIF.
|
MM
物料移动
1 2 3 4 5 6 7 8 9
| CALL FUNCTION 'BAPI_GOODSMVT_CREATE' EXPORTING goodsmvt_header = ls_goodsmvt_header goodsmvt_code = '04' IMPORTING goodsmvt_headret = ls_goodsmvt_headret TABLES goodsmvt_item = lt_goodsmvt_item return = lt_return.
|
修改采购申请
1 2 3 4 5 6 7
| CALL FUNCTION 'BAPI_PR_CHANGE' EXPORTING number = pv_banfn TABLES return = lt_return pritem = lt_pritem pritemx = lt_pritemx.
|
发票校验
1 2 3 4 5 6 7 8 9 10 11
| call function 'BAPI_INCOMINGINVOICE_PARK' exporting headerdata = ls_headerdata addressdata = ls_addressdata importing invoicedocnumber = cv_belnr fiscalyear = cv_gjahr tables itemdata = lt_itemdata[] taxdata = lt_taxdata[] return = lt_return[].
|
物料单位数量转换
1 2 3 4 5 6 7 8 9 10 11 12
| CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT' EXPORTING i_matnr = pv_matnr i_in_me = pv_meins i_out_me = pv_erfme i_menge = pv_bdmng IMPORTING e_menge = pv_erfmg EXCEPTIONS error_in_application = 1 error = 2 OTHERS = 3.
|
时间相关
获取当月最后一天
1 2 3 4 5 6 7 8
| CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS' EXPORTING DAY_IN = LV_DATE IMPORTING LAST_DAY_OF_MONTH = LV_DATE EXCEPTIONS DAY_IN_NO_DATE = 1 OTHERS = 2.
|
还有个方法,使用SAP链式语法 注意:
的用法
1 2 3 4 5 6 7 8 9 10
| DATA L_DATE TYPE SY-DATUM.
SY-DATUM = '20190220'.
L_DATE =: |{ SY-DATUM(6) }01|, L_DATE + 31, |{ L_DATE(6) }01|, L_DATE - 1.
WRITE: L_DATE.
|
根据周数 获取某周的第一天
1 2 3 4 5 6 7
| DATA: LV_DATE LIKE SCAL-DATE.
CALL FUNCTION 'WEEK_GET_FIRST_DAY' EXPORTING WEEK = '202013' "表示2020年的第13周 IMPORTING DATE = LV_DATE.
|
获取月份相关的描述
1 2 3 4 5 6 7 8 9 10
| DATA: MONTH_NAMES LIKE T247 OCCURS 0.
CALL FUNCTION 'MONTH_NAMES_GET' EXPORTING LANGUAGE = SY-LANGU TABLES MONTH_NAMES = MONTH_NAMES EXCEPTIONS MONTH_NAMES_NOT_FOUND = 1 OTHERS = 2.
|
检查日期的有效性
1 2 3 4 5 6
| CALL FUNCTION 'DATE_CHECK_PLAUSIBILITY' EXPORTING date = <fs_qcscdd>-gltrp EXCEPTIONS plausibility_check_failed = 1 OTHERS = 2.
|
内外码转换
添加前置0
1 2 3 4 5
| CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INTPUT' EXPORTING input = <fs_wxjh005>-plnum IMPORTING output = <fs_wxjh005>-plnum.
|
或者
-plnum = |{ -plnum alpha = in }|.
去除前置0
1 2 3 4 5
| CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = <fs_wxjh005>-plnum IMPORTING output = <fs_wxjh005>-plnum.
|
或者
-plnum = |{ -plnum alpha = out }|.
物料号转内码
1 2 3 4 5 6 7 8
| CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' EXPORTING input = <fs_qcscdd>-matnr IMPORTING output = lv_matnr EXCEPTIONS length_error = 1 OTHERS = 2.
|
或者
lv_matnr = |{ -matnr alpha = in width = 18 }|.
物料号转外码
1 2 3 4 5 6 7 8
| CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = <fs_qcscdd>-matnr IMPORTING output = lv_matnr EXCEPTIONS length_error = 1 OTHERS = 2.
|
或者
lv_matnr = |{ -matnr alpha = out }|.
外部单位转内部单位
1 2 3 4 5 6 7 8 9
| CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' EXPORTING input = <fs_qcscdd>-gmein language = sy-langu IMPORTING output = lv_meins EXCEPTIONS unit_not_found = 1 OTHERS = 2.
|
内部单位转外部单位
1 2 3 4 5
| CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = ls_dmes_planord-meins IMPORTING output = ls_dmes_planord-meins.
|
其他
创建消息文本
1 2 3 4 5 6 7 8 9 10
| CALL FUNCTION 'MESSAGE_TEXT_BUILD' EXPORTING msgid = ls_return-id msgnr = ls_return-number msgv1 = ls_return-message_v1 msgv2 = ls_return-message_v2 msgv3 = ls_return-message_v3 msgv4 = ls_return-message_v4 IMPORTING message_text_output = lv_msg.
|
通过工厂代码获取公司代码
1 2 3 4 5 6 7 8 9 10 11 12
| DATA: lv_werks TYPE werks_d, lv_bukrs TYPE bukrs.
call function 'HRCA_PLANT_GET_COMPANYCODE' exporting plant = lv_werks importing companycode = lv_bukrs exceptions no_company_code_found = 1 plant_not_found = 2 others = 3.
|
弹框提示信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| DATA: p_text TYPE string, l_title TYPE string. DATA: l_answer(1) type c. call function 'POPUP_TO_CONFIRM_STEP' exporting defaultoption = 'Y' "定位光标以应答“是”或“否” textline1 = p_text titel = l_title cancel_display = ' ' importing answer = l_answer exceptions others = 0.
"确认 l_answer = J
|
左下角信息提示
1 2 3
| CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING text = '正在检查数据......'.
|
获取随机lv_num长度的字符串
1 2 3 4 5
| CALL FUNCTION 'GENERAL_GET_RANDOM_PWD' EXPORTING number_chars = lv_num IMPORTING random_pwd = lv_pwd.
|