1、工作中心
1.1、核心概念
简单来说,工作中心在SAP中代表了一个具体的“工作地点”或“执行单位”。
你可以把它理解为:
生产车间里的一台机器或一条生产线。
一个负责特定作业的班组或团队(如质检小组、维修团队)。
一个工位或一个区域(如喷涂区域、装配工位)。
它的本质是一个“能力提供者”和“成本发生地”。
1.2、 工作中心的主要用途
工作中心在SAP系统中扮演着四个关键角色:
1、工艺路线中的能力单元
在为产品创建工艺路线(Routing)时,每一步操作(Operation)都必须指定一个工作中心。
系统通过工作中心来确定该步骤的标准作业时间(如准备时间、机器运行时间、人工时间),这是计算产品成本、生产提前期和能力需求计划的基础。
2、成本核算的成本中心
每个工作中心都会分配到一个成本中心。
所有发生在该工作中心的费用(如折旧、水电、操作工工资)都通过成本中心进行归集。
通过工作中心中定义的作业类型(如机器工时、人工工时),系统可以将成本中心归集的制造费用,准确地分摊到经过该工作中心生产的产品上,从而实现精细化的产品成本核算。
3、能力计划的能力载体
工作中心定义了可用能力的大小(例如:一台机器每天工作16小时,一个班组有5个人)。
系统在进行产能评估或排产时,会基于工作中心的能力和已经分配的任务(来自生产订单、计划订单等),来计算其负荷情况,从而帮助计划员发现瓶颈。
4、生产订单的执行对象
当生产订单下达后,具体的生产活动(如发料、确认、报工)都是针对某个工作中心来执行的。
工人通过向工作中心进行“确认”,来记录在特定工作中心上花费的实际工时、产量以及废品情况。
1.3、 工作中心的关键数据
创建和维护工作中心(事务码 CR01)时,需要维护以下几类核心数据:
1. 基本数据
工作中心描述: 清晰的名字,如“五号数控车床”、“最终装配线”。
工作中心类别: 这是一个关键分类,决定了工作中心的性质和可用功能,如:
0001 机器/设备
0002 装配线
0003 员工/班组
任务清单类型: 定义该工作中心可以用于哪些工艺路线。
2. 能力数据
这是进行能力计划的核心。
能力: 定义工作中心拥有多少种能力以及能力的数量。
能力类别: 最常见的是001(机器)和002(人工)。一个工作中心可以同时拥有多种能力(例如,一台需要人工操作的机器就同时拥有人工和机器能力)。
能力数: 和能力类别关联的可用数量。例如,能力类别“人工”的能力数为5,代表这个工位有5个工人。
开机时间: 定义工作中心每天的可用时间(如 08:00 - 20:00)。
利用率和效率: 用于对理论能力进行修正,以得到更符合实际的“可用能力”。
可用能力 = 理论能力 × 利用率 × 效率
3. 调度数据
用于计算生产作业的持续时间。
公式: 这里会分配一个计算公式,用于确定工序的加工时间、间隔时间和移动时间。
队列时间: 指作业在开始前的标准等待时间。
标准值码: 将工艺路线中定义的“标准值”(如加工数量是100个)通过公式转换为具体的时间。
4. 成本核算数据
这是连接PP和CO(控制)模块的桥梁。
成本中心: 必填项,指定该工作中心产生的成本由哪个成本中心承担。
作业类型: 与能力类别对应,是成本核算的单位。例如:
能力类别“机器”对应作业类型“机器工时”。
能力类别“人工”对应作业类型“直接人工”。
标准作业价格: 执行单位作业(如1个机器工时)的标准成本。产品成本计算时,就是用“标准工时”乘以“标准作业价格”来得出该工序的制造成本。
2、前台操作
事务代码CR01

基本信息

默认值页签

能力

抬头数据

计划页签

成本核算页签

