生成内部订单BAPI
来源:互联网 发布:手机淘宝店铺分享链接 编辑:程序博客网 时间:2024/05/22 16:59
事务码KO01
BAPI_INTERNALORDER_CREATE
但是这个BAPI的参数很少,需要增强extensionin参数。
1.增强BAPI结构BAPI_TE_AUFK
2.传入参数,直接上代码
*-BAPI DATA:l_subrc TYPE sy-subrc, l_aufnr TYPE bapi2075_2-order. DATA:ls_imaster_data TYPE bapi2075_7, ls_emasterdata TYPE bapi2075_2, ls_testrun TYPE testrun. DATA:it_return TYPE TABLE OF bapiret2, ls_return TYPE bapiret2, lt_extensionin TYPE TABLE OF bapiparex, ls_extensionin TYPE bapiparex.*-局部 DATA:lv_ext_ord_no TYPE aufex, lv_msg TYPE char255. DATA:ls_fidm016_ds TYPE zlesfidm016_ds, li_fidm016_ds TYPE TABLE OF zlesfidm016_ds. DATA:lv_ivpro_length TYPE dd03l-leng. "长度 FIELD-SYMBOLS:<lfs_out> TYPE ty_out.*-为了程序速度(先抽取ivpro长度) PERFORM frm_ivpro_length CHANGING lv_ivpro_length.*-取选中行数 LOOP AT gt_out ASSIGNING <lfs_out> WHERE sel = 'X' AND aufnr = ''. CLEAR:lv_ext_ord_no,lv_msg,ls_fidm016_ds. CLEAR:ls_imaster_data,ls_emasterdata,l_aufnr. CLEAR:ls_return,it_return,ls_extensionin,lt_extensionin.*---默认字段 ls_imaster_data-co_area = 'CGA'. "控制范围 ls_imaster_data-order_type = 'Z003'. "订单类型 ls_imaster_data-comp_code = 'B116'. "公司代码 ls_imaster_data-requ_comp_code = 'B116'. "成本代码申请*---传入字段 CONCATENATE <lfs_out>-asqbh <lfs_out>-pledge_name INTO ls_imaster_data-order_name SEPARATED BY '_'. "描述 CONDENSE ls_imaster_data-order_name. lv_ext_ord_no = <lfs_out>-asqbh. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = lv_ext_ord_no IMPORTING output = lv_ext_ord_no. ls_imaster_data-ext_ord_no = lv_ext_ord_no. "外部订单号* ls_imaster_data-COMP_CODE = ts_head-aufnr. "对象类*--增强字段赋值 PERFORM frm_extensionin_ivpro USING <lfs_out>-ivpro lv_ivpro_length CHANGING lt_extensionin. CALL FUNCTION 'BAPI_INTERNALORDER_CREATE' EXPORTING i_master_data = ls_imaster_data IMPORTING e_master_data = ls_emasterdata orderid = l_aufnr TABLES return = it_return extensionin = lt_extensionin. READ TABLE it_return INTO ls_return WITH KEY type = 'S' id = 'KO' number = '107'. IF sy-subrc = 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF.*&---------------------------------------------------------------------**& Form FRM_IVPRO_LENGTH*&---------------------------------------------------------------------** text*----------------------------------------------------------------------*FORM frm_ivpro_length CHANGING pc_ivpro_length TYPE dd03l-leng. DATA:l_position LIKE dd03l-position. "表格中区域的位置 DATA:lt_length TYPE TABLE OF ty_length, ls_length TYPE ty_length.*-找出在结构BAPI_TE_AUFK中字段IVPRO的位置 SELECT SINGLE position INTO l_position FROM dd03l WHERE tabname EQ 'BAPI_TE_AUFK' AND fieldname EQ 'IVPRO' AND as4local EQ 'A'. IF sy-subrc EQ 0. "计算在结构BAPI_TE_AUFK中字段ZZTYPE(订单细分类型)前面的字段长度总和 SELECT fieldname leng INTO CORRESPONDING FIELDS OF TABLE lt_length FROM dd03l WHERE tabname EQ 'BAPI_TE_AUFK' AND position LT l_position. LOOP AT lt_length INTO ls_length. pc_ivpro_length = pc_ivpro_length + ls_length-leng. ENDLOOP. ENDIF.ENDFORM.*&---------------------------------------------------------------------**& Form FRM_EXTENSIONIN_IVPRO*&---------------------------------------------------------------------** 增强字段(投资概况-IVPRO)*----------------------------------------------------------------------*FORM frm_extensionin_ivpro USING pu_ivpro TYPE im_profil pu_ivpro_length TYPE dd03l-leng CHANGING pc_extensionin TYPE ty_t_extensionin. DATA:lv_ivpro TYPE im_profil. "投资尺度参数文件 DATA:ls_extensionin TYPE bapiparex. lv_ivpro = pu_ivpro. "分配字段值到ivpro字段中 IF pu_ivpro_length <= 240. ls_extensionin-valuepart1+pu_ivpro_length(6) = lv_ivpro. ELSEIF pu_ivpro_length > 240 AND pu_ivpro_length <= 480. pu_ivpro_length = pu_ivpro_length - 240 - 1. ls_extensionin-valuepart2+pu_ivpro_length(6) = lv_ivpro. ELSEIF pu_ivpro_length > 480 AND pu_ivpro_length <= 720. pu_ivpro_length = pu_ivpro_length - 480 - 1. ls_extensionin-valuepart3+pu_ivpro_length(6) = lv_ivpro. ELSEIF pu_ivpro_length > 720 AND pu_ivpro_length <= 960. pu_ivpro_length = pu_ivpro_length - 720 - 1. ls_extensionin-valuepart4+pu_ivpro_length(6) = lv_ivpro. ENDIF. ls_extensionin-structure = 'BAPI_TE_AUFK'. APPEND ls_extensionin TO pc_extensionin. CLEAR:ls_extensionin.ENDFORM.
阅读全文
0 0
- 生成内部订单BAPI
- 订单确认bapi co15
- 创建生产订单bapi
- 内部订单
- 修改生产订单的BAPI!
- 采购订单审批BAPI ---BAPI_PO_RELEASE
- BAPI:BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单
- 采购订单审批BAPI ---BAPI_PO_RELEASE
- BAPI:BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单
- 创建和修改生产订单BAPI
- VL01N销售订单拣配bapi
- JAVA调用BAPI创建销售订单
- 调用BAPI审批/取消审批采购订单
- 采购订单审批BAPI ---BAPI_PO…
- VA02修改销售订单的BAPI举例
- 生产订单完工确认(CO11N) BAPI : BAPI_PRODORDCONF_CREATE_TT
- BAPI_SALESORDER_CREATEFROMDAT2 BAPI创建VA01 销售订单
- VL01N销售订单拣配bapi
- uft对各浏览器版本支持
- 插入排序和希尔排序
- linux:vi 替换命令
- Android之IntentService使用及源码分析
- mysql 连接url中useUnicode=true&characterEncoding=UTF-8 的作用
- 生成内部订单BAPI
- 嵌入式Linux系统设计--第一章:绪论
- postfix+mysql接收邮件+空壳服务器
- 编程第七十天
- 算法导论程序39--最优二叉搜索树(Python)
- ImageLoader异步加载图片
- sublime常用快捷键
- Pthreads多线程编程(3)
- ios开源项目