Show TOC

 Subscreens for Processing of Link Data

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:

  • Screen container for the processing of documents

    (subscreen 1500, function group CV130)

  • Customer-specific subscreen for maintenance of link data

    Note 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 .

    End of the note.

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 the SAP system. 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:

  • Get instance for object reference:

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

  • Transfer of data from the application page using the method GET_DATA.

  • Format data as table control.

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.

  • Using the method PUT_DATA, transfer the data available on the table control.

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

  • For the input check (field instruction) in the table control, you can use the following module: cv140_links_check .

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.

  • Transfer the data using method GET_DATA in module DYN1500_GET_DATA.

Old and new data is checked by module CV140_LINKS_CHECK.

If an error occurs, a type E (error) message is triggered.

  • Call current function in table control in module DYN1500_SAVE_EXECUTE.

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.

  • User:

    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.

  • Application:

    • Processing of OK code for the marked entry in transferred table TAB_DRAD_WORK.

    • If you double click or choose the function Display , the method JUMP_TO_SCREEN is called. In this method the goto for each object must be implemented.