Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

SAP Query

Former Member
0 Likes
548

Hi,

is it possible to get an Query from one customer system to another customer system, when you have no possibility to make it with a transport?

Can anybody help me?

Thanks

sylvie

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
496

hi

good

check this code for EDITABLE alv.

&----


*& Report ZUS_SDN_ALVGRID_EDITABLE_8

*&

*& Description: editable ALV -> ENTER jumps to next row

&----


*& Dynpro flow logic: no screen elements, ok_code = GD_OKCODE

PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

***

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

**

*&

&----


REPORT zus_sdn_alvgrid_editable_8.

DATA:

gd_repid TYPE syst-repid,

gd_okcode TYPE ui_func,

*

gt_fcat TYPE lvc_t_fcat,

go_docking TYPE REF TO cl_gui_docking_container,

go_grid TYPE REF TO cl_gui_alv_grid.

DATA:

gt_knb1 TYPE STANDARD TABLE OF knb1.

-


CLASS lcl_eventhandler DEFINITION

-


*

-


CLASS lcl_eventhandler DEFINITION.

PUBLIC SECTION.

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

e_ucomm

sender.

ENDCLASS. "lcl_eventhandler DEFINITION

-


CLASS lcl_eventhandler IMPLEMENTATION

-


*

-


CLASS lcl_eventhandler IMPLEMENTATION.

METHOD handle_data_changed.

define local data

cl_gui_cfw=>set_new_ok_code( 'NEXT_ROW' ). " not possible on 4.6c

CALL METHOD cl_gui_cfw=>set_new_ok_code

EXPORTING

new_code = 'NEXT_ROW'

IMPORTING

RC =

.

" Triggers PAI of dynpro with ok_code = 'NEXT_ROW'

ENDMETHOD. "handle_data_changed

ENDCLASS. "lcl_eventhandler IMPLEMENTATION

PARAMETERS:

p_bukrs TYPE bukrs DEFAULT '2000' OBLIGATORY.

START-OF-SELECTION.

SELECT * FROM knb1 INTO TABLE gt_knb1

WHERE bukrs = p_bukrs.

Create docking container

CREATE OBJECT go_docking

EXPORTING

parent = cl_gui_container=>screen0

ratio = 90

EXCEPTIONS

OTHERS = 6.

IF sy-subrc 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 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

" Triggers event DATA_CHANGED when ENTER is pushed

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 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.

Build fieldcatalog and set hotspot for field KUNNR

PERFORM build_fieldcatalog_knb1.

Display data

CALL METHOD go_grid->set_table_for_first_display

CHANGING

it_outtab = gt_knb1

it_fieldcatalog = gt_fcat

EXCEPTIONS

OTHERS = 4.

IF sy-subrc 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

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 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'.

CALL METHOD go_grid1->refresh_table_display

EXPORTING

IS_STABLE =

I_SOFT_REFRESH =

EXCEPTIONS

FINISHED = 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.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


text

-


MODULE user_command_0100 INPUT.

go_grid->check_changed_data( ).

CASE gd_okcode.

WHEN 'BACK' OR

'END' OR

'CANC'.

SET SCREEN 0. LEAVE SCREEN.

" NOTE: ENTER button alone works apparently only if the cursor

" is placed within the command window (left-upper corner)

WHEN 'ENTER' OR

'NEXT_ROW'.

PERFORM set_cursor_next_row.

WHEN OTHERS.

ENDCASE.

CLEAR: gd_okcode.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Form BUILD_FIELDCATALOG_KNB1

&----


text

-


--> p1 text

<-- p2 text

-


FORM build_fieldcatalog_knb1 .

define local data

DATA:

ls_fcat TYPE lvc_s_fcat.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_BUFFER_ACTIVE =

i_structure_name = 'KNB1'

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 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

WHERE ( fieldname = 'ZUAWA' ).

ls_fcat-edit = abap_true.

ls_fcat-col_opt = abap_true.

MODIFY gt_fcat FROM ls_fcat.

ENDLOOP.

ENDFORM. " BUILD_FIELDCATALOG_KNB1

&----


*& Form SET_CURSOR_NEXT_ROW

&----


text

-


--> p1 text

<-- p2 text

-


FORM set_cursor_next_row .

define local data

DATA:

ls_row TYPE lvc_s_row,

ls_col TYPE lvc_s_col.

CALL METHOD go_grid->get_current_cell

IMPORTING

E_ROW =

E_VALUE =

E_COL =

es_row_id = ls_row

es_col_id = ls_col

ES_ROW_NO =

.

ADD 1 TO ls_row-index. " next row

CALL METHOD go_grid->set_current_cell_via_id

EXPORTING

is_row_id = ls_row

is_column_id = ls_col

IS_ROW_NO =

.

ENDFORM. " SET_CURSOR_NEXT_ROW[/code]

thanks

mrutyun^

3 REPLIES 3
Read only

Former Member
0 Likes
496

You can transport SAP Query from one system to other, by two ways IMPORT and EXPORT, UPLOAD and DOWNLOAD.

