T-CODE 跳过权限检查
发表人:chateasy | 发表时间: 2008年九月04日, 21:26
在SE37 里执行ALINK_CALL_TRANSACTION, 然后输入你想执行的TCODE ,就可以跳过权限检查.
字段TRANSACTIONNAME输入t-code
字段WAY为空
需要在CO02工单维护里面批量更改其组件工厂和仓位的功能,
发表人:chateasy | 发表时间: 2008年八月26日, 21:55
*&---------------------------------------------------------------------*
*& Report ZPP_CO02 *
*& *
*&---------------------------------------------------------------------*
*& 问题描述:工厂间带物料外发时需要使用计划工厂和生产工厂来控制,但组件
* 的需求是根据生产工厂产生的,无法满足带物料外发至生产的需求
*业务需求:需要在CO02工单维护里面批量更改其组件工厂和仓位的功能,
*更改的数据源于计划工厂的物料主数据
*&---------------------------------------------------------------------*
REPORT zpp_co02 .
TABLES: mard. "物料的仓储位置数据.
TABLES: marc. "物料的工厂数据.
TABLES: afpo. "订单项.
TABLES: afko. "订单表头数据 PP 订单.
TABLES: resb. "预定/相关需求 为生产订单 所预留的物料、数量、地点、等
DATA : w_aufnr TYPE resb-aufnr. "生产订单号
DATA : p_werk TYPE afpo-pwerk. "生产订单计划工厂
DATA:BEGIN OF i_bdc OCCURS 0,
rspos LIKE resb-rspos,
posnr LIKE resb-posnr,
matnr LIKE resb-matnr,
END OF i_bdc.
* marc-LGPRO 生产仓储地点
* AFPO-PWERK 订单的计划工厂
* AFPO-DWERK 工厂
* AFPO-PLNUM 计划订单号
*AFKO-STLTY BOM 类别
*AFKO-STLNR 物料单
*AFKO-STLST BOM 状态
*AFKO-SDATV 开始生效日期
*AFKO-STLAL 可选的BOM
*AFKO-STLAN BOM用途
*AFKO-AUFLD BOM展开/工艺路线转换的日期
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
PARAMETERS: p_aufnr LIKE afpo-aufnr OBLIGATORY.
AT SELECTION-SCREEN.
w_aufnr = p_aufnr.
PERFORM check_input.
START-OF-SELECTION.
PERFORM prd_modify .
*&---------------------------------------------------------------------*
*& Form check_input
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM check_input.
*给生产订单号补零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_aufnr
IMPORTING
output = w_aufnr.
*取生产订单的计划工厂
SELECT SINGLE pwerk
INTO p_werk
FROM afpo
WHERE aufnr = w_aufnr.
IF p_werk IS INITIAL.
WRITE :/ w_aufnr , '的计划工厂不存在'.
ENDIF.
*取要更改的物料和项目号
SELECT rspos posnr matnr
INTO CORRESPONDING FIELDS OF TABLE i_bdc
FROM resb
WHERE aufnr = w_aufnr.
SORT I_BDC BY POSNR.
DATA : w_mestxt TYPE string.
IF i_bdc[] IS INITIAL.
CONCATENATE p_aufnr '不存在或没有BOM物料' INTO w_mestxt.
MESSAGE e368(00) WITH w_mestxt.
STOP.
ENDIF.
ENDFORM. "CHECK_INPUT
*&---------------------------------------------------------------------*
*& Form prd_modify
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM prd_modify.
WRITE:/ '成功与否请看系统左下角的提示,没有绿色成功标志,请重新执行本操作(可能当前有人在修改本生产订单)' COLOR COL_NEGATIVE.
ULINE.
DATA: w_sumi TYPE i VALUE 0 .
DATA: w_sumit TYPE string.
DATA: w_tmp TYPE string.
DATA : w_lgpro TYPE marc-lgpro.
DATA : firstitem TYPE c VALUE 'X'.
REFRESH bdcdata.
CLEAR bdcdata.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-AUFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=KPU2'.
PERFORM bdc_field USING 'CAUFVD-AUFNR'
w_aufnr.
PERFORM bdc_field USING 'R62CLORD-FLG_OVIEW'
'X'.
LOOP AT i_bdc.
w_sumi = w_sumi + 1.
w_sumit = w_sumi.
CONCATENATE '0' w_sumit ')' INTO w_sumit.
CONDENSE w_sumit NO-GAPS.
CLEAR w_lgpro.
* 取物料在计划工厂的生产仓储地点
SELECT SINGLE lgpro
INTO w_lgpro
FROM marc
WHERE werks = p_werk
AND matnr = i_bdc-matnr.
IF w_lgpro IS INITIAL.
WRITE :/ i_bdc-matnr , '生产仓储地点为空'.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
CLEAR w_tmp.
CONCATENATE 'RESBD-WERKS(' w_sumit INTO w_tmp.
PERFORM bdc_field USING 'BDC_CURSOR'
w_tmp.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_FIL'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
PERFORM bdc_field USING w_tmp
p_werk.
CLEAR w_tmp.
CONCATENATE 'RESBD-LGORT(' w_sumit INTO w_tmp.
PERFORM bdc_field USING w_tmp
w_lgpro.
PERFORM bdc_dynpro USING 'SAPLCOMD' '0110'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-MATNR'.
PERFORM bdc_field USING 'RESBD-MATNR'
i_bdc-matnr.
PERFORM bdc_field USING 'RESBD-POSNR'
i_bdc-posnr.
PERFORM bdc_field USING 'RESBD-LGORT'
w_lgpro.
PERFORM bdc_field USING 'RESBD-WERKS'
p_werk.
* firstitem = 'Y'.
* ENDIF.
IF sy-subrc = 0.
WRITE:/ '修改物料:' ,i_bdc-matnr, '行项目:' , i_bdc-posnr .
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-MATNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_FIL'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
CALL TRANSACTION 'CO02' USING bdcdata
MODE 'A'
UPDATE 'S'
MESSAGES INTO messtab.
ENDFORM. "prd_modify
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* ENDIF.
ENDFORM. "BDC_FIELD
使用ALV的自动控制输出列名称(客户主数据清单)
发表人:chateasy | 发表时间: 2008年八月13日, 21:46
客户主数据清单
REPORT ZRFIAR0013_TEST NO STANDARD PAGE HEADING LINE-SIZE 255.
TYPE-POOLS : SLIS.
types: slis_t_fieldcat_alv type slis_fieldcat_alv occurs 1.
DATA : G_EVENTS_T TYPE SLIS_T_EVENT,
G_FIELDCAT_T TYPE SLIS_T_FIELDCAT_ALV.
DATA : G_LAYOUT_S TYPE SLIS_LAYOUT_ALV.
DATA: l_fieldcat_s TYPE slis_fieldcat_alv.
define __FIELD_TAB.
L_fieldcat_s-seltext_l = &1.
L_fieldcat_s-seltext_m = &1.
L_fieldcat_s-seltext_s = &1.
L_fieldcat_s-ddictxt = ' '.
end-of-definition.
TABLES: KNA1,KNB1,KNVV,T052U.
KNA1(客户主文件的一般数据)
KNB1(客户主数据 (公司代码))
KNVV(客户主记录销售数据)
T052U(收付条件的自身解释)
data: BEGIN OF ITAB occurs 0,
KTOKD like KNA1-KTOKD, "客户帐户组
KUNNR like KNA1-KUNNR, "客户
NAME1 like KNA1-NAME1, "客户名称
NAME2 like KNA1-NAME2, "客户名称
SORTL like KNA1-SORTL,"排序字段
LAND1 like KNA1-LAND1, "国家
ORT01 like KNA1-ORT01, "城市
PSTLZ like KNA1-PSTLZ, "邮政编码
STRAS like KNA1-STRAS, "住宅号及街道
TELF1 like KNA1-TELF1, "第一个电话号
TELFX like KNA1-TELFX, "传真号
ERDAT like KNA1-ERDAT, "记录创建日期
ERNAM like KNA1-ERNAM, "创建对象的人员名称
AKONT like KNB1-AKONT, "统驭科目
ZTERM like KNB1-ZTERM, "收付条件代码
TEXT1 like T052U-TEXT1, "收付条件名称
VKORG like KNVV-VKORG, "销售机构
VTWEG like KNVV-VTWEG, "分销渠道
SPART like KNVV-SPART, "生产线
* ALTKN like KNB1-ALTKN, "先前的帐户号码
End of ITAB.
SELECT-OPTIONS s_KTOKD FOR KNA1-KTOKD.
SELECT-OPTIONS s_KUNNR FOR KNA1-KUNNR.
SELECT-OPTIONS s_NAME1 FOR KNA1-NAME1.
INITIALIZATION.
PERFORM LAYOUT_INIT USING G_LAYOUT_S. "ALV GRID LAYOUT
PERFORM EVENTTAB_BUILD USING G_EVENTS_T[]. "ALV GRID EVENT
START-OF-SELECTION.
PERFORM GET_DATA.
if sy-subrc = 0.
PERFORM DISPLAYCATALOG_MERGE USING G_FIELDCAT_T[] 'ITAB'.
PERFORM ALV_DISPLAY TABLES ITAB[].
else.
write: 'NO DATA'.
endif.
*--------------------------------------------------------------------
* FORM GET_DATA *
*--------------------------------------------------------------------
FORM GET_DATA.
SELECT KTOKD KUNNR NAME1 NAME2 SORTL
LAND1
ORT01
PSTLZ
STRAS
TELF1
TELFX
ERDAT
ERNAM
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM KNA1
WHERE KTOKD IN s_KTOKD
AND KUNNR IN s_KUNNR
AND NAME1 IN s_NAME1
ORDER BY SORTL KUNNR.
LOOP AT ITAB.
CLEAR KNB1.
SELECT SINGLE AKONT ZTERM
INTO (KNB1-AKONT,KNB1-ZTERM)
FROM KNB1 WHERE KUNNR = ITAB-KUNNR.
ITAB-AKONT = KNB1-AKONT.
ITAB-ZTERM = KNB1-ZTERM.
MODIFY ITAB.
CLEAR T052U.
SELECT SINGLE TEXT1 INTO (T052U-TEXT1)
FROM T052U WHERE ZTERM = ITAB-ZTERM.
ITAB-TEXT1 = T052U-TEXT1.
MODIFY ITAB.
CLEAR KNVV.
SELECT SINGLE VKORG VTWEG SPART INTO
(KNVV-VKORG,KNVV-VTWEG,KNVV-SPART)
FROM KNVV WHERE KUNNR = ITAB-KUNNR.
ITAB-VKORG = KNVV-VKORG.
ITAB-VTWEG = KNVV-VTWEG.
ITAB-SPART = KNVV-SPART.
MODIFY ITAB.
ENDLOOP.
ENDFORM.
*********************************************************************
*--------------------------------------------------------------------
* FORM DISPLAYCATALOG_MERGE *
*--------------------------------------------------------------------
FORM DISPLAYCATALOG_MERGE USING P_G_FIELDCAT_T
TYPE SLIS_T_FIELDCAT_ALV
P_TABNAME.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'ZRFIAR0013'
I_INTERNAL_TABNAME = P_TABNAME
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZRFIAR0013'
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = P_G_FIELDCAT_T.
LOOP AT p_g_fieldcat_t INTO l_fieldcat_s.
CASE l_fieldcat_s-fieldname.
WHEN 'DMBTR'.
__field_tab: '未清金额'.
WHEN 'NAME2'.
__field_tab: '收款金额'.
* WHEN 'DMBT2'.
* __field_tab: '未收金额'.
WHEN 'ZFBDT'.
__field_tab: '到期日'.
WHEN 'ZBD1T'.
__field_tab: '天数'.
WHEN 'UMSKZ'.
__field_tab: '特别GL'.
ENDCASE.
MODIFY p_g_fieldcat_t FROM l_fieldcat_s.
ENDLOOP.
ENDFORM. " FIELDCATALOG_MERGE
*--------------------------------------------------------------------
* FORM LAYOUT_INIT
*--------------------------------------------------------------------
FORM LAYOUT_INIT USING P_G_LAYOUT_S TYPE SLIS_LAYOUT_ALV.
** Build layout for list display
P_G_LAYOUT_S-DETAIL_POPUP = 'X'.
P_G_LAYOUT_S-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. " LAYOUT_INIT
*--------------------------------------------------------------------
* FORM EVENTTAB_BUILD
*--------------------------------------------------------------------
FORM EVENTTAB_BUILD USING P_G_EVENTS_T TYPE SLIS_T_EVENT.
** Registration of events to happen during list display
DATA: L_EVENT TYPE SLIS_ALV_EVENT.
*
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_G_EVENTS_T.
* GUI STATUS
READ TABLE P_G_EVENTS_T WITH KEY NAME = SLIS_EV_PF_STATUS_SET
INTO L_EVENT.
IF SY-SUBRC EQ 0.
MOVE 'PF_STATUS_SET' TO L_EVENT-FORM.
APPEND L_EVENT TO P_G_EVENTS_T.
ENDIF.
ENDFORM. " EVENTTAB_BUILD
*--------------------------------------------------------------------
* FORM ALV_DISPLAY
*--------------------------------------------------------------------
FORM ALV_DISPLAY TABLES P_INT_T.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_BACKGROUND_ID = 'ALV_BACKGROUND'
I_CALLBACK_PROGRAM = 'ZRFIAR0013' "G_REPID
* I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_SET'
* I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = G_LAYOUT_S
IT_FIELDCAT = G_FIELDCAT_T[]
I_SAVE = 'A'
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER = G_EXIT_CAUSED_BY_CALLER
* ES_EXIT_CAUSED_BY_USER = G_EXIT_CAUSED_BY_USER_S
TABLES
T_OUTTAB = P_INT_T
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " ALV_DISPLAY
ALV列输出控制函数:REUSE_ALV_FIELDCATALOG_MERGE
发表人:chateasy | 发表时间: 2008年八月13日, 17:44
调用输出格式控制:这里的ITAB为内表名。
PERFORM DISPLAYCATALOG_MERGE USING G_FIELDCAT_T[] 'ITAB'.
调整输出的格式控制代码。
FORM DISPLAYCATALOG_MERGE USING P_G_FIELDCAT_T
TYPE SLIS_T_FIELDCAT_ALV
P_TABNAME.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'ZRFIAR0013'
I_INTERNAL_TABNAME = P_TABNAME
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = 'ZRFIAR0013'
I_BYPASSING_BUFFER = 'X'
I_BUFFER_ACTIVE = 'X'
CHANGING
CT_FIELDCAT = P_G_FIELDCAT_T.
LOOP AT p_g_fieldcat_t INTO l_fieldcat_s.
CASE l_fieldcat_s-fieldname.
WHEN 'DMBTR'.
__field_tab: '未清金额'.
WHEN 'NAME1'.
__field_tab: '收款金额'.
WHEN 'UMSKZ'.
__field_tab: '特别GL'.
ENDCASE.
MODIFY p_g_fieldcat_t FROM l_fieldcat_s.
ENDLOOP.
ENDFORM. " FIELDCATALOG_MERGE
这里的WHEN就是想取的显示名字和字典名字不一样时,就可以用
WHEN '内表字段名'
__field_tab: '要显示的中文名'.
在实际运行时,根据自己的需要配置变式调整显示顺序和显示的字段就可以了。
注意前面还要定义一个宏:
DEFINE __FIELD_TAB.
L_FIELDCAT_S-SELTEXT_L = &1.
L_FIELDCAT_S-SELTEXT_M = &1.
L_FIELDCAT_S-SELTEXT_S = &1.
L_FIELDCAT_S-DDICTXT = ' '.
END-OF-DEFINITION.
这一句:__field_tab: '未清金额'.相当于
L_FIELDCAT_S-SELTEXT_L = '未清金额'.
L_FIELDCAT_S-SELTEXT_M = '未清金额'.
L_FIELDCAT_S-SELTEXT_S = '未清金额'.
L_FIELDCAT_S-DDICTXT = ' '.
处理截取双字节文本时出现乱码问题
发表人:chateasy | 发表时间: 2008年八月11日, 17:18
BAP分割字符串时,处理双字节截取出现的乱码,有三种方法:
1、调用函数STRING_SPLIT_AT_POSITION
原码:
CALL FUNCTION 'STRING_SPLIT_AT_POSITION'
EXPORTING
STRING = T_ITEMS-MAKTX
POS = 28
LANGU = SY-LANGU
IMPORTING
STRING1 = maktx2
STRING2 = maktx3
POS_NEW = pos
EXCEPTIONS
STRING1_TOO_SMALL = 1
STRING2_TOO_SMALL = 2
POS_NOT_VALID = 3
OTHERS = 4.
clear maktx3.
说明:
被分割字符串小于POS时,POS_NEW为零;当指定位置出现乱码时,POS_NEW小于POS
2、自己写代码
代码:
data: l_length type i,
out(11) type c,
in(20) type c..
l_length = charlen(in+10(*)).
if l_length = 2.
move in+0(10) to out.
else.
move in+0(11) to out.
endif.
3、使用函数TEXT_SPLIT
代码:
DATA: str_a(10) TYPE c VALUE '孟玉新',
str_result(10) TYPE c,
str_rest(10) TYPE c,
str_result2(10) TYPE c.
CALL FUNCTION 'TEXT_SPLIT'
EXPORTING
length = '3'
text = str_a
* AS_CHARACTER =
IMPORTING
line = str_result
rest = str_rest.
*Defect
str_result2 = str_a+0(3).
WRITE: / 'str_result = ', str_result,
/ 'str_rest = ' , str_rest,
/ 'str_result2 = ', str_result2.
*The result is list below.
*str_result = 孟
*str_rest = 玉新
*str_result2 = 孟<
ALV常用参数的详细描述调用功能模块
发表人:chateasy | 发表时间: 2008年八月11日, 17:03
ALV常用参数的详细描述调用功能模块:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = '' 接口一致性检查
i_callback_program = sy-repid 当前程序名
is_layout = layout 输出样式
it_fieldcat = fieldcat[] 字段定义描述表
i_callback_pf_status_set = 'PF_STATUS_SET' 触发事件调用子程序
i_callback_user_command = 'USER_COMMAND' 鼠标事件操作子程序
it_events = i_events[] 出口程序触发事件
i_callback_html_top_of_page = 'ALV_TOP_OF_PAGE' ALV输出表头设置
i_grid_settings = wl_lvc_s_glay 打印表头设置
it_sort = sortable[] 排序设置
TABLES
t_outtab = ig_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
常用属性:(赋值’’中内容必须为大写)
1. Fieldcat
data: fieldcat type slis_t_fieldcat_alv with header line.
it_fieldcat = fieldcat[]
属性 (用来定义表单中的各个列的相关信息)
Fieldcat-col_pos = n. 输出列
Fieldcat-tabname = ‘FIELDNAME’. 对应的内表字段名
Fieldcat-seltext_s/m/l = ‘列名’. 输出列文本(_s:短文本 _l:长文本)
Fieldcat-emphasize = ‘CX10’. 带有颜色的高亮列(其中X=(1-7) 颜色同format)
Fieldcat-hotspot = ‘X’. 作为热点显示可触发鼠标触发事件
Fieldcat-currency = ‘CURRKEY’. 表 TCURX 中的货币名称
Fieldcat-quantity(3) 计量单位
Fieldcat-qfieldname 参考计量单位的字段名称
Fieldcat-round = n. 四舍五入至小数位数下 n 位
Fieldcat-exponent = n. 浮点数的幂指数为n
Fieldcat-key = ‘X’. 关键字段
Fieldcat-icon = ‘X’. 作为图标输出
Fieldcat-symbol = ‘X’. 输出作为符号
Fieldcat-checkbox = ‘X’. 作为复选框输出
Fieldcat-just = SPACE, 'R', 'L', 'C'. 对齐方式
Fieldcat-lzero = ‘X’. 输出前导零
Fieldcat-no_sign = ‘X’. 输出抑制符号
Fieldcat-no_zero = ‘X’. 为输出隐藏零
Fieldcat-edit_mask = SPACE, mask.. 输出为mask的模式
Fieldcat-fix_column = ‘X’. 固定列(注意从第一列开始到要固定列,都要用这个参数)
Fieldcat-do_sum = ‘X’. 总计列值总和
Fieldcat-no_out = ‘X’. 列不输出
Fieldcat-tech = ‘X’. 该字段为技术字段
Fieldcat-outputlen = n 列的字符宽度为n
Fieldcat-decimals_out = n 能控制小数点的位数为n
Fieldcat-datatype = C,I,N… 定义数据类型
2. Layout
data: layout type slis_layout_alv .
is_layout = layout
属性 (用于定义ALV表单的相关格式、属性)
info_fieldname = 'LINE_COLOR'. 设置特殊行颜色
(将LINE_COLOR增加到内表字段,写'CX10'到特殊行的LINE_COLOR, X为颜色值)
colwidth_optimize = ‘X’. 优化列宽设置
no_colhead = 'X'. 不显示列名
no_vline = 'X'. 不显示列间竖线
zebra
f2code = '&ETA'. 设置触发弹出详细信息窗口的功能码,这里是双击
no_vline 这个用来设置列间隔线
detail_initial_lines
detail_popup 是否弹出详细信息窗口
detail_titlebar 设置弹出窗口的标题栏
totals_text
totals_only
group_change_edit
header_text
CO02工单维护里面批量更改其组件工厂和仓位的功能
发表人:chateasy | 发表时间: 2008年七月02日, 17:57
*&---------------------------------------------------------------------*
*& Report ZPP_CO02 *
*& *
*&---------------------------------------------------------------------*
*& 问题描述:工厂间带物料外发时需要使用计划工厂和生产工厂来控制,但组件
* 的需求是根据生产工厂产生的,无法满足带物料外发至生产的需求
*业务需求:需要在CO02工单维护里面批量更改其组件工厂和仓位的功能,
*更改的数据源于计划工厂的物料主数据
*
*&---------------------------------------------------------------------*
REPORT zpp_co02 .
TABLES: mard. "物料的仓储位置数据.
TABLES: marc. "物料的工厂数据.
TABLES: afpo. "订单项.
TABLES: afko. "订单表头数据 PP 订单.
TABLES: resb. "预定/相关需求 为生产订单 所预留的物料、数量、地点、等
DATA : w_aufnr TYPE resb-aufnr. "生产订单号
DATA : p_werk TYPE afpo-pwerk. "生产订单计划工厂
DATA:BEGIN OF i_bdc OCCURS 0,
rspos LIKE resb-rspos,
posnr LIKE resb-posnr,
matnr LIKE resb-matnr,
END OF i_bdc.
* marc-LGPRO 生产仓储地点
* AFPO-PWERK 订单的计划工厂
* AFPO-DWERK 工厂
* AFPO-PLNUM 计划订单号
*AFKO-STLTY BOM 类别
*AFKO-STLNR 物料单
*AFKO-STLST BOM 状态
*AFKO-SDATV 开始生效日期
*AFKO-STLAL 可选的BOM
*AFKO-STLAN BOM用途
*AFKO-AUFLD BOM展开/工艺路线转换的日期
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
PARAMETERS: p_aufnr LIKE afpo-aufnr OBLIGATORY.
AT SELECTION-SCREEN.
w_aufnr = p_aufnr.
PERFORM check_input.
START-OF-SELECTION.
PERFORM prd_modify .
*&---------------------------------------------------------------------*
*& Form check_input
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM check_input.
*给生产订单号补零
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = w_aufnr
IMPORTING
output = w_aufnr.
*取生产订单的计划工厂
SELECT SINGLE pwerk
INTO p_werk
FROM afpo
WHERE aufnr = w_aufnr.
IF p_werk IS INITIAL.
WRITE :/ w_aufnr , '的计划工厂不存在'.
ENDIF.
*取要更改的物料和项目号
SELECT rspos posnr matnr
INTO CORRESPONDING FIELDS OF TABLE i_bdc
FROM resb
WHERE aufnr = w_aufnr.
SORT I_BDC BY POSNR.
DATA : w_mestxt TYPE string.
IF i_bdc[] IS INITIAL.
CONCATENATE p_aufnr '不存在或没有BOM物料' INTO w_mestxt.
MESSAGE e368(00) WITH w_mestxt.
STOP.
ENDIF.
ENDFORM. "CHECK_INPUT
*&---------------------------------------------------------------------*
*& Form prd_modify
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM prd_modify.
WRITE:/ '成功与否请看系统左下角的提示,没有绿色成功标志,请重新执行本操作(可能当前有人在修改本生产订单)' COLOR COL_NEGATIVE.
ULINE.
DATA: w_sumi TYPE i VALUE 0 .
DATA: w_sumit TYPE string.
DATA: w_tmp TYPE string.
DATA : w_lgpro TYPE marc-lgpro.
DATA : firstitem TYPE c VALUE 'X'.
REFRESH bdcdata.
CLEAR bdcdata.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-AUFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=KPU2'.
PERFORM bdc_field USING 'CAUFVD-AUFNR'
w_aufnr.
PERFORM bdc_field USING 'R62CLORD-FLG_OVIEW'
'X'.
LOOP AT i_bdc.
w_sumi = w_sumi + 1.
w_sumit = w_sumi.
CONCATENATE '0' w_sumit ')' INTO w_sumit.
CONDENSE w_sumit NO-GAPS.
CLEAR w_lgpro.
* 取物料在计划工厂的生产仓储地点
SELECT SINGLE lgpro
INTO w_lgpro
FROM marc
WHERE werks = p_werk
AND matnr = i_bdc-matnr.
IF w_lgpro IS INITIAL.
WRITE :/ i_bdc-matnr , '生产仓储地点为空'.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
CLEAR w_tmp.
CONCATENATE 'RESBD-WERKS(' w_sumit INTO w_tmp.
PERFORM bdc_field USING 'BDC_CURSOR'
w_tmp.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_FIL'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
PERFORM bdc_field USING w_tmp
p_werk.
CLEAR w_tmp.
CONCATENATE 'RESBD-LGORT(' w_sumit INTO w_tmp.
PERFORM bdc_field USING w_tmp
w_lgpro.
PERFORM bdc_dynpro USING 'SAPLCOMD' '0110'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-MATNR'.
PERFORM bdc_field USING 'RESBD-MATNR'
i_bdc-matnr.
PERFORM bdc_field USING 'RESBD-POSNR'
i_bdc-posnr.
PERFORM bdc_field USING 'RESBD-LGORT'
w_lgpro.
PERFORM bdc_field USING 'RESBD-WERKS'
p_werk.
* firstitem = 'Y'.
* ENDIF.
IF sy-subrc = 0.
WRITE:/ '修改物料:' ,i_bdc-matnr, '行项目:' , i_bdc-posnr .
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-MATNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_FIL'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
CALL TRANSACTION 'CO02' USING bdcdata
MODE 'A'
UPDATE 'S'
MESSAGES INTO messtab.
ENDFORM. "prd_modify
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* ENDIF.
ENDFORM. "BDC_FIELD
* IF firstitem = 'Y' .
* PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RESBD-WERKS(02)'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'FILTER_BOX'
* 'NO_FIL'.
* PERFORM bdc_field USING 'SORT_BOX'
* 'ST_STA'.
* PERFORM bdc_field USING 'RESBD-WERKS(02)'
* p_werk.
* PERFORM bdc_field USING 'RESBD-LGORT(02)'
* w_lgpro.
*
*
* PERFORM bdc_dynpro USING 'SAPLCOMD' '0110'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RESBD-MATNR'.
* PERFORM bdc_field USING 'RESBD-MATNR'
* i_bdc-matnr.
* PERFORM bdc_field USING 'RESBD-POSNR'
* i_bdc-posnr.
* PERFORM bdc_field USING 'RESBD-LGORT'
* w_lgpro.
* PERFORM bdc_field USING 'RESBD-WERKS'
* p_werk.
* ENDIF.
*
* IF firstitem = 'X'.
订单BOM复制到物料BOM
发表人:chateasy | 发表时间: 2008年七月02日, 17:46
report ZPP_ORDBOM_BOM
no standard page heading line-size 255.
INCLUDE ZPPINC_BDC_CS01.
SELECTION-SCREEN BEGIN OF BLOCK radio
WITH FRAME title TEXT-001.
PARAMETERS: P_VBELN LIKE VBAP-VBELN OBLIGATORY,
P_POSNR LIKE VBAP-POSNR OBLIGATORY,
* P_WERKS LIKE VBAP-WERKS OBLIGATORY,
P_STLAN LIKE KDST-STLAN OBLIGATORY DEFAULT '1'.
SELECTION-SCREEN END OF BLOCK radio.
SELECTION-SCREEN BEGIN OF BLOCK radio1
WITH FRAME title TEXT-002.
PARAMETERS: P_WERKS1 LIKE VBAP-WERKS OBLIGATORY,
P_STLAN1 LIKE KDST-STLAN OBLIGATORY DEFAULT '1'.
SELECTION-SCREEN END OF BLOCK radio1.
at selection-screen.
PERFORM CHECK_INPUT.
START-OF-SELECTION.
LOOP AT I_VBAP.
REFRESH: T_GEN , LT_SUB_ITEM.
CLEAR: T_GEN , LT_SUB_ITEM.
PERFORM BOM_EXPLOSION.
perform BOM_CREATE USING P_WERKS1.
ENDLOOP.
*---------------------------------------------------------------------*
* FORM CHECK_INPUT *
*---------------------------------------------------------------------*
* CHECK THE INPUT *
*---------------------------------------------------------------------*
FORM CHECK_INPUT.
SELECT vbeln vbpos matnr werks STLAN
INTO CORRESPONDING FIELDS OF TABLE i_vbap
FROM kdst
WHERE vbeln = p_vbeln
AND vbpos = p_posnr
* AND werks = p_werks
AND STLAN = p_stlan.
IF I_VBAP[] IS INITIAL.
MESSAGE E368(00) WITH '该销售订单/行项目不存在!'.
STOP.
ENDIF.
ENDFORM. "CHECK_INPUT
*&---------------------------------------------------------------------*
*& Include ZPPINC_BDC_CS01 *
*&---------------------------------------------------------------------*
DATA: firstitem(1) TYPE c VALUE 'X'.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
DATA: lt_sub_item LIKE bicsu OCCURS 0 WITH HEADER LINE.
DATA w_temp TYPE string.
DATA: BEGIN OF t_gen OCCURS 0 .
INCLUDE STRUCTURE csxgen .
DATA END OF t_gen.
DATA:BEGIN OF i_vbap OCCURS 0,
vbeln LIKE kdst-vbeln,
vbpos LIKE kdst-vbpos,
matnr LIKE kdst-matnr,
werks LIKE kdst-werks,
STLAN like kdst-STLAN,
END OF i_vbap.
DATA: BEGIN OF t_doc OCCURS 0 .
INCLUDE STRUCTURE csxdoc .
DATA END OF t_doc.
DATA: BEGIN OF t_equi OCCURS 0 .
INCLUDE STRUCTURE csxequi .
DATA END OF t_equi.
DATA: BEGIN OF t_kla OCCURS 0 .
INCLUDE STRUCTURE csxkla.
DATA END OF t_kla.
DATA: BEGIN OF t_mat OCCURS 0 .
INCLUDE STRUCTURE csxmat .
DATA END OF t_mat.
DATA: BEGIN OF t_tpl OCCURS 0 .
INCLUDE STRUCTURE csxtpl .
DATA END OF t_tpl.
DATA: BEGIN OF i_tab OCCURS 0,
matnr LIKE mara-matnr,
mngko LIKE mseg-menge,
END OF i_tab.
*&---------------------------------------------------------------------*
*& Form BOM_CREATE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM bom_create USING P_WERKS.
firstitem = 'X'.
LOOP AT t_gen.
DATA : w_bmeng TYPE stko-bmeng,
w_bmein TYPE stko-bmein.
SELECT SINGLE bmeng bmein INTO
(w_bmeng,w_bmein)
FROM stko CLIENT SPECIFIED
WHERE stlty = t_gen-stlty
AND stlnr = t_gen-stlkn.
IF sy-subrc = 0.
IF firstitem ='X'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29N-STLAN'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RC29N-MATNR' "物料
i_vbap-matnr.
PERFORM bdc_field USING 'RC29N-WERKS' "工厂
P_WERKS.
PERFORM bdc_field USING 'RC29N-STLAN' "BOM用途
'1'.
PERFORM bdc_field USING 'RC29N-DATUV' "有效期始于
sy-datum.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29K-BMENG'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
CLEAR w_temp.
w_temp = w_bmeng.
* concatenate '''' w_temp '''' into w_temp.
PERFORM bdc_field USING 'RC29K-BMENG' "基本数量
w_temp.
PERFORM bdc_field USING 'RC29K-STLST' "BOM 状态
'1'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29K-EXSTL'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0111'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29K-LABOR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
ENDIF.
IF firstitem <>'X'.
*新增加一行项目
PERFORM bdc_dynpro USING 'SAPLCSDI' '0191'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29U-EBORT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCPU'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0150'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-POSNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCNP'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0140'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-AUSKZ(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCUH'.
PERFORM bdc_field USING 'RC29P-AUSKZ(02)'
'X'.
PERFORM bdc_field USING 'RC29P-IDNRK(02)' "组件
t_gen-objnr.
CLEAR w_temp.
w_temp = t_gen-menge / w_bmeng.
PERFORM bdc_field USING 'RC29P-MENGE(02)' "数量
w_temp.
PERFORM bdc_field USING 'RC29P-MEINS(02)' "Un
t_gen-meins.
PERFORM bdc_field USING 'RC29P-POSTP(02)' "L
'L'.
ENDIF.
IF firstitem ='X'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0140'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-AUSKZ(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCUH'.
PERFORM bdc_field USING 'RC29P-AUSKZ(01)'
'X'.
PERFORM bdc_field USING 'RC29P-IDNRK(01)' "组件
t_gen-objnr.
CLEAR w_temp.
w_temp = t_gen-menge.
PERFORM bdc_field USING 'RC29P-MENGE(01)' "数量
w_temp.
PERFORM bdc_field USING 'RC29P-MEINS(01)' "Un
t_gen-meins.
PERFORM bdc_field USING 'RC29P-POSTP(01)' "L
'L'.
ENDIF.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0130'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-ALPGR'.
PERFORM bdc_field USING 'RC29P-POSNR'
t_gen-posnr. "项目编号
PERFORM bdc_field USING 'RC29P-IDNRK'
t_gen-objnr. "组件
firstitem ='Y'.
CLEAR w_temp.
w_temp = t_gen-menge.
PERFORM bdc_field USING 'RC29P-MENGE' "组件数量
w_temp.
PERFORM bdc_field USING 'RC29P-MEINS' "Un
t_gen-meins.
CLEAR w_temp.
w_temp = t_gen-fmeng.
PERFORM bdc_field USING 'RC29P-FMENG' "固定数量
w_temp.
CLEAR w_temp.
w_temp = t_gen-avoau.
PERFORM bdc_field USING 'RC29P-AVOAU' "工序废品按 %
w_temp.
CLEAR w_temp.
w_temp = t_gen-ALPGR.
PERFORM bdc_field USING 'RC29P-ALPGR' "替代项目组 %
w_temp.
CLEAR w_temp.
w_temp = t_gen-netau.
PERFORM bdc_field USING 'RC29P-NETAU' "净ID
w_temp.
CLEAR w_temp.
w_temp = t_gen-AUSCH.
PERFORM bdc_field USING 'RC29P-AUSCH'
w_temp.
if strlen( t_gen-ALPGR ) > 0.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0716'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-EWAHR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'RC29P-EWAHR'
'CLWI'.
CLEAR w_temp.
w_temp = t_gen-ALPGR.
PERFORM bdc_field USING 'RC29P-ALPGR'
w_temp.
CLEAR w_temp.
w_temp = t_gen-ALPRF.
PERFORM bdc_field USING 'RC29P-ALPRF'
w_temp.
CLEAR w_temp.
w_temp = t_gen-ALPST.
PERFORM bdc_field USING 'RC29P-ALPST'
w_temp.
CLEAR w_temp.
w_temp = t_gen-EWAHR.
* w_temp = w_temp+0(3).
PERFORM bdc_field USING 'RC29P-EWAHR'
w_temp.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
endif.
*SAPLCSDI 0716 X
*
* BDC_CURSOR RC29P-EWAHR
* BDC_OKCODE =CLWI
* RC29P-ALPGR 10
* RC29P-ALPRF 1
* RC29P-ALPST 1
* RC29P-EWAHR 111
PERFORM bdc_dynpro USING 'SAPLCSDI' '0131'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29P-LGORT'.
PERFORM bdc_field USING 'RC29P-LGORT' "生产仓储地
t_gen-lgort.
PERFORM bdc_field USING 'RC29P-SANKA' "成本核算标识相
'X'.
PERFORM BOM_CREATE_SUBITEM.
ENDIF.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0191'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29U-EBORT(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCBU'.
CALL TRANSACTION 'CS01' USING bdcdata
MODE 'E'
UPDATE 'A'
MESSAGES INTO messtab.
REFRESH bdcdata.
WRITE messtab .
WRITE:/ messtab-TCODE,messtab-DYNAME, messtab-MSGID,messtab-MSGNR,messtab-MSGV1,messtab-MSGV2,messtab-MSGV3,messtab-MSGV4,messtab-FLDNAME.
IF sy-subrc = 0.
WRITE:/ '复制内容:''订单号:',I_VBAP-VBELN , '行项目:' , I_VBAP-VBPOS , '工厂', I_VBAP-WERKS , '物料' , I_VBAP-MATNR .
WRITE:/ '成功与否看系统本身的红色或绿色提示,该物料如有红色提示为失败,否则就为成功!' COLOR COL_NEGATIVE.
uline.
endif.
ENDFORM. "BOM_CREATE
FORM BOM_CREATE_SUBITEM.
DATA w_upmng TYPE stpu-upmng.
DATA w_subfirt TYPE c.
w_subfirt = 'X'.
SELECT stlkn ebort upmng uposz uptxt
INTO (lt_sub_item-xline , lt_sub_item-ebort, w_upmng, lt_sub_item-uposz, lt_sub_item-uptxt)
FROM stpu
WHERE stlnr = t_gen-stlnr
AND stlkn = t_gen-stlkn
AND stpoz = t_gen-stpoz
AND stlty = 'K'.
IF sy-subrc = 0.
lt_sub_item-upmng = w_upmng.
IF w_subfirt = 'Y'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0191'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29U-UPMNG(02)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCUH'.
PERFORM bdc_field USING 'RC29U-EBORT(02)' "安装地点2
lt_sub_item-ebort.
CLEAR w_temp.
w_temp = lt_sub_item-upmng.
PERFORM bdc_field USING 'RC29U-UPMNG(02)' "子项目数量
w_temp.
PERFORM bdc_field USING 'RC29U-UPTXT(02)' "BOM 子项目文本2
lt_sub_item-uptxt.
ENDIF.
IF w_subfirt = 'X'.
PERFORM bdc_dynpro USING 'SAPLCSDI' '0191'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RC29U-UPMNG(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FCUH'.
PERFORM bdc_field USING 'RC29U-EBORT(01)' "安装地点
lt_sub_item-ebort.
CLEAR w_temp.
w_temp = lt_sub_item-upmng.
PERFORM bdc_field USING 'RC29U-UPMNG(01)' "子项目数量
w_temp.
PERFORM bdc_field USING 'RC29U-UPTXT(01)' "BOM 子项目文本
lt_sub_item-uptxt.
w_subfirt = 'Y'.
ENDIF.
CLEAR lt_sub_item.
ENDIF.
ENDSELECT.
ENDFORM.
*
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
* IF FVAL <> NODATA.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
* ENDIF.
ENDFORM. "BDC_FIELD
*---------------------------------------------------------------------*
* FORM BOM_EXPLOSION *
*---------------------------------------------------------------------*
* BOM EXPLOSION *
*---------------------------------------------------------------------*
FORM bom_explosion.
CALL FUNCTION 'CS_BOM_EXPLOSION'
EXPORTING
capid = 'PP01'
datuv = sy-datum
mktls = space
mehrs = ''
mmory = '1'
stpst = '0'
stlan = i_vbap-stlan
mtnrv = i_vbap-matnr
werks = i_vbap-werks
vbeln = i_vbap-vbeln
vbpos = i_vbap-vbpos
TABLES
stbd = t_doc
stbe = t_equi
stbk = t_kla
stbm = t_mat
stbp = t_gen
stbt = t_tpl
EXCEPTIONS
alt_not_found = 1
missing_authorization = 3
no_bom_found = 4
no_plant_data = 5
no_suitable_bom_found = 6
object_not_found = 7.
IF t_gen[] IS INITIAL.
MESSAGE e368(00) WITH 'BOM展开时出错!'.
STOP.
ENDIF.
ENDFORM. "BOM_EXPLOSION
生产订单关连的表.
发表人:chateasy | 发表时间: 2008年七月01日, 11:45
TABLES: MARD. "物料的仓储位置数据.
TABLES: MARC. "物料的工厂数据.
TABLES: AFPO. "订单项.
TABLES: AFKO. "订单表头数据 PP 订单.
TABLES: RESB. "预定/相关需求 为生产订单 所预留的物料、数量、地点、等
TABLES: AUFK,."订单主数据
* marc-LGPRO 生产仓储地点
* AFPO-PWERK 订单的计划工厂
* AFPO-DWERK 工厂
* AFPO-PLNUM 计划订单号
*AFKO-STLTY BOM 类别
*AFKO-STLNR 物料单
*AFKO-STLST BOM 状态
*AFKO-SDATV 开始生效日期
*AFKO-STLAL 可选的BOM
*AFKO-STLAN BOM用途
*AFKO-AUFLD BOM展开/工艺路线转换的日期
获取人员考勤评估结果的FUNCTION
发表人:chateasy | 发表时间: 2008年五月12日, 22:55
FUNCTION zhrrfc004_lx.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(S_BEGDA) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(S_ENDDA) LIKE SY-DATUM DEFAULT SY-DATUM
*" VALUE(S_SPRSL) LIKE SY-LANGU DEFAULT SY-LANGU
*" VALUE(S_PERNR) LIKE PERNR-PERNR
*" EXPORTING
*" VALUE(RETURN_A) TYPE CHAR200
*" VALUE(E_BEGDA) LIKE SY-DATUM
*" VALUE(E_ENDDA) LIKE SY-DATUM
*" VALUE(E_SPRSL) LIKE SY-LANGU
*" TABLES
*" ITABA STRUCTURE ZHRS003
*"----------------------------------------------------------------------
* INCLUDE rpc2b200.
* DATA: time_results TYPE STANDARD TABLE OF ptm_time_results.
* DATA: time_results_wa LIKE LINE OF time_results.
DATA: BEGIN OF itab_pernr OCCURS 0,
pernr LIKE pa0003-pernr,
END OF itab_pernr.
DATA: BEGIN OF itab_t555f OCCURS 0,
errty LIKE t555f-errty,
error LIKE t555f-error,
etext LIKE t555f-etext,
END OF itab_t555f.
DATA: BEGIN OF fehler_uebergabe OCCURS 10.
INCLUDE STRUCTURE pc2b8.
DATA: END OF fehler_uebergabe.
data flach_fausg like table of t555f with header line.
e_begda = s_begda.
e_endda = s_endda.
e_sprsl = s_sprsl.
CALL FUNCTION 'BKK_GET_MONTH_LASTDAY'
EXPORTING
i_date = s_endda
IMPORTING
e_date = s_endda.
*取工资发放期间(主要是根据时间范围获取所在的年月)
SELECT * INTO CORRESPONDING FIELDS OF TABLE error_periods
FROM t549q WHERE
permo = '01'
AND
begda GE s_begda
AND endda LE s_endda
.
IF s_pernr IS INITIAL .
SELECT DISTINCT pa0003~pernr
INTO CORRESPONDING FIELDS OF TABLE itab_pernr
FROM pa0003
WHERE pa0003~mandt EQ sy-mandt.
ELSE.
APPEND s_pernr TO itab_pernr.
ENDIF.
rp-init-buffer.
rp-def-time-period.
* 获取错误的长文本
select * from t555f
into corresponding fields of table flach_fausg
where mobde = 1
and sprsl = sy-langu.
* and errty = fehler-errty
* and error = fehler-error.
*
FREE itaba.
LOOP AT itab_pernr.
PERFORM fehlertabelle_bauen TABLES fehler_uebergabe
error_periods
* using '00902075'.
USING itab_pernr-pernr.
*
fehler[] = fehler_uebergabe[].
* APPEND LINES OF fehler TO itaba.
LOOP AT fehler.
itaba-pernr = itab_pernr .
itaba-ldate = fehler-ldate.
itaba-ltime = fehler-ltime.
itaba-errty = fehler-errty.
itaba-error = fehler-error.
read table flach_fausg with key errty = itaba-errty error = itaba-error BINARY SEARCH.
itaba-etext = flach_fausg-etext.
itaba-aedtm = fehler-aedtm.
itaba-uname = fehler-uname.
APPEND ITABA TO ITABA.
ENDLOOP.
ENDLOOP.
ENDFUNCTION.
*&---------------------------------------------------------------------*
*& Form fehlertabelle_bauen
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->HAJW_FEHLER text
* -->ERROR_PERIODS text
* -->PERSON text
*----------------------------------------------------------------------*
FORM fehlertabelle_bauen
TABLES hajw_fehler STRUCTURE pc2b8
error_periods STRUCTURE ep_str
USING person TYPE p_pernr.
DATA: BEGIN OF a_error_periods OCCURS 0,
srtfd LIKE pcl2-srtfd,
END OF a_error_periods.
DATA: BEGIN OF b_error_periods OCCURS 0,
relid LIKE pcl2-relid,
srtfd LIKE pcl2-srtfd,
srtf2 LIKE pcl2-srtf2,
END OF b_error_periods.
CLEAR a_error_periods[].
LOOP AT error_periods.
CONCATENATE person
error_periods-pabrj
error_periods-pabrp
'1'
INTO a_error_periods-srtfd.
APPEND a_error_periods.
ENDLOOP.
SELECT * INTO CORRESPONDING FIELDS OF TABLE b_error_periods
FROM pcl2 FOR ALL ENTRIES IN a_error_periods
WHERE srtfd = a_error_periods-srtfd
AND relid = 'B2'
AND srtf2 = 0.
CLEAR hajw_fehler[].
LOOP AT b_error_periods.
b2-key = b_error_periods-srtfd.
rp-imp-c2-b2.
APPEND LINES OF fehler TO hajw_fehler.
ENDLOOP.
fehler[] = hajw_fehler[].
ENDFORM. "fehlertabelle_bauen
物料长文本的写入
发表人:chateasy | 发表时间: 2008年四月21日, 11:22
*&---------------------------------------------------------------------*
*& Report ZRMMDA001 *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT zrmmda001 MESSAGE-ID zc."NO STANDARD PAGE HEADING
"LINE-SIZE 80 LINE-COUNT 65
DATA BEGIN OF w_rawdata.
INCLUDE STRUCTURE soli.
DATA END OF w_rawdata.
DATA t_rawdata LIKE w_rawdata OCCURS 0.
DATA t_header LIKE thead OCCURS 0 WITH HEADER LINE.
DATA t_lines LIKE tline OCCURS 0 WITH HEADER LINE.
DATA BEGIN OF t_fields1 occurs 0.
DATA lines(10000).
DATA END OF t_fields1.
DATA BEGIN OF w_fields.
DATA matnr(18).
DATA td(2).
DATA lines(10000).
DATA END OF w_fields.
DATA BEGIN OF w_raw_fields.
DATA matnr(18).
DATA td(2).
DATA lines(10000).
DATA END OF w_raw_fields.
data: w_matnr(70) type c.
data:l type i.
data:l1 type i.
DATA t_fields LIKE w_fields OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS <fs_field>.
CONSTANTS c_delimiter TYPE x VALUE '09'.
CONSTANTS c_mask(2) TYPE c VALUE ',.'.
CONSTANTS c_field_amount TYPE i VALUE 3.
*****************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.
PARAMETERS p_file LIKE rlgrap-filename OBLIGATORY.
PARAMETERS p_errlog LIKE rlgrap-filename.
SELECTION-SCREEN END OF BLOCK b01.
*****************************************************************
START-OF-SELECTION.
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
** call file selector to get a file name for read-only.
* PERFORM call_file_selector USING c_mask
* 'O'
* 'Open File'(001)
* p_file.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_errlog.
** call file selector to get a file name for over-write.
* PERFORM call_file_selector USING c_mask
* 'S'
* 'New File'(002)
* p_errlog.
PERFORM upload_file TABLES t_fields
USING p_file
'DAT'.
IF sy-subrc <> 0.
MESSAGE s001 WITH p_file.
LEAVE.
ENDIF.
* PERFORM upload_data.
PERFORM insert_data.
*&---------------------------------------------------------------------*
*& Form UPLOAD_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_T_RAWDATA text
* -->P_P_FILE text
* -->P_0093 text
*----------------------------------------------------------------------*
FORM upload_file TABLES t_fields
USING p_file
'DAT'.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
* CODEPAGE = ' '
filename = 'C:Documents and Settings902450桌面123.txt'
filetype = 'DAT'
* HEADLEN = ' '
* LINE_EXIT = ' '
* TRUNCLEN = ' '
* USER_FORM = ' '
* USER_PROG = ' '
* DAT_D_FORMAT = ' '
* IMPORTING
* FILELENGTH =
TABLES
data_tab = t_fields
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
no_authority = 10
OTHERS = 11
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " UPLOAD_FILE
*&---------------------------------------------------------------------*
*& Form UPLOAD_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM upload_data .
CLEAR sy-tabix.
LOOP AT t_rawdata INTO w_rawdata.
CLEAR w_fields.
CLEAR w_raw_fields.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE w_raw_fields TO <fs_field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
SPLIT w_rawdata AT c_delimiter INTO <fs_field> w_rawdata.
ENDDO.
* APPEND W_RAW_FIELDS TO T_RAW_FIELDS.
MOVE-CORRESPONDING w_raw_fields TO w_fields.
APPEND w_fields TO t_fields.
ENDLOOP.
ENDFORM. " UPLOAD_DATA
*&---------------------------------------------------------------------*
*& Form CALL_FILE_SELECTOR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_C_MASK text
* -->P_0157 text
* -->P_0158 text
* -->P_P_ERRLOG text
*----------------------------------------------------------------------*
FORM call_file_selector USING p_c_mask TYPE c
value(p_mode)
value(p_title)
p_file.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
* DEF_FILENAME = ' '
* DEF_PATH = ' '
mask = p_c_mask
mode = p_mode
title = p_title
IMPORTING
filename = p_file
* RC =
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " CALL_FILE_SELECTOR
*&---------------------------------------------------------------------*
*& Form insert_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM insert_data .
LOOP AT t_fields.
* at new matnr.
t_header-tdname = t_fields-matnr.
t_header-tdobject = 'MATERIAL'.
t_header-tdid = 'GRUN'.
t_header-tdspras = 1.
APPEND t_header.
* endat.
*
t_fields1-lines = t_fields-lines.
* t_lines-TDFORMAT = t_fields-td.
APPEND t_fields1.
write : t_fields-lines.
l = strlen( t_fields-lines ).
write : l.
CALL FUNCTION 'CONVERT_STREAM_TO_ITF_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
text_stream = t_fields1
itf_text = t_lines
.
ENDLOOP.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
client = sy-mandt
header = t_header
* INSERT = ' '
savemode_direct = 'X'
* OWNER_SPECIFIED = ' '
* LOCAL_CAT = ' '
* IMPORTING
* FUNCTION =
* NEWHEADER =
TABLES
lines = t_lines
EXCEPTIONS
id = 1
language = 2
name = 3
object = 4
OTHERS = 5
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " insert_DATA
PA Personnel Administration Tables
发表人:chateasy | 发表时间: 2008年二月04日, 16:59
| TABLE | DESCRIPTION |
| PA0000 | HR Master Record: Infotype 0000 (Actions) |
| PA0001 | HR Master Record: Infotype 0001 (Org. Assignment) |
| PA0002 | HR Master Record: Infotype 0002 (Personal Data) |
| PA0003 | HR Master Record: Infotype 0003 (Payroll Status) |
| PA0004 | HR Master Record: Infotype 0004 (Challenge) |
| PA0005 | HR Master Record: Infotype 0005 (Leave Entitlement) |
| PA0006 | HR Master Record: Infotype 0006 (Addresses) |
| PA0007 | HR Master Record: Infotype 0007 (Planned Working Time) |
| PA0008 | HR Master Record: Infotype 0008 (Basic Pay) |
| PA0009 | HR Master Record: Infotype 0009 (Bank Details) |
| PA0010 | HR Master Record: Infotype 0010 (Capital Formation) |
| PA0011 | HR Master Record: Infotype 0011 (Ext.Bank Transfers) |
| PA0012 | HR Master Record: Infotype 0012 (Fiscal Data - Germany) |
| PA0013 | Infotype Social Insurance - Germany |
| PA0014 | HR Master Record: Infotype 0014 (Recurr. Bens/Deducs) |
| PA0015 | HR Master Record: Infotype 0015 (Additional Payments) |
| PA0016 | HR Master Record: Infotype 0016 (Contract Elements) |
| PA0017 | HR master record: Infotype 0017 (Travel Privileges) |
| PA0019 | HR Master Record: Infotype 0019 (Monitoring of Dates) |
| PA0020 | HR Master Record: Infotype 0020 (DUEVO) |
| PA0021 | HR Master Record: Infotype 0021 (Family) |
| PA0022 | HR Master Record: Infotype 0022 (Education) |
| PA0023 | HR Master Record: Infotype 0023 (Previous Employment) |
| PA0024 | HR Master Record: Infotype 0024 (Qualifications) |
| PA0025 | HR Master Record: Infotype 0025 (Personal Appraisals) |
| PA0026 | HR Master Record: Infotype 0026 (Company Pension Plan) |
| PA0027 | HR Master Record: Infotype 0027 (Cost Distribution) |
| PA0028 | HR Master Record: Infotype 0028 (Int. Medical Service) |
| PA0029 | HR Master Record: Infotype 0029 (Workers' Compensation) |
| PA0030 | HR Master Record: Infotype 0030 (Powers of Attorney) |
| PA0031 | HR Master Record: Infotype 0031 (Reference Pers.Nos.) |
| PA0032 | HR Master Record: Infotype 0032 (Internal Control) |
| PA0033 | International Infotype 0033: Statistics Exceptions |
| PA0034 | HR Master Record: Infotype 0034 (Corporate Functions) |
| PA0035 | HR Master Record: Infotype 0035 (Comp.Instr.) |
| PA0036 | HR Master Record: Infotype 0036 (Social Insurance CH) |
| PA0037 | HR Master Record: Infotype 0037 (Insurance) |
| PA0038 | HR Master Record: Infotype 0038 (Tax - CH) |
| PA0039 | HR Master Record: Infotype 0039 (Add. Org. Assign. CH) |
| PA0040 | HR Master Record: Infotype 0040 (Objects on Loan) |
| PA0041 | HR Master Record: Infotype 0041 (Date Specifications) |
| PA0042 | HR Master Record: Infotype 0042 (Tax - Austria) |
| PA0043 | HR Master Record: Infotype 0043 (Family Allowance - A) |
| PA0044 | HR Master Record: Infotype 0044 (Social Insurance - A) |
| PA0045 | HR Master Record: Infotype 0045 (Company Loans) |
| PA0046 | HR Master Record: Infotype 0046 (Pension Fund - CH) |
| PA0048 | HR Master Record: Infotype 0048 (Residence Status - CH) |
| PA0049 | HR Master Record: Infotype 0049 (Red.Hrs./Bad Weather) |
| PA0050 | HR Master Record: Infotype 0050 (Time Recording) |
| PA0051 | HR Master Record: Infotype 0051 (ASB/SPI Data) |
| PA0052 | HR Master Record: Infotype 0052 (Wage Maintenance) |
| PA0053 | HR Master Record: Infotype 0053 (Pension Reserves) |
| PA0054 | HR Master Record: Infotype 0054 (Works Council Pay) |
| PA0055 | HR Master Record: Infotype 0055 (Previous Employer - A) |
| PA0056 | HR Master Record: Infotype 0056 (Sick Certificates-A) |
| PA0057 | HR Master Record: Infotype 0057 (Membership Fees) |
| PA0058 | HR Master Record: Infotype 0058 (Commuter Lump Sum A) |
| PA0059 | HR Master Record: Infotype 0059 (Social Insurance - NL) |
| PA0060 | HR Master Record: Infotype 0060 (Fiscal Data - Netherlands) |
| PA0061 | HR Master Record: Infotype 0061 (Social Insurance - E) |
| PA0062 | HR Master Record: Infotype 0062 (Tax - E) |
| PA0063 | HR Master Record: Infotype 0063 (Social Ins. Funds NL) |
| PA0064 | HR Master Record: Infotype 0064 (Social Insurance - F) |
| PA0065 | HR Master Record: Infotype 0065 (Tax - GB) |
| PA0066 | HR Master data infotype 0066 - Canadian garnishment: order |
| PA0067 | HR master data infotype 0067 - Canadian garnishment: debt |
| PA0068 | HR master data infotype 0068 - Canadian garnishment: adjust |
| PA0069 | HR Master Record: Infotype 0069 (Nat. Insurance - GB) |
| PA0070 | HR Master Record: Infotype 0070 (Court Orders - GB) |
| PA0071 | HR Master Record: Infotype 0071 (Pension Funds - GB) |
| PA0072 | HR Master Record: Infotype 0072 (Tax - DK) |
| PA0073 | HR Master Record: Infotype 0073 (Private Pensions - DK) |
| PA0074 | HR Master Record: Infotype 0074 (Vacation/SH DK) |
| PA0075 | HR Master Record: Infotype 0075 (ATP Pension - DK) |
| PA0076 | HR Master Record: Infotype 0076 (Workers Compensation NA) |
| PA0077 | HR Master Record: Infotype 0077 (Additional Personal Data) |
| PA0078 | HR Master Record: Infotype 0078 (Loan Payments) |
| PA0079 | Infotype SI Additional Insurance - D |
| PA0080 | HR Master Record: Infotype 0080 (Maternity Protection) |
| PA0081 | HR Master Record: Infotype 0081 (Military Service) |
| PA0082 | HR Master Record: Infotype 0082 (Additional Absence Data) |
| PA0083 | HR Master Record: Infotype 0083 (Leave Compensation) |
| PA0084 | HR Master Record: Infotype 0084 (Sickness Pay Control - GB) |
| PA0085 | HR Master Record: Infotpye 0085 (Work Incapacity Periods GB) |
| PA0086 | HR Master Record: Infotype 0086 (SSP/SMP Exclusions GB) |
| PA0088 | HR Master Record: Infotype 0088 (SMP Record - GB) |
| PA0090 | HR Master Record: Infotype 0090 (Various Payee Keys) |
| PA0092 | HR Master Record: Infotype 0092 (Seniority - E) |
| PA0093 | HR Master Record: Infotype 0093 (Previous Employer - D) |
| PA0094 | HR Master Record: Infotype 0094 (Residence Status - NA) |
| PA0095 | HR Master Record: Infotype 0095 (Tax Canada) |
| PA0096 | HR Master Record: Infotype 0096 (Tax - USA) |
| PA0097 | No longer used - will be deleted |
| PA0098 | HR Master Record: Infotype 0098 (Profit Sharing - F) |
| PA0099 | No longer used - will be deleted |
| PA0100 | HR Master Record: Infotype 0100 (SI B) |
| PA0101 | HR Master Record: Infotype 0101 (Tax B) |
| PA0102 | HR Master Record: Infotype 0102 (Grievances NA) |
| PA0103 | HR Master Record: Infotype 0103 (Bond Purchases NA) |
| PA0104 | HR Master Record: Infotype 0104 (Bond Denominations NA) |
| PA0105 | HR Master Record: Infotype 0105 (Communications) |
| PA0106 | HR Master Record: Infotype 0106 (Related Persons NA) |
| PA0107 | HR Master Record: Infotype 0107 (Work Schedule B) |
| PA0108 | HR Master Record: Infotype 0108 (Personal Data B) |
| PA0109 | HR Master Record: Infotype 0109 (Contract Elements B) |
| PA0110 | HR Master Record: Infotype 0110 (Pensions NL) |
| PA0111 | HR Master Record: Infotype 0111 (Garnishment Admin. D) |
| PA0112 | HR Master Record: Infotype 0112 (Garn.Repaym. D) |
| PA0113 | HR Master Record: Infotype 0113 (Garnishment Int. D) |
| PA0114 | HR Master Record: Infotype 0114 (Garnishable Amount D) |
| PA0115 | HR Master Record: Infotpye 0115 (Garnishment Wages D ) |
| PA0116 | HR Master Record: Infotpye 0116 (Garn.Transfer D) |
| PA0117 | HR Master Record: Infotype 0117 (Garnishment Comp.) |
| PA0118 | HR Master Record: Infotype 0118 (Child Allowance D) |
| PA0119 | HR Master Record: Infotype 0119 (Annual Income CA D) |
| PA0120 | HR Master Record: Infotype 0120 (Pension Fund Trans. CH) |
| PA0121 | HR Master Record: Infotype 0121 (RefPerNo Priority) |
| PA0122 | HR Master Record: Infotype 0122 (Child Allowance Bonus D) |
| PA0123 | No longer used - will be deleted |
| PA0124 | No longer used - will be deleted |
| PA0125 | HR Master Record: Infotype 0125 (Garnishment B) |
| PA0126 | Infotype: Supplementary Pension Germany |
| PA0127 | HR Master Record: Infotype 0127 (Commuting NL) |
| PA0128 | HR Master Record: Infotype 0128 (Notifications) |
| PA0129 | HR Master Record: Infotype 0129 (Text Number Assign.) |
| PA0130 | HR Master Record: Infotpye 0130 (Checking Procedures) |
| PA0131 | HR Master Record: Infotype 0131 (Garn.Mgmt.Data A) |
| PA0132 | HR Master Record: Infotpye 0132 (Garnishment A) |
| PA0133 | HR Master Record: Infotype 0133 (Garnsh.Interest A) |
| PA0134 | HR Master Record: Infotype 0134 (Garnishable Amount A) |
| PA0135 | HR Master Record: Infotpye 0135 (Garn.Spec.Cond. A) |
| PA0136 | HR Master Record: Infotype 0136 (Garnish.Trans A) |
| PA0137 | HR Master Record: Infotype 0137 (Garnish.Comp. A) |
| PA0138 | HR Master Record: Infotype 0138 (Family/Ref.Pers B) |
| PA0139 | HR Master Record: Infotype 0139 (Employees Appl.No) |
| PA0140 | HR Master Record: Infotype 0140 (SI Basic Data JP) |
| PA0141 | HR Master Record: Infotype 0141 (SI Premium Data JP) |
| PA0142 | HR Master Record: Infotype 0142 (Residence Tax JP) |
| PA0143 | HR Master Record: Infotype 0143 (Life Insurance JP) |
| PA0144 | HR Master Record: Infotype 0144 (Property Accum. JP) |
| PA0145 | HR Master Record: Infotype 0145 (Personnel Tax Status JP) |
| PA0146 | HR Master Record: Infotype 0146 (Y.E.A. Data JP) |
| PA0147 | HR Master Record: Infotype 0147 |
| PA0148 | HR Master Record: Infotype 0148 (Family JP) |
| PA0149 | HR Master Record Infotype 0149 (Tax Data South Africa) |
| PA0150 | HR Master Record Infotype 0150 (Social Insurance SA) |
| PA0151 | HR Master Record Infotype 0151 (Ext.Insurance South Africa) |
| PA0161 | HR Master Record: Infotype 0161 (Limits IRS) |
| PA0162 | HR Master Record: Infotype 0162 (Ins. Y.E.T.A Data JP) |
| PA0165 | HR Master Record: Infotype 0165 (Limits Deductions) |
| PA0167 | HR Master Record: Infotype 0167 (Health Care Plans) |
| PA0168 | HR Master Record: Infotype 0168 (Insurance Plans) |
| PA0169 | HR Master Record: Infotype 0169 (Savings Plans) |
| PA0170 | HR Master Record: Infotype 0170 (Spending Accounts) |
| PA0171 | HR Master Record: Infotype 0171 (General Benefits Data) |
| PA0172 | HR Master Record: Infotype 0172 (Pension Insurance) |
| PA0177 | HR Master Record: Infotype 0177 [Wet Allochtonenreg.] (NL) |
| PA0179 | HR Master Record: Infotype 0179 (Tax SG) |
| PA0181 | HR Master Record: Infotype 0181 [Add. Funds] (SG) |
| PA0182 | HR Master Record: Infotype 0182 [Alternative Names] (SG) |
| PA0183 | HR Master Record: Infotype 0183 [Awards] (SG) |
| PA0184 | HR Master Record: Infotype 0184 [Resume text] (SG) |
| PA0185 | HR Master Record: Infotype 0185 [Identification] (SG) |
| PA0186 | HR Master Record: Infotype 0186 [Social Insurance] (SG) |
| PA0188 | Tax (Australia) |
| PA0189 | HR Master Record Infotype 0189 (Construction Industry Wages) |
| PA0190 | HR Master Data Record Infotype 0190 (BuildingTradePrevERDat) |
| PA0191 | HR Master Record Infotype 0191 (BuildingTradeReimbursExpens) |
| PA0192 | Personnel Master Record Infotype 0192 (BuildingTrade Attrib) |
| PA0194 | HR Master Record Infotype 0194 (Garnishment Document) |
| PA0195 | HR Master Record Infotype 0195 (Garnishment Order) |
| PA0196 | HR Master Record:Infotype 0196 (Employee Provident Fund MY) |
| PA0197 | HR Master Record:Infotype 0197 (SOCSO Contributions MY) |
| PA0198 | Sheduled Tax Deductuion Malaysia |
| PA0199 | Tax deduction CP38 / Additional amt / Bonus - Malaysia |
| PA0200 | HR Master Record, Infotype 0200 (Garnishments DK) |
| PA0201 | Personnel master record infotype 0201 (basic pension amnts) |
| PA0204 | HR Master Record, Infotype 0204 (DA/DS Statistics DK) |
| PA0207 | HR Master Record: Infotype 0207 (Residence Tax Area) |
| PA0208 | HR Master Record: Infotype 0208 (Work Tax Area - USA) |
| PA0209 | HR Master Record: Infotype 0209 (Unemployment Insurance USA) |
| PA0210 | HR Master Record: Infotype 0210 (W4 USA) |
| PA0211 | HR Master Record: Infotype 0211 (COBRA Qual. Beneficiaries) |
| PA0212 | HR Master Record: Infotpye 0212 (COBRA Health Plans) |
| PA0213 | Additional family information - Malaysia |
| PA0215 | Building Trade Transaction Data |
| PA0216 | Garnishment Adjustment |
| PA0217 | Infotype 0217 (INSEE code) |
| PA0218 | Infotype 0218 (number of pension fund) |
| PA0219 | HR Master Record: Infotype 0219 (External organisations) |
| PA0220 | Superannuation (Australia) |
| PA0221 | HR Master Record: Infotype 0221 (Manual Checks) |
| PA0222 | HR Master Record for Infotype 0222 (Company Cars GB) |
| PA0224 | Tax information - inf. 0224 - Canada |
| PA0225 | HR Master Record for Infotype 0225 (Company Cars GB 2) |
| PA0227 | Tax file number (Australia) |
| PA0230 | HR Master Record: Infotype 0230 / View 0008 (PSG) |
| PA0231 | HR Master Record: Infotype 0231 / View 0001 (PSG) |
| PA0232 | Personal-master record infotype 0232 (Child Allowance) (D) |
| PA0233 | HR-F master record infotype 0233 ('Bilan Social') |
| PA0234 | HR Master Record Infotype 0234 (Add. Withh. Inform. - USA) |
| PA0235 | HR Master Record: Infotype 0235 (Other Taxes - USA) |
| PA0236 | HR Master Record: Infotype 0236 (Credit Plans) |
| PA0237 | HR Master Record: Infotype 0237 / View for 0052 (PSG) |
| PA0241 | Indonesian Tax Data |
| PA0242 | JAMSOSTEK Details, Indonesia |
| PA0261 | Leave Accrual Australia |
| PA0264 | |
| PA0265 | HR Master Record: Infotype 0265 / Special Regulations (PSG) |
| PA0266 | HR Master Record: Infotype 0266 / View 0027 (PSG) |
| PA0267 | HR Master Record: Infotype 0267 (One time Payment off-cycle) |
| PA0268 | HR Master Record Infortype view 0045 and 0268 (Loan JPN) |
| PA0269 | HR Master Record: Infotype 0269 (ADP Information USA) |
| PA0270 | HR Master Data Record: Infotype 0270 (COBRA Payments) |
| PA0272 | HR master record - infotype 0272 (Garnishment F) |
| PA0273 | HR Master Record: Infotype 0273 (Tax - SE) |
| PA0274 | HR Master Record: Infotype 0274 (Insurance - SE) |
| PA0275 | HR Master Record: Infotype 0275 (Garnishment - SE) |
| PA0276 | HR Master Record: Infotype 0276 (OPIS - SE) |
| PA0277 | HR Master Record: Infotype 0277 (Exceptions - SE) |
| PA0278 | HR master record infotype 0278 (PF basic data [CH]) |
| PA0279 | HR master record infotype 0279 (Indiv.values for PF [CH]) |
| PA0280 | HR Master Record Infotype 0280/View for 0016 |
| PA0281 | HR Master Record Infotype 0281/View for 0045 |
| PA0283 | HR Master Record for Infotype 0283 (Archiving) |
| PA0288 | HR CH: HR Master Record Infotype 0021 (Suppl. Switzerland) |
| PA0302 | HR Master Record: Infotype 0302 (Additional Actions) |
| PA0303 | |
| PA0304 | Basic pay - additional information |
| PA0309 | IRD Number Infotype NZ |
| PA0310 | Superannuation NZ |
| PA0311 | Leave Adjustments - NZ |
| PA0312 | Leave History Adjustments NZ |
| PA0313 | Employee Taxation Detail Infotype NZ |
| PA0314 | I0314: Days for Vacation Allow. and Sal.Deducs (DK/N) |
| PA0315 | CATS: Sender Information |
| PA0317 | |
| PA0318 | HR Master Record: Infotype Family data for Indonesia (0318) |
| PA0319 | Indonesia Private Insurances |
| PA0341 | HR - master record infotype 341 (DUEVO start) |
| PA0352 | NHI for Family member (TW) |
| PA0353 | Income Tax Taiwan |
| PA0354 | Labor Insurance Taiwan |
| PA0355 | National Health Insurance Taiwan |
| PA0356 | Employment Stabilization Fund (TW) |
| PA0357 | Saving Plan (TW) |
| PA0358 | Employee Welfare Fund (TW) |
| PA0362 | HR Master Record: Infotype Membership for Indonesia (0362) |
| PA0367 | HR Master Record: Infotype 0367 (SI-Addit.Notif.Data A) |
| PA0369 | |
| PA0370 | |
| PA0371 | HR Master Record: Infotype 0371 (Previous Job Tax) |
| PA0373 | HR loan repayment plan JP(P0268) |
| PA0374 | Infortype 0374: General Eligibility |
| PA0375 | HR Master Data Record: Infotype 0375 (Add. Benefits Data) |
| PA0376 | HR Master Data Record: Infotype 0376 (Medical Benefits Data) |
| PA0377 | HR Master Data Record: Infotype 0377 (Misc. Plans) |
| PA0378 | HR Master Data Record: Infotype 0378 (Benefits Events) |
| PA0380 | Compensation History |
| PA0381 | HR Master Record Infotype 0381 |
| PA0382 | HR Master Data Record Infotype 0382 |
| PA0388 | HR Master Record: Infotype 0388 (Union JP) |
| PA0395 | HR Master Record: Infotype 0395 (External Org.Assignment) |
| PA0396 | HR Master Record: Infotype 0396 (Expatriate Attributes) |
| PA0402 | Accounting infotype |
| PA0403 | HR Master Record for Infotype 0403 |
| PA0404 | HR Master Record: Infotype 0404 (Military Service Taiwan) |
| PA0405 | Personnel master record infotype 0405 (absence events) |
| PA0408 | |
| PA0409 | |
| PA0467 | Personnel master data Infotype 0467 (SI addit.notif. pl.c.A) |
| PA0900 | HR Master Record: Infotype 0900 (Sales Data) |
| PA0901 | HR master record info category 0901 (purch. data) |
| PA2001 | HR Time Record: Infotype 2001 (Absences) |
| PA2002 | HR Time Record: Infotype 2002 (Attendances) |
| PA2003 | HR Time Record: Infotype 2003 (Substitutions) |
| PA2004 | HR Time Record: Infotype 2004 (Availability) |
| PA2005 | HR Time Record: Infotype 2005 (Overtime) |
| PA2006 | HR Time Record: Infotype 2006 (Absence Quotas) |
| PA2007 | HR Time Record: Infotype 2007 (Attendance Quotas) |
| PA2010 | HR Time Record: Infotype 2010 (Employee Remuneration Info.) |
| PA2012 | HR Time Record: Infotype 2012 (Time Transfer Specifications) |
| PA2013 | HR Time Record: Infotype 2013 (Quota Corrections) |
| PAHI | History of system, DB and SAP parameter |
| PANNNN | HR Master Record: Infotype NNNN |
| PAPL | Applicant master data |
| PARAMVALUE | Run-time variables for platform-independent file names |
| PARCT | Receipt log table (Japan) |
| PAT00 | Patch steps |
| PAT01 | Patch status |
| PAT03 | Patch directory |
| PAT04 | Patch add-on ID (PAOID) |
| PAT05 | SAP Patch Manager settings |
| PAT06 | Component-specific patches |
| PATH | Definition of physical file paths for each syntax |
| PATHTEXT | Logical file path names |
| PATN | Partner number/organizational unit |
| PAYR | Payment transfer medium file |
| PAYRQ | Payment Requests |
| PA_SSTRCV1 | Generated table for view PA_SSTRCV1 |
| PA_SSTRCV2 | Generated table for view PA_SSTRCV2 |
| PA_SSTRCV3 | Generated table for view PA_SSTRCV3 |
| PA_SSTRCV4 | Generated table for view PA_SSTRCV4 |