Difference between revisions of "SAP BDS"
From SapWiki
(→Clases) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 44: | Line 44: | ||
==BDSFIND_1 - Iniciar Business Document Navigator (trn. OAER)== | ==BDSFIND_1 - Iniciar Business Document Navigator (trn. OAER)== | ||
==Objetos== | ==Objetos== | ||
+ | ===Paquete SBDS=== | ||
+ | ===Clases=== | ||
+ | * CL_BDS_DOCUMENT_SET | ||
+ | ejemplo | ||
+ | <nowiki> | ||
+ | " load patient picture from BDS | ||
+ | cl_bds_document_set=>get_with_table( | ||
+ | EXPORTING | ||
+ | classname = co_bds_classname "PICTURES | ||
+ | classtype = co_bds_classtype "OT | ||
+ | object_key = l_key "HOTEL_5_STAR | ||
+ | CHANGING | ||
+ | content = lt_content | ||
+ | components = lt_components | ||
+ | EXCEPTIONS | ||
+ | error_kpro = 1 | ||
+ | internal_error = 2 | ||
+ | nothing_found = 3 | ||
+ | no_content = 4 | ||
+ | parameter_error = 5 | ||
+ | not_authorized = 6 | ||
+ | not_allowed = 7 | ||
+ | OTHERS = 8 ). | ||
+ | l_rc = sy-subrc. | ||
+ | ls_msg-msgid = sy-msgid. | ||
+ | ls_msg-msgno = sy-msgno. | ||
+ | ls_msg-attr1 = sy-msgv1. | ||
+ | ls_msg-attr2 = sy-msgv2. | ||
+ | ls_msg-attr3 = sy-msgv3. | ||
+ | ls_msg-attr4 = sy-msgv4. | ||
+ | |||
+ | CASE l_rc. | ||
+ | WHEN 0. " image found | ||
+ | " continue | ||
+ | WHEN 3 OR 4. " nothing found -> use fallback | ||
+ | RETURN. | ||
+ | WHEN 6. " authorization missing | ||
+ | RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception | ||
+ | EXPORTING | ||
+ | http_status_code = /iwbep/cx_mgw_busi_exception=>gcs_http_status_codes-forbidden | ||
+ | textid = ls_msg. | ||
+ | WHEN OTHERS. " something else | ||
+ | RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception | ||
+ | EXPORTING | ||
+ | http_status_code = '500' " internal server error | ||
+ | textid = ls_msg. | ||
+ | ENDCASE. | ||
+ | |||
+ | READ TABLE lt_components INDEX 1 ASSIGNING FIELD-SYMBOL(<ls_component>). | ||
+ | IF <ls_component> IS ASSIGNED. | ||
+ | " set mime type | ||
+ | es_stream-mime_type = <ls_component>-mimetype. | ||
+ | |||
+ | " set stream data | ||
+ | " convert binary data to xstring | ||
+ | l_size = <ls_component>-comp_size. | ||
+ | |||
+ | CALL FUNCTION 'SCMS_BINARY_TO_XSTRING' | ||
+ | EXPORTING | ||
+ | input_length = l_size | ||
+ | IMPORTING | ||
+ | buffer = es_stream-value | ||
+ | TABLES | ||
+ | binary_tab = lt_content | ||
+ | EXCEPTIONS | ||
+ | failed = 1 | ||
+ | OTHERS = 2. | ||
+ | |||
+ | IF sy-subrc <> 0. | ||
+ | CLEAR es_stream-value. | ||
+ | CLEAR es_stream-mime_type. | ||
+ | ENDIF. | ||
+ | ENDIF.</nowiki> | ||
+ | |||
===Transacciones=== | ===Transacciones=== | ||
* SBDSV1 - Actualizar clases de documento (tabla BDS_LOCL) | * SBDSV1 - Actualizar clases de documento (tabla BDS_LOCL) | ||
− | |||
− |
Latest revision as of 23:44, 3 September 2024
Contents
BDSTESTOO - BDS: Programa de test p.métodos OO
ejemplo
Método GET_WITH_TABLE Sistema lógico Nombre de categoría PICTURES Tipo de clase OT Mandante 400 Clave HOTEL_5_STAR
WHEN 'GET_WITH_TABLE'. REFRESH i_signature. CALL METHOD o_document_set->get_with_table EXPORTING logical_system = i_logical_system classname = i_classname classtype = i_classtype client = i_client object_key = i_object_key CHANGING content = i_content signature = i_signature components = i_components EXCEPTIONS OTHERS = 1. READ TABLE i_components INDEX 1 INTO ls_components. IF sy-subrc = 0. ld_out_len = ls_components-comp_size. ELSE. ld_out_len = 0. ENDIF. IF ld_out_len > 0. CALL FUNCTION 'SCMS_BINARY_TO_XSTRING' EXPORTING input_length = ld_out_len IMPORTING buffer = ed_file TABLES binary_tab = i_content. endif.
Objetos
Paquete SBDS
Clases
- CL_BDS_DOCUMENT_SET
ejemplo
" load patient picture from BDS cl_bds_document_set=>get_with_table( EXPORTING classname = co_bds_classname "PICTURES classtype = co_bds_classtype "OT object_key = l_key "HOTEL_5_STAR CHANGING content = lt_content components = lt_components EXCEPTIONS error_kpro = 1 internal_error = 2 nothing_found = 3 no_content = 4 parameter_error = 5 not_authorized = 6 not_allowed = 7 OTHERS = 8 ). l_rc = sy-subrc. ls_msg-msgid = sy-msgid. ls_msg-msgno = sy-msgno. ls_msg-attr1 = sy-msgv1. ls_msg-attr2 = sy-msgv2. ls_msg-attr3 = sy-msgv3. ls_msg-attr4 = sy-msgv4. CASE l_rc. WHEN 0. " image found " continue WHEN 3 OR 4. " nothing found -> use fallback RETURN. WHEN 6. " authorization missing RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception EXPORTING http_status_code = /iwbep/cx_mgw_busi_exception=>gcs_http_status_codes-forbidden textid = ls_msg. WHEN OTHERS. " something else RAISE EXCEPTION TYPE /iwbep/cx_mgw_busi_exception EXPORTING http_status_code = '500' " internal server error textid = ls_msg. ENDCASE. READ TABLE lt_components INDEX 1 ASSIGNING FIELD-SYMBOL(<ls_component>). IF <ls_component> IS ASSIGNED. " set mime type es_stream-mime_type = <ls_component>-mimetype. " set stream data " convert binary data to xstring l_size = <ls_component>-comp_size. CALL FUNCTION 'SCMS_BINARY_TO_XSTRING' EXPORTING input_length = l_size IMPORTING buffer = es_stream-value TABLES binary_tab = lt_content EXCEPTIONS failed = 1 OTHERS = 2. IF sy-subrc <> 0. CLEAR es_stream-value. CLEAR es_stream-mime_type. ENDIF. ENDIF.
Transacciones
- SBDSV1 - Actualizar clases de documento (tabla BDS_LOCL)