AS01/AS02/AS03固定资产界面增强
2026/7/18 17:10:04 网站建设 项目流程

增强效果如下:

CMOD:创建增强-》AIST0002

在EXIT_SAPLAIST_002实现如下代码:

ANLA = I_ANLA .
ANLV = I_ANLV .
ANLU = I_ANLU .
GD_MODE = I_MODE .
GD_XSUBNO = I_XSUBNO .
GT_ANLZ[] = T_ANLZ[] .
GT_ANLB[] = T_ANLB[] .

GV_XMXG = I_ANLU-XMXG.
GV_FLAG = ''.
GV_CHANGE = ''.

CLEAR GT_XM[].
SELECT A~ZXMBM B~ZXMMC A~ZBL
INTO TABLE GT_XM
FROM ZTFI001 AS A
JOIN ZTFI002 AS B ON A~ZXMBM = B~ZXMBM
WHERE ANLN1 = I_ANLA-ANLN1
AND ANLN2 = I_ANLA-ANLN2
AND BUKRS = I_ANLA-BUKRS.

在EXIT_SAPLAIST_003实现如下代码:

DATA: LT_FI001 LIKE TABLE OF ZTFI001,
LS_FI001 LIKE ZTFI001.

IF SY-UCOMM = 'BUCH' AND GV_FLAG = ''.
DELETE FROM ZTFI001 WHERE BUKRS = ANLU-BUKRS AND ANLN1 = ANLU-ANLN1 AND ANLN2 = ANLU-ANLN2.
LOOP AT GT_XM INTO GS_XM.
MOVE-CORRESPONDING ANLU TO LS_FI001.
MOVE-CORRESPONDING GS_XM TO LS_FI001.
APPEND LS_FI001 TO LT_FI001.
ENDLOOP.
MODIFY ZTFI001 FROM TABLE LT_FI001.
GV_FLAG = 'X'.
ENDIF.



E_ANLU = ANLU.

在函数组创建屏幕:9001

在程序ZXAISZZZ中做9001屏幕的PBO/PAI代码如下:

*&---------------------------------------------------------------------*
*& 包含 ZXAISZZZ
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module TC9001_CHANGE_TC_ATTR OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE TC9001_CHANGE_TC_ATTR OUTPUT.
DESCRIBE TABLE GT_XM LINES TC9001-LINES.
IF GD_MODE NE 'A'.
TC9001-LINES = TC9001-LINES + 10.
ENDIF.
LOOP AT SCREEN.
IF GD_MODE = 'A'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_9001 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.
DATA: LV_ZBL LIKE ZTFI001-ZBL.
CLEAR LV_ZBL.
DATA: LV_CODE(30).
DATA: LV_FIELD(30) VALUE '(SAPLAIST)OK-CODE'.
ASSIGN (LV_FIELD) TO FIELD-SYMBOL(<FS>).
IF <FS> IS ASSIGNED.
IF <FS> = 'DELE' OR <FS> = 'RW' OR <FS> = 'BEN' OR <FS> = 'ABB'
OR <FS> = 'TAB09' OR <FS> = 'PICK' OR <FS> = ''.
ELSE.
IF GT_XM IS NOT INITIAL AND GV_CHANGE = 'X'.
* CLEAR GV_CHANGE.
LOOP AT GT_XM INTO GS_XM.
LV_ZBL = LV_ZBL + GS_XM-ZBL.
ENDLOOP.
IF LV_ZBL NE 100.
CLEAR <FS>.
MESSAGE E001(00) WITH '比例必须为100%'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
CASE SY-UCOMM.
WHEN 'DELE'.
DELETE GT_XM WHERE SEL = 'X'.
* WHEN .
WHEN OTHERS.
ENDCASE.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module UPDATE_DATA INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE UPDATE_DATA INPUT.

IF GS_XM-ZXMBM IS INITIAL.
DELETE GT_XM INDEX TC9001-CURRENT_LINE.
ELSE.

LOOP AT GT_XM INTO DATA(LS_XM) WHERE ZXMBM = GS_XM-ZXMBM.
IF SY-TABIX NE TC9001-CURRENT_LINE.
MESSAGE E001(00) WITH '已存在相同数据'.
ENDIF.
ENDLOOP.

SELECT SINGLE ZXMMC INTO GS_XM-ZXMMC FROM ZTFI002
WHERE ZXMBM = GS_XM-ZXMBM.
IF SY-SUBRC NE 0.
MESSAGE E001(00) WITH '项目编码不正确'.
ENDIF.

MODIFY GT_XM FROM GS_XM INDEX TC9001-CURRENT_LINE.
IF SY-SUBRC NE 0.
APPEND GS_XM TO GT_XM.
ENDIF.
IF GV_XMXG = ''.
ANLU-XMXG = 'X'.
ELSE.
ANLU-XMXG = ''.
ENDIF.
ENDIF.
GV_CHANGE = 'X'.
ENDMODULE.

通过事务代码:AOLA新建资产格式,复制SAP到ZSAP

双击表页标题,

增加需要页签9:项目信息

需要注意的是前台不能直接输入9,系统会提示标签9不允许,系统只有8个,我们可以在修改后台表TAMLAY1,增加数据信息

选中9,双击组位置,绑定组框,U9001为前面创建屏幕9001,这里也是只能通过修改表TAMLAY2维护

事务代码AOLK,维护资产分类对应的布局

PS:如果不想新建页签,也可以直接挂在现有页签下,

AOLA:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询