Mostly people facing problem to how to use long text using function module, Call class in CDS while creating ALV IDA from CDS View. In this blog I will share my knowledge of ALV IDA Using CDS View and ALV IDA Calculation field (Mostly is used for virial element). Using Calculation Field in this blog I am going to display Long Text and Other Field
In this blog I will focus on below points.
1. Create CDS View (Generic) with 2 or 3 fields.
2. Create class with interface calculation field.
3. Long Text working in method
Let’s begin with our learning.
Create CDS View (Generic) with 2 or 3 fields.
Mostly of people aware of to create a CDS View. That’s why I am creating as generic.
◉ Create Data Definition
◉ Select Data Definition and then Select Finish.
Write your query and then Activate.
Create class with interface calculation field.
Long Text working in method
◉ Double click on IF_SALV_IDA_CALC_FIELD_HANDLER~CALCULATE_LINE
Program code is given below.
Code Example
REPORT ZALV_IDA_DEMO_LONG_TEXT.
"Data Declataion for ALV IDA and Class handler
DATA: LO_ADDITIONAL_CONDITION TYPE REF TO IF_SALV_IDA_CONDITION,
LO_CONDITION_FACTORY TYPE REF TO IF_SALV_IDA_CONDITION_FACTORY,
LS_PERSISTENCE_KEY TYPE IF_SALV_GUI_LAYOUT_PERSISTENCE=>YS_PERSISTENCE_KEY,
LR_DISP TYPE REF TO IF_SALV_GUI_TABLE_DISPLAY_OPT.
* LO_CALC_FLD TYPE REF TO ZCL_LONGTEXT.
DATA(LO_CALC_FLD) = NEW ZCL_LONGTEXT( ).
*Create 'ALV with IDA' for Core Data Services(CDS)
DATA(O_DATA) = CL_SALV_GUI_TABLE_IDA=>CREATE_FOR_CDS_VIEW(
IV_CDS_VIEW_NAME = 'ZPURCHASE_ORDER_CDS'
IO_CALC_FIELD_HANDLER = LO_CALC_FLD
).
*For Layout this is must be user coz it will enable layout button
DATA(L_GLOBAL_SAVE_ALLOWED) = ABAP_TRUE.
DATA(L_USER_SPECIFIC_SAVE_ALLOWED) = ABAP_TRUE.
LS_PERSISTENCE_KEY-REPORT_NAME = SY-REPID.
O_DATA->LAYOUT_PERSISTENCE( )->SET_PERSISTENCE_OPTIONS(
EXPORTING
IS_PERSISTENCE_KEY = LS_PERSISTENCE_KEY
I_GLOBAL_SAVE_ALLOWED = L_GLOBAL_SAVE_ALLOWED
I_USER_SPECIFIC_SAVE_ALLOWED = L_USER_SPECIFIC_SAVE_ALLOWED
).
*Display ALV IDA
O_DATA->FULLSCREEN( )->DISPLAY( ).
Note: Before creating ALV IDA must sure below note is implemented or already implemented. This is for save global layout.
No comments:
Post a Comment