疫情还在往不好控制全国扩散的方向发展。
这年头,不落井下石已经不错了。做好自己吧。学习SAP的精髓。多多分享。分享使我快乐。
审核虽然多次失败了。但是不要为了赚钱为目的更新博客文章。让自己更充实,更充裕即可~
今天,我们学习如何创建生产订单,创建订单长文本,订单下达。
属于PP模块,前台事务代码TCODE为CO01.
BAPI函数名字:BAPI_PRODORD_CREATE
详细的参数如下:
参数名称 | 关联类型 | 缺省值 | 可选的 | 值传递 | 说明 |
ORDERDATA | BAPI_PP_ORDER_CREATE | 否 | 是 | Transfer Structure for Creating Production Orders
BAPI_PP_ORDER_CREATE:用于创建生产订单的传输结构 (关联表见下文) |
|
FSH_PRODORD_SEASON | FSH_S_BAPI_PRODORD_SEASON | 是 | 是 | 生产订单中的季节确定
FSH_S_BAPI_PRODORD_SEASON:Structure of Seasons for Production order BAPI (关联表见下文) |
字段 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
ORDER_NUMBER | AUFNR | CHAR | 12 | 0 | 订单号 |
MATERIAL | CO_MATNR18 | CHAR | 18 | 0 | 订单的物料编号 |
PLANT | WERKS_D | CHAR | 4 | 0 | 工厂 |
PLANNING_PLANT | CO_PWERK | CHAR | 4 | 0 | 订单的计划工厂 |
ORDER_TYPE | AUFART | CHAR | 4 | 0 | 订单类型 |
BASIC_START_DATE | CO_GSTRP | DATS | 8 | 0 | 基本开始日期 |
BASIC_START_TIME | CO_GSUZP | TIMS | 6 | 0 | 基本开始(时间) |
BASIC_END_DATE | CO_GLTRP | DATS | 8 | 0 | 基本完成日期 |
BASIC_END_TIME | CO_GLUZP | TIMS | 6 | 0 | 基本完成(时间) |
QUANTITY | GAMNG | QUAN | 13 | 3 | 总订单数量 |
SCRAP_QUANTITY | GASMG | QUAN | 13 | 3 | 订单中的总报废数量 |
QUANTITY_UOM | CO_GMEIN | UNIT | 3 | 0 | 全部订单项通用单位 |
ROUTING_TYPE | PLNTY | CHAR | 1 | 0 | 任务清单类型 |
ROUTING_GROUP | PLNNR | CHAR | 8 | 0 | 任务清单组键值 |
ROUTING_COUNTER | PLNAL | CHAR | 2 | 0 | 组计数器 |
PROD_VERSION | VERID | CHAR | 4 | 0 | 生产版本 |
EXPLOSION_DATE | CO_AUFLD | DATS | 8 | 0 | BOM展开/工艺路线转换的日期 |
ORDER_PRIORITY | CO_APRIO | CHAR | 1 | 0 | 订单优先级 |
MRP_CONTROLLER | CO_DISPO | CHAR | 3 | 0 | 对订单的MRP控制者 |
CONFIGURATION | CUOBJ | NUMC | 18 | 0 | 配置(内部对象号) |
WBS_ELEMENT | PS_PSP_PNR | NUMC | 8 | 0 | 工作分解结构元素 (WBS 元素) |
SALES_ORDER | CO_KDAUF | CHAR | 10 | 0 | 销售订单 |
SALES_ORDER_ITEM | CO_KDPOS | NUMC | 6 | 0 | 销售订单项目 |
BUSINESS_AREA | GSBER | CHAR | 4 | 0 | 业务范围 |
PROFIT_CENTER | PRCTR | CHAR | 10 | 0 | 利润中心 |
SEQUENCE_NUMBER | CY_SEQNR | NUMC | 14 | 0 | 顺序号订单 |
STOCK_TYPE | INSMK | CHAR | 1 | 0 | 库存类型 |
GR_PROC_TIME | WEBAZ | DEC | 3 | 0 | 以天计的收货处理时间 |
STORAGE_LOCATION | LGORT_D | CHAR | 4 | 0 | 库存地点 |
MRP_DISTR_KEY | SA_VERTL | CHAR | 4 | 0 | MRP 分配代码 |
GOODS_RECIPIENT | WEMPF | CHAR | 12 | 0 | 收货方 |
UNLOADING_POINT | ABLAD | CHAR | 25 | 0 | 卸货点 |
MATERIAL_EXTERNAL | MGV_MATERIAL | CHAR | 40 | 0 | MATERIAL 字段的长物料号 |
MATERIAL_GUID | MGV_MATERIAL | CHAR | 32 | 0 | MATERIAL 字段的外部 GUID |
MATERIAL_VERSION | MGV_MATERIAL | CHAR | 10 | 0 | MATERIAL 字段的版本编号 |
ADDITIONAL_DAYS | CFB_ADTDAYS | DEC | 4 | 0 | 附加天数 |
STOCK_SEGMENT | SGT_SCAT16 | CHAR | 16 | 0 | 库存细分 |
MATERIAL_LONG | CO_MATNR40 | CHAR | 40 | 0 | 订单的物料编号 |
STK_SEG_LONG | SGT_SCAT40 | CHAR | 40 | 0 | 库存细分 |
FSH_S_BAPI_PRODORD_SEASON:Structure of Seasons for Production order BAPI
字段 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
FSH_SEASON_YEAR | FSH_SAISJ | CHAR | 4 | 0 | 季节年度 |
FSH_SEASON | FSH_SAISO | CHAR | 4 | 0 | 季节 |
FSH_COLLECTION | FSH_COLLECTI | CHAR | 2 | 0 | Fashion 集合 |
FSH_THEME | FSH_THEME | CHAR | 4 | 0 | Fashion 主题 |
ADJUST_QUANTITY | CHAR1 | CHAR | 1 | 0 | 单字符标记 |
参数名称 | 关联类型 | 值传递 | 说明 |
RETURN | BAPIRET2 | 是 | Return Parameters
BAPIRET2:返回参数 (关联表见下文) |
ORDER_NUMBER | BAPI_ORDER_KEY-ORDER_NUMBER | 是 | Production order number。订单编号
BAPI_ORDER_KEY:订单编号 (关联表见下文) |
ORDER_TYPE | BAPI_ORDER_COPY-ORDER_TYPE | 是 | Order Type。订单类型
BAPI_ORDER_COPY:传输结构 PP/PI 订单(用模板创建) (关联表见下文) |
字段 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
TYPE | BAPI_MTYPE | CHAR | 1 | 0 | 消息类型: S 成功,E 错误,W 警告,I 信息,A 中断 |
ID | SYMSGID | CHAR | 20 | 0 | 消息类 |
NUMBER | SYMSGNO | NUMC | 3 | 0 | 消息编号 |
MESSAGE | BAPI_MSG | CHAR | 220 | 0 | 消息文本 |
LOG_NO | BALOGNR | CHAR | 20 | 0 | 应用程序日志: 日志号 |
LOG_MSG_NO | BALMNR | NUMC | 6 | 0 | 应用日志:内部邮件序列号 |
MESSAGE_V1 | SYMSGV | CHAR | 50 | 0 | 消息变量 |
MESSAGE_V2 | SYMSGV | CHAR | 50 | 0 | 消息变量 |
MESSAGE_V3 | SYMSGV | CHAR | 50 | 0 | 消息变量 |
MESSAGE_V4 | SYMSGV | CHAR | 50 | 0 | 消息变量 |
PARAMETER | BAPI_PARAM | CHAR | 32 | 0 | 参数名称 |
ROW | BAPI_LINE | INT4 | 10 | 0 | 参数中的行 |
FIELD | BAPI_FLD | CHAR | 30 | 0 | 参数中的字段 |
SYSTEM | BAPILOGSYS | CHAR | 10 | 0 | 引发消息的逻辑系统 |
BAPI_ORDER_KEY
字段 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
ORDER_NUMBER | AUFNR | CHAR | 12 | 0 | 订单号 |
BAPI_ORDER_COPY:传输结构 PP/PI 订单(用模板创建)
字段 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
REFERENCE_ORDER | AUFREFNR | CHAR | 12 | 0 | 参考订单号 |
ORDER_TYPE | AUFART | CHAR | 4 | 0 | 订单类型 |
ORDER_NUMBER | AUFNR | CHAR | 12 | 0 | 订单号 |
BASIC_START_DATE | CO_GSTRP | DATS | 8 | 0 | 基本开始日期 |
BASIC_START_TIME | CO_GSUZP | TIMS | 6 | 0 | 基本开始(时间) |
BASIC_END_DATE | CO_GLTRP | DATS | 8 | 0 | 基本完成日期 |
BASIC_END_TIME | CO_GLUZP | TIMS | 6 | 0 | 基本完成(时间) |
作为HOT583.com的coder,多年前也是SAP ABAP beginners ,
最开始学习会有些难度,到处去找Tutorial for Constant。
*& BAPI作用:创建生产订单
*& 事务代码:YHTPP001
*&end——————————————————————————*
REPORT y_bapi_prodord_create.
*声明bapi相关参数
DATA:gs_orderdata TYPE bapi_pp_order_create, “创建生产订单的传输结构
gs_fsh_prodord_season TYPE fsh_s_bapi_prodord_season, “生产订单
gs_return TYPE bapiret2, “返回信息
gv_order_number TYPE bapi_order_key-order_number. “订单号
*选择屏幕
PARAMETERS:p_mater TYPE co_matnr18,
p_plant TYPE werks_d,
p_sdate TYPE co_gstrp DEFAULT sy-datum,
p_edate TYPE co_gltrp DEFAULT sy-datum.
*数据赋值
gs_orderdata-material = p_mater. “物料编号
gs_orderdata-plant = p_plant. “工厂
gs_orderdata-order_type = ‘PP01’. “订单类型
gs_orderdata-basic_start_date = p_sdate. “基本开始日期
gs_orderdata-basic_end_date = p_edate. “基本完成日期
gs_orderdata-quantity = ‘23.000’. “总订单数量
gs_orderdata-quantity_uom = ‘ST’. “全部订单项通用单位
gs_orderdata-explosion_date = sy-datum. “BOM/工艺路线转换日期
gs_orderdata-order_priority = ‘1’. “订单优先级
*gs_orderdata-gr_proc_time = ”. “以天计的收获处理时间
gs_fsh_prodord_season-fsh_season_year = ‘2019’.
gs_fsh_prodord_season-fsh_season = ‘2019’.
*调用bapi
PERFORM frm_usebapi.
*——————————————————————————–*
* Form frm_usebapi *
*———————————————————————————*
* 调用bapi
* 导出:返回信息,订单号
* 导入:订单数据,订单季节数据
*———————————————————————————*
FORM frm_usebapi.
DATA:ls_orderdata TYPE bapi_pp_order_create, “创建生产订单的传输结构
ls_fsh_prodord_season TYPE fsh_s_bapi_prodord_season, “生产订单
ls_return TYPE bapiret2, “返回信息
lv_order_number TYPE bapi_order_key-order_number. “订单号WWW.HOT583.COM
CLEAR ls_orderdata.
CLEAR ls_fsh_prodord_season.
CLEAR ls_return.
CLEAR lv_order_number.
ls_orderdata = gs_orderdata.
ls_fsh_prodord_season = gs_fsh_prodord_season.
CALL FUNCTION ‘BAPI_PRODORD_CREATE’
EXPORTING
orderdata = ls_orderdata
fsh_prodord_season = ls_fsh_prodord_season
IMPORTING
return = ls_return
order_number = lv_order_number
* ORDER_TYPE =
.
IF ls_return IS NOT INITIAL.
IF ls_return-type <> ‘S’.
CALL FUNCTION ‘BAPI_TRANSACTION_ROLLBACK’.
MESSAGE ls_return-message TYPE ‘E’.
ENDIF.
ELSE.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
wait = ‘X’.
data s type string.
CONCATENATE ‘ 订单:’ lv_order_number ‘ 已生成 ‘ INTO s.
MESSAGE: s TYPE ‘S’ .
ENDIF.
ENDFORM.
本文链接 :http://www.hot583.com/2022/04/24/bapi_prodord_create/
本文为作者原创,如果这篇文章对您有用,欢迎转载,
转载请务必注明来源《今日热点在看》http://www.hot583.com/
我的微信公众号【 hot583 】 或者在这个链接联系我
微信原文《全文完》