Application Development 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: 

Need Help !!! (Updating table from Report Output )

Former Member
0 Kudos

I have a requirement like below :

User will input the input field value( in selection screen) and execute the transaction to get the data. The extracted data output will be displayed as list on screen. This list display of records is in display mode to avoid the multiple records locking by single user. User will select the single line from the list displayed data and open in change mode in detail. User will update one field manually and save the record.To update next record, user can select the next record of the list displayed data and open in detailed change mode.

PLEASE SEND ME SOME CODE.

Point is assured.

Thanks in advance.

Regards.

Srikanta

<b></b>

2 REPLIES 2

former_member387317
Active Contributor
0 Kudos

Try to use

<b>AT Line-selection.</b>

<b>GET PARAMETER ID <pid> FIELD <f>.</b>

<b>CALL TRANSACTION 'MM02'.</b> " T-code for change mode..

==============================

To fill the input fields of a called transaction with data from the calling program, you can use the SPA/GPA technique. SPA/GPA parameters are values that the system stores in the global, user-specific SAP memory. SAP memory allows you to pass values between programs. A user can access the values stored in the SAP memory during one terminal session for all parallel sessions. Each SPA/GPA parameter is identified by a 20-character code. You can maintain them in the Repository Browser in the ABAP Workbench. The values in SPA/GPA parameters are user-specific.

ABAP programs can access the parameters using the SET PARAMETER and GET PARAMETER statements.

To fill one, use:

SET PARAMETER ID <pid> FIELD <f>.

This statement saves the contents of field <f> under the ID <pid> in the SAP memory. The code <pid> can be up to 20 characters long. If there was already a value stored under <pid>, this statement overwrites it. If the ID <pid> does not exist, double-click <pid> in the ABAP Editor to create a new parameter object.

To read an SPA/GPA parameter, use:

GET PARAMETER ID <pid> FIELD <f>.

Example

DATA REPID like sy-repid VALUE 'RSPFPAR'.

SET PARAMETER ID 'RID' FIELD REPID.

In another program

Data f like sy-repid.

GET PARAMETER ID rid FIELD f

CALL TRANSACTION 'MM02'.

=================================

or..

loop at itab.

write: itab-ebeln.

hide itab-ebeln hotspot on.

endloop.

data: fl(10),

lv(10).

At line-selection.

get cursor field fl value vl.

if fl = 'EBELN'.

SET PARAMETER ID 'BES' FIELD VL.

CALL TRANSACTION 'ME23N'.

ENDIF

============================

Go through below example... it is for ALV report...

Do modification according to ur need...

REPORT Z_GET_REFRESH no standard page heading.

type-pools : slis.

tables : makt,

mara.

data : i_fieldcat type slis_t_fieldcat_alv.

data : begin of i_makt occurs 0,

matnr like makt-matnr,

maktx like makt-maktx,

end of i_makt.

data : v_repid like sy-repid,

g_user_command type slis_formname value 'USER_COMMAND',

g_status_set type slis_formname value 'SET_PF_STATUS'.

DATA:LC_GLAY TYPE LVC_S_GLAY.

select-options s_matnr for mara-matnr .

start-of-selection.

select matnr maktx from makt into table i_makt

where matnr in s_matnr.

end-of-selection.

  • Fill the fieldcatlog

perform fill_field.

  • Call the FM

perform call_fm.

&----


*& Form fill_field

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM fill_field.

data wa_fieldcat type slis_fieldcat_alv.

clear : wa_fieldcat.

wa_fieldcat-tabname = 'I_MAKT'.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-outputlen = '18'.

wa_fieldcat-seltext_l = 'Material #'.

wa_fieldcat-col_pos = '1'.

append wa_fieldcat to i_fieldcat.

clear : wa_fieldcat.

wa_fieldcat-tabname = 'I_MAKT'.

wa_fieldcat-fieldname = 'MAKTX'.

wa_fieldcat-outputlen = '40'.

wa_fieldcat-seltext_l = 'Material Desc'.

wa_fieldcat-col_pos = '2'.

append wa_fieldcat to i_fieldcat.

ENDFORM. " fill_field

&----


*& Form call_fm

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM call_fm.

v_repid = sy-repid.

LC_GLAY-EDT_CLL_CB = 'X'.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = v_repid

I_CALLBACK_PF_STATUS_SET = g_status_set

I_CALLBACK_USER_COMMAND = g_user_command

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME =

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

I_GRID_SETTINGS = LC_GLAY

  • IS_LAYOUT =

IT_FIELDCAT = i_fieldcat

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • IT_ALV_GRAPHICS =

  • IT_ADD_FIELDCAT =

  • IT_HYPERLINK =

  • I_HTML_HEIGHT_TOP =

  • I_HTML_HEIGHT_END =

  • IT_EXCEPT_QINFO =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = i_makt

EXCEPTIONS

PROGRAM_ERROR = 1

OTHERS = 2

.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDFORM. " call_fm

----


  • FORM USER_COMMAND *

----


FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield. "#EC CALLED

data i_RSPARAMS like RSPARAMS occurs 0.

CASE R_UCOMM.

WHEN '&IC1'.

read table i_makt index rs_selfield-tabindex.

SET PARAMETER ID 'MAT' FIELD i_makt-matnr.

if not i_makt-matnr is initial.

call transaction 'MM02' and skip first screen.

endif.

when 'REFRESH'.

CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'

EXPORTING

CURR_REPORT = v_repid

  • IMPORTING

  • SP =

TABLES

SELECTION_TABLE = i_RSPARAMS

EXCEPTIONS

NOT_FOUND = 1

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

submit z_get_refresh with selection-table i_RSPARAMS.

rs_selfield-refresh = 'X'.

*

ENDCASE.

MOVE 'REFRESH' TO r_ucomm.

ENDFORM.

----


  • FORM set_pf_status *

----


FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.

SET PF-STATUS 'ZSTANDARD' EXCLUDING rt_extab.

SET TITLEBAR sy-tcode.

ENDFORM.

For PO

use like

set parameter id 'BES' field ur field.

call transaction 'ME22N'.

Hope it will solve your problem..

<b>Reward points if it is useful</b>

Thanks & Regards

ilesh 24x7

Former Member
0 Kudos

Use HIDE.

loop at itab.

write : / "what ever you want to display

Hide : " the fields you need when double click

*Ex. Hide : itab-matnr.

endloop.

at line-selection

  • the fields you hide are available here.

  • Ex set parameter id mat field itab-matnr.

  • EX call transaction 'MM02'.

Albert