ALV field Catalog error
I tried to build the field catalog as below but it is erroring saying it_fieldcat allows certain data types and ls_fieldcatalog uses a different data type
TYPE-POOLS: slis.
data ls_fieldcatalog type SLIS_T_FIELDCAT_ALV
with header line.
DATA: i_repid type sy-repid.
i_repid = sy-repid.
ls_fieldcatalog-fieldname = 'Co Code'.
ls_fieldcatalog-inttype = 'C'.
ls_fieldcatalog-col_pos = '0'.
APPEND ls_fieldcatalog to ls_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'Document No'.
ls_fieldcatalog-inttype = 'N'.
ls_fieldcatalog-col_pos = '1'.
APPEND ls_fieldcatalog to ls_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'GL Account'.
ls_fieldcatalog-inttype = 'N'.
ls_fieldcatalog-col_pos = '2'.
APPEND ls_fieldcatalog to ls_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'Posting Date'.
ls_fieldcatalog-inttype = 'D'.
ls_fieldcatalog-col_pos = '3'.
APPEND ls_fieldcatalog to ls_fieldcatalog.
clear ls_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
IT_FIELDCAT = ls_fieldcatalog
I_SAVE = 'A'
TABLES
t_outtab = it_tab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
Please fined the below code
data ls_fieldcatalog type SLIS_FIELDCAT_ALV
lt_fieldcatlog type SLIS_T_FIELDCAT_ALV
DATA: i_repid type sy-repid.
i_repid = sy-repid.
ls_fieldcatalog-fieldname = 'Co Code'.
ls_fieldcatalog-inttype = 'C'.
ls_fieldcatalog-col_pos = '0'.
APPEND ls_fieldcatalog to lt_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'Document No'.
ls_fieldcatalog-inttype = 'N'.
ls_fieldcatalog-col_pos = '1'.
APPEND ls_fieldcatalog to lt_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'GL Account'.
ls_fieldcatalog-inttype = 'N'.
ls_fieldcatalog-col_pos = '2'.
APPEND ls_fieldcatalog to lt_fieldcatalog.
clear ls_fieldcatalog.
ls_fieldcatalog-fieldname = 'Posting Date'.
ls_fieldcatalog-inttype = 'D'.
ls_fieldcatalog-col_pos = '3'.
APPEND ls_fieldcatalog to lt_fieldcatalog.
clear ls_fieldcatalog.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
IT_FIELDCAT = lt_fieldcatalog
I_SAVE = 'A'
TABLES
t_outtab = it_tab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
Similar Messages
-
Error in updating ALV field catalog in selection tool for Planning Book
Hi ,
I am Implementing BADI '/SAPAPO/SDP_SELECTOR' to upload Custom Fields Data in Planning Book Selection Window under APO Location Product. These Custom Fields are maintained in Custom Table.So from Table whatever Custom Fields are availabe all the fields needs to be available in for selection. Once selection is done the same data to be uploaded into Planning Book.
This BADI is working Fine upto 4 fields but if any extra fields are added in the table 'Error in updating ALV field catalog in selection tool' error Pop Up is coming. Here i am using Folloowing Methods
1). INIT_OBJECT_LIST
2). F4
3). LOC_PROD_VALUE_LIST
Please help on the same if u have any idea or clue.
Thanks.Hi Srinivas!
Where did you get your implementation from?
It would be nice if you could debug your code!
For the F4 method, have you seen this note?
Note 544904 - Sample source code f.BAdI /SAPAPO/SDP_SELECTOR ('F4'method)
Also check this note. It contains selection modifications in the BAdI:
Note 376902 - SDP selector: Basis corrections for BADI
I do not know your release and support package in your SCM, but you can find a lot of notes related to this BAdI.
Thank you!
Will
SCM Support Consultant -
Error in updating ALV field catalog in selection
Dear all,
I'm trying to use the standard transaction /SAPAPO/TSKEYFMAIN in order to check the TS values.
After filling the selection variant, the system shows the following error:
'Error in updating ALV field catalog in selection'
Could you please provide me with further details about the error? What could be the possible solution to avoid it?
Many thanks,
SMHi Marius,
thanks for your answer.
I would like to use the /SAPAPO/TSKEYFMAIN transaction to check massively the values in the time series KFs and not just the consistency of them.
So do you know any other transaction to do it or do you have an idea about the error of /SAPAPO/TSKEYFMAIN?
Thanks for your help!
SM -
Hello there,
I am having problem changing a classic ABAP report to ALV as am hitting the error "field catalog not found".
I am using this 2 functions to help me convert it to ALV format.
and a snippet from my code :
MODIFY gt_i_data FROM wa_i_data TRANSPORTING priokx.
ENDLOOP .
gt_report[] = gt_i_data[].
perform f_assign_alv.
perform f_display_alv.
1.f_assign_alv
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = c_repid
i_internal_tabname = 'GT_REPORT'
i_inclname = c_repid
CHANGING
ct_fieldcat = gt_fieldcat.
2._display_alv.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_grid_title = v_grid_title
is_layout = v_layout
it_fieldcat = gt_fieldcat
TABLES
t_outtab = GT_REPORT
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
I noticed during debug,inside 'REUSE_ALV_GRID_DISPLAY' the possible location of error cud be at :
if i_screen_start_column is initial and -
>all these values are empty
i_screen_start_line is initial and
i_screen_start_column is initial and
i_screen_end_line is initial.
gt_grid-flg_popup = space.
call screen 500. else. -
>point of error
gt_grid-flg_popup = 'X'.
call screen 700
starting at i_screen_start_column i_screen_start_line
ending at i_screen_end_column i_screen_end_line.
endif.
Need your expert advice, please guide.Thanks so much!!Hi Neesha,
If you are using FM 'REUSE_ALV_FIELDCATALOG_MERGE', during data/types declaration, you have to use the LIKE keyword and not the TYPE keyword.
If you use TYPE, the fieldcat will not be populated.
DATA: BEGIN OF GT_REPORT OCCURS 0,
ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
werks LIKE ekpo-werks,
menge LIKE ekpo-menge,
netpr LIKE ekpo-netpr,
peinh LIKE ekpo-peinh,
netwr LIKE ekpo-netwr,
END OF GT_REPORT.
Regards,
Jovito.
Edited by: dsouzajovito on Jan 10, 2011 11:32 AM -
Reg: ALV Field catalog refresh
Hello All,
Initially I have to display an ALV grid. Upon a buttons click(User Command) , an additional col should be displayed for which the field catalog of the ALV needs to be changed. Iam using FM ''REUSE_ALV_GRID_DISPLAY'.My question is , how cld v refresh filedcatalog ? To refresh the grid data , we use selfield-refresh = 'X'. Is there any thing some thing like that to refresh fieldcat or v have to build the fieldcat again?
I have pasted part of code below:
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_structure_name = 'TRIGS_IGT_WRKLIST'
CHANGING
ct_fieldcat = c_tab_fieldcat_main.
LOOP AT c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>.
IF <l_wa_fieldcat_main>-fieldname = 'BUSTRANSCAT_TEXT' OR
<l_wa_fieldcat_main>-fieldname = 'VALUATION_AREA' OR
<l_wa_fieldcat_main>-fieldname = 'VALUATION_CLASS' OR
<l_wa_fieldcat_main>-fieldname = 'COMPANY_CODE' OR
<l_wa_fieldcat_main>-fieldname = 'PRODUCT_TYPE' OR
<l_wa_fieldcat_main>-fieldname = 'SECURITY_ACCOUNT' OR
<l_wa_fieldcat_main>-fieldname = 'SECURITY_ID' OR
<l_wa_fieldcat_main>-fieldname = 'IGT_STATUS_TEXT' OR
<l_wa_fieldcat_main>-fieldname = 'POSDATE' OR
<l_wa_fieldcat_main>-fieldname = 'TRLDATE' OR
<l_wa_fieldcat_main>-fieldname = 'COMPANY_ID' OR
<l_wa_fieldcat_main>-fieldname = 'COUNTERPARTY' OR
<l_wa_fieldcat_main>-fieldname = 'UNITS' OR
<l_wa_fieldcat_main>-fieldname = 'POSITION_CURR' OR
<l_wa_fieldcat_main>-fieldname = 'DEAL_NUMBER' OR
<l_wa_fieldcat_main>-fieldname = 'POSITION_AMT' .
ELSE.
<l_wa_fieldcat_main>-no_out = 'X'.
ENDIF.
Assign postion
IF <l_wa_fieldcat_main>-fieldname = 'BUSTRANSCAT_TEXT'.
<l_wa_fieldcat_main>-col_pos = 2.
<l_wa_fieldcat_main>-ddictxt = 'M'.
<l_wa_fieldcat_main>-outputlen = '5'.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'COMPANY_CODE'.
<l_wa_fieldcat_main>-col_pos = 3.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'VALUATION_AREA'.
<l_wa_fieldcat_main>-col_pos = 4.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'PRODUCT_TYPE'.
<l_wa_fieldcat_main>-col_pos = 5.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'SECURITY_ID'.
<l_wa_fieldcat_main>-col_pos = 6.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'SECURITY_ACCOUNT'.
<l_wa_fieldcat_main>-col_pos = 7.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'DEAL_NUMBER'.
<l_wa_fieldcat_main>-col_pos = 8.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'IGT_STATUS_TEXT'.
<l_wa_fieldcat_main>-col_pos = 9.
<l_wa_fieldcat_main>-ddictxt = 'M'.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'POSDATE'.
<l_wa_fieldcat_main>-col_pos = 10.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'TRLDATE'.
<l_wa_fieldcat_main>-col_pos = 11.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'COMPANY_ID'.
<l_wa_fieldcat_main>-col_pos = 12.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'UNITS'.
<l_wa_fieldcat_main>-col_pos = 13.
ENDIF.
IF <l_wa_fieldcat_main>-fieldname = 'POSITION_AMT'.
<l_wa_fieldcat_main>-col_pos = 14.
ENDIF.
ENDLOOP.
CASE sy-ucomm.
WHEN 'MATCH'.
READ TABLE c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>
WITH KEY fieldname = 'MATCHED'.
CHECK sy-subrc EQ 0.
<l_wa_fieldcat_main>-col_pos = 1.
<l_wa_fieldcat_main>-seltext_s = 'Matched Pairs'.
<l_wa_fieldcat_main>-seltext_m = 'Matched Pairs'.
<l_wa_fieldcat_main>-seltext_l = 'Matched Pairs'.
<l_wa_fieldcat_main>-no_out = ' '.
WHEN 'REVERSAL'.
READ TABLE c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>
WITH KEY fieldname = 'ICON_REVERSAL'.
CHECK sy-subrc EQ 0.
<l_wa_fieldcat_main>-col_pos = 1.
<l_wa_fieldcat_main>-icon = 'X'.
<l_wa_fieldcat_main>-outputlen = 3.
<l_wa_fieldcat_main>-no_out = ' '.
ENDCASE.
Thanks,
SriHi
U need to use the fm REUSE_ALV_GRID_LAYOUT_INFO_SET, here you can change the catalog table.
Max -
HI All,
I am hoping someone on here can help.
I have an ALV grid program where I build a field catalog.
I have been asked to add 2 more fields.
When I add these fields they do not display in the list but can be added through 'Change Layout'.
I have tried setting the output length of the new fields, I have tried making sure no_out is initial.
I have tried re-positioning them where other fields wre displayed. The old fields are gone but my new fields do not appear and have to be added through the 'change layout' option.
eg. these are my two added extra fields.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 35.
ls_fieldcat-fieldname = 'FEE_EARNER_BP'.
ls_fieldcat-seltext_m = 'Client'.
ls_fieldcat-outputlen = 10.
ls_fieldcat-no_out = ''.
APPEND ls_fieldcat TO e01_lt_fieldcat.
CLEAR ls_fieldcat.
ls_fieldcat-col_pos = 36.
ls_fieldcat-fieldname = 'FEBP_NAME'.
ls_fieldcat-seltext_m = 'Client Name'.
ls_fieldcat-outputlen = 123.
ls_fieldcat-no_out = ''.
APPEND ls_fieldcat TO e01_lt_fieldcat.
Any help/advice appreciated.
Many Thanks
DavidHi.
The usual cause of this is that the ALV is using a particular display variant, which of course does not "know" about the two new fields.
Perhaps this display variant is being specified in your selection screen. Or perhaps one of the display variants has been set as the default display variant.
John -
Hi friends,
I am trying create a field catalog with FM for my internal table. I know I must use "Like" for my internal fields. But I have same field types in my internal. If I use like this. I cann't create field catalog with catalog merge ( I must use this FM for hide/show columns -my prev. message-)
What is your recommend to me for definiton of my internal table. How can create field catalog using REUSE_ALV_FIELDCATALOG_MERGE FM.
My internal table is :
Types : Begin Of TRapor,
Renk, "Satır Rengi
Bilesen_Kodu Like Mseg-Matnr, "Malzeme Numarası
Tanim Like Makt-Maktx, "Malzeme Kısa Metni
Batch Like Mseg-Charg, "Parti Numarası - Batch
Birim Like Mseg-Meins, "Temel ölçü birimi
Malzeme_Fire(12) Type P Decimals 2, "Teorik Malzeme Fire % si
Batch_Fire(12) Type P Decimals 2, "Teorik Batch Fire % si
OMiktar Like Mseg-Menge, "Önceki Dönem Miktar
OYuzde(12) Type P Decimals 2, "Önceki Dönem Yuzde
OTeorik Like Mseg-Menge, "Önceki Dönem Teorik
OSapma_Deger Like Mseg-Menge, "Önceki Dönem Sapma Değeri
OSapma_Oran(12) Type P Decimals 2, "Önceki Dönem Sapma Oranı
SMiktar Like Mseg-Menge, "Seçim Dönemi Miktar
SYuzde(16) Type P Decimals 2, "Seçim Dönemi Yüzde
STeorik Like Mseg-Menge, "Seçim Dönemi Teorik
SSapma_Deger Like Mseg-Menge, "Seçim Dönemi Sapma Değeri
SSapma_Oran(12) Type P Decimals 2, "Seçim Dönemi Sapma Oranı
Hareket Like Mseg-Bwart,
Isyeri Like Crhd-Arbpl,
End Of TRapor.
Data : IRapor Type Standard Table Of TRapor With Header Line.:((( It dowsn't work. What is wrong :((( I give NO_FIELDCATALOG_AVAILABLE error. When I debugging After processing merge FM my alvfc is empty (0x172)
Type-Pools : Slis.
Tables : Mseg, S226, Mara, Mkpf, Crhd, Plpo, Mkal.
Types : Begin Of TRapor,
Renk(4) Type C, "Satır Rengi
Bilesen_Kodu Like Mseg-Matnr, "Malzeme Numarası
Tanim Like Makt-Maktx, "Malzeme Kısa Metni
Batch Like Mseg-Charg, "Parti Numarası - Batch
Birim Like Mseg-Meins, "Temel ölçü birimi
Malzeme_Fire(12) Type P Decimals 2, "Teorik Malzeme Fire % si
Batch_Fire(12) Type P Decimals 2, "Teorik Batch Fire % si
OMiktar Like Mseg-Menge, "Önceki Dönem Miktar
OYuzde(12) Type P Decimals 2, "Önceki Dönem Yuzde
OTeorik Like Mseg-Menge, "Önceki Dönem Teorik
OSapma_Deger Like Mseg-Menge, "Önceki Dönem Sapma Değeri
OSapma_Oran(12) Type P Decimals 2, "Önceki Dönem Sapma Oranı
SMiktar Like Mseg-Menge, "Seçim Dönemi Miktar
SYuzde(16) Type P Decimals 2, "Seçim Dönemi Yüzde
STeorik Like Mseg-Menge, "Seçim Dönemi Teorik
SSapma_Deger Like Mseg-Menge, "Seçim Dönemi Sapma Değeri
SSapma_Oran(12) Type P Decimals 2, "Seçim Dönemi Sapma Oranı
Hareket Like Mseg-Bwart,
Isyeri Like Crhd-Arbpl,
End Of TRapor.
*Data : IRapor Type Table Of TRapor With Header Line.
Data : IRapor Type Standard Table Of TRapor With Header Line.
Data : ZRapor Type TRapor Occurs 0 With Header Line.
DATA : alvfc TYPE slis_t_fieldcat_alv.
DATA : alvwa TYPE slis_fieldcat_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ZRAPOR'
i_inclname = sy-repid
CHANGING
ct_fieldcat = alvfc
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*---------------Display
LOOP AT alvfc INTO alvwa WHERE fieldname = 'BILESEN_KODU'.
alvwa-ddictxt = 'L'.
alvwa-seltext_l = 'Heading'.
alvwa-outputlen = 15.
MODIFY alvfc FROM alvwa.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = alvfc
i_callback_program = sy-repid
i_callback_user_command = 'ITAB_USER_COMMAND'
TABLES
t_outtab = zrapor
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " Gecici
FORM itab_user_command USING whatcomm TYPE sy-ucomm whatrow TYPE
slis_selfield.
LOOP AT alvfc INTO alvwa.
IF alvwa-fieldname = 'BUTXT'.
if alvwa-no_out = 'X'.
alvwa-no_out = ''.
else.
alvwa-no_out = 'X'.
endif.
*alvwa-no_out = 'X'.
MODIFY alvfc FROM alvwa.
ENDIF.
ENDLOOP.
*------- Field Catalogue
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'ZRAPOR'
i_inclname = sy-repid
CHANGING
ct_fieldcat = alvfc
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
*---------------Display
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = alvfc
i_callback_program = sy-repid
i_callback_user_command = 'ITAB_USER_COMMAND'
TABLES
t_outtab = zrapor
EXCEPTIONS
program_error = 1
OTHERS = 2.
*----------- IMPORTANT.
*----------- IMPORTANT.
whatrow-exit = 'X'.
ENDFORM. "itab_user_command -
Hello Experts,
To prepare the field catalog for a ALV Grid Display, i created a DDIC structure which looks as below.
DDIC structure from SE11.These are total 12 fields.
DOKAR
Types
DOKAR
CHAR
3
0
Document Type
DOKNR
Types
DOKNR
CHAR
25
0
Document number
DOKTL
Types
DOKTL
0
0
Documentation - text lines
DOKVR
Types
DOKVR
CHAR
2
0
Document Version
DKTXT
Types
DKTXT
CHAR
40
0
Document description
DOSTX
Types
DOSTX
CHAR
16
0
Description of document status
KTXT
Types
TDWOT_KTXT
CHAR
20
0
Object Description
STABK
Types
STABK
CHAR
2
0
Status of a document (language-dependent)
CAD_POS
Types
CAD_POS
CHAR
1
0
CAD: Assignment document <-> material
VRKSTAT
Types
VRKSTAT
CHAR
1
0
Link status of a document
CVHIER
Types
CVHIER
CHAR
1
0
Document is in Hierarchy
REVLV
Types
REVLV
CHAR
2
0
Revision Level
When i try to run the FM:LVC_FIELDCATALOG_MERGE to generate field catalog i get 19 columns. Where as i should get only 12.
Below are the columns,
COL_POS FIELDNAME
1 DOKAR
2 DOKNR
3 ID
4 OBJECT
5 LANGU
6 TYP
7 DOKVERSION
8 LINE
9 DOKFORMAT
10 DOKTEXT
11 DOKVR
12 DKTXT
13 DOSTX
14 KTXT
15 STABK
16 CAD_POS
17 VRKSTAT
18 CVHIER
19 REVLV
Can you let understand why the DDIC scan giving result like this ?
Thanks,
NareshHello,
This is because the type DOKTL: -
Problem Modifying ALV Field Catalog
Hi,
One grid of my ALV report displays material numbers as 0100.2000. But when I use method FILE_SAVE_DIALOG to save ALV report to Excel, the material number changes to 100.2.
I have tried modifying my field catalog as shown at end of this message, but it doesn't change the output in Excel.
Does anyone have a fix for this problem? I will award points! - Beth
FORM build_fieldcatalog.
DATA: ls_fieldcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZBOM_ALV'
CHANGING
ct_fieldcat = gt_fieldcat.
LOOP AT gt_fieldcat INTO ls_fieldcat where fieldname eq 'COLUMN3'.
ls_fieldcat-DATATYPE = 'NUMC'.
ls_fieldcat-LZERO = 'X'.
ls_fieldcat-REF_TABLE = ''.
ls_fieldcat-DECIMALS_O = '4'.
ls_fieldcat-INTTYPE = 'N'.
ls_fieldcat-OUTPUTLEN = '20'.
MODIFY gt_fieldcat FROM ls_fieldcat.
ENDLOOP.
ENDFORM. " build_fieldcatalogHi,
If you want to save any data like 0100.2000 in the excel, you need to write it as Number with decimal places 4, so it will take 4 decimal places . coming to your ALV, you need to pass the same structure to the Excel i mean the passing variable should be lilke Number with 4 decimal places ..
Regards
Sudheer -
Regarding alv field catalog!
hi. iam new to ALV. my query is,
iam building the fieldcatalog manualy by populating the internal table fields individually and then appending the rows. This method is most time consuming.
Can anyone suggest alternate method with an example? points will be rewarded.!!Hi Padamshree,
you can use MACRO to build field catalog.
like i used here for building and
then call FM "'REUSE_ALV_GRID_DISPLAY' for ALV grid.
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = 'BSIK'.
ls_fieldcat-do_sum = &2.
ls_fieldcat-cfieldname = &3.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_sort.
add 1 to ls_sort-spos.
ls_sort-fieldname = &1.
ls_sort-up = 'X'.
ls_sort-subtot = &2.
append ls_sort to lt_sort.
END-OF-DEFINITION.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv,
lt_sort TYPE slis_t_sortinfo_alv,
ls_sort TYPE slis_sortinfo_alv,
ls_layout TYPE slis_layout_alv.
m_fieldcat 'BUKRS' '' ''.
m_fieldcat 'LIFNR' '' ''.
m_fieldcat 'GJAHR' '' ''.
m_fieldcat 'BELNR' '' ''.
m_fieldcat 'HKONT' '' ''.
m_fieldcat 'WRBTR' '' ''.
m_fieldcat 'WAERS' '' ''.
m_fieldcat 'SHKZG' '' ''.
m_sort 'BUKRS' 'X'.
m_sort 'LIFNR' 'X'.
m_sort 'GJAHR' ''.
m_sort 'BELNR' ''.
m_sort 'BUDAT' ''.
ls_layout-cell_merge = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_layout = ls_layout
it_fieldcat = lt_fieldcat
it_sort = lt_sort
TABLES
t_outtab = ITAB1.
ENDFORM. " DISPLAY_DATA
Regards,
Sachin. -
Hi All,
I want to include all the fields of PRPS in the ALV list.How can i build a field catalog having all fields of PRPS?
Thanks,
Rakesh.hi
Actually fieldcatalog is used if we are selecting only a set of fields in a table..then we need to build a fieldcatalog fo those
fields.
Here ur requirement is for all the fields of the table PRPS.So
u code like this: include structure PRPS
In the Reuse_alv_list_display --pass the structure name to
I_STRUCTURE_NAME.
this solves ur problem..
thnx
sravani
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Apr 30, 2008 5:07 PM -
Hi All
I am doing field catalog merge for a structure using the FM
'LVC_FIELDCATALOG_MERGE' . I am passing the structure to this FM.
Initially there were 14 fields in the structure. I added a new field
and activated the structure. But it still shows only 14 fields instead of 15.
Please Reply ASAP.
Thanks.
Praveena.Yes, go in debug mode.Keep a break point at K_KKB_FIELDCAT_MERGE.
This fm has following code. Keep a break point in second ALV_CHECK_BUFFER.
call function 'ALV_CHECK_BUFFER'
exporting
i_buffer_type = 'A'
i_buffer_active = i_buffer_active
i_bypassing_buffer = i_bypassing_buffer
i_refresh_buffer = ' '
importing
e_import = l_import
e_export = l_export
e_delete = l_delete.
call function 'ALV_CHECK_BUFFER'
exporting
i_buffer_type = 'B'
i_buffer_active = i_buffer_active
i_bypassing_buffer = i_bypassing_buffer
i_refresh_buffer = ' '
importing
e_import = l_import_b
e_export = l_export_b
e_delete = l_delete_b.
After the second ALV_CHECK_BUFFER executes, clear value of variable l_import_b. This will help you to see new added fields to your structure in report output. -
Alv field catalog include structure
Hi I have declared the tables like this :
TYPES: BEGIN OF tt_vbak,
cbox TYPE c.
INCLUDE STRUCTURE vbak.
TYPES: END OF tt_vbak.
DATA: lt_vbak TYPE STANDARD TABLE OF tt_vbak,
wa_vbak TYPE tt_vbak.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
* i_internal_tabname = 'LT_VBAK'
i_structure_name = 'LT_VBAK'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_INCLNAME =
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = g_fieldcat_tab[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
I am not getting the field catalog...Hi
That fm doesn't work if the internal table is defined using TYPE, but u need to use LIKE:
DATA: BEGIN lt_vbak OCCURS 0.
CBOX(1) TYPE C.
DATA: INCLUDE STRUCTURE VBAK,
END OF IT_VBAK.
DATA: GT_REPORT TYPE SY-REPID.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = GT_REPORT
i_internal_tabname = 'LT_VBAK'
i_include_name = GT_REPORT
CHANGING
ct_fieldcat = g_fieldcat_tab[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3
If you want to use the TYPES defination, u can do in this way:
TYPES: BEGIN OF tt_vbak,
cbox TYPE c.
INCLUDE STRUCTURE vbak.
TYPES: END OF tt_vbak.
DATA: lt_vbak TYPE STANDARD TABLE OF tt_vbak,
wa_vbak TYPE tt_vbak.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'LT_VBAK'
i_structure_name = 'VBAK'
CHANGING
ct_fieldcat = g_fieldcat_tab[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
Max -
Hi ABAPers,
I have defined an internal table I_ACV in the following manner.
DATA: BEGIN OF i_acv_new OCCURS 0.
INCLUDE STRUCTURE zzscmm003.
DATA: multi(1) TYPE c,
z_ebeln TYPE ekko-ebeln,
z_elikz TYPE ekpo-elikz,
END OF i_acv_new.
DATA: i_acv LIKE i_acv_new OCCURS 0 WITH HEADER LINE.
now , while creating the field catalog, the function module doesnt work. The field catalog is blank.
REFRESH gt_fieldcat.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = 'I_ACV'
i_inclname = sy-repid
CHANGING
ct_fieldcat = gt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF.
Any way in which this can be worked around?
Help is much appreciated.
Thanks in advance.HI,
Please concentrate on Bold part below
it eill helpful to come out from ur problem.
*& Report ZMV_ALV_GRID
REPORT ZMV_ALV_GRID.
TYPE-POOLS : SLIS.
TABLES : KNA1.
TYPES : BEGIN OF ty_kna1 ,
kunnr LIKE kna1-kunnr,
name1 LIKE kna1-name1,
land1 LIKE kna1-land1,
END OF ty_kna1.
DATA: it_kna1 TYPE TABLE OF ty_kna1,
WA_KNA1 TYPE TY_KNA1.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA : wa_layout TYPE slis_layout_alv .
DATA : it_events TYPE slis_t_event ,
wa_events TYPE slis_alv_event.
DATA : it_listheader TYPE slis_t_listheader,
wa_listheader TYPE slis_listheader,
it1_listheader TYPE slis_t_listheader,
wa1_listheader TYPE slis_listheader.
data : num type sy-pagno.
INITIALIZATION.
PERFORM getevents using it_events.
PERFORM desinlayout.
START-OF-SELECTION.
PERFORM desinfieldcat.
PERFORM datafetching.
PERFORM display.
*& Form getevents
FORM getevents USING P_IT_EVENTS TYPE SLIS_T_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_IT_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE p_it_events INTO wa_events WITH KEY name = 'TOP_OF_PAGE'.
wa_events-form = 'TOP_OF_PAGE'.
MODIFY it_events FROM wa_events TRANSPORTING form WHERE name = wa_events-name.
READ TABLE p_it_events INTO wa_events WITH KEY name = 'END_OF_LIST'.
IF sy-subrc = 0.
wa_events-form = 'END_OF_LIST'.
MODIFY it_events FROM wa_events TRANSPORTING form WHERE name = wa_events-name.
ENDIF.
ENDFORM. " getevents
*& Form top-of-page
FORM TOP_OF_PAGE.
wa_listheader-typ = 'H'.
wa_listheader-info = 'Customer Details'.
APPEND wa_listheader TO it_listheader.
CLEAR wa_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_listheader
i_logo = 'EDSLOGO'
I_END_OF_LIST_GRID =
I_ALV_FORM =
REFRESH it_listheader.
ENDFORM. "top-of-page
*& Form end-of-page
FORM END_OF_LIST.
wa1_listheader-typ = 'H'.
wa1_listheader-info = 'Address Details'.
append wa1_listheader to it1_listheader.
clear wa1_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it1_listheader
i_logo =
I_END_OF_LIST_GRID =
I_ALV_FORM =
REFRESH it1_listheader.
ENDFORM. "end-of-page
*& Form desinlayout
FORM desinlayout .
wa_layout-zebra = 'X'.
wa_layout-colwidth_optimize = 'X'.
*wa_layout-edit = 'X'.
wa_layout-edit_mode = 'X'.
ENDFORM. " desinlayout
*& Form desinfieldcat
FORM desinfieldcat .
wa_fieldcat-row_pos = 1.*
wa_fieldcat-col_pos = 1.
wa_fieldcat-fieldname = 'KUNNR'.
wa_fieldcat-seltext_l = 'Cust Num'.
wa_fieldcat-datatype = 'CHAR'.
wa_fieldcat-outputlen = 10.
wa_fieldcat-tabname = 'IT_KNA1'.
wa_fieldcat-key = 'X'.
wa_fieldcat-hotspot = 'X'.*
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-row_pos = 2.*
wa_fieldcat-col_pos = 2.
wa_fieldcat-fieldname = 'NAME1'.
wa_fieldcat-seltext_l = 'Name'.
wa_fieldcat-datatype = 'CHAR'.
wa_fieldcat-outputlen = 35.
wa_fieldcat-tabname = 'IT_KNA1'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-row_pos = 3.*
wa_fieldcat-col_pos = 3.
wa_fieldcat-fieldname = 'LAND1'.
wa_fieldcat-seltext_l = 'Country'.
wa_fieldcat-datatype = 'CHAR'.
wa_fieldcat-outputlen = 10.
wa_fieldcat-tabname = 'IT_KNA1'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " desinfieldcat----
*& Form datafetching
FORM datafetching .
SELECT kunnr name1 land1
FROM kna1
INTO TABLE it_kna1
WHERE kunnr IN s_kunnr.
UP TO 30 ROWS.
ENDFORM. " datafetching
*& Form display
text
FORM display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = IT_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_KNA1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " display
Rewards points if helpful. -
Attribute text_fieldname of alv field catalog
Hi all,
There is a attribute called text_fieldname in alv fieldcatalog(slis_fieldcat_alv) . Has anyone used it ? Or does anyone know its purpose?
Regards,
KavithaHai Kavitha,
TEXT_FIELDNAME : Field name of internal table field. You can use this field to define a reference to a field that is used as the description for the current field. If a subtotal is calculated for the current field, the ALV Grid Control displays the descriptions in the field assigned.
Example: Your output table contains one column for material numbers and one column for the description of what these numbers mean (such as clockwork). If you calculate subtotals for the material numbers, only these numbers are usually displayed as the subtotals text. Based on the link to TXT_FIELD , you can refer to the corresponding column with the material description. This description is then used as the subtotals text.
Maybe you are looking for
-
Word 2007 (docx) integration in SAP CRM 7.0 EhP1
Hi, When creating word templates with the template designer (CRM_OI_TEMPLDSG) for office integration, is it possible to use Mircosoft Word 2007 docx-files? Furthermore you get the message, that "The file contains custom XML elements which are no long
-
Hello! I have JSPX page with inputText and af:table. User enters inputText value then Managed bean (parveidotajs) takes it and do some data inserts (JDBC) in database table RegresijasPunkti. So af:table and all bindings doesn't know that data was cha
-
Maintain superscript format in TOC?
Hi there-- I'm generating a book in which some chapter titles and headings contain superscript TM or registered TMs (e.g. "How to use Kleenex(TM)," where the (TM) is superscript). When I generate the TOC, the superscript is lost, and the TM just appe
-
Hi All, Where do we get the currency in PO from? I think it should be from the vendor master. I have maintained currency in the vendor master but the same is not coming in the PO. Please let me know if I am going wrong somewhere.. Regards, V S
-
Shutdown and I have a window saying i didn't finish installing
Hello I need help on this: after I shutdown my Mac whit Yosemite I have a windows saying i didn't finish installing a program or I don't now what? I have the message after: Error: Not Found The requested URL/install/agent_update?sessions_id=20A9B4DA-