虽然老大们表示,以后不会再让我们玩这个了,不过本着要玩就彻底的态度,把能看到的功能多试验一下。
这里先讲一个知识点:
BPS变量:
从类型上来说,有:特征变量,层级变量,数值变量,属性变量。
除了属性变量外,其它几个变量应该都是很容易懂得,而属性变量是通过属性值的约束,获取特征值的范围,比如省份是地区的属性,那么如果限定属性值等于广东,那么可以选择的地区即都是广东地区,不过遗憾的是,我一直尝试在Web实现这个变量,一直没有成功,变量值始终显示“全部”。
另外值的来源方法,又分为以下几种:
1. 固定值 2. 依据用户而定义的值 3. 用户出口(就是ABAP啦)4. 权限
方法1是将这个变量能够用到的值,都罗列出来;方法2是按照用户的不同,罗列不同的值;方法3是通过Function的方式动态去取值,比较灵活,方法4同BW的权限控制是统一的,即BW的权限控制直接拿过来用而已。
言归正传。
锁定过程一般会有三个动作,查询锁定,锁定执行,以及解锁,所以在设置用户出口的时候,需要加入两个变量,即“什么东西”,“什么动作”。
我就直接放代码了,过程解释都在里面呢。
FUNCTION z_bps_exit_exec_lock.
*"------------------------------------------------------ *"*"Local Interface:
*" IMPORTING
*" VALUE(I_AREA) TYPE UPC_Y_AREA
*" VALUE(I_PLEVEL) TYPE UPC_Y_PLEVEL
*" VALUE(I_PACKAGE) TYPE UPC_Y_PACKAGE
*" VALUE(I_METHOD) TYPE UPC_Y_METHOD
*" VALUE(I_PARAM) TYPE UPC_Y_PARAM
*" VALUE(IT_EXITP) TYPE UPF_YT_EXITP
*" VALUE(ITO_CHASEL) TYPE UPC_YTO_CHASEL
*" VALUE(ITO_CHA) TYPE UPC_YTO_CHA
*" VALUE(ITO_KYF) TYPE UPC_YTO_KYF
*" EXPORTING
*" REFERENCE(ET_MESG) TYPE UPC_YT_MESG
*" CHANGING
*" REFERENCE(XTH_DATA) TYPE HASHED TABLE
*"-----------------------------------------------------
TABLES:upc_dataslicet,
*"------------------------------------------------------ *"*"Local Interface:
*" IMPORTING
*" VALUE(I_AREA) TYPE UPC_Y_AREA
*" VALUE(I_PLEVEL) TYPE UPC_Y_PLEVEL
*" VALUE(I_PACKAGE) TYPE UPC_Y_PACKAGE
*" VALUE(I_METHOD) TYPE UPC_Y_METHOD
*" VALUE(I_PARAM) TYPE UPC_Y_PARAM
*" VALUE(IT_EXITP) TYPE UPF_YT_EXITP
*" VALUE(ITO_CHASEL) TYPE UPC_YTO_CHASEL
*" VALUE(ITO_CHA) TYPE UPC_YTO_CHA
*" VALUE(ITO_KYF) TYPE UPC_YTO_KYF
*" EXPORTING
*" REFERENCE(ET_MESG) TYPE UPC_YT_MESG
*" CHANGING
*" REFERENCE(XTH_DATA) TYPE HASHED TABLE
*"-----------------------------------------------------
TABLES:upc_dataslicet,
upc_dataslice,upc_optios,zv_dataslice.
DATA:wa_upc_dataslicet TYPE upc_dataslicet ,
wa_upc_dataslice TYPE upc_dataslice,
wa_upc_optios TYPE upc_optios.
DATA: itab LIKE TABLE OF zsave,
wa LIKE LINE OF itab.
DATA: lt_bapiret TYPE STANDARD TABLE OF bapiret2,
lt_data_cust TYPE STANDARD TABLE OF upc_ys_api_data,
lt_row TYPE STANDARD TABLE OF upc_ys_api_row,
lt_subrc TYPE sy-subrc,
l_select TYPE string.
DATA: lto_chas TYPE yto_chas.
DATA: l_date LIKE sy-datum.
DATA: wa_chasel TYPE LINE OF upc_yto_chasel,
ls_chasel TYPE upc_ys_chasel,
ls_chas TYPE ys_chas,
ls_charng TYPE upc_ys_charng.
DATA:ls_para TYPE upf_ys_exitp,
ls_val(60) .
FIELD-SYMBOLS: TYPE ANY.
DATA: l_str TYPE string.
DATA:l_area LIKE i_area ,
l_sort(6) , "保存
l_act(1),"执行操作 N-NEW,D-DELETE
l_flag VALUE 'N'. "是否存在
DATA:l_ds_year LIKE zbps_ds_year,
l_ds_year_old LIKE zbps_ds_year .
DATA:BEGIN OF ls_ds_year,
sort(2),
include TYPE zbps_ds_year,
END OF ls_ds_year.
DATA: lt_ds_year LIKE TABLE OF ls_ds_year.
DATA:wa_mesg TYPE LINE OF upc_yt_mesg.
DATA:l_do(6), "参数一执行的动作
l_con(3). "锁定内容
*"----------------------------------------------------------------
*" L_VER
*" S:销售预测锁定ZVERSION -> Y1:Y6
*" SR: 销售回款编辑锁定 ZVERSION -> Y9
*" PS:生产预测销售版锁定 ZVERSION -> Y7
*" PP:生产预测生产版锁定 ZVERSION -> Y8
*"
*" L_CON
*" CHECK:检查版本锁定状态
*" LOCK: 版本锁定 (直接添加)
*" UNLOCK:版本解锁(直接删除)
*"--------------------------------------------------------------------
DATA:BEGIN OF ls_old_ds,
sort LIKE zv_dataslice-sort,
area LIKE zv_dataslice-area,
fieldname LIKE zv_dataslice-fieldname,
low LIKE zv_dataslice-low,
END OF ls_old_ds.
DATA:lt_old_ds LIKE TABLE OF ls_old_ds.
****获取锁定条件
LOOP AT ito_chasel INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0.
ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE l_ds_year TO .
IF sy-subrc EQ 0.
= ls_charng-low.
IF ls_chasel-chanm NE '0CURRENCY'.
CONCATENATE l_str '' ls_charng-low INTO l_str.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
* READ TABLE it_exitp INTO ls_para INDEX 1."
***读取参数值 读取操作动作
READ TABLE it_exitp INTO ls_para WITH KEY parnm = 'STATUS'.
l_do = ls_para-chavl.
**** 读取操作内容参数
READ TABLE it_exitp INTO ls_para WITH KEY parnm = 'CONTENT'.
l_con = ls_para-chavl.
* LOCK - 进行锁定
* UNLOCK - 进行解锁
* CHECK - 判断锁状态
***先判断area是否存在 dataslice
SELECT sort area fieldname low
INTO TABLE lt_old_ds
FROM zv_dataslice
WHERE area = i_area.
IF sy-subrc NE 0. "目前不存在任何此area的dataslice
CASE l_do.
WHEN 'UNLOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统不存在任何版本的锁定!'.
APPEND wa_mesg TO et_mesg.
WHEN 'LOCK'.
l_act = 'N'. "新增锁定
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ELSE. "已存在,需要再次判断
SORT lt_old_ds BY sort.
LOOP AT lt_old_ds INTO ls_old_ds.
ASSIGN COMPONENT ls_old_ds-fieldname OF STRUCTURE l_ds_year_old TO .
IF sy-subrc EQ 0.
* concatenate '2:'
* ls_old_ds-fieldname into wa-zstr1 .
* wa-zstr2 = ls_old_ds-low.
* MODIFY zsave FROM wa.
= ls_old_ds-low.
ENDIF.
****
AT END OF sort.
IF l_ds_year_old EQ l_ds_year.
l_sort = ls_old_ds-sort.
l_flag = 'Y'.
EXIT.
ENDIF.
ENDAT.
ENDLOOP.
IF l_flag EQ 'Y'.
CASE l_do.
WHEN 'LOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统此版本已锁定!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
WHEN 'UNLOCK'.
l_act = 'D'.
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ELSE.
CASE l_do.
WHEN 'UNLOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统此版本未锁定!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
WHEN 'LOCK'.
l_act = 'N'.
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ENDIF.
*
ENDIF.
DATA:l_uid LIKE rssgtpdir-uni_idc25.
IF l_act EQ 'N'.
CALL FUNCTION 'RSS_SYSTEM_GET_UNIQUE_ID'
IMPORTING
e_uni_idc25 = l_uid.
SELECT sort INTO l_sort
FROM zv_dataslice
UP TO 1 ROWS
WHERE area = i_area
ORDER BY sort DESCENDING.
ENDSELECT.
IF sy-subrc EQ 0.
l_sort = l_sort + 1.
ELSE.
l_sort = 1.
ENDIF.
***UPC_DATASLICE
wa_upc_dataslice-area = i_area.
wa_upc_dataslice-sort = l_sort.
wa_upc_dataslice-guid = l_uid.
wa_upc_dataslice-inactive = ''.
INSERT upc_dataslice FROM wa_upc_dataslice.
***UPC_DATASLICET
wa_upc_dataslicet-area = i_area.
wa_upc_dataslicet-sort = l_sort.
wa_upc_dataslicet-langu = '1'.
wa_upc_dataslicet-text = l_str.
INSERT upc_dataslicet FROM wa_upc_dataslicet.
***UPC_OPTIOS
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
LOOP AT ito_chasel INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0.
wa_upc_optios-fieldname = ls_chasel-chanm.
wa_upc_optios-low = ls_charng-low.
INSERT upc_optios FROM wa_upc_optios.
ENDIF.
ENDLOOP.
wa_upc_optios-fieldname = 'ZVERSION'.
CASE l_con.
WHEN 'S'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'BT'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y1'.
wa_upc_optios-high = 'Y6'.
WHEN 'SR'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y9'.
WHEN 'PS'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y7'.
WHEN 'PP'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y8'.
ENDCASE.
INSERT upc_optios FROM wa_upc_optios.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前版本锁定已添加成功!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
ELSEIF l_act EQ 'D'.
SELECT SINGLE guid INTO l_uid
FROM upc_dataslice
WHERE area = i_area AND
sort = l_sort.
IF sy-subrc EQ 0.
DELETE FROM upc_dataslice
WHERE area = i_area AND
sort = l_sort.
DELETE FROM upc_dataslicet
WHERE area = i_area AND
sort = l_sort.
DELETE FROM upc_optios
WHERE guid = l_uid.
ENDIF.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前版本锁定已删除成功!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
ENDIF.
* DATA:ES_AREA_SLICE TYPE YS_AREA_SLICE.
IF l_act EQ 'N' OR l_act EQ 'D'.
* PERFORM buffer_dataslice_get
* IN PROGRAM saplupc_dataslice
* USING I_AREA "insert your data slice area name here
* 'E'
* CHANGING ES_AREA_SLICE .
*
* PERFORM buffer_dataslice_update
* IN PROGRAM saplupc_dataslice .
CALL FUNCTION 'UPC_DATASLICE_COMMIT'.
CALL FUNCTION 'UPC_DATASLICE_SAVE'.
ENDIF.
CLEAR:l_act.
ENDFUNCTION.
DATA:wa_upc_dataslicet TYPE upc_dataslicet ,
wa_upc_dataslice TYPE upc_dataslice,
wa_upc_optios TYPE upc_optios.
DATA: itab LIKE TABLE OF zsave,
wa LIKE LINE OF itab.
DATA: lt_bapiret TYPE STANDARD TABLE OF bapiret2,
lt_data_cust TYPE STANDARD TABLE OF upc_ys_api_data,
lt_row TYPE STANDARD TABLE OF upc_ys_api_row,
lt_subrc TYPE sy-subrc,
l_select TYPE string.
DATA: lto_chas TYPE yto_chas.
DATA: l_date LIKE sy-datum.
DATA: wa_chasel TYPE LINE OF upc_yto_chasel,
ls_chasel TYPE upc_ys_chasel,
ls_chas TYPE ys_chas,
ls_charng TYPE upc_ys_charng.
DATA:ls_para TYPE upf_ys_exitp,
ls_val(60) .
FIELD-SYMBOLS: TYPE ANY.
DATA: l_str TYPE string.
DATA:l_area LIKE i_area ,
l_sort(6) , "保存
l_act(1),"执行操作 N-NEW,D-DELETE
l_flag VALUE 'N'. "是否存在
DATA:l_ds_year LIKE zbps_ds_year,
l_ds_year_old LIKE zbps_ds_year .
DATA:BEGIN OF ls_ds_year,
sort(2),
include TYPE zbps_ds_year,
END OF ls_ds_year.
DATA: lt_ds_year LIKE TABLE OF ls_ds_year.
DATA:wa_mesg TYPE LINE OF upc_yt_mesg.
DATA:l_do(6), "参数一执行的动作
l_con(3). "锁定内容
*"----------------------------------------------------------------
*" L_VER
*" S:销售预测锁定ZVERSION -> Y1:Y6
*" SR: 销售回款编辑锁定 ZVERSION -> Y9
*" PS:生产预测销售版锁定 ZVERSION -> Y7
*" PP:生产预测生产版锁定 ZVERSION -> Y8
*"
*" L_CON
*" CHECK:检查版本锁定状态
*" LOCK: 版本锁定 (直接添加)
*" UNLOCK:版本解锁(直接删除)
*"--------------------------------------------------------------------
DATA:BEGIN OF ls_old_ds,
sort LIKE zv_dataslice-sort,
area LIKE zv_dataslice-area,
fieldname LIKE zv_dataslice-fieldname,
low LIKE zv_dataslice-low,
END OF ls_old_ds.
DATA:lt_old_ds LIKE TABLE OF ls_old_ds.
****获取锁定条件
LOOP AT ito_chasel INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0.
ASSIGN COMPONENT ls_chasel-chanm OF STRUCTURE l_ds_year TO .
IF sy-subrc EQ 0.
= ls_charng-low.
IF ls_chasel-chanm NE '0CURRENCY'.
CONCATENATE l_str '' ls_charng-low INTO l_str.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
* READ TABLE it_exitp INTO ls_para INDEX 1."
***读取参数值 读取操作动作
READ TABLE it_exitp INTO ls_para WITH KEY parnm = 'STATUS'.
l_do = ls_para-chavl.
**** 读取操作内容参数
READ TABLE it_exitp INTO ls_para WITH KEY parnm = 'CONTENT'.
l_con = ls_para-chavl.
* LOCK - 进行锁定
* UNLOCK - 进行解锁
* CHECK - 判断锁状态
***先判断area是否存在 dataslice
SELECT sort area fieldname low
INTO TABLE lt_old_ds
FROM zv_dataslice
WHERE area = i_area.
IF sy-subrc NE 0. "目前不存在任何此area的dataslice
CASE l_do.
WHEN 'UNLOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统不存在任何版本的锁定!'.
APPEND wa_mesg TO et_mesg.
WHEN 'LOCK'.
l_act = 'N'. "新增锁定
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ELSE. "已存在,需要再次判断
SORT lt_old_ds BY sort.
LOOP AT lt_old_ds INTO ls_old_ds.
ASSIGN COMPONENT ls_old_ds-fieldname OF STRUCTURE l_ds_year_old TO .
IF sy-subrc EQ 0.
* concatenate '2:'
* ls_old_ds-fieldname into wa-zstr1 .
* wa-zstr2 = ls_old_ds-low.
* MODIFY zsave FROM wa.
= ls_old_ds-low.
ENDIF.
****
AT END OF sort.
IF l_ds_year_old EQ l_ds_year.
l_sort = ls_old_ds-sort.
l_flag = 'Y'.
EXIT.
ENDIF.
ENDAT.
ENDLOOP.
IF l_flag EQ 'Y'.
CASE l_do.
WHEN 'LOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统此版本已锁定!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
WHEN 'UNLOCK'.
l_act = 'D'.
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ELSE.
CASE l_do.
WHEN 'UNLOCK' OR 'CHECK'.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前系统此版本未锁定!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
WHEN 'LOCK'.
l_act = 'N'.
WHEN OTHERS.
wa_mesg-msgty = 'E'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '未知命令,请联系开发人员!'.
APPEND wa_mesg TO et_mesg.
ENDCASE.
ENDIF.
*
ENDIF.
DATA:l_uid LIKE rssgtpdir-uni_idc25.
IF l_act EQ 'N'.
CALL FUNCTION 'RSS_SYSTEM_GET_UNIQUE_ID'
IMPORTING
e_uni_idc25 = l_uid.
SELECT sort INTO l_sort
FROM zv_dataslice
UP TO 1 ROWS
WHERE area = i_area
ORDER BY sort DESCENDING.
ENDSELECT.
IF sy-subrc EQ 0.
l_sort = l_sort + 1.
ELSE.
l_sort = 1.
ENDIF.
***UPC_DATASLICE
wa_upc_dataslice-area = i_area.
wa_upc_dataslice-sort = l_sort.
wa_upc_dataslice-guid = l_uid.
wa_upc_dataslice-inactive = ''.
INSERT upc_dataslice FROM wa_upc_dataslice.
***UPC_DATASLICET
wa_upc_dataslicet-area = i_area.
wa_upc_dataslicet-sort = l_sort.
wa_upc_dataslicet-langu = '1'.
wa_upc_dataslicet-text = l_str.
INSERT upc_dataslicet FROM wa_upc_dataslicet.
***UPC_OPTIOS
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
LOOP AT ito_chasel INTO ls_chasel.
READ TABLE ls_chasel-t_charng INTO ls_charng INDEX 1.
IF sy-subrc = 0.
wa_upc_optios-fieldname = ls_chasel-chanm.
wa_upc_optios-low = ls_charng-low.
INSERT upc_optios FROM wa_upc_optios.
ENDIF.
ENDLOOP.
wa_upc_optios-fieldname = 'ZVERSION'.
CASE l_con.
WHEN 'S'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'BT'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y1'.
wa_upc_optios-high = 'Y6'.
WHEN 'SR'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y9'.
WHEN 'PS'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y7'.
WHEN 'PP'.
wa_upc_optios-guid = l_uid.
wa_upc_optios-seqno = '1'.
wa_upc_optios-optio = 'EQ'.
wa_upc_optios-sign = 'I'.
wa_upc_optios-low = 'Y8'.
ENDCASE.
INSERT upc_optios FROM wa_upc_optios.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前版本锁定已添加成功!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
ELSEIF l_act EQ 'D'.
SELECT SINGLE guid INTO l_uid
FROM upc_dataslice
WHERE area = i_area AND
sort = l_sort.
IF sy-subrc EQ 0.
DELETE FROM upc_dataslice
WHERE area = i_area AND
sort = l_sort.
DELETE FROM upc_dataslicet
WHERE area = i_area AND
sort = l_sort.
DELETE FROM upc_optios
WHERE guid = l_uid.
ENDIF.
wa_mesg-msgty = 'I'.
wa_mesg-msgno = '0001'.
wa_mesg-msgv1 = '当前版本锁定已删除成功!'.
wa_mesg-msgv2 = l_str.
APPEND wa_mesg TO et_mesg.
ENDIF.
* DATA:ES_AREA_SLICE TYPE YS_AREA_SLICE.
IF l_act EQ 'N' OR l_act EQ 'D'.
* PERFORM buffer_dataslice_get
* IN PROGRAM saplupc_dataslice
* USING I_AREA "insert your data slice area name here
* 'E'
* CHANGING ES_AREA_SLICE .
*
* PERFORM buffer_dataslice_update
* IN PROGRAM saplupc_dataslice .
CALL FUNCTION 'UPC_DATASLICE_COMMIT'.
CALL FUNCTION 'UPC_DATASLICE_SAVE'.
ENDIF.
CLEAR:l_act.
ENDFUNCTION.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/554557/viewspace-700872/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/554557/viewspace-700872/