Which do we achieve Hide functionality in ALV's.
Hello Friends,
In ALV's How do we get Hide Functionaly. we use selfield in form definition. but In function module, which parameter acts as a HIDE.
Thanks & Regards
Sathish Kumar.
Hi satish,
YOu have to pass a name of a form where you can define the logic for handling user commands:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = W_REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
FORM USER_COMMAND USING P_UCOMM TYPE SY-UCOMM
P_SELFLD TYPE SLIS_SELFIELD.
*The field p_selfld will have the clicked row's contents.
ENDFORM.
Regards,
Ravi
Similar Messages
-
WDA: Hide filter - function on ALV
Hi @ all,
does anybody know how to hide filter in ALV - Grid in WebDynpro for Abap?
The Class where you can set alv-settings doesn`t have Method to hide filter on ALV.
Have anybody an idea?
[ Class: IF_SALV_WD_TABLE_SETTINGS ]
Best regards,
DennisHi ,
when u get the model of the alv
in that there is a method
IF_SALV_WD_STD_FUNCTIONS~SET_FILTER_FILTERLINE_ALLOWED .....of the class CL_SALV_WD_CONFIG_TABLE
Regards,
Yash -
Hide columns for ALV list output in SAP Query SQ01/SQ02
Hi All,
I have a requirement to hide the columns which are empty in sap query SQ01 alv list output.
Please let me know this functionality available in Query (SQ01) like normal reports
Regards,
VenkatHi,
We just can't make changes in this case as this are all system generated programs.
WE have to write our own reports to make things flexible to match our requirements.
Things you are asking is not possible.
Regards,
Suvendu -
Can we achieve a functionality to display content according to customizable
Hi,
I am new to UCM and have following queries . I tried searching on net but didnt get specific answers. Please guide me if possible?
1. Does UCM support streaming content. i.e. multimedia combination of video, sound and accompanying slides. And i need to know if it supports SMIL format files (Synchronized Multimedia Integration Language ). Do we need to buy any component for that or it is supported by default.
2. Can we achieve a functionality to display content according to customizable rules. For example to display a
list of pages in the "ABC" branch modified within the last 12 days?
3.Can we provide search/replace property in the WYSWYG editor, I didnt find the same there? Is there any ootb for that?
4.Can we have Distributed content authoring, in order to have multiple content owners working on the same set of pages?
5.Can UCM automatically generate a site map. Optionally certain pages should be able to be excluded from the map manually?
6. Can we create and manage micro sites (or country versions of specific branches) ?
Ideally content can be in the form of symbolic links - meaning unless the microsite "overwrites" content it takes content maintained in a global site.
7. Does UCM have capability to do page assembly (reusable components)? ie. Could it be possible to create components that can be selected by users and inserted into content for standard functionalities, e.g., video players, registration forms, zoom tools?
8. Does UCM have ability to upload multiple attachments/images at once?
9. Can we hide an existing content without deleting it and later showing it again?
10. Can we publish content directly to intranet, mobile format, e-Mail or need we to write any custom component for that?
11. Can we publish multiple content types at once?
12. Can web images (PNG, GIF, JPG) be easily managed by users with an interface that allows browsing by thumbnail, not just file name?
Thanks a lot in advance.1. The Weblayout editor applet can be used to create virtual folders (not related to the Folders component) which are simply queries based on any metadata you like. So users can click on Browse Content/library folders to get to that section of the GUI then they will be presented with a base Page (think of it as a little UCM contained website) with links to reports, queries, and other pages even outside links like to Google. The number of pages you can create is not limited so you could create a large hierarchy of pages for reports and lists and search results. You can also secure sections of this internal website by security groups to keep some people from seeing those links on the pages (they simply do not show for you unless you have access to the group).
So all out of the box, and all based on metadata including security. This is the very oldest version of Folders and unlike the folders_g component is not limited in number of folders or items per folder and does not change system performance like Folders_g.
They are not truly folders and do not exist for external WebDav or DIS.
Custom code may be needed if you want to generate reports of more complex kind than are provided as default.
2. I am not a WCM expert but I think all of what you specify is possible as you ask. But again I am not WCM expert. As I remember it from 6 and 7.x Site Studio you can create multiple websites and link them into each other dynamically and even display the same content in the different look and feel context of a different site. Site studio is simply pulling fragments and content dynamically from the CS behind it. And different sites can call the same content in different ways. Your code in the webpages should be able to determine if and when you display things in your micro sites. That is not a standard Term in WCM as I understand it (microsite) but the concept works.
3. I may not understand the question, but my assumption of what you want is:
Site studio websites can use many types of content (text, html, worddocs, openoffice docs,code fragments, multi media) all checked in individually, to build up one page for display. -
Generated a report which gives PR(Purchase Requisition) analysis using ALV.
hi experts,
please give me tables and fields for following report, and also exlain me briefly,
Generated a report which gives PR(Purchase Requisition) analysis using ALV.
thanks in advance,
radhakrishnaHi
please find this report which link SO PO PR and Prd Ord and there status.
>
REPORT z_so_info.
TABLES: vbak, vbap, afko, afpo.
*Field catalog
TYPE-POOLS: slis.
DATA: lv_repid TYPE sy-repid VALUE sy-repid,
xfield TYPE slis_t_fieldcat_alv,
afield TYPE slis_fieldcat_alv.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(25) text-002.
SELECT-OPTIONS: so_so FOR vbak-vbeln OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-003.
PARAMETERS:
p_kunnr LIKE vbak-kunnr, " sold-to
p_kunwe LIKE vbak-kunnr. " ship-to
SELECTION-SCREEN END OF BLOCK b2.
*Constants
CONSTANTS: c_zor TYPE vbak-auart VALUE 'ZOR',
c_we TYPE vbpa-parvw VALUE 'WE',
c_ag TYPE vbpa-parvw VALUE 'AG'.
c_space TYPE space.
*Ranges
RANGES: ra_parvw FOR vbpa-parvw,
ra_kunnr FOR vbpa-kunnr.
*Tables
DATA: BEGIN OF gt_output OCCURS 0,
vbeln LIKE vbak-vbeln, " sales order number
posnr LIKE vbap-posnr, " SO item number
matnr LIKE vbap-matnr, " material number
sh LIKE vbpa-kunnr, " Ship-to
sp LIKE vbpa-kunnr, " Sold-to
lifnr LIKE ekko-lifnr, " Vendor
bstnk LIKE vbak-bstnk, " PO number
banfn LIKE vbep-banfn, " Purchase requi
po_st TYPE char30, " PO status text
pstyv TYPE vbap-pstyv, " Item catagory
aufnr LIKE afpo-aufnr, " Production Order
prd_stat TYPE string, " Prd order status
END OF gt_output.
DATA: wa_output LIKE gt_output.
FIELD-SYMBOLS: <fs_output> LIKE gt_output.
*Table for sales order and PO
TYPES : BEGIN OF gs_data,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
pstyv TYPE vbap-pstyv,
matnr TYPE vbap-matnr,
END OF gs_data.
DATA: gt_data TYPE STANDARD TABLE OF gs_data,
wa_data TYPE gs_data.
*Table for Production Orders
TYPES: BEGIN OF gs_prd,
aufnr TYPE afpo-aufnr,
posnr TYPE afpo-posnr,
kdauf TYPE afpo-kdauf,
kdpos TYPE afpo-kdpos,
wepos TYPE afpo-wepos, "Goods Receipt Indicator
elikz TYPE afpo-elikz, "Delivery Completed Indicator
objnr TYPE aufk-objnr, "Object number
getri TYPE afko-getri, "Confirmed Order Finish Date
gltri TYPE afko-gltri, "Actual finish date
END OF gs_prd.
DATA: gt_prd TYPE STANDARD TABLE OF gs_prd,
wa_prd TYPE gs_prd.
*Table for partner data
TYPES: BEGIN OF gs_partner,
vbeln TYPE vbak-vbeln,
posnr TYPE vbap-posnr,
parvw TYPE vbpa-parvw,
kunnr TYPE vbpa-kunnr,
END OF gs_partner.
DATA: gt_partner TYPE STANDARD TABLE OF gs_partner,
wa_partner TYPE gs_partner.
TYPES: BEGIN OF gs_po,
ebeln TYPE ekkn-ebeln,
ebelp TYPE ekkn-ebelp,
vbeln TYPE ekkn-vbeln,
vbelp TYPE ekkn-vbelp,
END OF gs_po.
DATA: gt_po TYPE STANDARD TABLE OF gs_po,
wa_po TYPE gs_po.
TYPES: BEGIN OF gs_preq,
vbeln TYPE vbep-vbeln,
posnr TYPE vbep-posnr,
banfn TYPE vbep-banfn,
END OF gs_preq.
DATA: gt_preq TYPE STANDARD TABLE OF gs_preq,
wa_preq TYPE gs_preq.
TYPES: BEGIN OF gs_po_stat,
ebeln TYPE ekko-ebeln,
procstat TYPE ekko-procstat,
lifnr TYPE ekko-lifnr,
END OF gs_po_stat.
DATA: gt_po_stat TYPE STANDARD TABLE OF gs_po_stat,
wa_po_stat TYPE gs_po_stat.
*Field symbols
FIELD-SYMBOLS: <fs> TYPE tj02t-txt04,
<fs_temp> TYPE tj02t-txt04,
<fs_stat> TYPE char30.
START-OF-SELECTION.
PERFORM fr_build_range.
PERFORM fr_get_data.
PERFORM fr_build_fc.
PERFORM fr_output.
*& Form fr_get_data
text
--> p1 text
<-- p2 text
FORM fr_get_data.
*Get SO
SELECT avbeln aposnr apstyv amatnr
FROM vbap AS a
JOIN vbak AS b
ON avbeln = bvbeln
JOIN vbpa AS c
ON bvbeln = cvbeln
INTO TABLE gt_data
WHERE b~vbeln IN so_so
AND b~auart EQ c_zor "Only Sales Orders
AND c~kunnr IN ra_kunnr. "from selection screen
DELETE ADJACENT DUPLICATES FROM gt_data COMPARING vbeln posnr.
*get data of the production order
IF NOT gt_data[] IS INITIAL.
SELECT aaufnr aposnr akdauf akdpos awepos aelikz
b~objnr
FROM afpo AS a
JOIN aufk AS b
ON aaufnr = baufnr
INTO TABLE gt_prd
FOR ALL ENTRIES IN gt_data
WHERE a~kdauf EQ gt_data-vbeln
AND a~kdpos EQ gt_data-posnr.
ENDIF.
*Get partner data
IF NOT gt_data[] IS INITIAL.
SELECT vbeln posnr parvw kunnr
FROM vbpa
INTO TABLE gt_partner
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln.
ENDIF.
*Get Purchase Order
IF NOT gt_data[] IS INITIAL.
SELECT ebeln ebelp vbeln vbelp
FROM ekkn
INTO TABLE gt_po
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND vbelp EQ gt_data-posnr.
SELECT vbeln posnr banfn
FROM vbep
INTO TABLE gt_preq
FOR ALL ENTRIES IN gt_data
WHERE vbeln EQ gt_data-vbeln
AND posnr EQ gt_data-posnr.
ENDIF.
IF NOT gt_po[] IS INITIAL.
SELECT aebeln aprocstat a~lifnr
FROM ekko AS a
JOIN ekpo AS b
ON aebeln = bebeln
INTO TABLE gt_po_stat
FOR ALL ENTRIES IN gt_po
WHERE b~ebeln EQ gt_po-ebeln
AND b~ebelp EQ gt_po-ebelp.
ENDIF.
*Move data to output table
LOOP AT gt_data INTO wa_data.
wa_output-vbeln = wa_data-vbeln.
wa_output-posnr = wa_data-posnr.
wa_output-pstyv = wa_data-pstyv.
wa_output-matnr = wa_data-matnr.
READ TABLE gt_po INTO wa_po WITH KEY vbeln = wa_data-vbeln
vbelp = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-bstnk = wa_po-ebeln.
READ TABLE gt_po_stat INTO wa_po_stat WITH KEY ebeln = wa_po-ebeln.
IF sy-subrc EQ 0.
wa_output-lifnr = wa_po_stat-lifnr.
CASE wa_po_stat-procstat.
WHEN '01'.
wa_output-po_st = 'Version in process'.
WHEN '02'.
wa_output-po_st = 'Active'.
WHEN '03'.
wa_output-po_st = 'In release'.
WHEN '04'.
wa_output-po_st = 'Partially released'.
WHEN '05'.
wa_output-po_st = 'Released Completely'.
WHEN '08'.
wa_output-po_st = 'Rejected'.
ENDCASE.
ENDIF. "inner read subrc
ENDIF. "outer read subrc
READ TABLE gt_preq INTO wa_preq WITH KEY vbeln = wa_data-vbeln
posnr = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-banfn = wa_preq-banfn.
ENDIF.
READ TABLE gt_prd INTO wa_prd WITH KEY kdauf = wa_data-vbeln
kdpos = wa_data-posnr.
IF sy-subrc EQ 0.
wa_output-aufnr = wa_prd-aufnr.
*get the purchase requisition for production order as well
SELECT SINGLE banfn
FROM ebkn
INTO wa_output-banfn
WHERE aufnr EQ wa_prd-aufnr.
*Get the status of the production order
PERFORM fr_get_prd_stat USING wa_prd-objnr
CHANGING wa_output-prd_stat.
ENDIF. " sy-subrc
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_we.
IF sy-subrc EQ 0.
wa_output-sh = wa_partner-kunnr.
ENDIF.
READ TABLE gt_partner INTO wa_partner WITH KEY vbeln = wa_data-vbeln
parvw = c_ag.
IF sy-subrc EQ 0.
wa_output-sp = wa_partner-kunnr.
ENDIF.
APPEND wa_output TO gt_output.
CLEAR: wa_data, wa_prd,wa_partner,wa_output.
ENDLOOP.
ENDFORM. " fr_get_data
*& Form fr_build_range
text
--> p1 text
<-- p2 text
FORM fr_build_range .
*Range for partner function
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SH' TO ra_parvw-low. " we
APPEND ra_parvw.
CLEAR ra_parvw.
MOVE 'I' TO ra_parvw-sign.
MOVE 'EQ' TO ra_parvw-option.
MOVE 'SP' TO ra_parvw-low. " ag
APPEND ra_parvw.
CLEAR ra_parvw.
*Range for ship-to and sold-to
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunnr TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
MOVE 'I' TO ra_kunnr-sign.
MOVE 'EQ' TO ra_kunnr-option.
MOVE p_kunwe TO ra_kunnr-low.
APPEND ra_kunnr.
CLEAR ra_kunnr.
ENDFORM. " fr_build_range
*& Form fr_build_fc
text
--> p1 text
<-- p2 text
FORM fr_build_fc .
sales order number
afield-fieldname = 'VBELN'.
afield-seltext_s = 'Sales #'.
afield-ref_tabname = 'VBAK'.
APPEND afield TO xfield. CLEAR afield.
sales ITEM number
afield-fieldname = 'POSNR'.
afield-seltext_s = 'Item #'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
Material Number
afield-fieldname = 'MATNR'.
afield-seltext_s = 'Material #'.
afield-ref_tabname = 'VBAP'.
afield-outputlen = 10.
APPEND afield TO xfield. CLEAR afield.
*Vendor Number
afield-fieldname = 'LIFNR'.
afield-seltext_s = 'Vendor Num.'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
ship-to-party
afield-fieldname = 'SH'.
afield-seltext_s = 'Ship-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
sold-to-party
afield-fieldname = 'SP'.
afield-seltext_s = 'Sold-to'.
afield-ref_tabname = 'VBPA'.
APPEND afield TO xfield. CLEAR afield.
*PO number
afield-fieldname = 'BSTNK'.
afield-seltext_s = 'PO NUM'.
afield-ref_tabname = 'EKKO'.
APPEND afield TO xfield. CLEAR afield.
*PO status
afield-fieldname = 'PO_STAT'.
afield-seltext_s = 'Step'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
*PO step status
afield-fieldname = 'PO_ST'.
afield-seltext_s = 'PO.Status'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
*Purchase requisition
afield-fieldname = 'BANFN'.
afield-seltext_s = 'Pur. Req.'.
afield-ref_tabname = 'VBEP'.
APPEND afield TO xfield. CLEAR afield.
*Item catagory
afield-fieldname = 'PSTYV'.
afield-seltext_s = 'Itm. Catg'.
afield-ref_tabname = 'VBAP'.
APPEND afield TO xfield. CLEAR afield.
*Prodcution Order number
afield-fieldname = 'AUFNR'.
afield-seltext_m = 'Prod.Order'.
afield-ref_tabname = 'AFKO'.
APPEND afield TO xfield. CLEAR afield.
*PRODCUTION status
afield-fieldname = 'PRD_STAT'.
afield-seltext_s = 'Prd. Step'.
afield-ref_tabname = 'zbacklog_v2'.
afield-outputlen = 20.
APPEND afield TO xfield. CLEAR afield.
*PRODUCTION step status
afield-fieldname = 'PRD_ST'.
afield-seltext_s = 'Prd. Status'.
afield-ref_tabname = 'zbacklog_v2'.
APPEND afield TO xfield. CLEAR afield.
ENDFORM. " fr_build_fc
*& Form fr_output
text
--> p1 text
<-- p2 text
FORM fr_output .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
it_fieldcat = xfield[]
i_default = 'X'
i_save = 'A'
TABLES
t_outtab = gt_output
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM. " fr_output
*& Form fr_get_prd_stat
text
-->P_WA_PRD_OBJNR text
FORM fr_get_prd_stat USING p_objnr CHANGING p_prd_stat.
DATA: lt_status TYPE STANDARD TABLE OF jstat,
wa_status TYPE jstat,
lv_status TYPE tj02t-txt04,
lv_temp2 TYPE char5,
lv_buff TYPE string.
CALL FUNCTION 'STATUS_READ'
EXPORTING
client = sy-mandt
objnr = p_objnr
only_active = 'X'
TABLES
status = lt_status
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
LOOP AT lt_status INTO wa_status.
IF wa_status-stat(1) EQ 'I'.
SELECT txt04 FROM tj02t
INTO lv_status
WHERE istat EQ wa_status-stat
AND spras EQ 'E'.
ENDSELECT.
lv_temp2 = lv_status.
CONCATENATE lv_temp2 p_prd_stat INTO p_prd_stat
SEPARATED BY ','.
ENDIF.
CLEAR: wa_status, lv_status, lv_temp2.
ENDLOOP.
lv_buff = p_prd_stat.
*Status of Production Order
IF lv_buff CS 'CRTD'.
p_prd_stat = 'Not Active'.
ENDIF.
IF lv_buff CS 'REL'.
IF lv_buff CS 'GMPS'.
p_prd_stat = 'Printed In Prod'.
ELSE.
p_prd_stat = 'Printed'.
ENDIF.
ENDIF.
IF lv_buff CS 'TECO'.
p_prd_stat = 'Technically Compt.'.
ENDIF.
ENDFORM. " fr_get_prd_stat
> -
Hotspot-clicking (Insert function) plus ALV Sorting
Hi,
I have a requirement where the ALV display has to be SORTED based on values entered/changed on a certain column. The sort works ok when used with a custom APPEND button for new records (always inserted at the bottom of the list).
However, it does not work correctly when used with the Hotspot-click (INSERT functionality). It looks like if you CLICK on a particular record onscreen, you are actually addressing the original record in that position before the SORT was effected.
Is the Hotspot-clicking (Insert functionality) possible with ALV sorting? The ideal solution would be to have the ALV sorted at PBO and also at PAI so that the user can change existing records and add new ones with the sorting being updated everytime ON_DATA_CHANGED is triggered.
Will appreciate any help on this.
Thanks!
MichaelHello Michael
Thanks for further specifying your requirements. I have created the sample variant ZUS_SDN_ALVGRID_HOTSPOT_SORT_1 which contains two differences as compared to its template:
Replace table VBAK with VBAP (so we have two levels of sorting: VBELN, POSNR)
Move SET_TABLE_FOR_FIRST_DISPLAY method call into PBO
When I click on the hotspot (VBELN) a new row entry for the order number is created. The sorting (VBELN, POSNR) is kept even though the new row has been appended to the itab.
*& Report ZUS_SDN_ALVGRID_HOTSPOT_SORT
*& Thread: Hotspot-clicking (Insert function) plus ALV Sorting
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1159431"></a>
REPORT zus_sdn_alvgrid_hotspot_sort.
TYPES: BEGIN OF ty_s_outtab.
INCLUDE TYPE vbap.
TYPES: END OF ty_s_outtab.
TYPES: ty_t_outtab TYPE STANDARD TABLE OF ty_s_outtab
WITH DEFAULT KEY.
DATA: gt_outtab TYPE ty_t_outtab.
DATA:
gd_okcode TYPE ui_func,
gd_repid TYPE syrepid,
gt_sort TYPE lvc_t_sort,
gt_fcat TYPE lvc_t_fcat,
gs_layout TYPE lvc_s_layo,
gs_variant TYPE disvariant,
go_docking TYPE REF TO cl_gui_docking_container,
go_grid TYPE REF TO cl_gui_alv_grid.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
ms_sel_row TYPE lvc_s_row. " selected row
CLASS-METHODS:
handle_data_changed FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING
er_data_changed
e_onf4
e_onf4_before
e_onf4_after
sender,
handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING
e_row_id
e_column_id
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_data_changed.
FIELD-SYMBOLS: <lt_outtab> TYPE ty_t_outtab.
BREAK-POINT.
ENDMETHOD. "handle_data_changed
METHOD handle_hotspot_click.
" define local data
DATA: ls_outtab TYPE ty_s_outtab,
ld_msg TYPE bapi_msg.
BREAK-POINT.
CLEAR: lcl_eventhandler=>ms_sel_row.
ms_sel_row = e_row_id.
READ TABLE gt_outtab INTO ls_outtab INDEX e_row_id-index.
CONCATENATE 'Selected Sales Order = ' ls_outtab-vbeln ' / '
ls_outtab-posnr
INTO ld_msg.
message i398(00) with ld_msg.
" Trigger PAI
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'INSERT'
* IMPORTING
* rc =
ENDMETHOD. "handle_hotspot_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
PARAMETERS:
p_vkorg TYPE vkorg DEFAULT '0001' OBLIGATORY.
START-OF-SELECTION.
** SELECT * FROM vbak INTO CORRESPONDING FIELDS OF TABLE gt_outtab
** UP TO 200 ROWS
** WHERE vkorg = p_vkorg.
SELECT * FROM vbap INTO CORRESPONDING FIELDS OF TABLE gt_outtab
UP TO 100 ROWS.
PERFORM init_controls.
* Build fieldcatalog and set hotspot for field KUNNR
PERFORM build_fieldcatalog.
PERFORM set_layout_and_variant.
PERFORM set_sorting.
" Register EDIT event
CALL METHOD go_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter
EXCEPTIONS
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.
SET HANDLER:
lcl_eventhandler=>handle_data_changed FOR go_grid,
lcl_eventhandler=>handle_hotspot_click FOR go_grid.
* Link the docking container to the target dynpro
gd_repid = syst-repid.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
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.
* ok-code field = GD_OKCODE
CALL SCREEN '0100'.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'.
* SET TITLEBAR 'xxx'.
* Display data
CALL METHOD go_grid->set_table_for_first_display
EXPORTING
i_bypassing_buffer = abap_true
is_variant = gs_variant
i_save = 'A'
* i_default = 'X'
is_layout = gs_layout
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = gt_fcat
it_sort = gt_sort
* it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
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.
** CALL METHOD go_grid->refresh_table_display
*** EXPORTING
*** IS_STABLE =
*** I_SOFT_REFRESH =
** EXCEPTIONS
** finished = 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.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'EXIT' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
WHEN 'INSERT'.
PERFORM insert_row.
WHEN OTHERS.
" Check for changed data at the frontend (= grid control)
CALL METHOD go_grid->check_changed_data( ).
ENDCASE.
CALL METHOD go_grid->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
finished = 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.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form INIT_CONTROLS
* text
* --> p1 text
* <-- p2 text
FORM init_controls .
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
others = 6.
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.
CALL METHOD go_docking->set_extension
EXPORTING
extension = 99999
EXCEPTIONS
cntl_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.
* Create ALV grid
CREATE OBJECT go_grid
EXPORTING
i_parent = go_docking
EXCEPTIONS
others = 5.
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.
ENDFORM. " INIT_CONTROLS
*& Form BUILD_FIELDCATALOG
* text
* --> p1 text
* <-- p2 text
FORM build_fieldcatalog.
* define local data
DATA:
ls_fcat TYPE lvc_s_fcat.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
* I_BUFFER_ACTIVE =
i_structure_name = 'VBAP' " 'VBAK'
* I_CLIENT_NEVER_DISPLAY = 'X'
* I_BYPASSING_BUFFER =
* I_INTERNAL_TABNAME =
CHANGING
ct_fieldcat = gt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
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.
** LOOP AT gt_fcat INTO ls_fcat.
** CASE ls_fcat-fieldname.
** WHEN 'VBELN' OR
** 'ERDAT' OR
** 'ERZET' OR
** 'ERNAM' OR
** 'AUART' OR
** 'NETWR' OR
** 'WAERK'.
** CONTINUE.
** WHEN OTHERS.
** ls_fcat-no_out = abap_true.
** ENDCASE.
** MODIFY gt_fcat FROM ls_fcat INDEX syst-tabix.
** ENDLOOP.
* Only non-key fields are editable
** ls_fcat-edit = 'X'.
** MODIFY gt_fcat FROM ls_fcat
** TRANSPORTING edit
** WHERE ( fieldname NE space ).
ls_fcat-hotspot = abap_true.
MODIFY gt_fcat FROM ls_fcat
TRANSPORTING hotspot
WHERE ( fieldname = 'AUART' OR
fieldname = 'VBELN' ).
** DELETE gt_fcat FROM 15 TO 99.
ENDFORM. " BUILD_FIELDCATALOG_KNB1
*& Form SET_LAYOUT_AND_VARIANT
* text
* --> p1 text
* <-- p2 text
FORM set_layout_and_variant .
CLEAR: gs_layout,
gs_variant.
gs_layout-cwidth_opt = abap_true.
gs_variant-report = syst-repid.
gs_variant-handle = 'GRID'.
ENDFORM. " SET_LAYOUT_AND_VARIANT
*& Form SET_SORTING
* text
* --> p1 text
* <-- p2 text
FORM set_sorting .
* define local data
DATA: ls_sort TYPE lvc_s_sort.
REFRESH: gt_sort.
CLEAR: ls_sort.
ls_sort-spos = 1.
ls_sort-fieldname = 'VBELN'.
ls_sort-up = abap_true.
APPEND ls_sort TO gt_sort.
CLEAR: ls_sort.
ls_sort-spos = 1.
ls_sort-fieldname = 'POSNR'.
ls_sort-up = abap_true.
APPEND ls_sort TO gt_sort.
ENDFORM. " SET_SORTING
*& Form INSERT_ROW
* text
* --> p1 text
* <-- p2 text
FORM insert_row .
* define local data
DATA: ls_outtab TYPE ty_s_outtab,
ld_order TYPE vbeln.
READ TABLE gt_outtab INTO ls_outtab
INDEX lcl_eventhandler=>ms_sel_row-index.
ld_order = ls_outtab-vbeln.
" Find last item of sales order
LOOP AT gt_outtab INTO ls_outtab
WHERE ( vbeln = ld_order ).
ENDLOOP.
" Create next item:
add 10 to ls_outtab-posnr.
" NOTE: added at the end of the list
APPEND ls_outtab TO gt_outtab.
" NOTE: insert new row AFTER selected row => works, too
** INSERT ls_outtab INTO gt_outtab
** INDEX lcl_eventhandler=>ms_sel_row-index.
ENDFORM. " INSERT_ROW -
How does the SORT function in ALV grid work?
Hi,
I have a report for which the o/p is displayed in ALV grid format.There is one column in the O/p strcuture which is "No of days".Based on certain conditions,i need to display the value for some of the days as Negative e.g. " - 45".Becasuse of this,I have declared the field for the "No of days" of the type "CHAR".
Now when i sort(using ALV grid SORT function) the list on basis of this column,it doesnt give me the correct o/p.
CAN anyone tell me how do i handle this?I want the list to be sorted correctly on basis of the "No of days" column.
Thanks!This is your Fourth Cross Posting in last three days on same issue!!
CHAR type column doesnt work for SORT function in ALV grid!
How to sort a column of type CHAR
I dont,ve link for your Fourth Thread on same,though i'm short memory loss. -
Control break functionality for ALV
HI experts,
i want to know how to use control break functionality in ALV's
i 've an int table , which i am processing for AT NEW lgtyp (storage type)
for every set of same lgtyp records , iam making some calculations on itab,
and getting my final int table.
so, for every set of new lgtyp values , i've a new final int table ,
which i need to pass to ALV.
my requirement is for every new storage type
get a block of output.
how to do this in ALV, waiting for response.Hi,
DOnt use AT NEW , use ON CHAGE
Refer this code
FORM sub_claculate_plug .
*--Local Variables
DATA : lv_index LIKE sy-tabix,
lv_total TYPE kzwi2.
LOOP AT it_final INTO wa_final.
lv_index = sy-tabix.
v_month = wa_final-erdat+4(2).
v_year = wa_final-erdat+0(4).
IF NOT p_bud IS INITIAL.
*--Collect all the plug numbers
PERFORM sub_collect_plug.
ENDIF.
ON CHANGE OF v_month.
v_ship = v_ship + v_wdays.
ENDON.
CLEAR : wa_nday.
READ TABLE it_nday INTO wa_nday WITH KEY erdat = wa_final-erdat
BINARY SEARCH.
IF sy-subrc EQ 0.
IF wa_nday-flag NE 'X'.
IF v_wdays NE 0.
wa_final-totbud = p_bud / v_wdays.
ENDIF.
ENDIF.
ENDIF.
wa_final-totrev = wa_final-corebus +
wa_final-onbulk +
wa_final-premier +
wa_final-shipit +
wa_final-onpromo +
wa_final-netrev +
wa_final-storev +
wa_final-connet +
wa_final-sporder.
lv_total = wa_final-corebus +
wa_final-onpromo +
wa_final-netrev.
IF NOT wa_final-oltot IS INITIAL.
wa_final-ordsize = lv_total / wa_final-oltot.
ENDIF.
MODIFY it_final FROM wa_final INDEX lv_index TRANSPORTING
totbud totrev ordsize.
*--Clear
CLEAR : wa_final,
v_days,
v_jan,
v_wdays,
v_ndays,
v_count.
ENDLOOP.
ENDFORM. " sub_claculate_plug
Regards,
Prashant -
Hi
1.is it possible to write a hide stmt in alv?
2.how to write a interactive alv?
thanks,
sap-abap.In ALV if u want to hide a particular column, use NO_OUT = 'X' in the field catalog for that field.
There are lot events which will control the interactive ALV.
CLASS lcl_event DEFINITION
CLASS lcl_event DEFINITION.
PUBLIC SECTION.
METHODS handle_data_changed FOR EVENT data_changed
OF cl_gui_alv_grid
IMPORTING er_data_changed.
METHODS handle_user_command FOR EVENT user_command
OF cl_gui_alv_grid
IMPORTING e_ucomm.
METHODS handle_double_click FOR EVENT double_click
OF cl_gui_alv_grid
IMPORTING e_row e_column.
METHODS handle_toolbar FOR EVENT toolbar
OF cl_gui_alv_grid
IMPORTING e_object
e_interactive.
METHODS handle_on_f4 FOR EVENT onf4
OF cl_gui_alv_grid
IMPORTING sender
e_fieldname
e_fieldvalue
es_row_no
er_event_data
et_bad_cells
e_display.
ENDCLASS. "lcl_event DEFINITION
CLASS lcl_event IMPLEMENTATION
CLASS lcl_event IMPLEMENTATION.
METHOD handle_data_changed.
PERFORM handle_data_changed USING er_data_changed.
ENDMETHOD. "handle_data_changed
METHOD handle_user_command.
PERFORM handle_user_command USING e_ucomm.
ENDMETHOD. "handle_user_command
METHOD handle_toolbar.
PERFORM handle_toolbar USING e_object e_interactive.
ENDMETHOD. "handle_toolbar
METHOD handle_double_click.
READ TABLE i_final INDEX e_row-index INTO wa_final.
IF e_column EQ text-016. "ANLAGE
CHECK sy-ucomm NE 'BACK'.
*-- Display Installation on Double click.
PERFORM display_installation USING wa_final-anlage.
ELSEIF e_column EQ text-023 OR
e_column EQ text-024.
PERFORM display_partner USING wa_final-contact_per.
ENDIF.
ENDMETHOD. "handle_double_click
Refer the programs BCALV_GRID_*.
Regards
Prakash, -
Hide function in Login Items doesn't work for iChat and Address Book app.
There is a problem with the hide function for iChat and Address Book application in Login Items. If you go to System Preferences, click on Login Items, add the iChat and Address Book application to the Login Items, activate the hide function for iChat and Address Book application and restart your Mac iChat and Address Book application will start with opening a window. Normally this shouldn't happen if the hide function in Login Items is activated for iChat and Address Book application.
Message was edited by: Roman Patrice GegoHi,
Your link refers to changes to 10.6.3 prior release as tested by Developers.
The numbering system tells us that. (Build 10Dxxx).
Therefore it is an Update and not an Upgrade, therefore no-one is going to get charged.
If the article is the so called Release Notes then they mention nothing about correcting any issue with Login Items Hiding.
If you think an issue is being missed there is a place to report that, from this icon view list http://www.apple.com/feedback/ which includes Hardware and Software.
I personally have not tested Login Items Hiding as I tend to think there is no point in having an App open if it not on the Desktop.
As Kappy pointed out there was little progress on a similar issue with Leopard.
This could be interpreted that Apple feel that the issue does not effect enough people or that other issues are more important.
As anyone and everyone can report Issues and contribute their ideas to the OS and it's improvement via the Feedback links it would seem to be a question of enough people bringing it to Apple's Attention.
I would tend to work on Issues that stopped an App functioning first, linked with integration with the OS and any changes to the major parts of it such as a Quicktime.
Lesser issues that maybe more cosmetic in appearance would tend to fall down my list of things to do.
Presumably Apple have a grading system on such things that may not fit with either of our views.
As Apple don't reveal any details about the OS Updates or even Upgrades then anything any of us think we interpret as a pattern is just that - an interpretation.
Consequently anything we say on the subject is then likely to be seen as speculation under the Terms of Use of these Boards.
8:28 PM Sunday; May 9, 2010
Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat" -
Why can I not use the channel name, which is obtained from the function of DAQmx Task, as the input of the channel name for the function of Get Channel Information of DAQ?
Not a lot of details here, but my guess is this isn't working for you because you are wiring in the task to the Active Channels Property and not the actual Channel Name. I have attatched a screenshot of what I believe you are trying to do. The Task has 2 channels in it, so I need to index off one of the channels and wire it into the active channels input of the Channel Property node. Then I can read information about that channel
Attachments:
channel_name.JPG 69 KB -
Hide cell in alv-grid on certain rows
Hi all,
I wonder if it is possible to hide certain cells in an ALV-grid ?
e.g the data in cell1 row1 is visible, but the data in cell1 on row2 has to be invisible...Hi
I don't believe it can do it for only certain cells and I don't believe it's possible to hide anything in alv-grid.
Your program decides what can be displayed so if something data doesn't has to be shown it shouldn't be loaded in output table.
Max -
I want to hide decimals in ALV report. I have written next code.
WHEN 'EXI_PP'.
t_alv_fieldcat-col_pos = 5.
t_alv_fieldcat-datatype = 'QUAN'.
t_alv_fieldcat-decimals_out = 0.
t_alv_fieldcat-reptext_ddic = 'Exis. GT'.
t_alv_fieldcat-do_sum = 'X'. "Realizar suma
WHEN 'EXI_CUA'.
t_alv_fieldcat-col_pos = 6.
t_alv_fieldcat-decimals_out = 0.
t_alv_fieldcat-reptext_ddic = 'Exis. ZF'.
t_alv_fieldcat-do_sum = 'X'. "Realizar suma
MODIFY t_alv_fieldcat .
But report still showing decimals . some body could help me please?????Hi,
Try this way
t_alv_fieldcat-datatype = 'QUAN'.
t_alv_fieldcat-decimals_out = 0'.
a® -
How do we know that which processing Class doing what functionality ?
Hi SAP HR Experts .
Q:-1 How do we know that which processing Class doing what functionality ?
Like : Processing class 1 , 2 ,... etc .
Similerly Simulation Class is On (Check Box is Ticked) then what impact we occur ?
Kind Regards : rajneeshHi Rajneesh,
The best way to understand the processing class is to go thru each and every class in table T512W_D ( Go to SM30 -> t512w_d ).Here in this table you will have the wagetypes ,just double click on the wagetypes and you will find the screen with processing classes. Just go thru each and every class by f1 . Each class is having its own importance and implication.
Same with Cumulation class. Go to SM30 -> enter T54C3. Follow the same logic here too, and try to analyse the max thru f1.
This is how we can understand the logic.
Regards,
Sri.. -
Creation of pf-status functionality in ALV out put
Hi experts,
i created pf-status and made one button to save the ccontents displayed in ALV grid out put.
But i could not find that button in out put. Is it possible to create custom functionality in ALV output.
thank you
regards
vijayHi Viajay,
find the below steps to create the PF-STATUS..
PF-Status
1. How to set pf-status
2. How to set pf-status excluding/including single menu items
3. How to set pf-status excluding/including several menu items
4. Setting PF status to the (SAP) system default
5. How to check for pf-status
6. Use of SY-PFKEY
1. How to set pf-status
set pf-status 'ZZBILSTA'.
2. How to set pf-status excluding/including single menu items
You can exclude menus by using exclude :
set pf-status 'ZZBILSTA' excluding 'PST'.
Note: Can also be used with include instead of exclude
3. How to set pf-status excluding/including several menu items
You have to use an internal table to store the status you wan't to ex- or include:
DATA: BEGIN OF I_PF_STATUS_TAB OCCURS 10,
FCODE(4),
END OF I_PF_STATUS_TAB.
FORM SET_PF_STATUS_POSTER.
REFRESH I_PF_STATUS_TAB.
MOVE 'PST' TO I_PF_STATUS_TAB.
APPEND I_PF_STATUS_TAB.
MOVE 'ART' TO I_PF_STATUS_TAB.
APPEND I_PF_STATUS_TAB.
SET PF-STATUS 'ZZBILSTA' EXCLUDING I_PF_STATUS_TAB.
ENDFORM.
4. Setting PF status to the (SAP) system default
set pf-status 'BASIC'.
5. How to check for pf-status
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'ART'.
PERFORM STYR_ARTSKONTI.
WHEN 'PST'.
PERFORM STYR_POSTER.
WHEN 'BIL'.
PERFORM VIS_BILAG.
ENDCASE.
6. Use of SY-PFKEY
You can use the system variable sy-pfkey to retrieve the name of the current pf status
Regards,
Prabhudas
Maybe you are looking for
-
Need advice on importing message...
after trying to import songs from a cd, i'm getting this message: *+an error occured...the current encoder settings fir bit rate and sample rate are not valid for this file+* any thoughts? thanks.
-
Hi Experts, We had two service PRs with different purchase group with same source of supply. as per standard sap PO has only one pg, can you please confirm which purchase group should be picked in po(auto po created by batch jobs) Thanks in Advanced
-
Prepared statement upload from URL is wierd
//This doesnt save the picture URL url = new URL(FromJPG); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); int length = is.available(); BufferedInputStream in = new BufferedInputStream(is); //THis works
-
Garbage collector - Tenured Generation - Unloading Class
Hi All, I've seen the garbage collector report the following. The worrying this is it took 36 seconds. Is this normal, or is there something wrong with my generation (New, Perm, Tenured) sizes ? What does this "Unloading Class" mean? Thu Dec 7 10
-
Ipad2 la batteria non si ricarica,cosa fare?
salve a tutti, il mio ipad2 non si ricarica piu'.ho provato sia dalla rete ellettrica che dal pc ma nulla da fare. se provo ad accenderlo mi appare la batteria rossa con la spina elettrica ed il fulmine disegnati sotto e poi si spegne mi aiutate?