点击保存即可
3、代码实现
调用函数CRAP_WORKCENTER_CREATE创建工作中心
"--------------------@斌将军--------------------
DATA:ls_in_crhd_api01 TYPE crhd_api01,
ls_in_crhd_api02 TYPE crhd_api02,
ls_in_crhd_api03 TYPE crhd_api03,
ls_in_crhd_api05 TYPE crhd_api05,
lt_in_kapa_api01 TYPE TABLE OF kapa_api01,
ls_in_kapa_api01 TYPE kapa_api01,
lt_in_kapa_api02 TYPE TABLE OF kapa_api02,
ls_in_kapa_api02 TYPE kapa_api02,
lt_in_crhd_api04 TYPE TABLE OF crhd_api04,
ls_in_crhd_api04 TYPE crhd_api04,
lt_in_crco_api01 TYPE TABLE OF crco_api01,
ls_in_crco_api01 TYPE crco_api01.
DATA:lv_arbpl_beg TYPE crhd-arbpl,
lv_arbpl_end TYPE crhd-arbpl,
lv_arbpl TYPE crhd-arbpl,
lv_num TYPE char6,
lv_beg_num TYPE char6,
lv_end_num TYPE char6.
DATA: lv_extnum TYPE balhdr-extnumber,
lv_guid_22 TYPE sysuuid_22,
lv_comment TYPE crtx-ktext.
DATA:lv_check TYPE char1,
lv_msg TYPE char255,
lv_message TYPE char255.
"工作中心抬头数据
CLEAR:ls_in_crhd_api01.
ls_in_crhd_api01-arbpl = 'PL000010'."工作中心
ls_in_crhd_api01-werks = '8800' ."工厂
ls_in_crhd_api01-verwe = '0001' ."工作中心类型
ls_in_crhd_api01-ktext = '工作中心描述'."工作中心描述
"工作中心基本数据
CLEAR:ls_in_crhd_api02.
ls_in_crhd_api02-veran = '001'."工作中心负责人
ls_in_crhd_api02-planv = '009'."用途
ls_in_crhd_api02-rgekz = ''."标识:反冲
ls_in_crhd_api02-ppskz = ''."提前计划标识
ls_in_crhd_api02-vgwts = 'SL10'."标准值码
ls_in_crhd_api02-vgm01 = '2'.
ls_in_crhd_api02-vgm02 = '3'.
ls_in_crhd_api02-vgm03 = '3'.
ls_in_crhd_api02-vgm04 = '1'.
ls_in_crhd_api02-vgm05 = '1'.
ls_in_crhd_api02-vgm06 = '1'.
"工作中心缺省值
CLEAR:ls_in_crhd_api03.
ls_in_crhd_api03-steus = 'PP99'."控制码
ls_in_crhd_api03-ktsch = '2220005'."标准文本码
ls_in_crhd_api03-vge01 = 'S'."标准值计量单位
ls_in_crhd_api03-vge02 = 'S'.
ls_in_crhd_api03-vge03 = 'KG'.
CLEAR:ls_in_crhd_api05.
ls_in_crhd_api05-kapart = '001'."能力类别
ls_in_crhd_api05-fort2 = 'SL98'."加工持续时间
CLEAR:ls_in_kapa_api01.
ls_in_kapa_api01-kapart = '001'."能力类别
ls_in_kapa_api01-werks = '8800'."工厂
ls_in_kapa_api01-ktext = '产能短文本'."产能短文本
APPEND ls_in_kapa_api01 TO lt_in_kapa_api01.
CLEAR:ls_in_kapa_api02.
ls_in_kapa_api02-planr = 'B01'."产能负责计划员组
ls_in_kapa_api02-kalid = 'Z1'."工厂日历标识
ls_in_kapa_api02-versa = '1'."可用产能的激活版本
ls_in_kapa_api02-meins = 'H'."产能基本计量单位
ls_in_kapa_api02-begzt = '000000'."开始时间
ls_in_kapa_api02-endzt = '240000'."结束时间
* ls_in_kapa_api02-pause = gs_input-pause."每班次累计休息时间
ls_in_kapa_api02-ngrad = '97'."产能利用率(百分比)
ls_in_kapa_api02-aznor = '4'."单个产能数
ls_in_kapa_api02-kapter = 'X'."标识:产能与有限计划相关
ls_in_kapa_api02-kapavo = 'X'."指示符 : 数个工序能够使用能力
ls_in_kapa_api02-kaplpl = 'X'."指示符 : 长期计划考虑能力
APPEND ls_in_kapa_api02 TO lt_in_kapa_api02.
CLEAR:ls_in_crhd_api04.
ls_in_crhd_api04-fork1 = 'SL31'."设置产能需求的公式
ls_in_crhd_api04-fork2 = 'SL32'."用于处理产能需求的公式
APPEND ls_in_crhd_api04 TO lt_in_crhd_api04.
"成本核算
CLEAR:ls_in_crco_api01.
ls_in_crco_api01-kostl = '0088006005'. "成本中心
ls_in_crco_api01-begda = sy-datum."开始日期
ls_in_crco_api01-endda = '99991231'."结束日期
ls_in_crco_api01-kokrs = '8888'."控制范围
"1
ls_in_crco_api01-lstar1 = 'SL11'."活动类型
ls_in_crco_api01-leinh1 = 'MIN'."活动单位
ls_in_crco_api01-forml1 = 'SL32'."公式码
"2
ls_in_crco_api01-lstar2 = 'SL12'."活动类型
ls_in_crco_api01-leinh2 = 'MIN'."活动单位
ls_in_crco_api01-forml2 = 'SL32'."公式码
"3
ls_in_crco_api01-lstar3 = 'SL13'."活动类型
ls_in_crco_api01-leinh3 = 'MIN'."活动单位
ls_in_crco_api01-forml3 = 'SL32'."公式码
"4
ls_in_crco_api01-lstar4 = 'SL14'."活动类型
ls_in_crco_api01-leinh4 = 'MIN'."活动单位
ls_in_crco_api01-forml4 = 'SL32'."公式码
"5
ls_in_crco_api01-lstar5 = 'SL15'."活动类型
ls_in_crco_api01-leinh5 = 'MIN'."活动单位
ls_in_crco_api01-forml5 = 'SL32'."公式码
"6
ls_in_crco_api01-lstar6 = 'SL16'."活动类型
ls_in_crco_api01-leinh6 = 'MIN'."活动单位
ls_in_crco_api01-forml6 = 'SL32'."公式码
APPEND ls_in_crco_api01 TO lt_in_crco_api01 .
lv_guid_22 = cl_system_uuid=>if_system_uuid_static~create_uuid_c22( ).
lv_extnum = lv_guid_22.
TRANSLATE lv_extnum TO UPPER CASE.
lv_comment = lv_extnum.
CALL FUNCTION 'CRAP_WORKCENTER_CREATE'
EXPORTING
in_crhd_api01 = ls_in_crhd_api01
in_crhd_api02 = ls_in_crhd_api02
in_crhd_api03 = ls_in_crhd_api03
in_crhd_api05 = ls_in_crhd_api05
comment = lv_comment
test = ''
* IN_CRHD_API07 =
* IV_NO_COMMIT =
TABLES
in_kapa_api01 = lt_in_kapa_api01
in_kapa_api02 = lt_in_kapa_api02
in_crhd_api04 = lt_in_crhd_api04
in_crco_api01 = lt_in_crco_api01
* IN_KAZY_API01 =
* IN_KAPA_API04 =
.
DATA:lt_message TYPE TABLE OF balm.
CALL FUNCTION 'APPL_LOG_READ_DB'
EXPORTING
object = 'CRAP'
subobject = '*'
external_number = lv_extnum
* DATE_FROM = '00000000'
* DATE_TO = SY-DATUM
* TIME_FROM = '000000'
* TIME_TO = SY-UZEIT
* LOG_CLASS = '4'
* PROGRAM_NAME = '*'
* TRANSACTION_CODE = '*'
* USER_ID = ' '
* MODE = '+'
* PUT_INTO_MEMORY = ' '
* IMPORTING
* NUMBER_OF_LOGS =
TABLES
* HEADER_DATA =
* HEADER_PARAMETERS =
messages = lt_message
* MESSAGE_PARAMETERS =
* CONTEXTS =
* T_EXCEPTIONS =
.
CLEAR:lv_check,lv_message.
LOOP AT lt_message INTO DATA(ls_message) WHERE msgty CA 'AEX'.
CLEAR:lv_msg.
MESSAGE ID ls_message-msgid TYPE ls_message-msgty NUMBER ls_message-msgno
WITH ls_message-msgv1 ls_message-msgv2 ls_message-msgv3 ls_message-msgv4
INTO lv_msg.
lv_message = lv_message && lv_msg.
lv_check = 'E'.
CLEAR:ls_message.
ENDLOOP.
IF lv_check = 'E'.
ELSE.
READ TABLE lt_message INTO ls_message WITH KEY msgid = 'CR' msgno = '281'.
IF sy-subrc EQ 0.
* MESSAGE ID ls_message-msgid TYPE ls_message-msgty NUMBER ls_message-msgno
* WITH ls_message-msgv1 ls_message-msgv2 ls_message-msgv3 ls_message-msgv4
* INTO ls_output-message.
ELSE.
* ls_output-type = 'E'.
* ls_output-message = '查不到成功消息,创建失败'.
ENDIF.
ENDIF.
"--------------------@斌将军--------------------
以上就是关于CR01创建工作中心的介绍,希望对你有所帮助
2949

被折叠的 条评论
为什么被折叠?



