需求:在角色FLCU01(客户)下增加屏幕页签,效果如下:
第一步:BUS1
第二步:BUS2
第三步:BUS3
第四步:BUS4
第五步:BUS5
第六步:BUS6
第七步:BUSD
第八步:BUS7
注意:必须把新增字段附加到INCL_EEW_KNA1和INCL_EEW_KNA1_X(字段长度为1,更新标识)里
FUNCTION ZSD02_U001.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
DATA:
LT_KNA1 TYPE TABLE OF KNA1.
* step 1: request data from xo for dynpro structure
CVI_BDT_ADAPTER=>DATA_PBO(
EXPORTING
I_TABLE_NAME = TABLE_NAME_KNA1
IMPORTING
E_DATA_TABLE = LT_KNA1[]
).
IF LT_KNA1[] IS INITIAL.
CLEAR GS_KNA1.
ELSE.
READ TABLE LT_KNA1 INTO GS_KNA1 INDEX 1.
ENDIF.
ENDFUNCTION.
FUNCTION ZSD02_U002.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
DATA:
LT_KNA1 TYPE TABLE OF KNA1.
FIELD-SYMBOLS:
<KNA1> LIKE LINE OF LT_KNA1.
CHECK CVI_BDT_ADAPTER=>IS_DIRECT_INPUT_ACTIVE( ) = FALSE.
* step 1: update xo memory from dypro structure
CVI_BDT_ADAPTER=>GET_CURRENT_BP_DATA(
EXPORTING
I_TABLE_NAME = TABLE_NAME_KNA1
IMPORTING
E_DATA_TABLE = LT_KNA1[]
).
IF LT_KNA1[] IS INITIAL.
IF GS_KNA1 IS NOT INITIAL.
GS_KNA1-KUNNR = CVI_BDT_ADAPTER=>GET_CURRENT_CUSTOMER( ).
APPEND GS_KNA1 TO LT_KNA1.
ENDIF.
ELSE.
READ TABLE LT_KNA1 ASSIGNING <KNA1> INDEX 1.
<KNA1>-ZZMDM = GS_KNA1-ZZMDM.
<KNA1>-ZZMOV = GS_KNA1-ZZMOV.
<KNA1>-ZZSAMPLE = GS_KNA1-ZZSAMPLE.
ENDIF.
CVI_BDT_ADAPTER=>DATA_PAI(
I_TABLE_NAME = TABLE_NAME_KNA1
I_DATA_NEW = LT_KNA1[]
I_VALIDATE = FALSE
).
ENDFUNCTION.
FUNCTION ZSD02_U003.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
* CLEAR: GS_KNA1.
CALL FUNCTION 'CVIC_BUPA_KNA1_GET'
IMPORTING
E_KNA1 = GS_KNA1.
MOVE-CORRESPONDING GS_KNA1 TO KNA1.
ENDFUNCTION.
FUNCTION ZSD02_U004.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
DATA : LS_KNA1 TYPE KNA1.
LS_KNA1 = KNA1.
MOVE-CORRESPONDING GS_KNA1 TO KNA1.
KNA1-ZZMDM = LS_KNA1-ZZMDM.
KNA1-ZZMOV = LS_KNA1-ZZMOV.
KNA1-ZZSAMPLE = LS_KNA1-ZZSAMPLE.
CALL FUNCTION 'CVIC_BUPA_KNA1_COLLECT'
EXPORTING
I_SUBNAME = 'ZCUSTM01'
I_KNA1 = KNA1.
ENDFUNCTION.
FUNCTION ZSD02_U005.
*"----------------------------------------------------------------------
*"*"本地接口:
*" EXPORTING
*" REFERENCE(E_XCHNG) TYPE BOOLE_D
*"----------------------------------------------------------------------
IF GS_KNA1-ZZMDM NE KNA1-ZZMDM OR
GS_KNA1-ZZMOV NE KNA1-ZZMOV OR
GS_KNA1-ZZSAMPLE NE KNA1-ZZSAMPLE.
E_XCHNG = 'X'.
ENDIF.
ENDFUNCTION.
FUNCTION ZSD02_U006.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
CLEAR: GS_KNA1,KNA1.
ENDFUNCTION.