2007 Sep 11 8:26 AM
pls let me know
2007 Sep 11 8:29 AM
ORM user_command USING s_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CLEAR wa_itab1.
READ TABLE t_itab1 INTO wa_itab1 INDEX rs_selfield-tabindex.
CASE s_ucomm.
WHEN 'POD'.
SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
CLEAR wa_itab1.
WHEN 'MAT'.
SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'MATNR'.
SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'EBELN'.
SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
WHEN 'PRINT'.
PERFORM multiple_sel.
PERFORM call_form.
CLEAR : f_itab1, f_itab2.
WHEN 'SMART'.
PERFORM multiple_sel.
PERFORM call_smartform.
ENDCASE.
ENDFORM. "user_command
2007 Sep 11 8:30 AM
READ TABLE ITAB WITH KEY MATNR = V_MATNR.
IF SY-SUBRC EQ 0.
CASE ITAB-MATNR.
WHEN '10000000'.
*do something
WHEN '2220000000'.
*do something
ENDCASE.
ENDIF.
2007 Sep 11 9:51 AM
hi
good
REPORT demo_list_set_cursor_3 LINE-SIZE 30
NO STANDARD PAGE HEADING.
DATA: inp(2) TYPE c, top(2) TYPE c.
SET PF-STATUS 'LINE_NUMBER'.
DO 50 TIMES.
WRITE: / 'Line ', (2) sy-index.
ENDDO.
TOP-OF-PAGE.
WRITE: 'Line number:', inp INPUT ON.
ULINE.
SKIP.
AT USER-COMMAND.
DESCRIBE LIST PAGE 1 TOP-LINES top.
CASE sy-ucomm.
WHEN 'LINE'.
READ LINE 1 FIELD VALUE inp.
SCROLL LIST TO PAGE 1 LINE inp.
inp = inp + top.
SET CURSOR LINE inp OFFSET 6.
ENDCASE.
thanks
mrutyun^
2007 Sep 11 12:02 PM
Usually the read & Case will be used Combinedly in th ALV drilldown by user command ...
please see the LOGIC of it .
FORM USER_COMMAND.
PERFORM SET_SCROLL_LINE.
CASE SY-UCOMM.
WHEN 'ENTE'.
READ TABLE IT_DATA WITH KEY WERKS = IT_DATA-WERKS
MATNR = IT_DATA-MATNR.
IF SYST-SUBRC = 0.
CASE G_FIELD.
WHEN 'IT_DATA-VALUE1'.
IF IT_DATA-VALUE1 <> SPACE.
SUBMIT (IT_DATA-VALUE1) VIA SELECTION-SCREEN AND RETURN.
ELSE.
IT_DATA-VALUE1 = 'Enter 1 Press'(001).
ENDIF.
WHEN 'IT_DATA-VALUE2'.
IT_DATA-VALUE2 = 'Enter 2 Press'(001).
ENDCASE.
MODIFY IT_DATA INDEX SYST-TABIX.
ENDIF.
PERFORM WRITE_REPORT.
PERFORM POSITION_LIST.
CASE G_FIELD.
WHEN 'IT_DATA-EXP'.
ADD 1 TO PAGE-CURSLINE.
SET CURSOR FIELD 'IT_DATA-VALUE1' LINE PAGE-CURSLINE.
WHEN 'IT_DATA-VALUE1'.
SET CURSOR FIELD 'IT_DATA-VALUE1' LINE PAGE-CURSLINE.
WHEN 'IT_DATA-VALUE2'.
SET CURSOR FIELD 'IT_DATA-VALUE2' LINE PAGE-CURSLINE.
ENDCASE.
WHEN 'EXPA'.
PERFORM SET_EXPAND USING '-'.
PERFORM WRITE_REPORT.
WHEN 'COLA'.
PERFORM SET_EXPAND USING '+'.
PERFORM WRITE_REPORT.
ENDCASE.
ENDFORM.
Reward points if it is usefull .....
Girish
2007 Sep 11 12:04 PM
then another example is :
select ebeln ebelp statu aedat matnr menge meins netpr peinh
up to 10 rows
from ekpo
into corresponding fields of table it_ekko.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
* Check function code
CASE r_ucomm.
WHEN '&IC1'.
* Check field clicked on within ALVgrid report
IF rs_selfield-fieldname = 'EBELN'.
* Read data table, using index of row user clicked on
READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex.
* Set parameter ID for transaction screen field
SET PARAMETER ID 'BES' FIELD wa_ekko-ebeln.
* Sxecute transaction ME23N, and skip initial data entry screen
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
WHEN '&DATA_SAVE'. "user presses SAVE
loop at it_ekko into wa_ekko.
if wa_ekko-sel EQ 'X'.
* Process records that have been selected
endif.
endloop.
ENDCASE.
ENDFORM.
reward points if it is usefull .....
Girish
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |