Difference between revisions of "SAP ABAP CLASES CL GOS MANAGER"
From SapWiki
(Created page with " <nowiki> REPORT ygos_toolbox_test . TABLES sgosattr. DATA go_gos TYPE REF TO cl_gos_manager. DATA go_publication TYPE REF TO cl_gos_manager. DATA gs_object TYPE borident...") |
|||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
| + | ==Ejemplo 1== | ||
| + | <nowiki> | ||
| + | DATA: lo_manager TYPE REF TO cl_gos_manager, | ||
| + | la_obj TYPE borident. | ||
| + | |||
| + | MODULE status_2000 OUTPUT. | ||
| + | clear lt_ex[]. | ||
| + | |||
| + | if f_mode = c_display. | ||
| + | APPEND 'SAVE' to lt_ex. | ||
| + | endif. | ||
| + | |||
| + | if f_mode = c_insert. | ||
| + | append 'CHANGE' to lt_ex. | ||
| + | endif. | ||
| + | |||
| + | SET PF-STATUS '2000' EXCLUDING lt_ex. | ||
| + | |||
| + | IF f_mode = c_insert. | ||
| + | SET TITLEBAR 'T02'. | ||
| + | |||
| + | LOOP AT SCREEN. | ||
| + | IF screen-group2 = 'U01'. | ||
| + | screen-active = 0. | ||
| + | MODIFY SCREEN. | ||
| + | ENDIF. | ||
| + | ENDLOOP. | ||
| + | |||
| + | ELSEIF f_mode = c_update. | ||
| + | SET TITLEBAR 'T03'. | ||
| + | else. | ||
| + | SET TITLEBAR 'T04'. | ||
| + | ENDIF. | ||
| + | |||
| + | DATA l_obkey TYPE ausp-objek. | ||
| + | |||
| + | IF f_mode = c_update or f_mode = c_display. | ||
| + | |||
| + | CONCATENATE p9044-plvar | ||
| + | p9044-otype | ||
| + | p9044-objid | ||
| + | INTO l_obkey. | ||
| + | |||
| + | * Set object Key | ||
| + | la_obj-objtype = 'ZMULTA'. "creado en trn. SWO1 | ||
| + | la_obj-objkey = l_obkey. | ||
| + | |||
| + | IF lo_manager IS INITIAL. | ||
| + | * " Create CONTAINER object with reference to container name in the screen | ||
| + | * CREATE OBJECT lr_container | ||
| + | * EXPORTING | ||
| + | * container_name = g_container. | ||
| + | |||
| + | CREATE OBJECT lo_manager | ||
| + | EXPORTING | ||
| + | is_object = la_obj | ||
| + | ip_no_commit = space | ||
| + | * io_container = lr_container | ||
| + | EXCEPTIONS | ||
| + | OTHERS = 1. | ||
| + | |||
| + | ENDIF. | ||
| + | ENDIF. | ||
| + | |||
| + | IF f_submit = c_false. | ||
| + | LOOP AT SCREEN. | ||
| + | IF screen-name = 'P9044-ZHR_NXXXXXX'. | ||
| + | screen-input = '1'. | ||
| + | * screen-required = '1'. | ||
| + | MODIFY SCREEN. | ||
| + | ENDIF. | ||
| + | ENDLOOP. | ||
| + | ELSE. | ||
| + | LOOP AT SCREEN. | ||
| + | IF screen-name = 'P9044-ZHR_NXXXXXX'. | ||
| + | screen-input = '0'. | ||
| + | screen-required = '0'. | ||
| + | MODIFY SCREEN. | ||
| + | ENDIF. | ||
| + | ENDLOOP. | ||
| + | ENDIF. | ||
| + | |||
| + | if f_mode = c_display. | ||
| + | |||
| + | SET TITLEBAR 'T04'. | ||
| + | |||
| + | loop at SCREEN. | ||
| + | if screen-group3 <> 'D01'. | ||
| + | screen-input = 0. | ||
| + | MODIFY SCREEN. | ||
| + | endif. | ||
| + | ENDLOOP. | ||
| + | ENDIF. | ||
| + | ENDMODULE. " STATUS_2000 OUTPUT | ||
| + | |||
| + | FORM exit . | ||
| + | DATA l_ok_code TYPE sy-ucomm. | ||
| + | |||
| + | l_ok_code = ok_code. | ||
| + | CLEAR ok_code. | ||
| + | |||
| + | CASE l_ok_code. | ||
| + | *--------------------------------------------------------------------* | ||
| + | WHEN 'BACK' OR 'LEAV' OR 'CANC'. | ||
| + | *--------------------------------------------------------------------* | ||
| + | IF lo_manager IS BOUND. | ||
| + | lo_manager->unpublish( ). | ||
| + | FREE lo_manager. | ||
| + | ENDIF. | ||
| + | ... | ||
| + | ... | ||
| + | ... | ||
| + | ENDFORM. | ||
| + | </nowiki> | ||
| + | |||
| + | ==Ejemplo 2== | ||
<nowiki> | <nowiki> | ||
REPORT ygos_toolbox_test . | REPORT ygos_toolbox_test . | ||
Latest revision as of 22:07, 25 June 2026
Ejemplo 1
DATA: lo_manager TYPE REF TO cl_gos_manager,
la_obj TYPE borident.
MODULE status_2000 OUTPUT.
clear lt_ex[].
if f_mode = c_display.
APPEND 'SAVE' to lt_ex.
endif.
if f_mode = c_insert.
append 'CHANGE' to lt_ex.
endif.
SET PF-STATUS '2000' EXCLUDING lt_ex.
IF f_mode = c_insert.
SET TITLEBAR 'T02'.
LOOP AT SCREEN.
IF screen-group2 = 'U01'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF f_mode = c_update.
SET TITLEBAR 'T03'.
else.
SET TITLEBAR 'T04'.
ENDIF.
DATA l_obkey TYPE ausp-objek.
IF f_mode = c_update or f_mode = c_display.
CONCATENATE p9044-plvar
p9044-otype
p9044-objid
INTO l_obkey.
* Set object Key
la_obj-objtype = 'ZMULTA'. "creado en trn. SWO1
la_obj-objkey = l_obkey.
IF lo_manager IS INITIAL.
* " Create CONTAINER object with reference to container name in the screen
* CREATE OBJECT lr_container
* EXPORTING
* container_name = g_container.
CREATE OBJECT lo_manager
EXPORTING
is_object = la_obj
ip_no_commit = space
* io_container = lr_container
EXCEPTIONS
OTHERS = 1.
ENDIF.
ENDIF.
IF f_submit = c_false.
LOOP AT SCREEN.
IF screen-name = 'P9044-ZHR_NXXXXXX'.
screen-input = '1'.
* screen-required = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSE.
LOOP AT SCREEN.
IF screen-name = 'P9044-ZHR_NXXXXXX'.
screen-input = '0'.
screen-required = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
if f_mode = c_display.
SET TITLEBAR 'T04'.
loop at SCREEN.
if screen-group3 <> 'D01'.
screen-input = 0.
MODIFY SCREEN.
endif.
ENDLOOP.
ENDIF.
ENDMODULE. " STATUS_2000 OUTPUT
FORM exit .
DATA l_ok_code TYPE sy-ucomm.
l_ok_code = ok_code.
CLEAR ok_code.
CASE l_ok_code.
*--------------------------------------------------------------------*
WHEN 'BACK' OR 'LEAV' OR 'CANC'.
*--------------------------------------------------------------------*
IF lo_manager IS BOUND.
lo_manager->unpublish( ).
FREE lo_manager.
ENDIF.
...
...
...
ENDFORM.
Ejemplo 2
REPORT ygos_toolbox_test .
TABLES sgosattr.
DATA go_gos TYPE REF TO cl_gos_manager.
DATA go_publication TYPE REF TO cl_gos_manager.
DATA gs_object TYPE borident.
DATA gs_bc_object TYPE sibflpor.
DATA gs_lporb TYPE sibflporb.
DATA gs_old TYPE sibflporb.
DATA ok_code LIKE sy-ucomm.
DATA gp_control_init.
DATA gp_republish TYPE c.
DATA gt_objects TYPE TABLE OF sibflporbt.
DATA go_container TYPE REF TO cl_gui_custom_container.
DATA go_manager TYPE REF TO cl_gos_manager.
DATA gp_service LIKE sgosattr-name.
DATA: gs_service_selection TYPE sgos_sels,
gt_service_selection TYPE tgos_sels.
DATA go_history TYPE REF TO cl_gos_object_history.
*-----------------------------------------------------------------------
CLASS lcl_commit_handler DEFINITION .
PUBLIC SECTION.
DATA: gp_commit_required.
METHODS: on_commit_required FOR EVENT commit_required OF cl_gos_service.
ENDCLASS. "lcl_commit_handler DEFINITION
DATA: go_handler TYPE REF TO lcl_commit_handler.
SELECTION-SCREEN BEGIN OF BLOCK bl01 WITH FRAME TITLE text-020.
*PARAMETERS: p_objtyp TYPE swotobjid-objtype MEMORY ID obj.
*PARAMETERS: p_objkey TYPE swotobjid-objkey.
PARAMETERS: p_objtyp TYPE sibflporb-typeid MEMORY ID obj.
PARAMETERS: p_objkey TYPE sibflporb-instid.
PARAMETERS: p_catid TYPE sibflporb-catid DEFAULT 'BC' MODIF ID m05.
PARAMETERS: p_bor TYPE c RADIOBUTTON GROUP rad0 DEFAULT 'X' USER-COMMAND bc,
p_bc TYPE c RADIOBUTTON GROUP rad0.
SELECTION-SCREEN END OF BLOCK bl01.
SELECTION-SCREEN BEGIN OF BLOCK bl02 WITH FRAME TITLE text-022.
PARAMETERS: p_old RADIOBUTTON GROUP rad1 USER-COMMAND toggle,
p_new RADIOBUTTON GROUP rad1 DEFAULT 'X',
p_none RADIOBUTTON GROUP rad1 .
SELECTION-SCREEN END OF BLOCK bl02.
SELECTION-SCREEN BEGIN OF BLOCK bl03 WITH FRAME TITLE text-024.
PARAMETERS: p_direct TYPE sgs_flag MODIF ID m01.
PARAMETERS: p_commit TYPE sgs_cmode MODIF ID m02.
PARAMETERS: p_rwmod TYPE sgs_rwmod DEFAULT 'E' MODIF ID m01.
SELECT-OPTIONS p_serv FOR sgosattr-name MODIF ID m02.
SELECTION-SCREEN END OF BLOCK bl03.
PARAMETERS: p_arch TYPE sgs_flag DEFAULT ' ' MODIF ID m01.
*-----------------------------------------------------------------------
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_old = 'X'.
CASE screen-group1.
WHEN 'M01'.
screen-active = 0.
WHEN 'M02'.
screen-active = 0.
ENDCASE.
ELSEIF p_new = 'X'.
CASE screen-group1.
WHEN 'M01'.
screen-active = 1.
WHEN 'M02'.
screen-active = 1.
ENDCASE.
ELSEIF p_none = 'X'.
CASE screen-group1.
WHEN 'M01'.
screen-active = 0.
WHEN 'M02'.
screen-active = 1.
ENDCASE.
ENDIF.
IF p_bc = 'X' AND screen-group1 = 'M05'.
screen-active = 1.
ELSEIF p_bor = 'X' AND screen-group1 = 'M05'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
*-----------------------------------------------------------------------
START-OF-SELECTION.
gs_lporb-typeid = p_objtyp.
gs_lporb-instid = p_objkey.
gs_lporb-catid = p_catid.
PERFORM assign_object.
CREATE OBJECT go_handler.
SET HANDLER go_handler->on_commit_required FOR ALL INSTANCES.
REFRESH gt_service_selection.
LOOP AT p_serv.
CLEAR gs_service_selection.
MOVE-CORRESPONDING p_serv TO gs_service_selection.
APPEND gs_service_selection TO gt_service_selection.
ENDLOOP.
gp_republish = 'X'.
IF p_arch = 'X'.
PERFORM open_archive_for_read.
ENDIF.
IF p_none = 'X'.
CALL SCREEN 200.
ELSE.
CALL SCREEN 100.
ENDIF.
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
DATA ls_object TYPE borident.
DATA lp_no_instance.
IF gp_republish = 'X'.
CLEAR gp_republish.
IF p_old = 'X'.
CALL FUNCTION 'SWU_OBJECT_PUBLISH'
EXPORTING
objtype = gs_object-objtype
objkey = gs_object-objkey
EXCEPTIONS
objtype_not_found = 1
OTHERS = 2.
ELSEIF p_new = 'X'.
** new publish
IF gs_object-objkey IS INITIAL AND gs_bc_object-instid IS INITIAL.
lp_no_instance = 'X'.
ENDIF.
CREATE OBJECT go_publication
EXPORTING
is_object = gs_object
is_bc_object = gs_bc_object
ip_no_instance = lp_no_instance
ip_no_commit = p_commit
ip_start_direct = p_direct
ip_mode = p_rwmod
it_service_selection = gt_service_selection.
ENDIF.
MOVE-CORRESPONDING gs_lporb TO gs_old.
ENDIF.
IF gs_lporb-instid IS INITIAL.
SET PF-STATUS 'ST101'.
ELSE.
SET PF-STATUS 'ST100'.
ENDIF.
SET TITLEBAR '001'.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
DATA save_ok_code LIKE ok_code.
save_ok_code = ok_code.
CLEAR ok_code.
CASE save_ok_code.
WHEN 'UNPB'.
IF go_publication IS BOUND.
CALL METHOD go_publication->unpublish.
ELSE.
CALL FUNCTION 'SWU_OBJECT_RESTORE'
EXPORTING
objtype = gs_object-objtype
objkey = gs_object-objkey.
ENDIF.
WHEN 'SAVE'.
IF go_handler->gp_commit_required = 'X'.
COMMIT WORK.
ENDIF.
WHEN 'D200'.
CALL SCREEN 200.
WHEN 'BACK' .
ROLLBACK WORK.
LEAVE TO SCREEN 0.
WHEN 'CANC' OR 'STOP'.
ROLLBACK WORK.
LEAVE PROGRAM.
WHEN 'CHNG' OR 'ENTER'.
IF ( gs_lporb-typeid <> gs_old-typeid OR
gs_lporb-instid <> gs_old-instid ).
* CALL FUNCTION 'SWU_OBJECT_RESTORE'
* EXPORTING
* objtype = gs_old-objtype
* objkey = gs_old-objkey.
PERFORM assign_object.
ENDIF.
gp_republish = 'X'.
WHEN 'SKEY'.
gs_object-objkey = gs_lporb-instid .
gs_object-objtype = gs_lporb-typeid.
CALL METHOD go_publication->set_id_of_published_object
EXPORTING
is_object = gs_object
is_bc_object = gs_bc_object.
WHEN 'RWMOD'.
IF p_rwmod = 'E'.
CALL METHOD go_publication->set_rw_mode( 'D' ).
p_rwmod = 'D'.
ELSEIF p_rwmod = 'D'.
CALL METHOD go_publication->set_rw_mode( 'E' ).
p_rwmod = 'E'.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module CONTROL_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE control_0200 OUTPUT.
DATA go_toolbox_container TYPE REF TO cl_gui_custom_container.
DATA go_gos_toolbox TYPE REF TO cl_gos_manager.
IF NOT go_toolbox_container IS INITIAL.
go_toolbox_container->free( ).
ENDIF.
CREATE OBJECT go_toolbox_container
EXPORTING
container_name = 'TOOLBOX_CONTAINER'.
IF gs_lporb-instid IS INITIAL.
lp_no_instance = 'X'.
ENDIF.
CREATE OBJECT go_gos_toolbox
EXPORTING
ip_no_commit = p_commit
ip_no_instance = lp_no_instance
ip_mode = p_rwmod
it_service_selection = gt_service_selection
EXCEPTIONS
object_invalid = 1
callback_invalid = 2
OTHERS = 3
.
IF sy-subrc = 0.
CALL METHOD go_gos_toolbox->display_toolbox
EXPORTING
io_container = go_toolbox_container
is_object = gs_object
is_bc_object = gs_bc_object.
ENDIF.
ENDMODULE. " CONTROL_0200 OUTPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0200 OUTPUT.
IF gs_lporb-instid IS INITIAL.
LOOP AT SCREEN.
IF screen-group1 = '001'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
SET PF-STATUS 'ST200'.
ELSE.
LOOP AT SCREEN.
IF screen-group1 = '001'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
SET PF-STATUS 'ST200' EXCLUDING 'SKEY'.
ENDIF.
SET TITLEBAR '001'.
ENDMODULE. " STATUS_0200 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0200 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0200 INPUT.
save_ok_code = ok_code.
CLEAR ok_code.
CASE save_ok_code.
WHEN 'SAVE'.
COMMIT WORK.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'CANC' OR 'STOP'.
ROLLBACK WORK.
LEAVE PROGRAM.
WHEN 'TOOLBOX'.
IF go_manager IS INITIAL.
CREATE OBJECT go_manager
EXPORTING
ip_no_commit = p_commit
ip_no_instance = lp_no_instance
ip_mode = p_rwmod
it_service_selection = gt_service_selection.
ENDIF.
CALL METHOD go_manager->display_toolbox
EXPORTING
ip_service = gp_service
is_object = gs_object
is_bc_object = gs_bc_object.
.
WHEN 'EXECUTE'.
IF go_manager IS INITIAL.
CREATE OBJECT go_manager
EXPORTING
ip_no_commit = p_commit
ip_no_instance = lp_no_instance
ip_mode = p_rwmod
it_service_selection = gt_service_selection.
ENDIF.
CALL METHOD go_manager->start_service_direct
EXPORTING
ip_service = gp_service
is_object = gs_object
is_bc_object = gs_bc_object
EXCEPTIONS
no_object = 1
object_invalid = 2
execution_failed = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
COMMIT WORK AND WAIT. "!!!!!!!!!!!!!!!!
WHEN 'REMOVEGOS'.
CALL METHOD cl_gos_service_tools=>delete_linked_objects
EXPORTING
is_object = gs_object
is_bc_object = gs_bc_object.
WHEN 'SKEY'.
IF NOT go_gos_toolbox IS INITIAL.
CALL METHOD go_gos_toolbox->set_id_of_published_object
EXPORTING
is_bc_object = gs_bc_object
is_object = gs_object.
ENDIF.
WHEN 'RWMOD'.
IF p_rwmod = 'E'.
CALL METHOD go_gos_toolbox->set_rw_mode( 'D' ).
p_rwmod = 'D'.
ELSEIF p_rwmod = 'D'.
CALL METHOD go_gos_toolbox->set_rw_mode( 'E' ).
p_rwmod = 'E'.
ENDIF.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*-----------------------------------------------------------------------
CLASS lcl_commit_handler IMPLEMENTATION.
METHOD on_commit_required.
gp_commit_required = 'X'.
ENDMETHOD. "lcl_commit_handler
ENDCLASS. "lcl_commit_handler IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Form open_archive_for_read
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM open_archive_for_read .
* data declaration
CONSTANTS: archive_object LIKE arch_obj-object VALUE 'SOBL'.
DATA: read_handle LIKE sy-tabix,
write_handle LIKE sy-tabix,
l_errmsg TYPE string,
lx_obl TYPE REF TO cx_obl,
commit_cnt LIKE sy-tabix,
object_cnt LIKE sy-tabix,
buffer TYPE arc_buffer,
buffer_ref TYPE REF TO data.
DATA: lt_links TYPE obl_t_link,
ls_lporb TYPE sibflporb.
TRY.
MOVE-CORRESPONDING gs_bc_object TO ls_lporb.
*ls_lporb-instid = gs_object-objkey.
*ls_lporb-typeid = gs_object-objtype.
*ls_lporb-catid = 'BO'.
* open a new archiving session to reload data
CALL FUNCTION 'ARCHIVE_OPEN_FOR_READ'
EXPORTING
* ARCHIVE_DOCUMENT = '000000'
* ARCHIVE_NAME = ' '
object = archive_object
* MAINTAIN_INDEX = ' '
IMPORTING
archive_handle = read_handle
* TABLES
* ARCHIVE_FILES =
* SELECTED_FILES =
EXCEPTIONS
file_already_open = 1
file_io_error = 2
internal_error = 3
no_files_available = 4
object_not_found = 5
open_error = 6
not_authorized = 7
OTHERS = 8
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE 'A' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* loop to get the next data object from the archive file(s)
DO.
CALL FUNCTION 'ARCHIVE_GET_NEXT_OBJECT'
EXPORTING
archive_handle = read_handle
EXCEPTIONS
end_of_file = 1
file_io_error = 2
internal_error = 3
open_error = 4
wrong_access_to_archive = 5
OTHERS = 6.
CASE sy-subrc.
WHEN 0.
* do nothing
WHEN 1.
* reached end of file
EXIT.
WHEN OTHERS.
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDCASE.
CALL FUNCTION 'SOBL_ARCHIVE_READ_LINKS'
EXPORTING
archive_handle = read_handle
is_object = ls_lporb
IMPORTING
et_links = lt_links.
IF NOT lt_links[] IS INITIAL.
EXIT.
ENDIF.
ENDDO. "object loop
** close the archiving session
* CALL FUNCTION 'ARCHIVE_CLOSE_FILE'
* EXPORTING
* archive_handle = read_handle
* EXCEPTIONS
* internal_error = 1
* wrong_access_to_archive = 2
* OTHERS = 3.
* IF sy-subrc <> 0.
* MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
* EXIT.
* ENDIF.
CATCH cx_obl INTO lx_obl.
MESSAGE l_errmsg TYPE 'I'.
ENDTRY.
ENDFORM. " open_archive_for_read
*&--------------------------------------------------------------------*
*& Form assign_object
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM assign_object.
IF p_bor = 'X'.
gs_bc_object-catid = gs_lporb-catid = 'BO'.
gs_object-objtype = gs_lporb-typeid.
gs_object-objkey = gs_lporb-instid.
ELSE.
gs_bc_object-catid = gs_lporb-catid.
gs_bc_object-typeid = gs_lporb-typeid.
gs_bc_object-instid = gs_lporb-instid .
ENDIF.
ENDFORM. "assign_object
*GUI Texts
*----------------------------------------------------------
* 001 --> Testreport f r generische Objektdienste
*Text elements
*----------------------------------------------------------
* 020 Objekt BOR para publicar
* 022 Cambiar a publicaci n
* 024 Par metro de publicaci n
*Selection texts
*----------------------------------------------------------
* P_ARCH Leer archivo
* P_BC Biblioteca clases
* P_BOR Business Object Repository
* P_CATID D Categor a de objeto
* P_COMMIT Commit en la aplicaci n
* P_DIRECT Iniciar caja herram.inmediat.
* P_NEW Publicaci n nueva (ABAP OO)
* P_NONE Ninguna publicaci n
* P_OBJKEY D Identificador de instancia
* P_OBJTYP D Tipo objeto
* P_OLD Public.anteriores mediante MF
* P_RWMOD D Modo L/E
* P_SERV Selecci n de los servicios