Vous êtes sur la page 1sur 4

*&---------------------------------------------------------------------*

*& Report ZBSP_BOL3


*&
*&---------------------------------------------------------------------*
*&&BOL Report to get Contact Person Entities
*&
*&---------------------------------------------------------------------*
REPORT

ZBSP_BOL3.

*BOL Declarations
data:

LV_STRING TYPE STRING.

*Application Declarations
Data : Begin of I_TAB occurs 0,
STRING1 type string,
STRING2 type string,
STRING3 type string,
STRING4 type string,
STRING5 type string,
STRING6 type string,
STRING7 type string,
End of I_TAB.
*ALV Declarations
TYPE-POOLS: SLIS.
data: FIELD_CAT TYPE SLIS_T_FIELDCAT_ALV.
*--------------------------------------------------------------*START-OF-SELECTION
*---------------------------------------------------------------START-OF-SELECTION.
*Get the BOL Core instance
DATA lr_core type ref to cl_crm_bol_core.
lr_core = cl_Crm_bol_core=>get_instance( ).
*Load the component set
LR_CORE->LOAD_COMPONENT_SET( 'BP_APPL' ).
*---------------------------------------------------------------*Create the query instance by passing the search object name
DATA lr_query type ref to CL_CRM_BOL_DQUERY_SERVICE.
lr_query = CL_CRM_BOL_DQUERY_SERVICE=>get_instance(
iv_query_name = 'BuilContactAdvancedSearch' ).

*Add the selection parameters


CALL METHOD LR_QUERY->ADD_SELECTION_PARAM
EXPORTING
IV_ATTR_NAME = 'BP_NUMBER'
IV_SIGN
= 'E'
IV_OPTION
= 'EQ'
IV_LOW
= '81'.
*IV_HIGH
=
*Get the result list
DATA LR_RESULT TYPE REF TO IF_BOL_ENTITY_COL.
LR_RESULT = LR_QUERY->GET_QUERY_RESULT( ).
*---------------------------------------------------------------*Get the first object(entity) in the result list
data LR_ENTITY TYPE REF TO cl_crm_bol_entity.
LR_ENTITY = LR_RESULT->GET_FIRST( ).
*If the entity is bound
WHILE LR_ENTITY IS BOUND.
*Process the parent entity for the required data
CLEAR LV_STRING.
i_tab-STRING1 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING2 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING3 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING4 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING5 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING6 = LR_ENTITY->GET_PROPERTY_AS_STRING(
i_tab-STRING7 = LR_ENTITY->GET_PROPERTY_AS_STRING(

'BP_NUMBER' ).
'CONP_NUMBER' ).
'DATE_FROM' ).
'DATE_TO' ).
'FUNCTION' ).
'DEPARTMENT' ).
'AUTHORITY' ).

Append i_tab.
*Go to the next entity
LR_ENTITY = LR_RESULT->GET_NEXT( ).
ENDWHILE.
*--------------------------------------------------------------*END-OF-SELECTION
*---------------------------------------------------------------END-OF-SELECTION.
*Fill field catalog details:
perform fieldcat_init using FIELD_CAT[].

*Call the ALV Grid:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
IT_FIELDCAT
= FIELD_CAT
TABLES
T_OUTTAB
= I_TAB.
*&---------------------------------------------------------------------*
*&
Form fieldcat_init
*&---------------------------------------------------------------------*
*
Prepare Field Catalog
*----------------------------------------------------------------------*
*
-->P_GT_FIELDCAT[] text
*----------------------------------------------------------------------*
FORM fieldcat_init USING
P_FIELDCAT type SLIS_T_FIELDCAT_ALV.
data: L_FIELDCAT type slis_fieldcat_alv.
data : pos type i value 1.
*
clear L_FIELDCAT.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING1'.
l_fieldcat-SELTEXT_M = 'BP Number'.
append l_fieldcat to p_fieldcat.
*
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING2'.
l_fieldcat-SELTEXT_M = 'Contact Per.No'.
append l_fieldcat to p_fieldcat.
*
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING3'.
l_fieldcat-SELTEXT_M = 'Date From'.
append l_fieldcat to p_fieldcat.
pos = pos + 1.
clear L_FIELDCAT.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING4'.
l_fieldcat-SELTEXT_M = 'Date To'.
append l_fieldcat to p_fieldcat.
*

pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING5'.
l_fieldcat-SELTEXT_M = 'Function'.
append l_fieldcat to p_fieldcat.
*Location:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING6'.
l_fieldcat-SELTEXT_M = 'Department'.
append l_fieldcat to p_fieldcat.
*Location:
pos = pos + 1.
clear l_fieldcat.
l_fieldcat-col_pos
= POS.
l_fieldcat-fieldname = 'STRING7'.
l_fieldcat-SELTEXT_M = 'Authority'.
append l_fieldcat to p_fieldcat.
ENDFORM.

" fieldcat_init

Vous aimerez peut-être aussi