Está en la página 1de 4

TABLA BD DE PRUEBA: ZTAUTODDVM

------------------------------

TRANSACCION: SE80
CLASE/INTERFACE: ZCL_ZBW_ODATA_ZTAUT_02_DPC_EXT

CLASE GET_ENTITY
----------------

method AUTO_ODATASET_GET_ENTITY.
**TRY.
*CALL METHOD SUPER->AUTO_ODATASET_GET_ENTITY
* EXPORTING
* IV_ENTITY_NAME =
* IV_ENTITY_SET_NAME =
* IV_SOURCE_NAME =
* IT_KEY_TAB =
** io_request_object =
** io_tech_request_context =
* IT_NAVIGATION_PATH =
** IMPORTING
** er_entity =
** es_response_context =
* .
** CATCH /iwbep/cx_mgw_busi_exception .
** CATCH /iwbep/cx_mgw_tech_exception .
**ENDTRY.

DATA: LS_KEY TYPE LINE OF /IWBEP/T_MGW_NAME_VALUE_PAIR.

LOOP AT IT_KEY_TAB INTO LS_KEY.


ENDLOOP.

SELECT SINGLE * FROM ZTAUTODDVM INTO CORRESPONDING FIELDS OF ER_ENTITY WHERE ID =


LS_KEY-VALUE.

endmethod.

===================================================================================
==================

CLASE CREATE
------------

method AUTO_ODATASET_CREATE_ENTITY.
**TRY.
*CALL METHOD SUPER->AUTO_ODATASET_CREATE_ENTITY
* EXPORTING
* IV_ENTITY_NAME =
* IV_ENTITY_SET_NAME =
* IV_SOURCE_NAME =
* IT_KEY_TAB =
** io_tech_request_context =
* IT_NAVIGATION_PATH =
** io_data_provider =
** IMPORTING
** er_entity =
* .
** CATCH /iwbep/cx_mgw_busi_exception .
** CATCH /iwbep/cx_mgw_tech_exception .
**ENDTRY.

DATA: GS_AUTO_STR TYPE ZSAUTODDVM. "VARIABLE ESTRUCTURA GLOBAL


DATA: GS_AUTO_01 TYPE ZTAUTODDVM. "VARIABLE ESTRUCTURA DE LA TABLA BD
DATA: GS_AUTO_02 TYPE ZTAUTODDVM. "VARIABLE ESTRUCTURA DE LA TABLA BD

IO_DATA_PROVIDER->READ_ENTRY_DATA( IMPORTING ES_DATA = GS_AUTO_STR ).

IF GS_AUTO_STR IS NOT INITIAL.


SELECT SINGLE * FROM ZTAUTODDVM INTO GS_AUTO_01 WHERE ID = GS_AUTO_STR-ID.

IF SY-SUBRC NE 0.
MOVE-CORRESPONDING GS_AUTO_STR TO GS_AUTO_02.
INSERT ZTAUTODDVM FROM GS_AUTO_02.

COMMIT WORK.

IF SY-SUBRC EQ 0.
MOVE GS_AUTO_STR TO ER_ENTITY.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE INSERCCION - ALGO ESTA MAL EN LA
CREACION DE AUTO'.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE INSERCCION - AUTO YA EXISTE'.
ROLLBACK WORK.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE INSERCCION - INGRESAR DATOS DEL AUTO'.
ENDIF.
endmethod.

===================================================================================
==================

CLASE UPDATE
------------

method AUTO_ODATASET_UPDATE_ENTITY.
**TRY.
*CALL METHOD SUPER->AUTO_ODATASET_UPDATE_ENTITY
* EXPORTING
* IV_ENTITY_NAME =
* IV_ENTITY_SET_NAME =
* IV_SOURCE_NAME =
* IT_KEY_TAB =
** io_tech_request_context =
* IT_NAVIGATION_PATH =
** io_data_provider =
** IMPORTING
** er_entity =
* .
** CATCH /iwbep/cx_mgw_busi_exception .
** CATCH /iwbep/cx_mgw_tech_exception .
**ENDTRY.

DATA: GS_AUTO_STR TYPE ZSAUTODDVM. "VARIABLE ESTRUCTURA GLOBAL


DATA: GS_AUTO_01 TYPE ZTAUTODDVM. "VARIABLE ESTRUCTURA DE LA TABLA BD
DATA: GS_AUTO_02 TYPE ZTAUTODDVM. "VARIABLE ESTRUCTURA DE LA TABLA BD

IO_DATA_PROVIDER->READ_ENTRY_DATA( IMPORTING ES_DATA = GS_AUTO_STR ).

IF GS_AUTO_STR IS NOT INITIAL.


SELECT SINGLE * FROM ZTAUTODDVM INTO GS_AUTO_01 WHERE ID = GS_AUTO_STR-ID.

IF SY-SUBRC EQ 0.
MOVE-CORRESPONDING GS_AUTO_STR TO GS_AUTO_02.
UPDATE ZTAUTODDVM FROM GS_AUTO_02.

COMMIT WORK.

IF SY-SUBRC EQ 0.
MOVE GS_AUTO_STR TO ER_ENTITY.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE MODIFICACION - ALGO ESTA MAL EN LA
MODIFICACION DE AUTO'.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE MODIFICACION - AUTO NO EXISTE'.
ROLLBACK WORK.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE MODIFICACION - INGRESAR DATOS DEL AUTO PARA
MODIFICAR'.
ENDIF.
endmethod.

===================================================================================
==================

CLASE DELETE
------------

method AUTO_ODATASET_DELETE_ENTITY.
**TRY.
*CALL METHOD SUPER->AUTO_ODATASET_DELETE_ENTITY
* EXPORTING
* IV_ENTITY_NAME =
* IV_ENTITY_SET_NAME =
* IV_SOURCE_NAME =
* IT_KEY_TAB =
** io_tech_request_context =
* IT_NAVIGATION_PATH =
* .
** CATCH /iwbep/cx_mgw_busi_exception .
** CATCH /iwbep/cx_mgw_tech_exception .
**ENDTRY.

DATA: GS_AUTO TYPE ZTAUTODDVM. "VARIABLE ESTRUCTURA DE


LA TABLA BD
DATA: GS_PAIR_ID TYPE /IWBEP/S_MGW_NAME_VALUE_PAIR. "VARIABLE QUE CAPTURA EL
CODIGO DE ENTRADA
DATA: C_ID TYPE STRING VALUE 'ID'.
"EN LA URL

READ TABLE IT_KEY_TAB INTO GS_PAIR_ID WITH KEY NAME = C_ID.

IF GS_PAIR_ID IS NOT INITIAL.


SELECT SINGLE * FROM ZTAUTODDVM INTO GS_AUTO WHERE ID = GS_PAIR_ID-VALUE.

IF GS_PAIR_ID IS NOT INITIAL.


DELETE FROM ZTAUTODDVM WHERE ID = GS_PAIR_ID-VALUE.

COMMIT WORK.

IF SY-SUBRC EQ 0.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE ELIMINACION - ALGO ESTA MAL EN LA
ELIMINACION DE AUTO'.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE ELIMINACION - AUTO NO EXISTE'.
ROLLBACK WORK.
ENDIF.
ELSE.
RAISE EXCEPTION TYPE /IWBEP/CX_MGW_BUSI_EXCEPTION
EXPORTING
TEXTID = /IWBEP/CX_MGW_BUSI_EXCEPTION=>BUSINESS_ERROR
MESSAGE = 'ERROR DE ELIMINACION - INGRESAR CODIGO PARA LA
ELIMINACION DE AUTO'.
ENDIF.
endmethod.

También podría gustarte