Entering content frameBackground documentation Subscreens for Processing of Link Data Locate the document in its SAP Library structure

Use

This flow logic is only relevant to the following processing situations: you are editing a document (create, change or display) and want to link this document with another SAP object.

In this editing process data is transferred between the following subscreens:

Note

You can find further information on data transfer between the subscreen container and the customer-specific subscreen under: Screen Containers and Customer-Specific Subscreens.

Screen Layout (PBO)

Screen layout occurs in the processing block Process Before Output (PBO), after a screen has been called, but before the display screen is processed.

PBO Subscreen 1500 in Function Group CV130

The flow logic for the screen container 1500 (program SAPLCV130) is completely programmed in R/3. The customer-specific subscreen for the maintenance of object links is determined dynamically using the BAdI interface.

The instance for implementation is created with filters in PBO module DYN1500_INIT OUTPUT of the BAdI. The filter type is DOKOB (Linked SAP object).

The object links that have been read (table DRAD) are transferred in module DYN1500_SET_DATA to the user program. The information, which tells you the subscreen that is called for the maintenance of link data, contains the implementation that you created for each filter type (object type).

PBO Subscreen in Customer-Specific Programs

Program in Screen Painter (transaction SE51) the following process logic:

data object type ref to IF_EX_DOCUMENT_OBJ.
***get instance
CALL METHOD CL_EXITHANDLER=>GET_INSTANCE_FOR_SUBSCREENS CHANGING
INSTANCE = object.

Screen Processing (PAI)

Screen processing occurs in the processing block Process After Input (PAI), after the display of a screen is processed. This processing block calls modules in ABAP programs, and establishes which processing takes place on screen after a user action.

PAI Subscreen 1500 (Function Group CV130): Transfer of Function Code

The function code is transferred to the application program. In this position you can determine each function code in the application program by using the method GET_FUNCTION_CODE.

In implementation you can transfer and save the function code in the attribute provided for this purpose.

IF_EX_DOCUMENT_OBJ~FUNCTION_CODE = FUNCTION_CODE.

Alternatively:

FUNCTION_CODE = IF_EX_DOCUMENT_OBJ~FUNCTION_CODE.

PAI Subscreen in Customer-Specific Programs

Program in Screen Painter the program for screen processing. The following flow is a suggestion.

The selections must be marked with an ‘X’ in the field TAB_MARK in the interface table TAB_DRAD_WORK.

CALL FUNCTION 'CV140_LINKS_CHECK'
EXPORTING: pf_check_exist = space
pf_check_authority = 'X'
pf_check_enq = 'X'
pf_check_1_n = ''
pf_dokob = 'X'
pf_dokst = gs_draw_SAVE-dokst
PF_TYPE_CHECK = 'D'
TABLES: pt_check_links = lt_check_drad
EXCEPTIONS: found_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
LOOP AT lt_check_drad WHERE check_flag CA 'X'.
EXIT.
ENDLOOP.
CASE sy-fdpos.
WHEN '0'.
MESSAGE e284(26) WITH lt_check_drad-dokob
RAISING error.
WHEN '1'.
MESSAGE e285(26) WITH lt_check_drad-dokob
RAISING error.
WHEN '2'.
MESSAGE e286(26) WITH lt_check_drad-dokob
RAISING error.
WHEN '3'.
MESSAGE e287(26) WITH lt_check_drad-dokob
RAISING error.
WHEN '4'.
MESSAGE e288(26) WITH lt_check_drad-dokob
lt_check_drad-dokar
RAISING error.
ENDCASE.
endif.

PAI Subscreen 1500 in Function Group CV130

In order to prevent data inconsistencies, the flow logic for screen container 1500 (program SAPLCV130) includes a link data check.

Old and new data is checked by module CV140_LINKS_CHECK.
If an error occurs, a type E (error) message is triggered.

Before the new link data from the table control for the customer-specific subscreen is saved, an additional confirmation prompt may appear. Here you can also cancel the saving of the link data.

Before processing the function code, the method BEFORE_EXECUTE_FUNCTION is called. If the indicator lf_no_run is set, the functions of the application are not run.

Leaving content frame