for this use the tcode: SQ01, in application tool bar you can find the transport button. when you click on that.

Better to transport in below sequece

1 User Group

2 Info Set

3. Query

Thanks,

Read only

Former Member
0 Likes
496

sorry not SQ01, its SQ03

Read only

Former Member
0 Likes
497

hi

good

check this code for EDITABLE alv.

&----


*& Report ZUS_SDN_ALVGRID_EDITABLE_8

*&

*& Description: editable ALV -> ENTER jumps to next row

&----


*& Dynpro flow logic: no screen elements, ok_code = GD_OKCODE

PROCESS BEFORE OUTPUT.

MODULE STATUS_0100.

***

PROCESS AFTER INPUT.

MODULE USER_COMMAND_0100.

**

*&

&----


REPORT zus_sdn_alvgrid_editable_8.

DATA:

gd_repid TYPE syst-repid,

gd_okcode TYPE ui_func,

*

gt_fcat TYPE lvc_t_fcat,

go_docking TYPE REF TO cl_gui_docking_container,

go_grid TYPE REF TO cl_gui_alv_grid.

DATA:

gt_knb1 TYPE STANDARD TABLE OF knb1.

-


CLASS lcl_eventhandler DEFINITION

-


*

-


CLASS lcl_eventhandler DEFINITION.

PUBLIC SECTION.

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

e_ucomm

sender.

ENDCLASS. "lcl_eventhandler DEFINITION

-


CLASS lcl_eventhandler IMPLEMENTATION

-


*

-


CLASS lcl_eventhandler IMPLEMENTATION.

METHOD handle_data_changed.

define local data

cl_gui_cfw=>set_new_ok_code( 'NEXT_ROW' ). " not possible on 4.6c

CALL METHOD cl_gui_cfw=>set_new_ok_code

EXPORTING

new_code = 'NEXT_ROW'

IMPORTING

RC =

.

" Triggers PAI of dynpro with ok_code = 'NEXT_ROW'

ENDMETHOD. "handle_data_changed

ENDCLASS. "lcl_eventhandler IMPLEMENTATION

PARAMETERS:

p_bukrs TYPE bukrs DEFAULT '2000' OBLIGATORY.

START-OF-SELECTION.

SELECT * FROM knb1 INTO TABLE gt_knb1

WHERE bukrs = p_bukrs.

Create docking container

CREATE OBJECT go_docking

EXPORTING

parent = cl_gui_container=>screen0

ratio = 90

EXCEPTIONS

OTHERS = 6.

IF sy-subrc 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 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

" Triggers event DATA_CHANGED when ENTER is pushed

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 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.

Build fieldcatalog and set hotspot for field KUNNR

PERFORM build_fieldcatalog_knb1.

Display data

CALL METHOD go_grid->set_table_for_first_display

CHANGING

it_outtab = gt_knb1

it_fieldcatalog = gt_fcat

EXCEPTIONS

OTHERS = 4.

IF sy-subrc 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

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 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'.

CALL METHOD go_grid1->refresh_table_display

EXPORTING

IS_STABLE =

I_SOFT_REFRESH =

EXCEPTIONS

FINISHED = 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.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


text

-


MODULE user_command_0100 INPUT.

go_grid->check_changed_data( ).

CASE gd_okcode.

WHEN 'BACK' OR

'END' OR

'CANC'.

SET SCREEN 0. LEAVE SCREEN.

" NOTE: ENTER button alone works apparently only if the cursor

" is placed within the command window (left-upper corner)

WHEN 'ENTER' OR

'NEXT_ROW'.

PERFORM set_cursor_next_row.

WHEN OTHERS.

ENDCASE.

CLEAR: gd_okcode.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Form BUILD_FIELDCATALOG_KNB1

&----


text

-


--> p1 text

<-- p2 text

-


FORM build_fieldcatalog_knb1 .

define local data

DATA:

ls_fcat TYPE lvc_s_fcat.

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'

EXPORTING

I_BUFFER_ACTIVE =

i_structure_name = 'KNB1'

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 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

WHERE ( fieldname = 'ZUAWA' ).

ls_fcat-edit = abap_true.

ls_fcat-col_opt = abap_true.

MODIFY gt_fcat FROM ls_fcat.

ENDLOOP.

ENDFORM. " BUILD_FIELDCATALOG_KNB1

&----


*& Form SET_CURSOR_NEXT_ROW

&----


text

-


--> p1 text

<-- p2 text

-


FORM set_cursor_next_row .

define local data

DATA:

ls_row TYPE lvc_s_row,

ls_col TYPE lvc_s_col.

CALL METHOD go_grid->get_current_cell

IMPORTING

E_ROW =

E_VALUE =

E_COL =

es_row_id = ls_row

es_col_id = ls_col

ES_ROW_NO =

.

ADD 1 TO ls_row-index. " next row

CALL METHOD go_grid->set_current_cell_via_id

EXPORTING

is_row_id = ls_row

is_column_id = ls_col

IS_ROW_NO =

.

ENDFORM. " SET_CURSOR_NEXT_ROW[/code]

thanks

mrutyun^