Need to program a button to unhide a subform
I am real new to LiveCycle designer and I need to program a button to unhide a subform. My attempts have produced nothing.
Would soemone be so kind as to let me know the code for this. Thank you
Hi,
Put button on your form and onClick event put script:
yourSubformName.presence = "visible"
BR,
Paul Butenko
Similar Messages
-
Need to Add a button in ALV Tool Bar
Hi,
I have a requirement where in i need to add a button to a standard ALV report. Its using the class CL_GUI_ALV_GRID. There is a Badi for the report. The Report is co05n and the Badi is WORKORDER_INFOSYSTEM . I am getting the handle of
CL_GUI_ALV_GRID object reference before screen display. Any guidance on how to add new button now to that toolbar?
Any help will be rewarded.
Thank you.
regards,
Deepthi lakshmi.A.Dear Deepthi Lakshmi.A.,
Refer the standard program BCALV_GRID_05 Add a Self-Defined Button to the Toolbar.
PROGRAM BCALV_GRID_05.
Purpose:
~~~~~~~~
Demonstrate the creation of an own toolbar button.
To check program behavior
~~~~~~~~~~~~~~~~~~~~~~~~~
The report shows a list of flights of one airline.
Select one or more lines and press the 'Detail'-Button to popup
a dialog window with related bookings.
Essential steps (Search for '§')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Apply steps for event handling for events TOOLBAR and
USER_COMMAND (see example for print events)
2.In event handler method for event TOOLBAR: Append own functions
by using event parameter E_OBJECT.
3.In event handler method for event USER_COMMAND: Query your
function codes defined in step 2 and react accordingly.
4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.
INCLUDE .
Predefine a local class for event handling to allow the
declaration of a reference variable before the class is defined.
CLASS lcl_event_receiver DEFINITION DEFERRED.
DATA: ok_code LIKE sy-ucomm,
gt_sflight TYPE TABLE OF sflight,
gt_sbook TYPE TABLE OF sbook,
g_repid LIKE sy-repid,
g_max type i value 100,
gs_layout TYPE lvc_s_layo,
cont_on_main TYPE scrfname VALUE 'BCALVC_TOOLBAR_D100_C1',
cont_on_dialog TYPE scrfname VALUE 'BCALVC_TOOLBAR_D101_C1',
grid1 TYPE REF TO cl_gui_alv_grid,
grid2 TYPE REF TO cl_gui_alv_grid,
custom_container1 TYPE REF TO cl_gui_custom_container,
custom_container2 TYPE REF TO cl_gui_custom_container,
event_receiver TYPE REF TO lcl_event_receiver.
Set initial dynpro
SET SCREEN 100.
LOCAL CLASSES: Definition
*===============================================================
class lcl_event_receiver: local class to
define and handle own functions.
Definition:
~~~~~~~~~~~
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
PRIVATE SECTION.
ENDCLASS.
lcl_event_receiver (Definition)
*===============================================================
LOCAL CLASSES: Implementation
*===============================================================
class lcl_event_receiver (Implementation)
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_toolbar.
§ 2.In event handler method for event TOOLBAR: Append own functions
by using event parameter E_OBJECT.
DATA: ls_toolbar TYPE stb_button.
E_OBJECT of event TOOLBAR is of type REF TO CL_ALV_EVENT_TOOLBAR_SET.
This class has got one attribute, namly MT_TOOLBAR, which
is a table of type TTB_BUTTON. One line of this table is
defined by the Structure STB_BUTTON (see data deklaration above).
A remark to the flag E_INTERACTIVE:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'e_interactive' is set, if this event is raised due to
the call of 'set_toolbar_interactive' by the user.
You can distinguish this way if the event was raised
by yourself or by ALV
(e.g. in method 'refresh_table_display').
An application of this feature is still unknown...
append a separator to normal toolbar
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
append an icon to show booking table
CLEAR ls_toolbar.
MOVE 'BOOKINGS' TO ls_toolbar-function.
MOVE icon_employee TO ls_toolbar-icon.
MOVE 'Show Bookings'(111) TO ls_toolbar-quickinfo.
MOVE 'Detail'(112) TO ls_toolbar-text.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD.
METHOD handle_user_command.
§ 3.In event handler method for event USER_COMMAND: Query your
function codes defined in step 2 and react accordingly.
DATA: lt_rows TYPE lvc_t_row.
CASE e_ucomm.
WHEN 'BOOKINGS'.
CALL METHOD grid1->get_selected_rows
IMPORTING et_index_rows = lt_rows.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
else.
perform show_booking_table tables lt_rows.
ENDIF.
ENDCASE.
ENDMETHOD. "handle_user_command
ENDCLASS.
lcl_event_receiver (Implementation)
*===================================================================
FORM EXIT_PROGRAM *
FORM exit_program.
The instance grid2 is freed not until the program exits from the
main screen.
(It is created only once during the first selection of SBOOK,
no matter how many times the second window is called).
CALL METHOD custom_container1->free.
IF not custom_container2 is initial.
CALL METHOD custom_container2->free.
ENDIF.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
ENDIF.
LEAVE PROGRAM.
ENDFORM.
*& Module PBO_100 OUTPUT
text
MODULE pbo_100 OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
g_repid = sy-repid.
IF custom_container1 is initial.
select data from table SFLIGHT
PERFORM select_table_sflight CHANGING gt_sflight.
create a custom container control for our ALV Control
CREATE OBJECT custom_container1
EXPORTING
container_name = cont_on_main
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
create an instance of alv control
CREATE OBJECT grid1
EXPORTING i_parent = custom_container1.
Set a titlebar for the grid control
gs_layout-grid_title = 'Flights'(100).
allow to select multiple lines
gs_layout-sel_mode = 'A'.
CALL METHOD grid1->set_table_for_first_display
EXPORTING i_structure_name = 'SFLIGHT'
is_layout = gs_layout
CHANGING it_outtab = gt_sflight.
->Create Object to receive events and link them to handler methods.
When the ALV Control raises the event for the specified instance
the corresponding method is automatically called.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
§ 4.Call method 'set_toolbar_interactive' to raise event TOOLBAR.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF. "IF grid1 IS INITIAL
CALL METHOD cl_gui_control=>set_focus EXPORTING control = grid1.
ENDMODULE. " PBO_100 OUTPUT
*& Module PAI_100 INPUT
text
MODULE pai_100 INPUT.
CASE ok_code.
WHEN 'EXIT'.
PERFORM exit_program.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " PAI_100 INPUT
*& Module PBO_0101 OUTPUT
text
MODULE pbo_0101 OUTPUT.
IF custom_container2 is initial.
(the data from sbook is already selected)
create a custom container control for our ALV Control
CREATE OBJECT custom_container2
EXPORTING
container_name = cont_on_dialog
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'The control could not be created'(510).
ENDIF.
create an instance of alv control
CREATE OBJECT grid2
EXPORTING i_parent = custom_container2.
change title
gs_layout-grid_title = 'Bookings'(101).
gs_layout-sel_mode = ' '.
CALL METHOD grid2->set_table_for_first_display
EXPORTING i_structure_name = 'SBOOK'
is_layout = gs_layout
CHANGING it_outtab = gt_sbook.
ELSE.
CALL METHOD grid2->refresh_table_display.
ENDIF. "IF custom_container2 IS INITIAL.
CALL METHOD cl_gui_control=>set_focus EXPORTING control = grid2.
CALL METHOD cl_gui_cfw=>flush.
IF sy-subrc ne 0.
add your handling, for example
CALL FUNCTION 'POPUP_TO_INFORM'
EXPORTING
titel = g_repid
txt2 = sy-subrc
txt1 = 'Error in Flush'(500).
ENDIF.
ENDMODULE. " PBO_0101 OUTPUT
*& Form SELECT_TABLE_SFLIGHT
text
<--P_GT_SFLIGHT text
FORM select_table_sflight CHANGING p_gt_sflight LIKE gt_sflight[].
SELECT * FROM sflight INTO TABLE p_gt_sflight up to g_max rows.
ENDFORM. " SELECT_TABLE_SFLIGHT
*& Form SELECT_TABLE_SBOOK
text
-->P_LS_SFLIGHT text
<--P_GT_SBOOK text
FORM select_table_sbook USING p_ls_sflight LIKE LINE OF gt_sflight
CHANGING p_gt_sbook LIKE gt_sbook[].
DATA: lt_sbook LIKE gt_sbook[].
Select data from sbook according to a line of sflight
and append that data to table p_gt_sbook
SELECT * FROM sbook INTO TABLE lt_sbook
WHERE carrid = p_ls_sflight-carrid
AND connid = p_ls_sflight-connid
AND fldate = p_ls_sflight-fldate.
APPEND LINES OF lt_sbook TO p_gt_sbook.
ENDFORM. " SELECT_TABLE_SBOOK
*& Module PAI_0101 INPUT
text
MODULE pai_0101 INPUT.
CASE ok_code.
WHEN 'RETURN'.
LEAVE TO SCREEN 0.
ENDCASE.
CLEAR ok_code.
ENDMODULE. " PAI_0101 INPUT
*& Form show_booking_table
text
-->P_ET_INDEX_ROWS text
FORM show_booking_table TABLES p_et_index_rows
STRUCTURE lvc_s_row.
DATA: ls_selected_line LIKE lvc_s_row,
lf_row_index TYPE lvc_index,
ls_sflight LIKE LINE OF gt_sflight.
CLEAR gt_sbook[].
LOOP AT p_et_index_rows INTO ls_selected_line.
lf_row_index = ls_selected_line-index.
read selected row from internal table gt_sflight
READ TABLE gt_sflight INDEX lf_row_index INTO ls_sflight.
select corresponding lines of table sbook
and append new lines to global table
PERFORM select_table_sbook USING ls_sflight
CHANGING gt_sbook.
ENDLOOP.
call dialog screen and display new alv control
CALL SCREEN 101 STARTING AT 10 5.
ENDFORM. " show_booking_table
Regards,
Naveen. -
I need model program for alv grid control
hi all,
i need example program and detailed description of alv grid control . what is the features of alv grid control over normal alv.Hi,
Check out the below sample code.I have pasted even the include programs, u can copy the program.
SAP-User : BWR2KOR *
Author (name) : Bharadwaja R *
Created on/in : 07.02.2006 *
Description : Report for Listing IDOC-Informations for the given *
segment on the selection screen *
Changes: - for each change: add chapter *
- changes get a changes number (ascending) *
- source code has to be marked with SAP-user-name *
change date and number *
Change number : *
Enhance/Change numer: 90xxxx (900001-909999) -> /RB11/YBF_MODIF *
SAP-User : *
Author (name) : *
Created on/in : *
Reason for the change: *
REPORT Y16S_VIEW_IDOC_CONTENT LINE-SIZE 230
NO STANDARD PAGE HEADING.
Data declarations
INCLUDE Y16S_VIEW_IDOC_CONTENT_D01I.
Selection screen
INCLUDE Y16S_VIEW_IDOC_CONTENT_S01I.
Events
INCLUDE Y16S_VIEW_IDOC_CONTENT_E01I.
Routines for program
INCLUDE Y16S_VIEW_IDOC_CONTENT_F01I.
START-OF-SELECTION.
Get the fieldcatalog
PERFORM get_fcat.
**Method for getting the reference for the structure
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING it_fieldcatalog = g_t_fieldcat
IMPORTING ep_table = dref.
**Passing the reference of the structure to field-symbol of type table
ASSIGN dref->* TO .
Fill IDoc data
PERFORM fill_data.
Display ALV
perform display_grid.
INCLUDE Y16S_VIEW_IDOC_CONTENT_D01I *
Data declaration : Tables used *
TABLES : edidd, "Data record (IDoc)
edidc, "Control record (IDoc)
edid4, "IDoc Data Records from 4.0 onwards
dd03d, "Dynpro fields for table fields
edsappl, "EDI: IDoc Segment Application Structure
int_seg, "Data record details display
dd03l, "Table Fields
edisegment. "IDoc Development : IDoc Segment
Name of segment
DATA : g_f_segment LIKE dntab-tabname.
*--Data Declaration.
FIELD-SYMBOLS : TYPE ANY.
DATA : BEGIN OF g_t_edid OCCURS 0,
docnum LIKE edid4-docnum,
segnum LIKE edid4-segnum,
sdata LIKE edid4-sdata,
END OF g_t_edid.
*DATA : g_t_edid LIKE edid4 OCCURS 0 WITH HEADER LINE.
DATA : BEGIN OF g_t_edidc OCCURS 0,
docnum LIKE edidc-docnum,
credat LIKE edidc-credat,
mestyp LIKE edidc-mestyp,
END OF g_t_edidc.
DATA : BEGIN OF g_t_appl OCCURS 0,
fieldname LIKE edsappl-fieldname,
END OF g_t_appl.
DATA : g_v_tabix LIKE sy-tabix.
ALV Declarations
*Declaration of type groups
TYPE-POOLS :
slis. "Globale Typen für generische Listbausteine
DATA: g_f_okcode LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'G_C_ALV',
grid1 TYPE REF TO cl_gui_alv_grid,
g_custom_container TYPE REF TO cl_gui_custom_container.
FIELD-SYMBOLS: .
Class
CLASS: g_cl_event DEFINITION DEFERRED.
Alv Grid Constants
DATA : g_c_handle(4) TYPE c VALUE '0100',
g_c_save(1) TYPE c VALUE 'A',
g_c_exit(4) TYPE c VALUE 'EXIT'.
DATA: g_v_layout TYPE lvc_s_layo,
g_f_print TYPE lvc_s_prnt,
g_f_variant TYPE disvariant,
g_v_recv TYPE REF TO g_cl_event.
CONSTANTS : gc_ucomm_sel_criteria(12) VALUE 'SEL_CRITERIA'.
CLASS G_Cl_EVENT DEFINITION
Class to handle GRID Events *
CLASS g_cl_event DEFINITION.
PUBLIC SECTION.
METHODS:
constructor IMPORTING value(grid_name) TYPE REF TO
cl_gui_alv_grid,
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
PRIVATE SECTION.
DATA: g_v_alv TYPE REF TO cl_gui_alv_grid.
ENDCLASS. "g_cl_event DEFINITION
CLASS g_cl_events IMPLEMENTATION
Class to handle GRID Events *
CLASS g_cl_event IMPLEMENTATION.
Handling methods
METHOD constructor.
g_v_alv = grid_name.
ENDMETHOD. "constructor
Tool bar
METHOD handle_toolbar.
CONSTANTS:
lc_quickinfo_sel_criteria(111) VALUE 'Show Selection Criteria'.
DATA:
l_toolbar TYPE stb_button.
CLEAR l_toolbar.
MOVE 0 TO l_toolbar-butn_type.
MOVE gc_ucomm_sel_criteria TO l_toolbar-function.
MOVE icon_select_with_condition TO l_toolbar-icon.
MOVE lc_quickinfo_sel_criteria TO l_toolbar-quickinfo.
MOVE space TO l_toolbar-disabled.
APPEND l_toolbar TO e_object->mt_toolbar.
ENDMETHOD. "handle_toolbar
User Command
METHOD handle_user_command.
CASE e_ucomm.
When Exit button is used
WHEN 'EXIT'.
PERFORM exit_program.
WHEN OTHERS.
ENDCASE.
ENDMETHOD. "handle_user_command
ENDCLASS. "g_cl_event IMPLEMENTATION
INCLUDE Y16S_VIEW_IDOC_CONTENT_S01I *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
Creation Date of IDoc
SELECT-OPTIONS : s_date FOR edidc-credat.
IDoc Number
SELECT-OPTIONS : s_idocnm FOR edidc-docnum.
Basic IDoc type
SELECT-OPTIONS : s_idoctp FOR edidc-idoctp.
*Message type
SELECT-OPTIONS : s_mestyp FOR edidc-mestyp.
Segment name
PARAMETERS : p_segnam LIKE edisegment-segtyp OBLIGATORY.
Field name
SELECT-OPTIONS : s_fldnam FOR dd03d-fieldname NO INTERVALS.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME.
Field name
PARAMETERS : p_fldnam LIKE dd03d-fieldname.
Field contents of a field of an IDoc segment
SELECT-OPTIONS : s_fldval FOR int_seg-string.
SELECTION-SCREEN END OF BLOCK b2.
INCLUDE Y16S_VIEW_IDOC_CONTENT_E01I *
Check for IDoc number on selection screen
AT SELECTION-SCREEN ON s_idocnm.
IF NOT s_idocnm IS INITIAL.
Data fetch : Control record (IDoc)
SELECT COUNT( * ) FROM edidc
WHERE docnum IN s_idocnm.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ELSE.
message for required entry.
MESSAGE e055(00).
ENDIF.
Check for segment name on selection screen
AT SELECTION-SCREEN ON p_segnam.
Check segment name is an input on selection screen
IF NOT p_segnam IS INITIAL.
Data fetch : Table Fields
SELECT SINGLE * FROM dd03l
WHERE tabname EQ p_segnam.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ENDIF.
F4 help for fieldname
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fldnam-low.
DATA : l_rc LIKE sy-subrc.
Check segment name on selection screen is not empty
IF NOT p_segnam IS INITIAL.
PERFORM get_f4help USING l_rc.
IF l_rc = 0.
Fill the selected field name
READ TABLE g_t_appl INDEX g_v_tabix.
CHECK sy-subrc = 0.
s_fldnam-low = g_t_appl-fieldname.
s_fldnam-sign = 'I'.
s_fldnam-option = 'EQ'.
APPEND s_fldnam.
ENDIF.
ENDIF.
Check for field name on selection screen
AT SELECTION-SCREEN ON s_fldnam.
IF NOT p_fldnam IS INITIAL.
Data fetch : Table Fields
SELECT SINGLE * FROM dd03l
WHERE tabname EQ p_segnam
AND fieldname IN s_fldnam.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ENDIF.
F4 help for fieldname
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fldnam.
DATA : l_rc LIKE sy-subrc.
Check segment name on selection screen is not empty
IF NOT p_segnam IS INITIAL.
F4 Help for fieldname
PERFORM get_f4help USING l_rc.
IF l_rc = 0.
Fill the selected field name
READ TABLE g_t_appl INDEX g_v_tabix.
CHECK sy-subrc = 0.
p_fldnam = g_t_appl-fieldname.
ENDIF.
ENDIF.
Check for field name on selection screen
AT SELECTION-SCREEN ON p_fldnam.
IF NOT p_fldnam IS INITIAL.
Data fetch : Table Fields
SELECT SINGLE * FROM dd03l
WHERE tabname EQ p_segnam
AND fieldname EQ p_fldnam.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ENDIF.
Check for field name on selection screen
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_fldval-low.
Check field name is an input on selection screen
IF NOT p_fldnam IS INITIAL.
Get the domain values as F4 help
PERFORM get_domain_value.
ENDIF.
*Check for Message type on selection screen
AT SELECTION-SCREEN ON s_mestyp.
IF NOT s_mestyp IS INITIAL.
Data fetch : Logical message types
SELECT COUNT( * ) FROM edmsg
WHERE msgtyp IN s_mestyp.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ENDIF.
*Check for Basic type on selection screen
AT SELECTION-SCREEN ON s_idoctp.
IF NOT s_idoctp IS INITIAL.
Data fetch : Basic types
SELECT COUNT( * ) FROM edbas
WHERE idoctyp IN s_idoctp.
IF sy-subrc NE 0.
MESSAGE e429(mo).
ENDIF.
ENDIF.
*& Form GET_F4HELP
text
-->P_L_RC text
FORM get_f4help USING p_l_rc LIKE sy-subrc.
DATA : l_v_segment LIKE edsappl-segtyp.
DATA : l_t_help_value LIKE help_value OCCURS 0 WITH HEADER LINE.
Segment name
l_v_segment = p_segnam.
Data fetch : EDI: IDoc Segment Application Structure
SELECT pos fieldname FROM edsappl
INTO CORRESPONDING FIELDS OF TABLE g_t_appl
WHERE segtyp = l_v_segment
ORDER BY pos.
Popup having data
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
endpos_col = 110
endpos_row = 16
startpos_col = 90
startpos_row = 1
titletext = text-001
IMPORTING
choise = g_v_tabix
TABLES
valuetab = g_t_appl
EXCEPTIONS
break_off = 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.
Return code
p_l_rc = sy-subrc.
ENDFORM. " GET_F4HELP
*& Form GET_DOMAIN_VALUE
text
-->P_L_RC text
FORM get_domain_value.
DD: Domain header with text
DATA : l_s_dd01v LIKE dd01v.
Value table
DATA : l_v_valuetab LIKE l_s_dd01v-entitytab.
RFC Table Read: Description of Fields to Retrieve
DATA : l_t_db_fld LIKE rfc_db_fld OCCURS 0 WITH HEADER LINE.
RFC Table Read: Select Options / WHERE Clause
DATA : l_t_options LIKE rfc_db_opt OCCURS 0 WITH HEADER LINE.
Table with a 512 byte field
DATA : l_t_valuetab LIKE tab512 OCCURS 0 WITH HEADER LINE.
*Data Dictionary access routines
CALL FUNCTION 'G_DOMAIN_READ'
EXPORTING
domain = p_fldnam
langu = sy-langu
IMPORTING
domain_attr = l_s_dd01v
EXCEPTIONS
not_found = 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.
l_v_valuetab = l_s_dd01v-entitytab.
l_t_db_fld-fieldname = p_fldnam.
APPEND l_t_db_fld.
External access to R/3 tables via RFC
CALL FUNCTION 'RFC_READ_TABLE'
EXPORTING
query_table = l_v_valuetab
DELIMITER = ' '
NO_DATA = ' '
ROWSKIPS = 0
ROWCOUNT = 0
TABLES
options = l_t_options
fields = l_t_db_fld
data = l_t_valuetab
EXCEPTIONS
table_not_available = 1
table_without_data = 2
option_not_valid = 3
field_not_valid = 4
not_authorized = 5
data_buffer_exceeded = 6
OTHERS = 7
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR g_v_tabix.
IF NOT l_t_valuetab[] IS INITIAL.
Popup having data
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
endpos_col = 110
endpos_row = 16
startpos_col = 90
startpos_row = 1
titletext = text-001
IMPORTING
choise = g_v_tabix
TABLES
valuetab = l_t_valuetab
EXCEPTIONS
break_off = 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 l_t_valuetab INDEX g_v_tabix.
CHECK sy-subrc = 0.
Fill the select-options of Fieldvalue
s_fldval-low = l_t_valuetab-wa.
s_fldval-sign = 'I'.
s_fldval-option = 'EQ'.
APPEND s_fldval.
ENDIF.
ENDFORM. " GET_DOMAIN_VALUE
INCLUDE Y16S_VIEW_IDOC_CONTENT_F01I *
*& Module STATUS_0100 OUTPUT
ALV grid output
MODULE status_0100 OUTPUT.
*set the screen elements
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'TITLE100'.
*instantiation
IF g_custom_container IS INITIAL.
g_v_layout-zebra = 'X'.
g_v_layout-sel_mode = 'A'.
Create custom container
CREATE OBJECT g_custom_container
EXPORTING container_name = g_container.
Create ALV grid
CREATE OBJECT grid1
EXPORTING i_parent = g_custom_container.
CREATE OBJECT g_v_recv EXPORTING grid_name = grid1.
Display ALV grid
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_save = g_c_save
is_layout = g_v_layout
is_print = g_f_print
is_variant = g_f_variant
CHANGING
it_fieldcatalog = g_t_fieldcat
it_outtab = refresh_table_display.
ENDIF.
User command
SET HANDLER g_v_recv->handle_user_command FOR grid1.
CALL METHOD grid1->set_toolbar_interactive.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
User actions on grid
MODULE user_command_0100 INPUT.
Dispatch the okcode
CALL METHOD cl_gui_cfw=>dispatch.
CASE g_f_okcode.
WHEN g_c_exit.
PERFORM exit_program.
WHEN OTHERS.
*do nothing
ENDCASE.
CLEAR g_f_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form EXIT_PROGRAM
Exit from the Grid
--> p1 text
<-- p2 text
FORM exit_program.
Container for Custom Controls in the Screen Area
CALL METHOD g_custom_container->free.
*Control Framework Basic Class
CALL METHOD cl_gui_cfw=>flush.
Call the selection screen
SET SCREEN 0.
LEAVE SCREEN.
ENDFORM. " EXIT_PROGRAM
*& Form GET_FCAT
Field catalog fill
--> p1 text
<-- p2 text
FORM get_fcat.
*Segment details regarding fields
PERFORM get_segment_details.
Populate the Fieldcatalog
PERFORM fill_fieldcat.
IF g_f_variant-variant IS INITIAL.
Get the default variant
g_f_repid = sy-repid.
CLEAR : g_f_variant.
g_f_variant-report = g_f_repid.
g_r_x_variant = g_f_variant.
Get default variant
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_c_save
CHANGING
cs_variant = g_r_x_variant
EXCEPTIONS
not_found = 2.
g_f_variant = g_r_x_variant.
g_f_variant-variant = 'X'.
ENDIF.
ENDFORM. " GET_FCAT
*& Form FILL_DATA
Fill the output internal table
--> p1 text
<-- p2 text
FORM fill_data.
FIELD-SYMBOLS TYPE ANY.
DATA : l_rc LIKE sy-subrc.
*Get the IDoc data
PERFORM get_data.
LOOP AT g_t_edid.
*Check for filtering the values
IF ( NOT ( p_fldnam IS INITIAL AND s_fldval[] IS INITIAL ) ).
Field value check
PERFORM check_fieldvalue USING l_rc.
IF l_rc NE 0.
CONTINUE.
ENDIF.
ENDIF.
ASSIGN LOCAL COPY OF g_t_edid TO .
ENDLOOP.
ENDFORM. " FILL_DATA
*& Form DISPLAY_GRID
Display ALV grid
--> p1 text
<-- p2 text
FORM display_grid.
Call ALV grid
CALL SCREEN 100.
ENDFORM. " DISPLAY_GRID
*& Form CHECK_FIELDVALUE
Check the fieldvalue
-->P_L_RC text
FORM check_fieldvalue USING p_l_rc LIKE sy-subrc.
Segment data
ASSIGN g_t_edid-sdata TO CASTING TYPE (p_segnam).
Segment fields
LOOP AT g_t_segment WHERE fieldname = p_fldnam.
ASSIGN COMPONENT g_t_segment-fieldname
OF STRUCTURE IN s_fldval.
p_l_rc = 0.
ELSE.
p_l_rc = 4.
ENDIF.
ENDLOOP.
ENDFORM. " CHECK_FIELDVALUE
*& Form GET_DATA
Get the IDoc data
--> p1 text
<-- p2 text
FORM get_data.
*Clear the header line of the internal table
CLEAR : g_t_edid,
g_t_edidc.
Clear the body of the internal table
REFRESH : g_t_edid,
g_t_edidc.
*Data fetch : Control record (IDoc)
SELECT docnum credat mestyp FROM edidc
INTO TABLE g_t_edidc
WHERE docnum IN s_idocnm AND
credat IN s_date AND
mestyp IN s_mestyp AND
idoctp IN s_idoctp.
*Date/Message type if not initial
IF ( ( NOT ( s_date[] IS INITIAL ) )
OR ( NOT ( s_mestyp[] IS INITIAL ) )
OR ( NOT ( s_idoctp[] IS INITIAL ) ) ).
Check the control record of the IDoc
PERFORM check_control_data.
ELSE.
Data fetch : IDoc Data Records from 4.0 onwards
SELECT docnum segnum sdata FROM edid4 INTO TABLE g_t_edid
WHERE docnum IN s_idocnm AND
segnam EQ p_segnam.
ENDIF.
ENDFORM. " GET_DATA
*& Form CHECK_CONTROL_DATA
Check the control data of IDoc
--> p1 text
<-- p2 text
FORM check_control_data.
CHECK NOT g_t_edidc[] IS INITIAL.
Data fetch : IDoc Data Records from 4.0 onwards
SELECT docnum segnum sdata FROM edid4 INTO TABLE g_t_edid
WHERE docnum IN s_idocnm AND
segnam EQ p_segnam.
LOOP AT g_t_edid.
READ TABLE g_t_edidc WITH KEY docnum = g_t_edid-docnum.
*Check for the correct MT
IF sy-subrc = 0.
CONTINUE.
ELSE.
*Delete, if unsuccessful
DELETE g_t_edid.
ENDIF.
ENDLOOP.
ENDFORM. " CHECK_CONTROL_DATA
*& Form GET_SEGMENT_DETAILS
Segment details regarding fields
--> p1 text
<-- p2 text
FORM get_segment_details.
Segment name
g_f_segment = p_segnam.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = g_f_segment
TABLES
nametab = g_t_segment
EXCEPTIONS
internal_error = 1
table_has_no_fields = 2
table_not_activ = 3
no_texts_found = 4
OTHERS = 5.
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. " GET_SEGMENT_DETAILS
*& Form FILL_FIELDCAT
Populate the Fieldcatalog
--> p1 text
<-- p2 text
FORM fill_fieldcat.
DATA : lv_pos TYPE i.
IDoc number in the catalog
lv_pos = 1.
g_r_fieldcat-fieldname = 'DOCNUM'.
g_r_fieldcat-ref_table = 'EDID4'.
g_r_fieldcat-ref_field = 'DOCNUM'.
g_r_fieldcat-key = 'X'.
g_r_fieldcat-col_pos = lv_pos.
g_r_fieldcat-outputlen = '10'.
APPEND g_r_fieldcat TO g_t_fieldcat.
Segment number in the catalog
ADD 1 TO lv_pos.
g_r_fieldcat-fieldname = 'SEGNUM'.
g_r_fieldcat-ref_table = 'EDID4'.
g_r_fieldcat-ref_field = 'SEGNUM'.
g_r_fieldcat-key = 'X'.
g_r_fieldcat-col_pos = lv_pos.
g_r_fieldcat-outputlen = '10'.
g_r_fieldcat-colddictxt = 'X'.
g_r_fieldcat-reptext = text-002.
APPEND g_r_fieldcat TO g_t_fieldcat.
**Populating fieldcatalog with segment field
LOOP AT g_t_segment .
ADD 1 TO lv_pos.
CLEAR g_r_fieldcat.
g_r_fieldcat-fieldname = g_t_segment-fieldname .
g_r_fieldcat-ref_table = p_segnam.
g_r_fieldcat-ref_field = g_t_segment-fieldname .
g_r_fieldcat-key = 'X'.
g_r_fieldcat-col_pos = lv_pos.
g_r_fieldcat-outputlen = '10'.
Check for given fields on the selection screen
IF NOT g_t_segment-fieldname IN s_fldnam.
g_r_fieldcat-no_out = 'X'.
ENDIF.
*Column text
IF g_t_segment-fieldtext IS INITIAL.
*Get the DDIC texts for columns
PERFORM get_ddic_texts.
ENDIF.
APPEND g_r_fieldcat TO g_t_fieldcat.
ENDLOOP.
ENDFORM. " FILL_FIELDCAT
*& Form GET_DDIC_TEXTS
Get the DDIC texts
--> p1 text
<-- p2 text
FORM get_ddic_texts.
DATA : l_f_descr TYPE string.
Get the texts for the data element
CALL FUNCTION 'TB_DATAELEMENT_GET_TEXTS'
EXPORTING
name = g_t_segment-fieldname
IMPORTING
description = l_f_descr
LENGTH_FIELD =
LENGTH_HEADER =
LENGTH_LONG =
LENGTH_MIDDLE =
LENGTH_SHORT =
TEXT_HEADER =
TEXT_LONG =
TEXT_MIDDLE =
TEXT_SHORT =
EXCEPTIONS
not_found = 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.
*Add DDIC text..
g_r_fieldcat-colddictxt = 'X'.
g_r_fieldcat-reptext = l_f_descr.
ENDFORM. " GET_DDIC_TEXTS -
Need standrad program for vendor aging report
Hi
Need standrad program for vendor aging report.
Please reply me only standrad programs.
Point are sure.
Regards,
kumarHi Pankaj
sorry to say that this is not my required program.
I need vendor aging report like s_alr_87012178 tc leads to customer aging report.
Thanks for your effort.
points are awarded.
Regards,
kumar -
I'm working on a project that has a button and a movieclip, which we want the button to stop, both nested in a movieclip on the main timeline.
The button instance = muteBtn
The clip to stop instance = backmusic
The movieclip they are nested in = ecard
There's also a preloader that works just fine on the main timeline.
I've seen a wide variety of ways to stop a streaming MP3 and they all look way too complicated for my current Flash knowledge level. As far as I know, if the MP3 is in a movieclip, stopping that clip will also stop the MP3. If that's just dead wrong and what I'm trying to do will never work, please just let me know so I can struggle in another direction.
What I'd prefer though would be the coding to make this button work. I've tried a wide variety of ways to code something that seems like it should be so simple, and keep getting the error "Access of undefined property muteBtn". I'm assuming this means it can't find the muteBtn in the nested layer. How do I better define the muteBtn? Do I then need to add something else that more clearly defines where the clip I want it to stop is since it is nested too? PLEASE HELP ME!! Thank you in advance!
Some of what I've tried:
function endMusic(e:Event):void {
ecard.backmusic.stop();
or
function endMusic(e:Event):void {
backmusic.stop();
with...
muteBtn.addEventListener(MouseEvent.CLICK, endMusic);When you target objects, you need to consider the path to the object based on where you are trying to target from. So if your code is in the main timeline and your button is inside a movieclip, then you need to target the button via the movieclip...
movieclipName.muteBtn.addEventListener(MouseEvent.CLICK, endMusic);
As far as stopping a moiveclip resulting in stopping a sound from playing, it is not likely to work. To stop a sound you need to target the sound to stop it. -
I just purchased a MacBookPro after having a MacBook. I have ILife, IWorks and Office for Mac. How do I get those programs on to my MacBook Pro? I will still use my MacBook at work so I need those programs to remain on it as well.
You need a Firewire cable to run between the two Macs. Using Utility>Migration Assistant running on your new MacBook Pro, transfer what you want (with all the preferences and such) from your MacBook to your MBP. Here's more info from Apple.
You might have an issue with the Serial number for Office, but hopefully you have that around.
Hope this helps. -
Need a program which finds out if a user has not logged for 3 days?
HI,
I NEED A PROGRAM WHICH FINDS OUT IF ANY USER HAS NOT LOGGED FOR THREE DAYS
AND SEND A MAIL TO THE BASIS TEAM.IT SHOULD BE SHEDULED AS A BACKGROUND PROCESS.
I SEARCHED IN GOOGLE BUT NOT ABLE TO FIND IT.
PLEASE HELP ME OUT WITH THIS.
REGARDS,
MANIuse table USR02 and analyse field field TRDAT
X = sy-datum - usr02-trdat.
-> if x ge 3...
for mail use e.g. fm SO_NEW_DOCUMENT_ATT_SEND_API1
hope that helps
Andreas from germany -
i'm a new mac user and need to program future email's. How can I do that? in outlook I can make a change in the date that the email will be sent. How I do that in mail?
There isn't a way directly in Mail.
Here's what google says: http://www.google.com/search?client=safari&rls=en&q=mac+os+x+mail+delayed+send&i e=UTF-8&oe=UTF-8 -
Need a program for Y/Z report (extended report ) in START_REPORT
Hi,
Am trying to execute a Y transaction (report ) which is called by start_report transaction. Pls find the details below.
D_SREPOVARI-REPORTTYPE= RE
D_SREPOVARI-REPORT=
D_SREPOVARI-EXTDREPORT= KP 01RPSCO_X Z12KST1D4
I want to execute this by using SUBMIT statement, for that need a program name of Y report . Let me know the prog name / How to execute this type of reports ?
Thanks in advance.
Best regards,
Shasidhar.CHi ,
Am trying to execute a Y/S transaction ( extended reports S_ALR_87013559 / S_ALR_87013557 / Y_DVE_38000074 / Y_DVE_38000044 ) in a custom report. The transactions are related to budget/cost/planing reports in PS module. In se 93, that is called by START_REPORT transaction with the below mentioned details.
D_SREPOVARI-REPORTTYPE= RE "report type
D_SREPOVARI-REPORT=
D_SREPOVARI-EXTDREPORT= KP 01RPSCO_X Z12KST1D4 "extended report
The Y/S transaction program is varying from client to client. We are using ECC6.0 version.
Thanks & Regards,
Shasidhar.C -
Hello,
I need help with a button. I created a button and set it up
so that when you click and hold it, the button becomes lighter in
color (I used Alpha). I want the button to stay this light color
after i release the click. Right now it goes back to the normal
color when I release the click. Can somone help we this?
Thanks!rpofclt wrote:
> Hello,
>
> I need help with a button. I created a button and set it
up so that when you
> click and hold it, the button becomes lighter in color
(I used Alpha). I want
> the button to stay this light color after i release the
click. Right now it
> goes back to the normal color when I release the click.
Can somone help we
> this?
you can't use the button itself if you want to maintain the
DOWN state after
release as button automatically resets itself once the mouse
lives the HIT zone.
Use movie clip instead and on press simply send it to a frame
where there
is DOWN state like image.
Best Regards
Urami
<urami>
If you want to mail me - DO NOT LAUGH AT MY ADDRESS
</urami> -
I need a program to send a mail when sap starts
I need a program to send a mail (external mail) each time sap start or something similar.
Does anybody know something about this ?
Thank you .Hi,
this is not a perfect answer, but it may help you,
In SM04 transaction code, you will know which user is loged to SAP and which transaction is using, there we have a option to send the mails also
have a look at it, and try to solve your problem
Regards
Sudheer -
I need to program a Hittite Fractional-N Synthesizer Evaluation Kit with a HMC702LP6CE an external YIG oscillator. Not sure how to use Labview to control the PLL.
Here is how to use the PLL. But I don't know of how to interact with that device
http://zone.ni.com/devzone/cda/tut/p/id/3781
And for thouse who don't know what a PLL is a free bonus link is here:
http://digital.ni.com/public.nsf/allkb/07BC8D77D4E9AE258625708B007CE74F?OpenDocument
and a second one on what that device is: http://www.hittite.com/products/view.html/view/HMC702LP6CE
Now we are all caught up to speed.
Sam S
Applications Engineer
National Instruments -
I need a program that can tell me the amount of bandwidth used by each host
Dear Friends
I need a program that can tell me the amount of bandwidth used by each host on the network in kb/s or mb/s.
And if possible which would also records a history of use,
what is the best program for this?
Thanks
AlmirHello friend,
you can solve your problem with a netflow technology.NetFlow exports packets
with information about your data flows going throught your routers or switches.
(Usually src/dst IP address, src/dst ports, protocols, src/dst interfaces, num
of bytes, num of packets). In the analyzator software you can see exactly what
you need. See: http://www.cisco.com/go/netflow for more information about netflow.
NetFlow is NOT supported on all devices, but almost devices support it. The list of
supported devices can be found on the: http://support.caligare.com/kb/entry/42/
Our company is developing netflow analyzer (it is the second part of netflow analysis).
So if you want to know more, contact me at any time. Of course, you can use any other
netflow analyzers, there are many tool available .... free/commercial... the list of applications:
http://netflow.caligare.com/applications.htm
Please, rate if I helped you.
Kind regards,
Jan -
I need a program to view and edit .mpg
I need a program to veiw and edit .mpg on my IMAC.
What kind of 'mpg'? From what source?
What mac do you have and what version of OS X? -
I need a program that I can download home videos and burn to a dvd
I need a program that I can download home videos and burn to a dvd to watch on TV.
I don't know what you mean by "download home video" but there are several DVD burner apps in the MAS. Just search burn DVD and you'll see them.
Maybe you are looking for
-
Urgent: Error while generating large report
I'm getting below error when I executing the report for long time duration. The below report is executing only for one or two days. Please let me know how to resolve this error. This is very urgent.
-
Is there a way to insert comments into numbers on an ipad, or an alternative?
Is there a way to insert comments into numbers on an ipad, or an alternative?
-
Daily average consumption...
Hi, We need to calculate the daily average consumption during the creation of the billing document and bring it at the installation fact level and also use the same for some of the seasonal(Winter) billing periods as a billable consumption instead o
-
Trying to understand long sync time after 4 update :re blurry photos
hi i wanted to take out the 1 photo album that was blurred/grainy after update and then re-install them so that they are optimized. however when i sync it is taking hours. the album in question has 800 photos in it, but it should delete right away. i
-
The cursor is jumping around on macbook pro with retina(mid-2012)
The cursor is moving around on its own. I have the same problem in safe mode as well. I reset the SMC (system management controller), it seemed to solve the problem at first but it came back again.I run AHT(Apple Hardware test) and it didn't find any