ALV Grid - Printnig field names.
Hi Gurus,
I have a requirement for a report which has the format for display as shown below.
Sr. No | Mat No. | Material grp | some material types | COLUMN HEADINGS
|*********|*************** | 10g | 20g | 30g | 40g | COLUMN HEADINGS
000001 |xyz*****|ABCDEFGHIJ | 005 | 0004| 002 | 003 | From this data start
As u can see, there is two level fields description printing... We can do it in List,
I want to know whether we can achieve it using ALV.
As shown above, field column "some material types" having sub types as 10g, 20g, 30g and 40g. So I want one column to be split into four or five columns.
*Points will be granted.
Regards,
Shailesh.
Hi Shailesh,
The short answer is no, you cannot.
It would not make sense to do such a thing, anyway. After all, "some material types" is there as a heading for a group of four columns, but using the usual ALV-grid functionality, the user would be able, for instance, to move the 30g column to the left of the Mat No column, say.
The requirement may make sense in an ABAP list, where the columns are fixed, but not in an ALV, where the columns can be moved.
They will have to change the requirement!
John
Similar Messages
-
Reg. can we display alv grid using field groups (extracts)
Hi,
can we display alv grid using field groups (extracts). is this possible. i have to develop a blocked alv.
tnks
Yerukala SettyNo, you will need the data in an internal table to use ALV.
Cheers
Allan -
Drill down capabilities for an alv grid display field using oops concept
Hi All,
could anyone help me in how to achieve the drill down capabilities for an alv grid display field using oops concept.
Thanks & Regards,
padmasri.padmasri,
Hope your requirement is something like, when you click on a sales order number it should display that order (VA03), in a grid output displayed using set_table_for_first_display.
you can acheive it using event double click.
*& L O C A L C L A S S E S - D E F I N I T O N *
class lcl_event_receiver: local class to handle event DOUBLE_CLICK
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
PRIVATE SECTION.
ENDCLASS. "lcl_event_receiver DEFINITION
*& L O C A L C L A S S E S - I M P L E M E N T A T I O N *
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DOUBLE_CLICK.
PERFORM HANDLE_DOUBLE_CLICK USING E_ROW
E_COLUMN.
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_event_receiver IMPLEMENTATION
FORM HANDLE_DOUBLE_CLICK USING E_ROW TYPE LVC_S_ROW
E_COLUMN TYPE LVC_S_COL.
DATA: LS_DETAIL LIKE LINE OF T_OUTPUT.
WHEN 'T_OUTPUT'.
READ TABLE T_OUTPUT INDEX E_ROW-INDEX INTO LS_DETAIL.
If clicked on PO Number or PO Item, call ME23
IF E_COLUMN-FIELDNAME = 'EBELN' OR
E_COLUMN-FIELDNAME = 'EBELP' .
SET PARAMETER ID 'BES' FIELD LS_DETAIL-EBELN.
SET PARAMETER ID 'BSP' FIELD LS_DETAIL-EBELP.
CALL TRANSACTION 'ME23' AND SKIP FIRST SCREEN.
If clicked on sales order number or item, call VA03
ELSEIF E_COLUMN-FIELDNAME = 'VBELN' OR
E_COLUMN-FIELDNAME = 'POSNR'.
SET PARAMETER ID 'AUN' FIELD LS_DETAIL-VBELN.
SET PARAMETER ID 'APO' FIELD LS_DETAIL-POSNR.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
Hope this helps -
ALV Grid: Alternate Field Catalog per Line Type possible?
I'm using the ALV Grid Classes: Is it possible to change the Field Catalog per line type? I have two different line types: 1) Interspersed headers and 2) data lines. The Interspersed headers should have no_zero = 'x' and the data lines no_zero = space.
It can be done by REUSE_ALV_HIERSEQ_LIST_DISPLAY in classic ALV .
Alternately, it can be done by ALV object model. Try SALV* and look into sample programs. -
Alv grid mandatory field.
hi...
I have a ALV grid that is displayed ... i fill up the entries in this and then save them.
i need to declare some fields as mandatory
how shall i do it
thanksHi,
Check the fieldcatalog, if there is any option .. I don;t think we have option for it..
Other wise u have to take care in ur program by checking if there is any value entered in the field , if not throw error message , something like this..
This iam telling reagrding by using FM REUSE_ALV_GRID_DISPLAY..
Regards,
Nagaraj -
Hello,
I got a dynpro with 3 ALV grids. I edit a value of grid 3, then I execute a pushbutton of grid 1. The value of grid 3 is resetted then.
What should I do to keep the value?
Reward points guaranteed.
Regards
RenéSounds like the event handler method for event data_changed is not being fired. In one of my programs, I am registering the "ENTER" key, the user must hit enter after editing the field to fire the data_changed event.
* Set for first display
call method alv_grid->set_table_for_first_display
exporting
is_layout = lt_layout
it_toolbar_excluding = lt_exclude
changing
it_outtab = ialv[]
it_fieldcatalog = fieldcat[].
* If cancelling points, register "ENTER" as event
* and create the event receiver
<b> call method alv_grid->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_enter.</b>
* create Event Receiver
create object event_receiver.
* handler for ALV grid
set handler event_receiver->handle_data_changed for alv_grid.
Do this records the changes that the user has made. I believe that this must be done before you start the processing of the button on Grid1.
Regards,
Rich Heilman -
ALV Grid Control -- Field Catalog
Hi ,
In the filed catalog for ALV grid control ( LVC_T_FCAT) ,there is a field called CHECKTABLE , can i use this to validate the value entered in that cell of a editable ALV.
If yes then what are the perquisites of using it.
Regards
ArunHi Arun,
look the help.sap.com documentation, all the field of the field catalog are describe and explain.
Regards
Frédéric -
ALV Grid - mark fields as changed
I have an editable ALV grid, and when the user changes field values then the data_changed event is called correctly so I can validate the changes.
I am now implementing an upload method which replaces the values in the data table. The problem is that the control does not recognise the lines as new or changed, so does not do any checking on them or pass to the data_changed event.
I can use method if_cached_prop~set_prop ( propname = 'GridModified' propvalue = '1' )
to set the grid modified flag, but get_modified_cells returns an empty table so there are no fields passed to my data_changed implementation.
I think I could use method CHANGE_DATA_FROM_INSIDE to set the new values. However, it is marked as internal only, and it will be very tedious to fill the tables...
Is there any way to flag fields as changed?
Alternatively, if I do my checks in my upload method, is there a way to add messages to the output log?
Thanks
MichaelI have worked out a solution.
I can use method CHANGE_DATA_FROM_INSIDE, and as long as layout-val_data = 'X' then the data_changed method is called to do validations. However, the data in fields with errors is deleted...
My alternative solution is to store the uploaded values and when checking the data, put the uploaded values manually into er_data_changed->mt_good_cells. The trick is to manually set the grid status to modified, so that the data_changed handler implementation is called - this is done with METHOD gr_grid_0200->if_cached_prop~set_prop.
The ALV grid data is in <outtab> which has all fields of <outtab> plus a few extras
I upload from file into <data_table>.
data:
ls_mod_cell type LVC_S_MODI.
* Add correct tabix and celltab fields.
refresh <outtab>.
clear <gs_outtab>.
* Move to outtab structure and put into grid table
loop at <data_table> assigning <data>.
move-corresponding <data> to <gs_outtab>.
insert <gs_outtab> into table <outtab>.
* Store the field data for validations
ls_mod_cell-row_id = sy-tabix.
ls_mod_cell-tabix = sy-tabix.
ls_mod_cell-SUB_ROW_ID = fl_uploaded.
LOOP AT gt_fieldcat_0200 ASSIGNING <fcat>
where tech = '' and no_out = ' '.
ls_mod_cell-fieldname = <fcat>-fieldname.
assign component <fcat>-fieldname of structure <data> to <value>.
if sy-subrc = 0.
ls_mod_cell-value = <value>.
insert ls_mod_cell into table t_mod_cells.
endif.
Endloop.
endloop.
* Update the table display. This resets the internal version of the data table.
CALL METHOD gr_grid_0200->refresh_table_display.
* Force the GridModified flag to on
CALL METHOD gr_grid_0200->if_cached_prop~set_prop
EXPORTING
propname = 'GridModified'
propvalue = '1'
EXCEPTIONS
others = 0 .
In the local method for handle_data_changed, I can then use the stored data
* When importing data from file, the fields are not checked
* Add uploaded values to the data_changed tables
* (First remove any fields which have been subsequently changed by the user)
if t_mod_cells is not initial.
loop at er_data_changed->mt_mod_cells into ls_mod_cell.
delete t_mod_cells
where row_id = ls_mod_cell-row_id
and fieldname = ls_mod_cell-fieldname.
endloop.
insert lines of t_mod_cells into table er_data_changed->mt_good_cells.
insert lines of t_mod_cells into table er_data_changed->mt_mod_cells.
endif.
.... Validation code ...
* Remove uploaded fields. Otherwise any without error will blank out the value in the grid...
delete er_data_changed->mt_good_cells where SUB_ROW_ID = fl_uploaded.
delete er_data_changed->mt_mod_cells where SUB_ROW_ID = fl_uploaded.
* If no errors, remove uploaded data
if error_in_data EQ space.
clear t_mod_cells.
endif. -
Hai friends,
I am displaying data in ALV Grid, in this 2-fields are editable,so i have to change existing values and input our own values ,but here trouble is i unable to catch new values ,can any one help me that how to catch these input values.
Thanks in AdvanceThanku for reply..please see the below code.
fieldcatalog-fieldname = 'NEWA'.
fieldcatalog-just = 'C'.
fieldcatalog-key = 'X'.
fieldcatalog-input = 'X'.
fieldcatalog-edit = 'X'.
fieldcatalog-seltext_m = 'New Aggrement'.
fieldcatalog-outputlen = 15.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
fieldcatalog-fieldname = 'NEWI'.
fieldcatalog-just = 'C'.
fieldcatalog-key = 'X'.
fieldcatalog-edit = 'X'.
fieldcatalog-seltext_m = 'New Item'.
fieldcatalog-outputlen = 15.
append fieldcatalog to fieldcatalog.
clear fieldcatalog.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
i_callback_pf_status_set = 'PFSTATUS'
i_callback_user_command = 'USER'
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
it_events = gi_events
i_save = 'X'
tables
t_outtab = gt_final
exceptions
program_error = 1
others = 2. -
To populate another alv grid's field with value selected from search help
Hi,
I have two fields in alv grid, first column holds code and the second one holds code's description. Also I have a search help includes these two fields. The search help is attached to the first column. The requirement is, when I select a code from the search help, second column should be populated with selected code's description.
Any help will be appreciated. Thanks..Hi,
have a look into Report: BCALV_EDIT_03.
Regards, Dieter -
ALV grid is not displaying few fields of final internal table of type DMBTR
hello frnds,
i am displaying 10 fields in ALV grid using field catalog.
among them five fields are currency fields on which i doing some arithematic operations. but all these fields are not getting displayed in alv grid.
here is my code....
declaring final strucutre to generate report
TYPES:BEGIN OF ty_final,
gjahr TYPE gjahr, " Year
wwert TYPE wwert_d, " Traslation date
bukrs TYPE bukrs, " company code
hkont TYPE hkont, " General ledger account
txt20 TYPE txt20_skat, " Account name
belnr TYPE belnr_d, " Purchase order number
shkzg TYPE shkzg, " Dt/Cr indicator
dmbtr1 TYPE dmbtr, " Ammount in local currency
v_alc TYPE dmbtr, " Ammount in local currency
wrbtr TYPE wrbtr, " Ammount in foreign currency
ebeln TYPE ebeln, " Purchase order number
ebelp TYPE ebelp, " Item number
matnr TYPE matnr, " Material number
menge TYPE menge_d, " Qunatity
meins TYPE meins, " Unit of measure
stprs TYPE stprs, " Std material master
v_iv TYPE dmbtr, " Invoice value
pswsl TYPE pswsl, " Currency
v_erc TYPE dmbtr, " Exchange rate calculated
v_op TYPE dmbtr, " Order price
v_uos TYPE dmbtr, " Unit order to stock
v_io TYPE dmbtr, " Invoice to order
v_uv TYPE dmbtr, " Unit value
v_t TYPE dmbtr, " Total
v_d TYPE dmbtr, " Differecne
netpr TYPE bprei, " Net price in purchasing document
v_total TYPE dmbtr, " Total
v_os TYPE dmbtr, " Order to stock
v_ito TYPE dmbtr, " Invoice to order
saknr TYPE saknr, " G/L account number
END OF ty_final.
FORM move_data.
IF NOT i_bseg[] IS INITIAL.
LOOP AT i_bseg INTO wa_bseg.
wa_final-gjahr = wa_bseg-gjahr.
wa_final-bukrs = wa_bseg-bukrs.
wa_final-hkont = wa_bseg-hkont.
wa_final-belnr = wa_bseg-belnr.
wa_final-shkzg = wa_bseg-shkzg.
wa_final-wrbtr = wa_bseg-wrbtr.
wa_final-ebeln = wa_bseg-ebeln.
wa_final-ebelp = wa_bseg-ebelp.
wa_final-matnr = wa_bseg-matnr.
wa_final-menge = wa_bseg-menge.
wa_final-meins = wa_bseg-meins.
wa_final-pswsl = wa_bseg-pswsl.
wa_final-dmbtr1 = wa_bseg-dmbtr.
wa_final-saknr = wa_bseg-saknr.
wa_final-v_total = wa_bseg-dmbtr.
READ TABLE i_bkpf INTO wa_bkpf WITH KEY bukrs = wa_bseg-bukrs.
IF sy-subrc = 0.
wa_final-wwert = wa_bkpf-wwert.
ENDIF.
CLEAR wa_bkpf.
READ TABLE i_mbew INTO wa_mbew WITH KEY matnr = wa_bseg-matnr.
IF sy-subrc = 0.
wa_final-stprs = wa_mbew-stprs.
ENDIF.
CLEAR wa_mbew.
READ TABLE i_ekpo INTO wa_ekpo WITH KEY ebeln = wa_bseg-ebeln.
IF sy-subrc = 0.
wa_final-netpr = wa_ekpo-netpr.
ENDIF.
CLEAR wa_ekpo.
READ TABLE i_skat INTO wa_skat WITH KEY saknr = wa_bseg-saknr.
IF sy-subrc = 0.
wa_final-txt20 = wa_skat-txt20.
ENDIF.
calculating output values
IF wa_bseg-shkzg = 'H'.
wa_final-v_alc = -1 * wa_bseg-dmbtr.
ELSEIF wa_bseg-shkzg = 'S'.
wa_final-v_alc = 1 * wa_bseg-dmbtr.
ENDIF.
DATA : l_c_v_alc TYPE p DECIMALS 2,
l_c_v_iv TYPE p DECIMALS 2.
l_c_v_alc = wa_final-v_alc.
IF wa_bseg-menge NE 0.
wa_final-v_iv = wa_bseg-dmbtr / wa_bseg-menge.
ENDIF.
IF wa_bseg-dmbtr NE 0.
wa_final-v_erc = wa_bseg-wrbtr / wa_final-dmbtr1.
ENDIF.
IF wa_final-v_erc NE 0.
wa_final-v_op = wa_ekpo-netpr / wa_final-v_erc.
ENDIF.
wa_final-v_uos = wa_mbew-stprs - wa_final-v_op.
wa_final-v_io = wa_final-v_iv + wa_final-v_uos.
wa_final-v_uv = wa_final-v_uos + wa_final-v_io.
wa_final-v_t = wa_final-v_uv + wa_bseg-menge.
wa_final-v_d = wa_final-v_t - wa_final-v_alc.
wa_final-v_os = wa_final-v_uos * wa_bseg-menge.
wa_final-v_ito = wa_final-v_io * wa_bseg-menge.
CLEAR wa_bseg.
APPEND wa_final TO i_final.
CLEAR wa_final.
ENDLOOP.
ENDIF.
ENDFORM. "data_retrieval
*& Form build_fieldcat
text
--> p1 text
<-- p2 text
FORM build_fieldcat.
CLEAR wa_fieldcat.
* TYPES : v_alc TYPE dmbtr. "curr. " decimal 2.
DATA: l_c_v_alc TYPE p DECIMALS 2,
l_c_v_iv TYPE p DECIMALS 2 .
l_c_v_alc = v_alc.
l_c_v_iv = v_iv.
Constant Declarations.
CONSTANTS:
l_c_gjahr(5) TYPE c VALUE 'GJAHR', " Year
l_c_wwert(5) TYPE c VALUE 'WWERT', " Traslation date
l_c_bukrs(5) TYPE c VALUE 'BUKRS', " company code
l_c_hkont(5) TYPE c VALUE 'HKONT', " General ledger account
l_c_txt20(10) TYPE c VALUE 'TXT20', " Account name
l_c_belnr(5) TYPE c VALUE 'BELNR', " Doc number
l_c_shkzg(5) TYPE c VALUE 'SHKZG', " Dt/Cr indicator
l_c_dmbtr(5) TYPE c VALUE 'DMBTR1', " Ammount in local currency
" l_c_v_alc TYPE c VALUE 'V_ALC', " Ammount in local currency
l_c_wrbtr(5) TYPE c VALUE 'WRBTR', " Ammount in foreign currency
l_c_ebeln(5) TYPE c VALUE 'EBELN', " Purchase order number
l_c_ebelp(5) TYPE c VALUE 'EBELP', " Item number
l_c_matnr(5) TYPE c VALUE 'MATNR', " Material number
l_c_menge(7) TYPE c VALUE 'MENGE', " Qunatity
l_c_meins(5) TYPE c VALUE 'MEINS', " Unit of measure
l_c_stprs(5) TYPE c VALUE 'STPRS', " Std material master
" l_c_v_iv(4) TYPE c VALUE 'V_IV', " Invoice value
l_c_pswsl(5) TYPE c VALUE 'PSWSL', " Currency
l_c_v_erc(5) TYPE c VALUE 'V_ERC', " Exchange rate calculated
l_c_v_op(4) TYPE c VALUE 'V_OP', " Order price
l_c_v_uos(5) TYPE c VALUE 'V_UOS', " Unit order to stock
l_c_v_io(4) TYPE c VALUE 'V_IO', " Invoice to order
l_c_v_uv(4) TYPE c VALUE 'V_UV', " Unit value
l_c_v_t(3) TYPE c VALUE 'V_T', " Total
l_c_v_d(3) TYPE c VALUE 'V_D', " Differecne
l_c_netpr(5) TYPE c VALUE 'NETPR', " Net price in purchasing document
l_c_v_total(7) TYPE c VALUE 'V_TOTAL', " Total
l_c_v_os(4) TYPE c VALUE 'V_OS', " Order to stock
l_c_v_ito(5) TYPE c VALUE 'V_ITO', " Invoice to order
l_c_saknr(5) TYPE c VALUE 'SAKNR', " G/L account number
l_c_i_final(7) TYPE c VALUE 'I_FINAL'. " Final internal table
Fieldcat for fiscal year
wa_fieldcat-col_pos = 1.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_gjahr.
wa_fieldcat-seltext_m = text-007.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Translation date
wa_fieldcat-col_pos = 2.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_wwert.
wa_fieldcat-seltext_m = text-008.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Company code
wa_fieldcat-col_pos = 3.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_bukrs.
wa_fieldcat-seltext_m = text-009.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for General ledger account
wa_fieldcat-col_pos = 4.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_hkont.
wa_fieldcat-seltext_m = text-010.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Account name
wa_fieldcat-col_pos = 5.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_txt20.
wa_fieldcat-seltext_m = text-011.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Doc number
wa_fieldcat-col_pos = 6.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_belnr.
wa_fieldcat-seltext_m = text-012.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Dt/Cr indicator
wa_fieldcat-col_pos = 7.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_shkzg.
wa_fieldcat-seltext_m = text-013.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Ammount in local currency
wa_fieldcat-col_pos = 8.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = 'DMBTR1'.
wa_fieldcat-seltext_m = text-014.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Ammount in local currency
wa_fieldcat-col_pos = 9.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = 'V_ALC'.
wa_fieldcat-seltext_m = text-015.
wa_fieldcat-ref_fieldname = 'DMBTR'.
wa_fieldcat-no_sign = 'X'.
wa_fieldcat-do_sum = c_x.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Ammount in foreign currency
wa_fieldcat-col_pos = 10.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_wrbtr.
wa_fieldcat-seltext_m = text-016.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Purchse order number
wa_fieldcat-col_pos = 11.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_ebeln.
wa_fieldcat-seltext_m = text-017.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Item No
wa_fieldcat-col_pos = 12.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_ebelp.
wa_fieldcat-seltext_m = text-018.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Material number
wa_fieldcat-col_pos = 13.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_matnr.
wa_fieldcat-seltext_m = text-019.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Qunatity
wa_fieldcat-col_pos = 14.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_menge.
wa_fieldcat-seltext_m = text-020.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Unit of measure
wa_fieldcat-col_pos = 15.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_meins.
wa_fieldcat-seltext_m = text-021.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Std material master
wa_fieldcat-col_pos = 16.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_stprs.
wa_fieldcat-seltext_m = text-022.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Invoice value,
wa_fieldcat-col_pos = 17.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = 'V_IV'.
wa_fieldcat-seltext_m = text-023.
wa_fieldcat-ref_fieldname = 'DMBTR'.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Currency
wa_fieldcat-col_pos = 18.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_pswsl.
wa_fieldcat-seltext_m = text-024.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Exchange rate calculated
wa_fieldcat-col_pos = 19.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = 'V_ERC'.
wa_fieldcat-seltext_m = text-025.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Order price
wa_fieldcat-col_pos = 20.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_op.
wa_fieldcat-seltext_m = text-026.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Unit order to stock
wa_fieldcat-col_pos = 21.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_uos.
wa_fieldcat-seltext_m = text-027.
wa_fieldcat-do_sum = c_x.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Invoice to order
wa_fieldcat-col_pos = 22.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_io.
wa_fieldcat-seltext_m = text-028.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Unit value
wa_fieldcat-col_pos = 23.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_uv.
wa_fieldcat-seltext_m = text-029.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Total
wa_fieldcat-col_pos = 24.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_t.
wa_fieldcat-seltext_m = text-030.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Difference
wa_fieldcat-col_pos = 25.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_d.
wa_fieldcat-seltext_m = text-031.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Net Price in Purchasing Document
wa_fieldcat-col_pos = 26.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_netpr.
wa_fieldcat-seltext_m = text-032.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Total
wa_fieldcat-col_pos = 27.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_total.
wa_fieldcat-seltext_m = text-033.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Order to stock
wa_fieldcat-col_pos = 28.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_os.
wa_fieldcat-seltext_m = text-034.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
Fieldcat for Invoice to order
wa_fieldcat-col_pos = 29.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_v_ito.
wa_fieldcat-seltext_m = text-035.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
fieldcat for invoice to order
wa_fieldcat-col_pos = 30.
wa_fieldcat-tabname = l_c_i_final.
wa_fieldcat-fieldname = l_c_saknr.
wa_fieldcat-seltext_m = text-035.
APPEND wa_fieldcat TO i_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. "build_fieldcatHi romanch,
defining the field catalog you must reference all currency fields to the respective currency key field (type CUKY).
<alv_fieldcat>-cfieldname = 'HWAER'.
This is sample for alv output of a currency field. The alv structure has a field HWAER which carries the currency key, e.g. USD or so.
Obviously you do not provide a cutrrency key for your values. If they are initial (zero), ALV will not display them as 0,00 but leave the field empty if the reference too currency key is not established.
If you define a DDIC structure for the ALV output this refernce is enforced. You can pass the DDIC structure name to the ALV and don not have to create the field catalog manually.
Regards,
Clemens -
could anybody advice, ALV GRID FM(field catalog issue)is getting short dump, but workig fine for ALV LIST.
PERFORM create_field_catalog USING:
'TRAFFIC_LIGHT' ' ' 15 'Status' 'Status' ' ',
'VKORG' ' ' 15 'Sales Org' 'Sales Org' ' ',
'VTWEG' ' ' 15 'Dist Channel' 'Dist Channel' ' ',
'KUNRG' ' ' 15 'Payer' 'Payer' ' ',
'PAYER' ' ' 15 'Payer Name' 'Payer Name' ' ',
'KUNAG' ' ' 15 'Ship-To' 'Ship-To' ' ',
'SHIPTO' ' ' 15 'Ship-To Name' 'Ship-To Name' ' ',
'SHIPTOPAR' ' ' 15 'Bill to Party' 'Bill To Party' ' ',
'KDGRP' ' ' 15 'Customer Grp' 'Customer Grp' ' ',
'ZCUSTPO' ' ' 15 'Customer PO' 'Customer PO' ' ',
'VBELN' ' ' 15 'Billing Doc' 'Billing Doc' ' ',
'FKDAT' ' ' 15 'Billing Date' 'Billing Date' ' ',
'FKART' ' ' 15 'Billing Type' 'Billing Type' ' ',
'ZOUTPUT' ' ' 15 'Output Type' 'Output Type' ' ',
'NETWR' ' ' 15 'Net Value' 'Net Value' 'X',
'KWERT' ' ' 15 'Total VAT' 'Total VAT' 'X',
'WAERK' ' ' 15 'Currency' 'Currency' ' ',
'XBLNR' ' ' 15 'Reference' 'Reference' ' ',
'DELNO' ' ' 15 'Delivery #' 'Delivery #' ' ',
'TLINE' ' ' 15 'Manifest #' 'Manifest #' ' ',
'ZBOL' ' ' 15 'Bill Of Ldng' 'Bill of Ldng' ' ',
'LIFEX' ' ' 15 'Ext Del #' 'Ext Del #' ' ',
'POSNR' ' ' 15 'Item' 'Item' ' ',
'MATNR' ' ' 18 'Material' 'Material' ' ',
'KDMAT' ' ' 15 'Cust Matl' 'Cust Matl' ' ',
'WERKS' ' ' 15 'Plant' 'Plant' ' ',
'ZZPLAT' ' ' 10 'Platform' 'Platform' ' ',
'ZZPRONUM' ' ' 10 'Program' 'Program' ' ',
'ZZPROCODE' ' ' 10 'Prod Code' 'Prod Code' ' ',
'FKIMG' ' ' 15 'Qty' 'Qty' ' ',
'VRKME' ' ' 15 'UoM' 'UoM' ' ',
'ARKTX' ' ' 15 'Description' 'Description' ' ',
'KBETR' ' ' 15 'Price' 'Price' ' ',
'VATRT' ' ' 15 'VAT Rate' 'VAT Rate' ' ',
'KWERT_D' ' ' 15 'Item VAT' 'Item VAT' 'X',
'NETWR_D' ' ' 15 'Item Net Value' 'Item Net Value' 'X',
'VGBEL' ' ' 15 'Ref Document' 'Ref Document' ' ',
'VGPOS' ' ' 13 'Ref Doc Line' 'Ref Doc Line' ' ' .
FORM create_field_catalog USING fieldname TYPE c
inttype TYPE c
outputlen TYPE i
coltext TYPE c
seltext TYPE c
do_sum TYPE c.
DATA: l_f_fieldcat TYPE slis_fieldcat_alv.
l_f_fieldcat-fieldname = fieldname.
l_f_fieldcat-inttype = inttype.
l_f_fieldcat-outputlen = outputlen.
l_f_fieldcat-seltext_m = coltext.
l_f_fieldcat-seltext_l = seltext.
l_f_fieldcat-reptext_ddic = coltext.
l_f_fieldcat-do_sum = do_sum.
APPEND l_f_fieldcat TO t_field_catalog.
CLEAR l_f_fieldcat.
ENDFORM. "CREATE_FIELD_CATALOG
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = v_repid
i_callback_user_command = 'F_USER_COMMAND'
i_grid_settings = f_grid_settings
is_layout = f_grid_layout
is_print = f_print_settings
i_background_id = 'BACK'
it_events = t_events[]
it_fieldcat = t_field_catalog
it_sort = t_sortcat[]
i_default = 'X'
i_save = 'A'
is_variant = f_variant
TABLES
t_outtab = t_output4
EXCEPTIONS
program_error = 1
OTHERS = 2.BEGIN OF t_output4 OCCURS 0,
traffic_light TYPE c,
vkorg LIKE vbrk-vkorg,
vtweg LIKE vbrk-vtweg,
kunrg LIKE vbrk-kunrg,
payer LIKE adrc-name1,
kunag LIKE vbrk-kunag,
shipto LIKE adrc-name1,
shiptopar LIKE likp-kunnr,
kdgrp LIKE vbrk-kdgrp,
zcustpo LIKE vbkd-bstkd,
vbeln LIKE vbrk-vbeln,
fkdat LIKE vbrk-fkdat,
fkart LIKE vbrk-fkart,
zoutput LIKE dnast-kschl,
netwr LIKE vbrk-netwr,
kwert LIKE konv-kwert,
waerk LIKE vbrk-waerk,
xblnr LIKE vbrk-xblnr,
delno LIKE likp-vbeln,
t_line LIKE tline-tdline,
zbol LIKE likp-bolnr,
lifex LIKE likp-lifex,
posnr LIKE vbrp-posnr,
matnr LIKE vbrp-matnr,
kdmat LIKE lips-kdmat,
werks LIKE vbrp-werks,
zzplat LIKE vbrp-zzplat,
zzpronum LIKE vbrp-zzpronum,
zzprocode LIKE a802-zzprocode,
fkimg LIKE vbrp-fkimg,
vrkme LIKE vbrp-vrkme,
arktx LIKE vbrp-arktx,
kbetr LIKE konv-kbetr,
vatrt TYPE p DECIMALS 1,
kwert_d LIKE konv-kwert,
netwr_d LIKE vbrp-netwr,
vgbel LIKE vbrp-vgbel,
vgpos LIKE vbrp-vgpos,
END OF t_output4, -
Hello.
Could You tell me how to display icon in cell of ALV Grid? MAybe You have a link to some tutorial?
I'm trying make such thing:
to my itab I'm adding
icon1 LIKE icon-id
then I fill itab, to fieldcatalog give
PERFORM append_wsfield USING
ws_field_st ws_fieldcat_st 'ICON1' '' 0 1 0 '' 2 'X' ''.
When I debug code, there is an icon in the itab, but in grid it doesnt appears.
I'd be thankful for help. Greetings. P.
Message was edited by:
Piotr WojciechowskiGo to the type pool ICON and you can find the code for each icon there. Depending on the icon that you want assign the code for that icon to the column in the ALV Grid (Icon field in the internal table). The icon will be displayed automatically.
Please mark points if the solution was useful.
Regards,
Manoj -
Search help for date in ALV grid
I have ALV grid with field type date and search help for this:
ws_field-ref_table = 'ADCP'.
ws_field-ref_field = 'DATE_FROM'.
ws_field-inttype = 'D'
After I have clicked on this key F4 then I see a calendar and I have choosen some date, but in input grid field there aren't
choosen value. Why? Another search helps works perfect except this. Where is the problem?
Edited by: Kosmo on Jul 7, 2009 8:48 AMHi,
Find the code below
TYPE-POOLS: slis.
DATA: it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF it_fcat.
DATA: it_data TYPE vbap_t.
SELECT *
FROM VBAP
INTO TABLE it_data
UP TO 20 ROWS.
wa_fcat-fieldname = 'VBELN'.
wa_fcat-tabname = 'IT_DATA'.
wa_fcat-ref_fieldname = 'VBELN'.
wa_fcat-ref_tabname = 'VBAK'.
APPEND wa_fcat TO it_fcat.
clear wa_fcat .
wa_fcat-fieldname = 'POSNR'.
wa_fcat-tabname = 'IT_DATA'.
wa_fcat-seltext_l = 'Date'.
wa_fcat-ref_fieldname = 'ERDAT'.
wa_fcat-ref_tabname = 'VBAK'.
APPEND wa_fcat TO it_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_interface_check = sy-repid
it_fieldcat = it_fcat
TABLES
t_outtab = it_data
EXCEPTIONS
program_error = 1.
I have derived the above code from WIKi link
https://wiki.sdn.sap.com/wiki/display/Snippets/f4helpforalvgrid+display
Regards,
Murthy. -
Issue with ALV Grid and events
Hi,
I am creating an ALV Grid with fields Matnr,Charg,Labst,Meins. The first three fields are editable and the last (MEINS) is read only.
Now I am trying to fill the MEINS field programmaticly after entering the MATNR and confirm with enter/return.
I think that I have to "overload" the enter event of the alv grid to fill the MEINS everytime when a MATNR was entered. But I don't know how I could implementing this. Could you give me a hint how I could solve this problem?
(The behavior should look like in transaction MIGO)
ThanksHi Alex
When you press enter an event is triggerd and function code is filled in sy-ucoom or you can say in ok_code. At that time PAI event occurs. In PAI of that screen you need to check ok_code and load new data in table which you passed to ALV and also refresh the ALV.
data: ok_code like sy-ucomm.
PAI----screen 100
case ok_code.
when 'ENTER'.
select data
and refresh ALV
then again call
funtion to display ALV
Regards
Aditya
Maybe you are looking for
-
Price inclusive of Excise Duty
Hi, I have to configure Price Inlusive of Excise Duty for Depot Sales.The Sales Tax should be shown seperately. Pls provide suggestions on how to go about it. Regards, Ajit
-
When using EyeTV must you have it hooked up to cable?
I went to this website and found good info on the blog. http://www.nalens.com Can I please ask. When using your EyeTV you must have it hooked up to the cable as well correct? Thank you. Tom < Moved and Edited by Host >
-
CS3, Change Opacity of a Selection
I know how to change the opacity of a layer (CS3). Can I change the opacity of a selection, and how?........Izzy
-
Downloaded playbook apps not showing up on playbook?
Hi, I'm posting this on behalf of my dad, who like me has a playbook, but i live miles away so i've not been able to set it up for him, so this is a slightly garbeled message from him: When he got the playbook he did all the inital signing up (he doe
-
Windows Media Player vs. Flip4Mac
I am trying to watch a news clip on the Internet - I have Quicktime and Flip4Mac and the website says that they don't support either. I have to have Microsoft Media Player - so I tried downloading the newest version (9) and I still can't get the vide