Start of Content Area

Background documentation Form Routine for Versioning

*-----------------------------------------------------------------*

* INCLUDE LZLOCAL_BFP_TESTH01 *

*-----------------------------------------------------------------*

 

FORM ZVZTEST_LOS_OD_PR_AVOID_DELETE.

DATA: BEGIN OF I_TABLE_DEF.

INCLUDE STRUCTURE ZVZTEST_LOS_OD_PR.

INCLUDE STRUCTURE VIMTBFLAGS.

DATA: END OF I_TABLE_DEF.

DATA: I_TABLE LIKE I_TABLE_DEF OCCURS 0 WITH HEADER LINE,

I_TABLE_UEG LIKE I_TABLE_DEF OCCURS 0 WITH HEADER LINE.

 

CALL FUNCTION 'CACS_DELETE_IN_CUSTOMIZING'

EXPORTING

I_TABNAM = 'ZTEST_LOS_OD'

I_VIEWNAM = VIEW_NAME

TABLES

I_EXTRACT = EXTRACT

I_TOTAL = TOTAL

I_TABLE = I_TABLE

I_TABLE_UEG = I_TABLE_UEG

CHANGING

I_TABLE1 = <TABLE1>

I_VIM_TOTAL_KEY = <VIM_TOTAL_KEY>

I_XACT = <XACT>.

ENDFORM.

 

 

*******************************************************************

********************** Event 05 ZVZTEST_LOS_OD_PR *************

*******************************************************************

 

FORM ZVZTEST_LOS_OD_PR_INIT.

DATA:

TS TYPE TIMESTAMP.

IF STATUS-ACTION = 'C'.

GET TIME STAMP FIELD TS.

ZVZTEST_LOS_OD_PR-TECH_BEGIN = TS.

ZVZTEST_LOS_OD_PR-TECH_END = '99991231000000'.

ZVZTEST_LOS_OD_PR-FLG_CANCEL_VERS = ' '.

ZVZTEST_LOS_OD_PR-CHG_USR = SY-UNAME.

ZVZTEST_LOS_OD_PR-VERSION = 1.

ZVZTEST_LOS_OD_PR-STATUS_WORK = 9.

ZVZTEST_LOS_OD_PR-STATUS_VERSION = 1.

PERFORM ZVZTEST_LOS_OD_PR_VERSION.

<F1> = <VIM_TOTAL_KEY>.

ENDIF.

ENDFORM.

 

 

*******************************************************************

********************** Event 21 ZVZTEST_LOS_OD_PR *************

*******************************************************************

 

FORM ZVZTEST_LOS_OD_PR_INIT.

DATA: ACTION,

BEGIN OF I_TABLE_DEF.

INCLUDE STRUCTURE ZVZTEST_LOS_OD_PR.

INCLUDE STRUCTURE VIMTBFLAGS.

DATA: END OF I_TABLE_DEF.

DATA: I_TABLE LIKE I_TABLE_DEF OCCURS 0 WITH HEADER LINE.

* I_CACS_TABLE LIKE TCACS_LOS_ST_OD,

* I_CACS_TABLE1 LIKE ZTEST_LOS_OD.

FIELD-SYMBOLS: <ACT>.

 

I_TABLE = ZVZTEST_LOS_OD_PR.

APPEND I_TABLE.

 

MOVE ZVZTEST_LOS_OD_PR TO <VIM_TOTAL_KEY>.

READ TABLE EXTRACT WITH KEY <VIM_TOTAL_KEY>.

 

* MOVE-CORRESPONDING V_TCACS_TRCAS_AK TO I_CACS_TABLE.

* MOVE EXTRACT TO V_TCACS_TRCAS_AK.

* MOVE-CORRESPONDING V_TCACS_TRCAS_AK TO I_CACS_TABLE1.

*

* IF I_CACS_TABLE = I_CACS_TABLE1.

* IF NOT I_CACS_TABLE-BUSI_BEGIN IS INITIAL.

* <TABLE1> = I_TABLE.

* ELSE.

* READ TABLE TOTAL INDEX 1.

* MOVE TOTAL TO <TABLE1>.

* STATUS = 'EULG'.

* NEUER = 'N'.

* ENDIF.

* ELSE.

ACTION = STATUS-ACTION.

CALL FUNCTION 'CACS_VIEW'

EXPORTING

I_TABNAM = 'ZTEST_LOS_OD'

I_VIEW_NAME = VIEW_NAME

TABLES

T_TABLE = I_TABLE

EXTRACT = EXTRACT

TOTAL = TOTAL

CHANGING

MAXLINES = MAXLINES

TABLE1 = <TABLE1>

ZEILE = ZVZTEST_LOS_OD_PR

ACTION = ACTION

XACT = <XACT>

STATUS_VIEW_DELETE = STATUS_ZVZTEST_LOS_OD_PR-ST_DELETE

VIM_TOTAL_KEY = I_TABLE

KEY = <VIM_TOTAL_KEY>

STATUS_VIEW_UPD_FLG = STATUS_ZVZTEST_LOS_OD_PR-UPD_FLAG

STATUS_VIEW_UPD_CHK =STATUS_ZVZTEST_LOS_OD_PR-UPD_CHECKD

EXIND = EXIND

EXCEPTIONS

ERROR = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

<STATUS>-UPD_FLAG = ' '.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4 RAISING ERROR.

ELSE.

MOVE EXTRACT TO I_TABLE.

IF I_TABLE-VERSION <> 0.

NEUER = 'N'.

ENDIF.

ENDIF.

* ENDIF.

endform.

 

 

End of Content Area